Version 5.0.0 release
This commit is contained in:
1 parent
90e8c7e903
commit
a3a4a9ccbd
651 files changed
+7275
-9481
No files matched your search
@@ -1219,7 +1219,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="i-flex i-flex-wrap_wrap i-gap_3 i-align-items_center i-margin-top_3">
|
||||
<div class="i-flex i-flex-wrap_wrap i-gap_2 i-align-items_center i-margin-top_3">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->container()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -1233,7 +1233,8 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->container()->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
<div class="i-flex i-flex-wrap_wrap i-gap_3 i-align-items_center">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $event->container()->allow_comments ):
|
||||
@@ -1253,7 +1254,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $event->container()->allow_reviews ):
|
||||
@@ -1273,6 +1274,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1388,6 +1390,25 @@ endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
function eventHovercard( $event, $date ) {
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<i-data>
|
||||
<ul class="ipsData ipsData--grid ipsData--eventHovercard">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "view", "calendar" )->eventBlock( $event, $date, true );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</i-data>
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
|
||||
@@ -309,22 +309,40 @@ IPSCONTENT;
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \count($items) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $items as $item ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
' data-id="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->_id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->mapped( 'title' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -47,7 +47,11 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
[badge]">
|
||||
<option value="">
|
||||
<option value="" data-control="toggle" data-togglesoff="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_badge">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'achievements_badge_none', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -515,7 +519,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $action, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" method="post" data-controller="core.admin.members.achievementRuleForm" class='ipsBox '>
|
||||
" method="post" data-controller="core.admin.members.achievementRuleForm" class='ipsBox' data-ipsform>
|
||||
<input type="hidden" name="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -843,6 +847,24 @@ IPSCONTENT;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( $parts[$option] ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$ruleSelect->options['toggles'][$option] = ["rule_{$option}"];
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -876,7 +898,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $option, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-role="ruleWrap" style='display: none'>
|
||||
' data-role="ruleWrap" hidden>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1042,7 +1064,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $awardSubjectTranslatable->htmlId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class='i-padding-top_3' style='display: none'>
|
||||
" class='i-padding-top_3' hidden>
|
||||
<p class='cRulesForm__condition__toDesc'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1086,7 +1108,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $awardOtherTranslatable->htmlId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class='i-padding-top_3' style='display: none'>
|
||||
" class='i-padding-top_3' hidden>
|
||||
<p class='cRulesForm__condition__toDesc'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1136,7 +1158,7 @@ IPSCONTENT;
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $element->htmlId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" style="visibility: hidden; position: absolute">
|
||||
" hidden style="position: absolute">
|
||||
<input type="checkbox" id="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $element->htmlId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -1218,7 +1240,7 @@ IPSCONTENT;
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $element->htmlId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_filter" style='display: none;'>
|
||||
_filter" hidden>
|
||||
<div class="cRulesForm__condition cRulesForm__condition--subCondition ipsBox i-position_relative i-padding_3 i-margin-top_3">
|
||||
<h2 class='cRulesForm__condition__title ipsRadius i-text-align_center i-font-size_1 i-font-weight_600 i-flex_00'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -11,34 +11,34 @@ IPSCONTENT;
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=staff&controller=admin&do=save&id={$row['row_id']}&type={$row['row_id_type']}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" method="post">
|
||||
<input type="hidden" name="csrfKey" value="
|
||||
<input type="hidden" name="csrfKey" value="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Session::i()->csrfKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<div class='ipsBox i-margin-bottom_1'>
|
||||
<div class='acpFormTabContent'>
|
||||
<ul class='ipsForm ipsForm--horizontal ipsForm--restrictions'>
|
||||
<li class='ipsFieldRow' id="use_restrictions_id">
|
||||
<div class='ipsFieldRow__label '>
|
||||
|
||||
<div class='ipsBox i-margin-bottom_block'>
|
||||
<div class='acpFormTabContent'>
|
||||
<ul class='ipsForm ipsForm--horizontal ipsForm--restrictions'>
|
||||
<li class='ipsFieldRow' id="use_restrictions_id">
|
||||
<div class='ipsFieldRow__label '>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mod_use_restrictions', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class='ipsFieldRow__required'>
|
||||
<span class='ipsFieldRow__required'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'required', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</div>
|
||||
<div class='ipsFieldRow__content'>
|
||||
<ul class="ipsFieldList" role="radiogroup" id="elRadio_mod_use_restrictions_use_restrictions_id">
|
||||
<li>
|
||||
<input type="radio" class="ipsInput ipsInput--toggle" name="admin_use_restrictions" value="no"
|
||||
</div>
|
||||
<div class='ipsFieldRow__content'>
|
||||
<ul class="ipsFieldList" role="radiogroup" id="elRadio_mod_use_restrictions_use_restrictions_id">
|
||||
<li>
|
||||
<input type="radio" class="ipsInput ipsInput--toggle" name="admin_use_restrictions" value="no"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current === '*' ):
|
||||
@@ -49,25 +49,25 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
id="elRadio_admin_use_restrictions_no_use_restrictions_id">
|
||||
<div class='ipsFieldList__content'>
|
||||
<label for='elRadio_admin_use_restrictions_no_use_restrictions_id' id='elField_mod_use_restrictions_label'>
|
||||
<div class='ipsFieldList__content'>
|
||||
<label for='elRadio_admin_use_restrictions_no_use_restrictions_id' id='elField_mod_use_restrictions_label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mod_all_permissions', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<div class='ipsFieldRow__desc'>
|
||||
|
||||
<div class='ipsFieldRow__desc'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'admin_all_permissions_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" class="ipsInput ipsInput--toggle" name="admin_use_restrictions" value="yes"
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" class="ipsInput ipsInput--toggle" name="admin_use_restrictions" value="yes"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current !== '*' ):
|
||||
@@ -78,31 +78,31 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-control="toggle" data-toggles="permission_form_wrapper" id="elRadio_admin_use_restrictions_yes_use_restrictions_id">
|
||||
<div class='ipsFieldList__content'>
|
||||
<label for='elRadio_admin_use_restrictions_yes_use_restrictions_id' id='elField_mod_use_restrictions_label'>
|
||||
<div class='ipsFieldList__content'>
|
||||
<label for='elRadio_admin_use_restrictions_yes_use_restrictions_id' id='elField_mod_use_restrictions_label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mod_restricted', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<div class='ipsFieldRow__desc'>
|
||||
|
||||
<div class='ipsFieldRow__desc'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'admin_restricted_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id='permission_form_wrapper'>
|
||||
<div id='permission_form_wrapper' class="ipsBox">
|
||||
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_restrictions' data-ipsTabBar data-ipsTabBar-contentArea="#ipsTabs_restrictions_content">
|
||||
<div role="tablist">
|
||||
|
||||
@@ -196,7 +196,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class='i-padding_3' data-controller='core.admin.members.restrictions'>
|
||||
<div class='' data-controller='core.admin.members.restrictions'>
|
||||
<div class='i-background_3 i-padding_3 acpAppRestrictions_header'>
|
||||
<input type="checkbox" class="ipsSwitch" id='elRestrict_
|
||||
IPSCONTENT;
|
||||
@@ -216,16 +216,16 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
> <label for='elRestrict_
|
||||
> <label for='elRestrict_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'><span class='ipsTitle ipsTitle--h3'>
|
||||
' class="i-font-size_3 i-font-weight_600 i-color_hard">
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array(\IPS\Member::loggedIn()->language()->addToStack('__app_' . $appKey )); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acprestrictions_app', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></label>
|
||||
</label>
|
||||
</div>
|
||||
<ul id='elRestrictions_root_
|
||||
IPSCONTENT;
|
||||
@@ -293,7 +293,7 @@ IPSCONTENT;
|
||||
|
||||
$val = "menu__{$appKey}_{$moduleKey}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</strong></h2> <span data-role='toggle' class='ipsJS_show'><a href='#' data-action='expandAll'><strong>
|
||||
</strong></h2> <span data-role='toggle' class='ipsJS_show'><a href='#' data-action='expandAll'><strong>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'expand', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -325,7 +325,7 @@ IPSCONTENT;
|
||||
|
||||
$val = "r__{$title}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3> <span data-role='massToggle' class='ipsJS_show'><a href='#' data-action='checkAll'>
|
||||
</h3> <span data-role='massToggle' class='ipsJS_show'><a href='#' data-action='checkAll'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'all', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
|
||||
@@ -235,49 +235,6 @@ $return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=promotion
|
||||
$return .= <<<IPSCONTENT
|
||||
' style="width:100%"></iframe>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
function advertisementMessage( ) {
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='i-background_2 i-padding_3 ipsPhotoPanel ipsPhotoPanel_small'>
|
||||
<i class='fa-solid fa-circle-info i-font-size_6'></i>
|
||||
<div>
|
||||
<h2 class='ipsTitle ipsTitle--h3'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'ad_promo_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'ad_promo_msg', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
<br>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Http\Url::ips( "docs/product-nexus" );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton ipsButton--primary'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more_information', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
|
||||
@@ -261,86 +261,86 @@ IPSCONTENT;
|
||||
|
||||
<div class='ipsColumns' data-controller='core.admin.support.dashboard'>
|
||||
<div class='ipsColumns__primary'>
|
||||
<div class='ipsBox'>
|
||||
<p class='i-padding_3'>
|
||||
<div class='ipsMessage i-margin-bottom_block'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_intro', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
<div class='ipsBox ipsHide' data-role="summary">
|
||||
<h2 class='ipsBox__header' data-role="summaryText"></h2>
|
||||
<div class='i-padding_2'>
|
||||
<button class='ipsButton ipsButton--inherit ipsButton--small' data-role="checkAgain">
|
||||
<div class="ipsBox i-margin-bottom_block">
|
||||
<div class='ipsHide' data-role="summary">
|
||||
<div class="ipsBox__header">
|
||||
<h2 data-role="summaryText" class="i-flex_11"></h2>
|
||||
<button class='ipsButton ipsButton--inherit ipsButton--small' data-role="checkAgain"><i class="fa-solid fa-arrows-rotate"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_check_again_button', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-role="tableRows">
|
||||
<div class='ipsGrid i-basis_300 ipsGrid--system-health i-margin-top_2'>
|
||||
|
||||
<div data-role="tableRows">
|
||||
<div class='ipsGrid i-basis_340 ipsGrid--lines ipsGrid--system-health'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $blocks as $key => $block ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsBox' data-role='patchworkItem' data-blockid='
|
||||
<div class="i-padding_3" data-role='patchworkItem' data-blockid='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<div class='elBlockTitle i-padding_2 i-flex i-align-items_center i-justify-content_space-between i-border-bottom_3'>
|
||||
<div>
|
||||
<h2 class='i-font-size_2 i-font-weight_600 i-color_hard'>
|
||||
|
||||
<div class='elBlockTitle i-margin-bottom_2 i-flex i-align-items_center i-justify-content_space-between'>
|
||||
<div>
|
||||
<h2 class='i-font-size_2 i-font-weight_600 i-color_hard'>
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $block['title'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h2>
|
||||
|
||||
</h2>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !empty( $block['details'] ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class='i-font-weight_500 i-color_soft i-font-size_-1'>
|
||||
|
||||
<p class='i-font-weight_500 i-color_soft i-font-size_-1'>
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $block['details'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<span class='i-color_warning ipsHide' data-iconType="critical"><i class="fa-solid fa-triangle-exclamation"></i></span>
|
||||
<span class='i-color_issue ipsHide' data-iconType="recommended"><i class="fa-solid fa-circle-info"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class='i-color_warning ipsHide' data-iconType="critical"><i class="fa-solid fa-triangle-exclamation"></i></span>
|
||||
<span class='i-color_issue ipsHide' data-iconType="recommended"><i class="fa-solid fa-circle-info"></i></span>
|
||||
</div>
|
||||
<div class='ipsLoading' data-role="supportBlock"></div>
|
||||
</div>
|
||||
<div class='ipsLoading' data-role="supportBlock"></div>
|
||||
</div>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-block_3'>
|
||||
<div class='ipsBox i-margin-bottom_block'>
|
||||
<h2 class='ipsBox__header'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -403,18 +403,36 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-block_3'>
|
||||
<h2 class='ipsBox__header'>
|
||||
<div>
|
||||
<div class='ipsBox'>
|
||||
<div class='elHealthChart'>
|
||||
<div class='ipsGrid ipsGrid--lines ipsGrid--max-3 i-border-bottom_3'>
|
||||
<div class="i-flex i-gap_3 i-padding_3 ipsLinkPanelWrap">
|
||||
<a class='ipsLinkPanel' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health__system_log_chart', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=systemLogs", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</h2>
|
||||
<div class='elHealthChart'>
|
||||
<div class='ipsButtons ipsButtons--fill i-padding_3'>
|
||||
<a class='ipsButton ipsButton--inherit' href='
|
||||
' aria-hidden="true" tabindex="-1"><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_system_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class="i-font-size_6 i-color_soft i-opacity_7 i-flex_00"><i class="fa-solid fa-server"></i></div>
|
||||
<div class="i-flex_11 i-flex i-flex-direction_column i-align-items_start">
|
||||
<h3 class="ipsTitle ipsTitle--h4">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_system_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class="i-color_soft i-margin-bottom_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_system_log_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<a class='ipsButton ipsButton--secondary ipsButton--small i-margin-top_auto' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=systemLogs", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -425,7 +443,35 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_system_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
<a class='ipsButton ipsButton--inherit' href='
|
||||
</div>
|
||||
</div>
|
||||
<div class="i-flex i-gap_3 i-padding_3 ipsLinkPanelWrap">
|
||||
<a class='ipsLinkPanel' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=errorLogs", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-hidden="true" tabindex="-1"><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class="i-font-size_6 i-color_soft i-opacity_7 i-flex_00"><i class="fa-solid fa-triangle-exclamation"></i></div>
|
||||
<div class="i-flex_11 i-flex i-flex-direction_column i-align-items_start">
|
||||
<h3 class="ipsTitle ipsTitle--h4">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class="i-color_soft i-margin-bottom_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_error_log_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<a class='ipsButton ipsButton--secondary ipsButton--small i-margin-top_auto' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=errorLogs", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -436,7 +482,35 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
<a class='ipsButton ipsButton--inherit' href='
|
||||
</div>
|
||||
</div>
|
||||
<div class="i-flex i-gap_3 i-padding_3 ipsLinkPanelWrap">
|
||||
<a class='ipsLinkPanel' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=settings&controller=email&do=errorLog", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-hidden="true" tabindex="-1"><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_email_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<div class="i-font-size_6 i-color_soft i-opacity_7 i-flex_00"><i class="fa-solid fa-envelope-open-text"></i></div>
|
||||
<div class="i-flex_11 i-flex i-flex-direction_column i-align-items_start">
|
||||
<h3 class="ipsTitle ipsTitle--h4">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_email_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<p class="i-color_soft i-margin-bottom_3">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_email_error_log_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<a class='ipsButton ipsButton--secondary ipsButton--small i-margin-top_auto' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=settings&controller=email&do=errorLog", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -447,6 +521,8 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_email_error_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{$chart}
|
||||
<p class='i-font-size_1 i-color_soft i-padding_2'>
|
||||
@@ -462,9 +538,9 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
|
||||
<div class='ipsColumns__secondary i-basis_360'>
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsBox i-margin-bottom_block'>
|
||||
<h2 class='ipsBox__header'>
|
||||
|
||||
<i class="fa-solid fa-book i-color_soft"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health__search_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -483,7 +559,7 @@ $return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</h2>
|
||||
<div class='i-padding_3'>
|
||||
<p class='i-font-size_1'>
|
||||
<p class='i-margin-bottom_2'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -555,17 +631,17 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-block_3'>
|
||||
<div class='ipsBox i-margin-bottom_block'>
|
||||
<h2 class='ipsBox__header'>
|
||||
|
||||
<i class="fa-solid fa-screwdriver-wrench i-color_soft"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health__tools_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h2>
|
||||
<div class='i-padding_3'>
|
||||
<p class='i-font-size_1 i-margin-bottom_3'>
|
||||
<div class=''>
|
||||
<p class='i-font-size_1 i-padding_3 i-padding-bottom_1'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -574,13 +650,13 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
|
||||
<div class="ipsButtons">
|
||||
<div class="ipsLinkList i-padding_2">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=support&do=clearCaches" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class='ipsButton ipsButton--small ipsButton--inherit ipsButton--wide' data-role="clearCaches">
|
||||
" data-role="clearCaches"><i class="fa-regular fa-trash-can"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_clear_caches_button', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -591,7 +667,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=support&do=thirdparty" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsDialog class='ipsButton ipsButton--small ipsButton--inherit ipsButton--wide' >
|
||||
" data-ipsDialog><i class="fa-solid fa-paint-roller"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_customizations_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -607,7 +683,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_debug_log_settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton ipsButton--small ipsButton--inherit ipsButton--wide'>
|
||||
'><i class="fa-regular fa-file-code"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_debug_log_settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -624,7 +700,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=support&controller=phpinfo", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' target='_blank' class='ipsButton ipsButton--small ipsButton--inherit ipsButton--wide'>
|
||||
' target='_blank'><i class="fa-solid fa-circle-info"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health_phpinfo', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -640,9 +716,9 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsBox i-margin-block_3'>
|
||||
<div class='ipsBox i-margin-bottom_block'>
|
||||
<h2 class='ipsBox__header'>
|
||||
|
||||
<i class="fa-solid fa-life-ring i-color_soft"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'health__support_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1134,7 +1210,7 @@ IPSCONTENT;
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $action, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" id='elCoppaForm' class='i-text-align_center' data-ipsForm>
|
||||
" data-ipsForm>
|
||||
<input type="hidden" name="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -1202,7 +1278,7 @@ IPSCONTENT;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<button type='submit' class='ipsButton ipsButton--large ipsButton--primary ipsHide'>
|
||||
<button type='submit' class='ipsButton ipsButton--large ipsButton--primary ipsHide'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'continue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1767,7 +1843,7 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul>
|
||||
<ul class="i-grid i-gap_2">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1803,7 +1879,7 @@ IPSCONTENT;
|
||||
$count++;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='i-padding-block_2 i-padding-inline_2 i-flex i-align-items_center i-gap_1
|
||||
<div class='i-flex i-align-items_center i-gap_1
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $listItem['critical'] ):
|
||||
@@ -1818,7 +1894,7 @@ IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
i-color_soft
|
||||
i-color_positive
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -2092,7 +2168,7 @@ else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<div class="i-padding-block_2 i-padding-inline_2 i-flex i-align-items_center i-color_soft">
|
||||
<div class="i-flex i-align-items_center i-color_positive">
|
||||
<i class="fa-solid fa-check i-margin-end_icon"></i>
|
||||
<p class='i-flex_11'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -200,7 +200,7 @@ IPSCONTENT;
|
||||
foreach ( $buttonMethods as $method ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsFieldRow--fullWidth i-margin-top_1'>
|
||||
<li class='ipsFieldRow ipsFieldRow--fullWidth i-margin-top_1'>
|
||||
{$method->button()}
|
||||
</li>
|
||||
|
||||
@@ -390,7 +390,22 @@ $return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'front' )->htmlDataAttributes( );
|
||||
if ( isset(\IPS\Widget\Request::i()->cookie['acptheme']) AND \IPS\Widget\Request::i()->cookie['acptheme'] == 'dark' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ips-scheme="dark"
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( !isset(\IPS\Widget\Request::i()->cookie['acptheme']) AND isset(\IPS\Widget\Request::i()->cookie['acpthemedefault']) AND \IPS\Widget\Request::i()->cookie['acpthemedefault'] == 'dark' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ips-scheme="dark"
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ips-scheme="light"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<head>
|
||||
@@ -453,19 +468,17 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-bottom_3">
|
||||
<div class='i-flex i-align-items_center ipsGap'>
|
||||
<div class='i-flex_00'>
|
||||
<span class='ipsUserPhoto ipsUserPhoto--medium'>
|
||||
<img src='
|
||||
<div class='ipsPhotoPanel' style="--i-photoPanelAvatar: 4em;">
|
||||
<span class='ipsUserPhoto'>
|
||||
<img src='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Member::load( $log->member_id )->photo, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' alt=''>
|
||||
</span>
|
||||
</div>
|
||||
<div class='i-flex_11'>
|
||||
<h1>
|
||||
</span>
|
||||
<div class='ipsPhotoPanel__text'>
|
||||
<div class="ipsPhotoPanel__primary">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -516,16 +529,14 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member\Group::load( \IPS\Member::load( $log->member_id )->member_group_id )->formattedName;
|
||||
$return .= <<<IPSCONTENT
|
||||
)
|
||||
</h1>
|
||||
<div>
|
||||
</div>
|
||||
<div class="ipsPhotoPanel__secondary">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = ( $log->time instanceof \IPS\DateTime ) ? $log->time : \IPS\DateTime::ts( $log->time );$return .= $val->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
<div>
|
||||
<div class='ipsTruncate'>
|
||||
|
||||
<div class="ipsPhotoPanel__secondary">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'triggered_at', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -562,9 +573,7 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -610,71 +619,6 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $log->backtrace, ENT_QUOTES |
|
||||
$return .= <<<IPSCONTENT
|
||||
</textarea>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $log->loaded_hooks ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-bottom_3">
|
||||
<h3 class="ipsMinorTitle">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'log_loaded_hooks', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $log->loaded_hooks as $hook ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$details = \IPS\Log::hookDetails( $hook );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $details['type'] == 'app' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=applications&controller=applications&do=details&id={$details['id']}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsDialog data-ipsDialog-title='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'app_view_details', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $hook, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
|
||||
@@ -7713,7 +7713,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/globalTemplate", "layout:before", [ $title,$html,$location ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div class="ipsLayout" data-ips-hook="layout">
|
||||
<div class="ipsLayout" id="ipsLayout" data-ips-hook="layout">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/front/global/globalTemplate", "layout:inside-start", [ $title,$html,$location ] );
|
||||
@@ -11461,6 +11461,19 @@ $return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "core/fron
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul>
|
||||
<li data-el="refresh" class="ipsMobileFooter__item ipsMobileFooter__item--refresh">
|
||||
<button type="button" class="ipsMobileFooter__link" onclick="location.reload()">
|
||||
<div class="ipsMobileFooter__icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"></path></svg>
|
||||
</div>
|
||||
<span class="ipsMobileFooter__text">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'refresh_pwa', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -11857,22 +11870,16 @@ $return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</header>
|
||||
<div class="ipsOffCanvas__scroll">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsOffCanvas__box">
|
||||
<ul class="ipsOffCanvas__nav ipsOffCanvas__nav--user">
|
||||
<li>
|
||||
|
||||
<div class="ipsOffCanvas__box">
|
||||
<ul class="ipsOffCanvas__nav ipsOffCanvas__nav--user">
|
||||
<li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Member::loggedIn()->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -11883,30 +11890,30 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'view_my_profile', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsOffCanvas__item">
|
||||
|
||||
<div class="ipsOffCanvas__item">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class="ipsPhotoPanel i-flex_11">
|
||||
<span class="ipsUserPhoto">
|
||||
<img src="
|
||||
<span class="ipsPhotoPanel i-flex_11">
|
||||
<span class="ipsUserPhoto">
|
||||
<img src="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Member::loggedIn()->photo, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" alt="" loading="lazy">
|
||||
</span>
|
||||
<span class="ipsPhotoPanel__text">
|
||||
<span class="i-font-size_2 i-font-weight_600 i-color_hard">
|
||||
</span>
|
||||
<span class="ipsPhotoPanel__text">
|
||||
<span class="i-font-size_2 i-font-weight_600 i-color_hard">
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( $_SESSION['logged_in_as_key'] ) ):
|
||||
@@ -11927,58 +11934,58 @@ IPSCONTENT;
|
||||
$return .= htmlspecialchars( \IPS\Member::loggedIn()->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<small class="i-color_soft i-font-size_-1 i-word-break_break-all">
|
||||
<small class="i-color_soft i-font-size_-1 i-word-break_break-all">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Member::loggedIn()->email, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</small>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<nav class="ipsOffCanvas__box">
|
||||
<ul class="ipsOffCanvas__nav ipsOffCanvas__nav--profile" id="mobile-nav__profile">
|
||||
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<nav class="ipsOffCanvas__box">
|
||||
<ul class="ipsOffCanvas__nav ipsOffCanvas__nav--profile" id="mobile-nav__profile">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Theme::i()->getCssVariableFromKey('set__i-mobile-icons-location') == "header" ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><hr class="ipsHr"></li>
|
||||
<li>
|
||||
<button aria-controls="ipsOffCanvas--notifications" aria-expanded="false" data-ipscontrols data-ipsoffcanvascontent>
|
||||
<span class="ipsOffCanvas__icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewbox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V208c0-61.9 50.1-112 112-112zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"></path></svg>
|
||||
</span>
|
||||
<span class="ipsOffCanvas__label">
|
||||
<li><hr class="ipsHr"></li>
|
||||
<li>
|
||||
<button aria-controls="ipsOffCanvas--notifications" aria-expanded="false" data-ipscontrols data-ipsoffcanvascontent>
|
||||
<span class="ipsOffCanvas__icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewbox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V208c0-61.9 50.1-112 112-112zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"></path></svg>
|
||||
</span>
|
||||
<span class="ipsOffCanvas__label">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'notifications', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="ipsNotification"
|
||||
<span class="ipsNotification"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Member::loggedIn()->notification_cnt ):
|
||||
@@ -11999,45 +12006,45 @@ IPSCONTENT;
|
||||
$return .= htmlspecialchars( \IPS\Member::loggedIn()->notification_cnt, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
</button>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_disable_pm != 2 and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<button aria-controls="ipsOffCanvas--messenger" aria-expanded="false" data-ipscontrols data-ipsoffcanvascontent>
|
||||
<span class="ipsOffCanvas__icon">
|
||||
|
||||
<li>
|
||||
<button aria-controls="ipsOffCanvas--messenger" aria-expanded="false" data-ipscontrols data-ipsoffcanvascontent>
|
||||
<span class="ipsOffCanvas__icon">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_disable_pm ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="20" viewbox="0 0 640 512" class="i-opacity_3"><path d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM358.2 378.2C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9z"></path></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="20" viewbox="0 0 640 512" class="i-opacity_3"><path d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM358.2 378.2C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9z"></path></svg>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewbox="0 0 512 512"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"></path></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewbox="0 0 512 512"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"></path></svg>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</span>
|
||||
<span class="ipsOffCanvas__label">
|
||||
</span>
|
||||
<span class="ipsOffCanvas__label">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'userbar_messages', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<span class="ipsNotification"
|
||||
<span class="ipsNotification"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Member::loggedIn()->msg_count_new ):
|
||||
@@ -12058,42 +12065,36 @@ IPSCONTENT;
|
||||
$return .= htmlspecialchars( \IPS\Member::loggedIn()->msg_count_new, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><hr class="ipsHr"></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( \IPS\Member::loggedIn()->menu( 'mobile' )->getLinks() as $link ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$link}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><hr class="ipsHr"></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( \IPS\Member::loggedIn()->menu( 'mobile' )->getLinks() as $link ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$link}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -12988,7 +12989,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_disable_pm != 2 and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
|
||||
if ( \IPS\Member::loggedIn()->member_id and \IPS\Member::loggedIn()->members_disable_pm != 2 and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<section class="ipsOffCanvas" id="ipsOffCanvas--messenger" data-ips-hidden-group="offcanvas" hidden data-ips-hidden-top-layer>
|
||||
@@ -13080,6 +13081,12 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<!-- Notifications -->
|
||||
<section class="ipsOffCanvas" id="ipsOffCanvas--notifications" data-ips-hidden-group="offcanvas" hidden data-ips-hidden-top-layer>
|
||||
<button class="ipsOffCanvas__overlay" aria-controls="ipsOffCanvas--notifications" aria-expanded="false" data-ipscontrols><span class="ipsInvisible">
|
||||
@@ -13130,6 +13137,12 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</section>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -13168,7 +13181,7 @@ IPSCONTENT;
|
||||
$return .= str_replace( array( 'http://', 'https://' ), '//', htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=search&controller=search&do=quicksearch", null, "search", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" method="post">
|
||||
<div class="i-padding_2 i-position_sticky-top i-flex i-gap_1 i-margin-bottom_2">
|
||||
<div class="i-padding_2 i-flex i-gap_1">
|
||||
<input type="search" class="ipsInput ipsInput--text ipsOffCanvas__input" placeholder="
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -13504,7 +13517,7 @@ if ( !\IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-el="guest">
|
||||
<button class="ipsMobileNavIcons__button ipsMobileNavIcons__button--primary" aria-controls="ipsOffCanvas--guest" aria-expanded="false" data-ipscontrols>
|
||||
<button type="button" class="ipsMobileNavIcons__button ipsMobileNavIcons__button--primary" aria-controls="ipsOffCanvas--guest" aria-expanded="false" data-ipscontrols>
|
||||
<span>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -13596,7 +13609,7 @@ if ( \IPS\Theme::i()->getCssVariableFromKey('set__i-mobile-icons-location') == "
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-el="search">
|
||||
<button class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--search" aria-expanded="false" data-ipscontrols>
|
||||
<button type="button" class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--search" aria-expanded="false" data-ipscontrols>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewbox="0 0 512 512"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"></path></svg>
|
||||
<span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
@@ -13631,7 +13644,7 @@ if ( \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-el="user">
|
||||
<button class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--profile" aria-expanded="false" data-ipscontrols>
|
||||
<button type="button" class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--profile" aria-expanded="false" data-ipscontrols>
|
||||
<span class="ipsUserPhoto">
|
||||
<img src="
|
||||
IPSCONTENT;
|
||||
@@ -13714,7 +13727,7 @@ if ( \IPS\Theme::i()->getCssVariableFromKey('set__i-mobile-icons-location') == "
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-el="more">
|
||||
<button class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--navigation" aria-expanded="false" data-ipscontrols>
|
||||
<button type="button" class="ipsMobileNavIcons__button" aria-controls="ipsOffCanvas--navigation" aria-expanded="false" data-ipscontrols>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="14" viewbox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg>
|
||||
<span class="ipsInvisible">Menu</span>
|
||||
|
||||
@@ -13737,6 +13750,12 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</button>
|
||||
</li>
|
||||
<li data-el="refresh" class="ipsMobileNavIcons__refresh">
|
||||
<button type="button" class="ipsMobileNavIcons__button" onclick="location.reload()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"></path></svg>
|
||||
<span class="ipsInvisible">Refresh</span>
|
||||
</button>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -14050,12 +14069,20 @@ $return .= \IPS\Theme::i()->getTemplate( "global", "core", 'front' )->navBarItem
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-el="nav-more" hidden>
|
||||
<button aria-expanded="false" aria-controls="nav__more" data-ipscontrols type="button"><i class="fa-ips fa-ips--primary-nav"></i><span>
|
||||
<button aria-expanded="false" aria-controls="nav__more" data-ipscontrols type="button">
|
||||
<span class="ipsNavBar__icon" aria-hidden="true">
|
||||
<i class="fa-solid fa-bars"></i>
|
||||
</span>
|
||||
<span class="ipsNavBar__text">
|
||||
<span class="ipsNavBar__label">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'more', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class="fa-solid fa-angle-down"></i></button>
|
||||
</span>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
</span>
|
||||
</button>
|
||||
<ul class="ipsNav__dropdown" id="nav__more" data-ips-hidden-light-dismiss hidden></ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -14361,12 +14388,14 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<span class="ipsNavBar__text">
|
||||
<span class="ipsNavBar__label">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->title(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
</span>
|
||||
</button>
|
||||
<ul class='ipsNav__dropdown' id='elNavSecondary_
|
||||
IPSCONTENT;
|
||||
@@ -14429,12 +14458,14 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<span class="ipsNavBar__text">
|
||||
<span class="ipsNavBar__label">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->title(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
</span>
|
||||
</button>
|
||||
<ul class='ipsNav__dropdown' id='elNavSecondary_
|
||||
IPSCONTENT;
|
||||
@@ -14544,11 +14575,13 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<span class="ipsNavBar__text">
|
||||
<span class="ipsNavBar__label">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $item->title(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -18920,7 +18953,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsReviewResponse i-padding_3 i-margin-bottom_3 i-background_2">
|
||||
<div class="i-flex i-align-items_center i-justify-content_space-between i-margin-bottom_2">
|
||||
<h4 class="ipsTitle ipsTitle--h3">
|
||||
<h4 class="ipsTitle ipsTitle--h5">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'review_response_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
|
||||
@@ -6081,7 +6081,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $r['guest_email'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class='ipsButton ipsButton_verySmall ipsButton_light'><i class="fa fa-envelope"></i>
|
||||
" class='ipsButton ipsButton--tiny ipsButton--light'><i class="fa fa-envelope"></i>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $r['guest_email'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -894,7 +894,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $startValue, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -936,7 +936,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $endValue, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -1078,7 +1078,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $startValue, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -1121,7 +1121,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $endValue, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
|
||||
@@ -5564,7 +5564,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'reg_change_email', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsDialog-modal='true' class='ipsButton ipsButton_light ipsButton_verySmall'>
|
||||
' data-ipsDialog-modal='true' class='ipsButton ipsButton--inherit'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'reg_change_email', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -9906,33 +9906,34 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_settings_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
</div>
|
||||
<div class='i-padding_3'>
|
||||
<p class='i-margin-bottom_4'>
|
||||
<p class=''>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_ucp_blurb', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
<div class='ipsBlockSpacer'>
|
||||
|
||||
</div>
|
||||
<div class='ipsGrid ipsGrid--lines ipsGrid--auto-fit ipsGrid--settingsMfa i-basis_400'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $handlers as $key => $handler ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3 ipsColumns">
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<h2 class="ipsTitle ipsTitle--h4 i-margin-bottom_1">
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<div class="i-margin-bottom_1 i-flex i-align-items_center i-gap_3 i-flex-wrap_wrap i-row-gap_0">
|
||||
<h2 class="ipsTitle ipsTitle--h4">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $handler->ucpTitle(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h2>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $handler->memberHasConfiguredHandler( \IPS\Member::loggedIn() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
<span class='i-color_positive'><i class='fa-solid fa-check'></i>
|
||||
<span class='i-color_positive i-font-weight_600'><i class='fa-solid fa-check'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'enabled', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -9942,82 +9943,74 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
|
||||
</div>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $handler->ucpDesc(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsColumns__secondary'>
|
||||
<ul class="ipsButtons ipsButtons--start">
|
||||
|
||||
</div>
|
||||
<ul class="ipsButtons ipsButtons--start i-margin-top_3">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $handler->memberHasConfiguredHandler( \IPS\Member::loggedIn() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&area=mfa&act=enable&type={$key}&_new=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings_mfa", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--small ipsButton--primary">
|
||||
" class="ipsButton ipsButton--inherit"><i class="fa-solid fa-gear"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "mfa_{$key}_reauth"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'or', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</li>
|
||||
<li><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&area=mfa&act=disable&type={$key}" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings_mfa", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="i-color_negative" data-confirm>
|
||||
" class="ipsButton ipsButton--inherit i-color_negative" data-confirm><i class="fa-regular fa-circle-xmark"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_disable', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&area=mfa&act=enable&type={$key}&_new=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings_mfa", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--small ipsButton--primary">
|
||||
" class="ipsButton ipsButton--primary"><i class='fa-solid fa-check'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'enable', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -10050,41 +10043,47 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 's
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
</div>
|
||||
<div class='ipsBlockSpacer i-padding_3'>
|
||||
<div class="i-padding_3 ipsColumns">
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1'>
|
||||
<div class='ipsGrid ipsGrid--lines ipsGrid--auto-fit ipsGrid--privacySettings i-basis_400'>
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<div class="i-margin-bottom_1 i-flex i-align-items_center i-gap_3 i-flex-wrap_wrap i-row-gap_0">
|
||||
<h2 class='ipsTitle ipsTitle--h4'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'online_visibility', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<div class="i-font-size_2 i-font-weight_600 i-margin-bottom_1">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_bitoptions['is_anon'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
<span class='i-color_negative'><i class='fa-solid fa-xmark'></i>
|
||||
|
||||
<span class='i-color_negative i-font-weight_600'><i class='fa-solid fa-xmark'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'online_status_hidden', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
<span class='i-color_positive'><i class='fa-solid fa-check'></i>
|
||||
|
||||
<span class='i-color_positive i-font-weight_600'><i class='fa-solid fa-check'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'online_status_visible', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10098,15 +10097,14 @@ IPSCONTENT;
|
||||
if ( !\IPS\Member::loggedIn()->group['g_hide_online_list'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
|
||||
<ul class="ipsButtons ipsButtons--start i-margin-top_3">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_bitoptions['is_anon'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=updateAnon&value=0" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10116,14 +10114,14 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'show_online_status', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=updateAnon&value=1" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10133,15 +10131,14 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'hide_online_status', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10155,39 +10152,46 @@ IPSCONTENT;
|
||||
if ( \IPS\Settings::i()->core_datalayer_enabled AND \IPS\Settings::i()->core_datalayer_include_pii AND \IPS\Settings::i()->core_datalayer_member_pii_choice ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3 ipsColumns">
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1'>
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<div class="i-margin-bottom_1 i-flex i-align-items_center i-gap_3 i-flex-wrap_wrap i-row-gap_0">
|
||||
<h2 class='ipsTitle ipsTitle--h4'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'datalayer_pii_opt_out', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h2>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Member::loggedIn()->members_bitoptions['datalayer_pii_optout'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
<span class='i-color_negative'><i class='fa-solid fa-xmark'></i>
|
||||
|
||||
<span class='i-color_negative i-font-weight_600'><i class='fa-solid fa-xmark'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'datalayer_omitted', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
<span class='i-color_positive'><i class='fa-solid fa-check'></i>
|
||||
|
||||
<span class='i-color_positive i-font-weight_600'><i class='fa-solid fa-check'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'datalayer_collected', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
|
||||
</div>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10195,15 +10199,14 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'd
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
|
||||
<ul class="ipsButtons ipsButtons--start i-margin-top_3">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->members_bitoptions['datalayer_pii_optout'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=togglePii" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10213,14 +10216,14 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'datalayer_omit', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<li><a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=togglePii" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10230,15 +10233,14 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'datalayer_collect', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
</a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -10656,38 +10658,36 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='i-padding_3 ipsBlockSpacer'>
|
||||
<div class='ipsGrid ipsGrid--lines ipsGrid--auto-fit ipsGrid--privacyDelete i-basis_400 i-border-top_3'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Settings::i()->pii_type=='on' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3">
|
||||
<div class='ipsColumns'>
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="piiDataRequest">
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="piiDataRequest">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'pii_data_request', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'pii_data_request_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
|
||||
</div>
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_3'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member\PrivacyAction::canRequestPiiData() AND !\IPS\Member\PrivacyAction::hasPiiRequest(NULL, TRUE ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=requestPiiData" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10698,19 +10698,19 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_pii_data_request', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member\PrivacyAction::hasPiiRequest(NULL, TRUE ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=downloadPiiData" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10721,14 +10721,12 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_pii_data', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -10755,8 +10753,8 @@ IPSCONTENT;
|
||||
elseif ( \IPS\Settings::i()->pii_type=='redirect' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3 ipsColumns">
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="piiDataRequest">
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10770,9 +10768,8 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'p
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
<a href='
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_3'>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Settings::i()->pii_link;
|
||||
@@ -10783,7 +10780,6 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_pii_data_request', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10798,31 +10794,29 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->canUseAccountDeletion() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3">
|
||||
<div class='ipsColumns'>
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="requestAccountDeletion">
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="requestAccountDeletion">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'account_deletion', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<p>
|
||||
<p>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'account_deletion_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member\PrivacyAction::canDeleteAccount() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
<a href='
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_3'>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=settings&do=requestAccountDeletion" . "&csrfKey=" . \IPS\Session::i()->csrfKey, null, "settings", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -10833,15 +10827,13 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'request_account_deletion', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10892,8 +10884,8 @@ IPSCONTENT;
|
||||
elseif ( \IPS\Settings::i()->right_to_be_forgotten_type=='redirect' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-padding_3 ipsColumns">
|
||||
<div class='ipsColumns__primary i-basis_400'>
|
||||
<div class="i-padding_4 i-flex i-flex-direction_column">
|
||||
<div class='i-flex_11'>
|
||||
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_1' id="requestAccountDeletion">
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -10907,9 +10899,8 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'a
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsColumns__secondary'>
|
||||
<div class='ipsButtons ipsButtons--start'>
|
||||
<a href='
|
||||
<div class='ipsButtons ipsButtons--start i-margin-top_3'>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Settings::i()->right_to_be_forgotten_link;
|
||||
@@ -10920,7 +10911,6 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'request_account_deletion', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -501,7 +501,8 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<label for='
|
||||
<div class="theme-editor__align-setting">
|
||||
<label for='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -510,7 +511,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<button class='theme-editor__revert' type='button' data-revert='
|
||||
<button class='theme-editor__revert' type='button' data-revert='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $setting->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -535,6 +536,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_revert', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></button>
|
||||
</div>
|
||||
<div class='theme-editor__input-file'>
|
||||
<input type='file' accept='image/*' id='
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1186,7 +1186,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'save_chart_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton ipsButton--primary ipsButton--small' data-role='saveReport'
|
||||
' class='ipsButton ipsButton--inherit ipsButton--small' data-role='saveReport'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Widget\Request::i()->chartId OR \IPS\Widget\Request::i()->chartId == '_default' ):
|
||||
@@ -2992,7 +2992,9 @@ if ( !\IPS\Widget\Request::i()->isAjax() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3595,10 +3597,6 @@ IPSCONTENT;
|
||||
if ( \count( $apple ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-touch-fullscreen" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -1126,9 +1126,9 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'g
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<ul class="i-padding_3 i-background_3" data-role="codeInput">
|
||||
<li class="ipsFieldRow " id="google_authenticator_form_google_authenticator_setup_code">
|
||||
<div class="ipsFieldRow__content">
|
||||
<ul class="i-padding_2" data-role="codeInput">
|
||||
<li class="" id="google_authenticator_form_google_authenticator_setup_code">
|
||||
<div class="">
|
||||
<input type="text" name="google_authenticator_auth_code" value="" class="ipsInput ipsInput--text
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1160,9 +1160,9 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<li class="i-margin-top_2">
|
||||
<button type='submit' class='ipsButton ipsButton--primary ipsButton--wide'>
|
||||
<i class='fa-solid fa-lock'></i>
|
||||
<i class='fa-solid fa-lock'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'google_submit_code', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1667,8 +1667,7 @@ IPSCONTENT;
|
||||
if ( \IPS\Dispatcher::i()->controllerLocation !== 'admin' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-top_2">
|
||||
<a class="ipsButton--text ipsButton--text--light i-font-size_2" href="
|
||||
<a class="ipsButton ipsButton--text ipsModal__close" href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( array( '_mfaCancel' => 1 ) )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -1678,9 +1677,14 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_back', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
<i class="fa-solid fa-xmark"></i>
|
||||
<span class="ipsInvisible">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_back', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1706,12 +1710,12 @@ $return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Session::i()->csrfKey, EN
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
{$screen}
|
||||
<div class="i-background_3 i-text-align_center i-padding_3 i-padding-top_0 cOtherMethod">
|
||||
<div class="i-background_2 i-text-align_center i-padding_2 cOtherMethod">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( array( '_mfa' => 'alt', '_mfaMethod' => '' ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton ipsButton--text ipsButton--wide'>
|
||||
' class='ipsButton ipsButton--inherit ipsButton--wide'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mfa_try_another_method', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -2113,7 +2117,7 @@ IPSCONTENT;
|
||||
if ( \IPS\Settings::i()->mfa_required_groups != '*' and !$member->inGroup( explode( ',', \IPS\Settings::i()->mfa_required_groups ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-background_3 i-text-align_center i-padding_3 i-padding-top_0 cOtherMethod">
|
||||
<div class="i-background_2 i-text-align_center i-padding_2 cOtherMethod">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( '_mfa', 'optout' )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -2170,7 +2174,7 @@ IPSCONTENT;
|
||||
$thisUrl = \IPS\Widget\Request::i()->url();
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-background_3 i-text-align_center i-padding_3 i-padding-top_0 cOtherMethod">
|
||||
<div class="i-background_2 i-text-align_center i-padding_2 cOtherMethod">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $thisUrl->stripQueryString(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
@@ -219,7 +219,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( json_encode( $value ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul data-role="fieldsArea"></ul>
|
||||
<ul data-role="fieldsArea" class="i-grid i-gap_2 i-margin-bottom_2"></ul>
|
||||
<a class="ipsButton ipsButton--soft ipsButton--small" data-action="addField"><i class="fa-solid fa-plus-circle"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -679,17 +679,18 @@ $return .= \IPS\Theme\Template::htmlspecialchars( \count( $form->elements['']['u
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</button>
|
||||
<div id='elURLScreenshots_menu' class='ipsMenu ipsMenu_wide ipsHide i-padding_3'>
|
||||
<ul class='ipsFieldRow--fullWidth'>
|
||||
<div id='elURLScreenshots_menu' class='ipsMenu ipsMenu_wide ipsHide'>
|
||||
<ul class="ipsForm ipsForm--vertical">
|
||||
{$form->elements['']['url_screenshots']}
|
||||
</ul>
|
||||
<hr class='ipsHr'>
|
||||
<a href='#' class='ipsButton ipsButton--wide ipsButton--primary' data-action='confirmScreenshotUrls'>
|
||||
<li class="ipsSubmitRow">
|
||||
<button type="button" class='ipsButton ipsButton--wide ipsButton--primary' data-action='confirmScreenshotUrls'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_menu_confirm', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -370,7 +370,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Application::appIsEnabled('cloud') AND \IPS\cloud\Application::featureIsEnabled( 'realtime' ) ):
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-controller="cloud.front.realtime.whosViewing" data-location="
|
||||
@@ -670,7 +670,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-controller="forums.front.forum.forumPage,cloud.front.realtime.viewingProvider">
|
||||
<div data-controller="forums.front.forum.forumPage
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
,cloud.front.realtime.viewingProvider
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2864,7 +2874,17 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-controller="cloud.front.realtime.forumsTopicRow"
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller="cloud.front.realtime.forumsTopicRow"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->unread() ):
|
||||
@@ -3959,7 +3979,17 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/front/forums/topicRowSnippet", "topicRow:before", [ $table,$headers,$rows ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<li data-ips-hook="topicRow" data-controller="cloud.front.realtime.forumsTopicRow" class="ipsData__item ipsData__item--snippet
|
||||
<li data-ips-hook="topicRow"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller="cloud.front.realtime.forumsTopicRow"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
class="ipsData__item ipsData__item--snippet
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->groupsPosted ):
|
||||
@@ -3972,7 +4002,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->isAssignedToMember() ):
|
||||
if ( \IPS\Member::loggedIn()->modPermissions() and $row->isAssignedToMember() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsData__item--assigned
|
||||
IPSCONTENT;
|
||||
@@ -4169,13 +4199,25 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/front/forums/topicRowSnippet", "badges:inside-start", [ $table,$headers,$rows ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->modPermissions() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->assignmentBadge( $row, '' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->prefix() ):
|
||||
|
||||
@@ -4022,7 +4022,17 @@ IPSCONTENT;
|
||||
if ( $movedTo = $row->movedTo() AND $movedTo->container()->can('view') ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsData__item" data-controller="cloud.front.realtime.forumsTopicRow">
|
||||
<li class="ipsData__item"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller="cloud.front.realtime.forumsTopicRow"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $movedTo->url( "getPrefComment" ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -4848,7 +4858,15 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
data-stattype="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-v="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $v, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<span class="ipsData__stats-icon" data-stat-value="
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -5413,7 +5431,17 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "forums/front/index/simplifiedTopicRowSnippet", "row:before", [ $table,$headers,$rows ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<li data-ips-hook="row" data-controller="cloud.front.realtime.forumsTopicRow" class="ipsData__item ipsData__item--snippet
|
||||
<li data-ips-hook="row"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller="cloud.front.realtime.forumsTopicRow"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
class="ipsData__item ipsData__item--snippet
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $row->groupsPosted ):
|
||||
|
||||
@@ -4576,7 +4576,7 @@ $return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Application::appIsEnabled('cloud') AND \IPS\cloud\Application::featureIsEnabled( 'realtime' ) ):
|
||||
if ( \IPS\Platform\Bridge::i()->featureIsEnabled( 'realtime' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller="cloud.front.realtime.forumsReplyArea,cloud.front.realtime.whosTyping"
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1415,9 +1415,26 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-controller='core.front.core.reviewForm'>
|
||||
<div>
|
||||
<form accept-charset='utf-8' class="ipsFormWrap ipsFormWrap--gallery-review" action="
|
||||
<div class="ipsComposeAreaWrapper">
|
||||
<div class='ipsComposeArea ipsComposeArea--review'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-controller='core.front.core.reviewForm'
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class='ipsComposeArea__photo'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( \IPS\Member::loggedIn(), 'fluid' );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
<div class='ipsComposeArea_editor'>
|
||||
<form accept-charset='utf-8' class="ipsFormWrap ipsFormWrap--gallery-review" action="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $action->setQueryString( '_review', 1 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -1432,18 +1449,18 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<input type="hidden" name="
|
||||
<input type="hidden" name="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_submitted" value="1">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $hiddenValues as $k => $v ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<input type="hidden" name="
|
||||
<input type="hidden" name="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -1452,43 +1469,43 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $v, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $uploadField ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $uploadField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<input type="hidden" name="plupload" value="
|
||||
<input type="hidden" name="plupload" value="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( mt_rand() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !isset( \IPS\Widget\Request::i()->_review ) and \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-role='reviewIntro' class="i-padding_3">
|
||||
<h3 class="i-margin-bottom_2"><strong class="i-color_hard i-font-weight_600">
|
||||
<div data-role='reviewIntro' class="i-padding_3">
|
||||
<h3 class="i-margin-bottom_2"><strong class="i-color_hard i-font-weight_600">
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array(\IPS\Member::loggedIn()->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'review_intro_1', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
@@ -1499,67 +1516,68 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'review_intro_2', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></h3>
|
||||
<a href='#' class='ipsButton ipsButton--primary ipsButton--small ipsJS_show' data-action='writeReview'><i class="fa-regular fa-pen-to-square"></i><span>
|
||||
<button type="button" class='ipsButton ipsButton--primary ipsButton--small' data-action='writeReview'><i class="fa-regular fa-pen-to-square"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'write_a_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
</div>
|
||||
|
||||
</span></button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--gallery-review
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--gallery-review' data-role='reviewForm'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !isset( \IPS\Widget\Request::i()->_review ) and \IPS\Member::loggedIn()->member_id ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsJS_hide
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
i-padding_3' data-role='reviewForm'>
|
||||
|
||||
>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $collection ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $collection as $input ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$input}
|
||||
|
||||
{$input}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsFieldRow'>
|
||||
<div class='ipsFieldRow__content'>
|
||||
<button type='submit' class='ipsButton ipsButton--primary'><i class="fa-regular fa-pen-to-square"></i><span>
|
||||
<li class='ipsFieldRow'>
|
||||
<div class='ipsFieldRow__content'>
|
||||
<button type='submit' class='ipsButton ipsButton--primary'><i class="fa-regular fa-pen-to-square"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'add_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4247,7 +4247,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsReviewResponse i-padding_3 i-margin-bottom_3 i-background_2">
|
||||
<div class="i-flex i-align-items_center i-justify-content_space-between i-margin-bottom_2">
|
||||
<h4 class="ipsTitle ipsTitle--h3">
|
||||
<h4 class="ipsTitle ipsTitle--h5">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'review_response_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
|
||||
Reference in new issue
Block a user