Version 5.0.13

This commit is contained in:
Neo committed 2025-12-19 19:04:57 -08:00
1 parent b89858b2ff
commit 5efe744c5f
1407 files changed
+69690 -30177

No files matched your search

+164 -217
View File
@@ -18,7 +18,7 @@ IPSCONTENT;
$return .= <<<IPSCONTENT
<div data-controller='calendar.front.submit.dates' id='eventDateSelection' class=''>
<div data-controller='calendar.front.submit.dates' id='eventDateSelection'>
IPSCONTENT;
@@ -37,7 +37,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<ul class='i-basis_100p i-padding_3 ipsList ipsList--inline'>
<ul class='i-basis_100p i-padding_3 ipsList ipsList--inline i-align-items_center'>
<li>
<label class="i-flex i-align-items_center i-gap_1">
<input type="checkbox" role="checkbox" name="event_dates[single_day]"
@@ -81,25 +81,79 @@ $return .= <<<IPSCONTENT
</label>
</li>
<li class='i-color_soft i-link-color_inherit' id='elTimezone'>
<a href='#elTimezoneSelector_menu' id='elTimezoneSelector' data-ipsMenu data-ipsMenu-closeOnClick="false" data-ipsMenu-appendTo="#eventDateSelection"><i class='fa-solid fa-earth-americas i-margin-end_icon'></i>
<button type="button" id="elTimezoneSelector" class='ipsButton ipsButton--text' popovertarget="elTimezoneSelector_menu">
<i class='fa-solid fa-earth-americas i-margin-end_icon'></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_timezone', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
: <span class="i-color_hard i-font-weight_500" data-role="timezone_display"></span> <i class='fa-solid fa-angle-down'></i></a>
: <span class="i-color_hard i-font-weight_500" data-role="timezone_display"></span> <i class='fa-solid fa-angle-down'></i>
</button>
<i-dropdown id="elTimezoneSelector_menu" popover>
<div class="iDropdown">
<div class='ipsForm'>
<div class="ipsFieldRow">
<select class="ipsInput ipsInput--select" name="event_dates[event_timezone]" id="event_timezone">
IPSCONTENT;
foreach ( $timeZones as $k => $v ):
$return .= <<<IPSCONTENT
<option value='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $value['event_timezone'] == $k ):
$return .= <<<IPSCONTENT
selected
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-abbreviated="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</option>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</select>
</div>
<div class='ipsSubmitRow'>
<button class='ipsButton ipsButton--primary' data-action="updateTimezone" type="button" popovertarget="elTimezoneSelector_menu">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</div>
</div>
</div>
</i-dropdown>
</li>
</ul>
<div class='ipsFluid i-basis_340 i-gap_lines i-border-bottom_3 i-border-top_3'>
<div class='i-padding_3 i-background_2' id='elDateGrid_start'>
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_2'><i class="fa-regular fa-clock i-color_soft i-margin-end_icon i-opacity_5"></i>
<div class='i-flex i-flex-wrap_wrap i-align-items_center i-gap_1'>
<label class='i-flex_11'>
<div class="i-color_hard i-font-weight_600 i-font-size_3 i-margin-bottom_2"><i class="fa-regular fa-calendar i-color_soft i-margin-end_icon i-opacity_5"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_start', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_start_date', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h2>
<div class='i-flex i-flex-wrap_wrap i-align-items_center i-gap_1'>
<div class='i-flex_11 cCalendarSubmit_field'>
<i class='fa-solid fa-calendar'></i>
</div>
<input type="date" data-summaryControl name="event_dates[start_date]" value="
IPSCONTENT;
@@ -123,38 +177,20 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-preferredFormat="
IPSCONTENT;
if ( $value['start_date'] instanceof \IPS\DateTime ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['start_date']->fullYearLocaleDate(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['start_date'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" required aria-required='true' class="ipsInput ipsInput--text" data-control="date" id='event_start_date' placeholder='
" required class="ipsInput ipsInput--text" data-control="date" id='event_start_date' placeholder='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( str_replace( array( 'YYYY', 'MM', 'DD' ), array( \IPS\Member::loggedIn()->language()->addToStack('_date_format_yyyy'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_mm'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_dd') ), str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
</div>
<div class='i-flex_11 cCalendarSubmit_field' id='start_time_wrap'>
<i class='fa-regular fa-clock'></i>
</label>
<label class='i-flex_11' id='start_time_wrap'>
<div class="i-color_hard i-font-weight_600 i-font-size_3 i-margin-bottom_2"><i class="fa-regular fa-clock i-color_soft i-margin-end_icon i-opacity_5"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_start_time', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</div>
<input name="event_dates[start_time]" id="start_time" type="time" size='12' class="ipsInput ipsInput--text" placeholder="
IPSCONTENT;
@@ -165,19 +201,18 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['start_time'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
</div>
</label>
</div>
</div>
<div class='i-padding_3 i-background_2' id='elDateGrid_end'>
<h2 class='ipsTitle ipsTitle--h4 i-margin-bottom_2'><i class="fa-solid fa-forward-fast i-color_soft i-margin-end_icon i-opacity_5"></i>
<div class='i-flex i-flex-wrap_wrap i-align-items_center i-gap_1'>
<label class='i-flex_11' id='event_end_date_wrap'>
<div class="i-color_hard i-font-weight_600 i-font-size_3 i-margin-bottom_2"><i class="fa-regular fa-calendar i-color_soft i-margin-end_icon i-opacity_5"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_end', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_end_date', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</h2>
<div class='i-flex i-flex-wrap_wrap i-align-items_center i-gap_1'>
<div class='i-flex_11 cCalendarSubmit_field' id='event_end_date_wrap'>
<i class='fa-solid fa-calendar'></i>
</div>
<input type="date" name="event_dates[end_date]" value="
IPSCONTENT;
@@ -199,48 +234,6 @@ $return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" data-preferredFormat="
IPSCONTENT;
if ( $value['end_date'] instanceof \IPS\DateTime ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['end_date']->fullYearLocaleDate(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $value['start_date'] instanceof \IPS\DateTime ):
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['start_date']->fullYearLocaleDate(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
else:
$return .= <<<IPSCONTENT
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $value['end_date'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
" class="ipsInput ipsInput--text" data-control="date" id="event_end_date" placeholder='
@@ -249,9 +242,14 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( mb_strtoupper( str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
</div>
<div class='i-flex_11 cCalendarSubmit_field' id='end_time_wrap'>
<i class='fa-regular fa-clock'></i>
</label>
<label class='i-flex_11' id='end_time_wrap'>
<div class="i-color_hard i-font-weight_600 i-font-size_3 i-margin-bottom_2"><i class="fa-regular fa-clock i-color_soft i-margin-end_icon i-opacity_5"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_end_time', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</div>
<input name="event_dates[end_time]" id="end_time" type="time" size='12' class="ipsInput ipsInput--text" placeholder="
IPSCONTENT;
@@ -272,12 +270,11 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
">
</div>
</label>
</div>
<ul class='i-margin-top_2 ipsList ipsList--inline' id='end_date_controls'>
<li>
<label class="i-flex i-align-items_center i-gap_1">
<input type="checkbox" role="checkbox" name="event_dates[no_end_time]"
<div id='end_date_controls'>
<label class="i-margin-top_2 i-flex i-align-items_center i-gap_1">
<input type="checkbox" role="checkbox" name="event_dates[no_end_time]"
IPSCONTENT;
if ( !isset( $value['end_time'] ) OR !$value['end_time'] ):
@@ -288,18 +285,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
value="1" id="check_no_end_time" class="ipsInput ipsInput--toggle">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_end_time', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
</li>
</ul>
</label>
</div>
</div>
<div class='i-padding_3 i-background_2'>
<strong class='ipsTitle ipsTitle--h4 i-margin-bottom_2 i-display_block'><i class="fa-solid fa-clipboard-list i-color_soft i-margin-end_icon i-opacity_5"></i>
<strong class='i-color_hard i-font-weight_600 i-font-size_3 i-margin-bottom_2 i-display_block'><i class="fa-solid fa-clipboard-list i-color_soft i-margin-end_icon i-opacity_5"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_summary', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -334,105 +330,52 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_repeats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
<span id='elRecurEdit' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo="#eventDateSelection" class='i-cursor_pointer i-color_hard i-font-weight_600'><span data-role='recurringSummary'></span> <i class='fa-solid fa-caret-down'></i></span> <a href='#' id='elRecurRemove' class='i-margin-start_2 i-font-size_-2'>(
<button type="button" id="elRecurEdit" popovertarget="elRecurEdit_menu" class='i-cursor_pointer i-color_hard i-font-weight_600'><span data-role='recurringSummary'></span> <i class='fa-solid fa-caret-down'></i></button>
<label for="elRepeatCb" id='elRecurRemove' class='i-margin-start_2 i-font-size_-2 i-cursor_pointer'>(
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'submit_event_remove_repeat', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
)</a>
</div>
</div>
</div>
<div id='elTimezoneSelector_menu' class='ipsHide ipsMenu'>
<div class='ipsForm'>
<div class="ipsFieldRow">
<select class="ipsInput ipsInput--select" name="event_dates[event_timezone]" id="event_timezone">
IPSCONTENT;
foreach ( $timeZones as $k => $v ):
$return .= <<<IPSCONTENT
<option value='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
IPSCONTENT;
if ( $value['event_timezone'] == $k ):
$return .= <<<IPSCONTENT
selected
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
data-abbreviated="
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
">
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</option>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</select>
</div>
<div class='ipsSubmitRow'>
<button class='ipsButton ipsButton--primary' role='button' data-action="updateTimezone">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'change', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</div>
</div>
</div>
<div id='elRecurEdit_menu' class='ipsHide ipsMenu ipsMenu_wide'>
<ul class="ipsForm">
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
)</label>
<i-dropdown id="elRecurEdit_menu" popover>
<div class="iDropdown">
<ul class="ipsForm">
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<div class='ipsFieldRow__content'>
<div class='ipsFieldRow__content'>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->select( 'event_dates[event_repeats]', $value['event_repeats'], FALSE, array( 'daily' => \IPS\Member::loggedIn()->language()->addToStack('event_rpm_repeats_daily'), 'weekly' => \IPS\Member::loggedIn()->language()->addToStack('event_rpm_repeats_weekly'), 'monthly' => \IPS\Member::loggedIn()->language()->addToStack('event_rpm_repeats_monthly'), 'yearly' => \IPS\Member::loggedIn()->language()->addToStack('event_rpm_repeats_yearly') ), FALSE, '', FALSE, array( 'daily' => array( 'repeatFreqPer_day' ), 'weekly' => array( 'elRepeatOn', 'repeatFreqPer_week' ), 'monthly' => array( 'repeatFreqPer_month' ), 'yearly' => array( 'repeatFreqPer_year' ) ), 'event_repeats' );
$return .= <<<IPSCONTENT
</div>
</li>
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
</div>
</li>
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeatevery', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<div class='ipsFieldRow__content'>
<div class='ipsFieldRow__content'>
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->select( 'event_dates[event_repeat_freq]', $value['event_repeat_freq'], FALSE, array_combine( range( 1, 30 ), range( 1, 30 ) ), FALSE, '', FALSE, array(), 'event_repeat_freq' );
$return .= <<<IPSCONTENT
<span id='repeatFreqPer_day'
<span id='repeatFreqPer_day'
IPSCONTENT;
if ( $value['event_repeats'] and $value['event_repeats'] != 'daily' ):
$return .= <<<IPSCONTENT
style="display:none"
hidden
IPSCONTENT;
endif;
@@ -443,12 +386,12 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeatevery_day', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
<span id='repeatFreqPer_week'
<span id='repeatFreqPer_week'
IPSCONTENT;
if ( $value['event_repeats'] != 'weekly' ):
$return .= <<<IPSCONTENT
style="display:none"
hidden
IPSCONTENT;
endif;
@@ -459,12 +402,12 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeatevery_week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
<span id='repeatFreqPer_month'
<span id='repeatFreqPer_month'
IPSCONTENT;
if ( $value['event_repeats'] != 'monthly' ):
$return .= <<<IPSCONTENT
style="display:none"
hidden
IPSCONTENT;
endif;
@@ -475,12 +418,12 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeatevery_month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
<span id='repeatFreqPer_year'
<span id='repeatFreqPer_year'
IPSCONTENT;
if ( $value['event_repeats'] != 'yearly' ):
$return .= <<<IPSCONTENT
style="display:none"
hidden
IPSCONTENT;
endif;
@@ -491,24 +434,24 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeatevery_year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</span>
</div>
</li>
<li class='ipsFieldRow' id='elRepeatOn'>
<label class='ipsFieldRow__label'>
</div>
</li>
<li class='ipsFieldRow' id='elRepeatOn'>
<label class='ipsFieldRow__label'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_repeaton', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<ul class='ipsFieldRow__content ipsFieldRow__content--checkboxes'>
<ul class='ipsFieldRow__content ipsFieldRow__content--checkboxes'>
IPSCONTENT;
foreach ( \IPS\calendar\Date::getDayNames() as $day ):
$return .= <<<IPSCONTENT
<li>
<input type="checkbox" role="checkbox" name="event_dates[repeat_freq_on_
<li>
<input type="checkbox" role="checkbox" name="event_dates[repeat_freq_on_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $day['ical'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -531,7 +474,7 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
class="ipsInput ipsInput--toggle">
<label for="check_repeat_freq_on_
<label for="check_repeat_freq_on_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $day['ical'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -540,25 +483,25 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $day['abbreviated'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</label>
</li>
</li>
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</ul>
</li>
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
</ul>
</li>
<li class='ipsFieldRow'>
<label class='ipsFieldRow__label' for=''>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_ends', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<ul class='ipsFieldRow__content ipsFieldList'>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_never' value='never'
<ul class='ipsFieldRow__content ipsFieldList'>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_never' value='never'
IPSCONTENT;
if ( !$value['repeat_end_occurrences'] AND !$value['repeat_end_date'] ):
@@ -569,17 +512,17 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
class="ipsInput ipsInput--toggle">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_never">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_never">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_ends_never', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
</div>
</li>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_afterx' value='after'
</div>
</li>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_afterx' value='after'
IPSCONTENT;
if ( $value['repeat_end_occurrences'] ):
@@ -590,8 +533,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
class="ipsInput ipsInput--toggle">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_afterx">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_afterx">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_ends_afterx', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -606,10 +549,10 @@ IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_ends_occurrencesx', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</div>
</li>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_ondate' value='date'
</div>
</li>
<li>
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_ondate' value='date'
IPSCONTENT;
if ( $value['repeat_end_date'] ):
@@ -620,8 +563,8 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
class="ipsInput ipsInput--toggle">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_ondate">
<div class='ipsFieldList__content'>
<label for="event_repeat_end_ondate">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rpm_ends_date', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
@@ -650,19 +593,23 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
'>
</div>
</li>
</ul>
</li>
<li class='ipsSubmitRow'>
<button type='button' class='ipsButton ipsButton--primary' role='button' data-action="updateRepeat">
</div>
</li>
</ul>
</li>
<li class='ipsSubmitRow'>
<button type='button' class='ipsButton ipsButton--primary' data-action="updateRepeat" popovertarget="elRecurEdit_menu">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'ok', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</li>
</ul>
</li>
</ul>
</div>
</i-dropdown>
</div>
</div>
</div>
</div>
IPSCONTENT;
@@ -740,7 +687,7 @@ endif;
$return .= <<<IPSCONTENT
<div class='ipsBox ipsPull'>
<div class='ipsBox ipsBox--calendarSubmit ipsPull'>
<ul class='
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $class, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );