Version 4.7.8
This commit is contained in:
1 parent
7b7404e741
commit
fd22d99e69
688 files changed
+19814
-10890
No files matched your search
@@ -340,7 +340,7 @@
|
||||
</ul>
|
||||
</form>
|
||||
</div>]]></template>
|
||||
<template template_group="events" template_name="event" template_data="$event, $size='normal'" template_location="front" template_app="calendar"><![CDATA[
|
||||
<template template_group="events" template_name="event" template_data="$event, $size='normal', $date=NULL" template_location="front" template_app="calendar"><![CDATA[{{$date = $date ?: \IPS\calendar\Date::getDate();}}
|
||||
{{$sameDay = FALSE;}}
|
||||
{{if $event->_end_date}}
|
||||
{{$sameDay = !( ($event->_start_date->mday != $event->_end_date->mday) or ($event->_start_date->mon != $event->_end_date->mon) or ($event->_start_date->year != $event->_end_date->year) );}}
|
||||
@@ -364,8 +364,8 @@
|
||||
</a>
|
||||
<div class='cEvent__dateAside'>
|
||||
{{if $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )}}
|
||||
<span class='cEvent__dateAside__month'>{lang="_date_month_short" pluralize="$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->format( 'n' )"}</span>
|
||||
<span class='cEvent__dateAside__day'>{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->format( 'd' )}</span>
|
||||
<span class='cEvent__dateAside__month'>{lang="_date_month_short" pluralize="$event->nextOccurrence( $date, 'startDate' )->format( 'n' )"}</span>
|
||||
<span class='cEvent__dateAside__day'>{$event->nextOccurrence( $date, 'startDate' )->format( 'd' )}</span>
|
||||
{{else}}
|
||||
<span class='cEvent__dateAside__month'>{lang="_date_month_short" pluralize="$event->lastOccurrence( 'startDate' )->format( 'n' )"}</span>
|
||||
<span class='cEvent__dateAside__day'>{$event->lastOccurrence( 'startDate' )->format('d')}</span>
|
||||
@@ -431,9 +431,9 @@
|
||||
" data-ipsTooltip>{$event->_happening}</span>
|
||||
{{else}}
|
||||
<time datetime='{expression="$event->_start_date->format( 'Y-m-d' )"}'>
|
||||
{{if $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}}, {{endif}}">
|
||||
{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->calendarDate()}{{if !$event->all_day}}, {{endif}}
|
||||
{{if $event->nextOccurrence( $date, 'startDate' )}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $date, 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}}, {{endif}}">
|
||||
{$event->nextOccurrence( $date, 'startDate' )->calendarDate()}{{if !$event->all_day}}, {{endif}}
|
||||
</span>
|
||||
{{if !$event->all_day}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}">
|
||||
@@ -537,7 +537,7 @@
|
||||
|
||||
<div data-item="{$idx + 1}" class='cFeaturedEvents__event cFeaturedEvents__event--{$idx + 1}'>
|
||||
{{if $image}}
|
||||
<img class='cFeaturedEvents__image' src='{backgroundimage="$image->url"}' alt=''>
|
||||
<img class='cFeaturedEvents__image' src='{$image->url}' alt=''>
|
||||
{{endif}}
|
||||
|
||||
<div class='cFeaturedEvents__event-details'>
|
||||
@@ -714,9 +714,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{if $mapMarkers and $mapMarkers !== '[]'}}
|
||||
<div class='cEvents__searchMap cEvents__searchMap--loading event ipsAreaBackground ipsPad ipsSpacer_bottom ipsSpacer_double' data-role='searchResultsMap' {{if $mapMarkers}}data-markers="{$mapMarkers}"{{endif}}></div>
|
||||
{{endif}}
|
||||
<div class='cEvents__searchMap cEvents__searchMap--loading event ipsAreaBackground ipsPad ipsSpacer_bottom ipsSpacer_double' data-role='searchResultsMap' {{if $mapMarkers}}data-markers="{$mapMarkers}"{{endif}}></div>
|
||||
<ul class='eventList {{if !\count( $results )}}ipsHide{{endif}}' data-role='searchResults'>
|
||||
{template="searchResults" app="calendar" group="events" params="$results"}
|
||||
</ul>
|
||||
@@ -1327,8 +1325,7 @@
|
||||
<p class='ipsType_light'>{$reason}</p>
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="overview" template_name="byMonth" template_data="$calendars, $date, $featured, $events, $thisCalendar, $months=array()" template_location="front" template_app="calendar"><![CDATA[
|
||||
<section class='ipsBox' data-controller="calendar.front.overview.eventList">
|
||||
<template template_group="overview" template_name="byMonth" template_data="$calendars, $date, $featured, $events, $thisCalendar, $months=array()" template_location="front" template_app="calendar"><![CDATA[<section class='ipsBox' data-controller="calendar.front.overview.eventList">
|
||||
<h2 class='ipsType_sectionTitle'>{lang="events_browse_by_month"}</h2>
|
||||
<div class='ipsPadding ipsAreaBackground_light ipsRadius:bl ipsRadius:br'>
|
||||
<div class='cEvents__monthNav' data-role='monthNav'>
|
||||
@@ -1344,7 +1341,7 @@
|
||||
{{if \count($events) }}
|
||||
<ul class='eventList' data-role='eventList'>
|
||||
{{foreach $events as $event}}
|
||||
{template="event" app="calendar" group="events" params="$event"}
|
||||
{template="event" app="calendar" group="events" params="$event, 'normal', \IPS\calendar\Date::getDate( $date->firstDayOfMonth('year'), $date->firstDayOfMonth('mon'), $date->firstDayOfMonth('mday') )"}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<div class='ipsPadding_top ipsType_center'>
|
||||
@@ -1366,12 +1363,36 @@
|
||||
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix">
|
||||
<li class="ipsToolList_primaryAction">
|
||||
{{if !\IPS\Settings::i()->club_nodes_in_apps and $theOnlyNode = \IPS\calendar\Calendar::theOnlyNode() }}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=calendar&module=calendar&controller=submit&do=submit&id={$theOnlyNode->_id}" seoTemplate="calendar_submit"}">{lang="create_event"}</a>
|
||||
{{elseif ( $thisCalendar AND $thisCalendar->can('add') )}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href='{url="app=calendar&module=calendar&controller=submit&do=submit&id={$thisCalendar->_id}" seoTemplate="calendar_submit"}' data-ipsTooltip title='{lang="add_event"}'>{lang="create_event"}</a>
|
||||
{{elseif \IPS\calendar\Calendar::canOnAny('add')}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}" data-ipsdialog="" data-ipsdialog-size="narrow" data-ipsdialog-title="{lang="select_calendar"}">{lang="create_event"}</a>
|
||||
{{if \IPS\Application::appIsEnabled('cloud') and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'cloud', 'livetopics' ) ) and \IPS\cloud\LiveTopic::canCreate( \IPS\Member::loggedIn() )}}
|
||||
<a href="#elEventCreate_menu" id="elEventCreate" class="ipsButton ipsButton_medium ipsButton_important" data-ipsMenu>{lang="livetopic_create_event"} <i class="fa fa-caret-down"></i></a>
|
||||
<ul id="elEventCreate_menu" class="ipsMenu ipsMenu_normal ipsHide">
|
||||
<li class="ipsMenu_item" data-menuItem="livetopic">
|
||||
{{if !\IPS\Settings::i()->club_nodes_in_apps and $theOnlyNode = \IPS\calendar\Calendar::theOnlyNode() }}
|
||||
<a class="ipsMenu_link" href="{url="app=calendar&module=calendar&controller=submit&do=livetopic&id={$theOnlyNode->_id}" seoTemplate="calendar_submit"}">{lang="event_create_livetopic"}</a>
|
||||
{{elseif ( $thisCalendar AND $thisCalendar->can('add') )}}
|
||||
<a class="ipsMenu_link" href='{url="app=calendar&module=calendar&controller=submit&do=livetopic&id={$thisCalendar->_id}" seoTemplate="calendar_submit"}' data-ipsTooltip title='{lang="add_event"}'>{lang="event_create_livetopic"}</a>
|
||||
{{elseif \IPS\calendar\Calendar::canOnAny('add')}}
|
||||
<a class="ipsMenu_link" href="{url="app=calendar&module=calendar&controller=submit&do=livetopic" seoTemplate="calendar_submit"}">{lang="event_create_livetopic"}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
<li class="ipsMenu_item" data-menuItem="event">
|
||||
{{if !\IPS\Settings::i()->club_nodes_in_apps and $theOnlyNode = \IPS\calendar\Calendar::theOnlyNode() }}
|
||||
<a class="ipsMenu_link" href="{url="app=calendar&module=calendar&controller=submit&do=submit&id={$theOnlyNode->_id}" seoTemplate="calendar_submit"}">{lang="event_create_normal"}</a>
|
||||
{{elseif ( $thisCalendar AND $thisCalendar->can('add') )}}
|
||||
<a class="ipsMenu_link" href='{url="app=calendar&module=calendar&controller=submit&do=submit&id={$thisCalendar->_id}" seoTemplate="calendar_submit"}' data-ipsTooltip title='{lang="add_event"}'>{lang="event_create_normal"}</a>
|
||||
{{elseif \IPS\calendar\Calendar::canOnAny('add')}}
|
||||
<a class="ipsMenu_link" href="{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}" data-ipsdialog="" data-ipsdialog-size="narrow" data-ipsdialog-title="{lang="select_calendar"}">{lang="event_create_normal"}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
</ul>
|
||||
{{else}}
|
||||
{{if !\IPS\Settings::i()->club_nodes_in_apps and $theOnlyNode = \IPS\calendar\Calendar::theOnlyNode() }}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=calendar&module=calendar&controller=submit&do=submit&id={$theOnlyNode->_id}" seoTemplate="calendar_submit"}">{lang="create_event"}</a>
|
||||
{{elseif ( $thisCalendar AND $thisCalendar->can('add') )}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href='{url="app=calendar&module=calendar&controller=submit&do=submit&id={$thisCalendar->_id}" seoTemplate="calendar_submit"}' data-ipsTooltip title='{lang="add_event"}'>{lang="create_event"}</a>
|
||||
{{elseif \IPS\calendar\Calendar::canOnAny('add')}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}" data-ipsdialog="" data-ipsdialog-size="narrow" data-ipsdialog-title="{lang="select_calendar"}">{lang="create_event"}</a>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</li>
|
||||
<li>
|
||||
@@ -1723,6 +1744,10 @@
|
||||
|
||||
{template="pageHeader" group="global" app="core" params="$pageHeader"}
|
||||
|
||||
{{if isset( \IPS\Request::i()->do ) and \IPS\Request::i()->do === 'livetopic'}}
|
||||
<div class="ipsMargin_top ipsMargin_bottom">{lang="ai_service_livetopics_desc"}</div>
|
||||
{{endif}}
|
||||
|
||||
{$output|raw}]]></template>
|
||||
<template template_group="venue" template_name="upcomingStream" template_data="$date, $events, $venue" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div class='ipsPager cCalendarNav ipsSpacer_bottom lg:ipsPos_sticky'>
|
||||
@@ -2168,6 +2193,11 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $livetopic = $event->_livetopic_id}}
|
||||
<div class='ipsBox ipsResponsive_pull ipsMargin_bottom ipsPadding'>
|
||||
<a href='{$livetopic->url()}' target='_blank' class='ipsButton ipsButton_important ipsButton_fullWidth ipsMargin_bottom:half'>{lang="open_event"} <i class="fa fa-external-link" aria-hidden="true" style='margin-inline:.4em'></i></a>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $event->rsvp }}
|
||||
<div class='ipsBox ipsResponsive_pull'>
|
||||
@@ -2483,7 +2513,7 @@
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="rsvpControls" template_data="$event, $attendees" template_location="front" template_app="calendar"><![CDATA[<!-- Don't use IDs here, this template is called twice in view -->
|
||||
{{if \IPS\Member::loggedIn()->member_id AND ( isset( $attendees[0][ \IPS\Member::loggedIn()->member_id ] ) OR isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] ) OR isset( $attendees[2][ \IPS\Member::loggedIn()->member_id ] ) )}}
|
||||
{{if \IPS\Member::loggedIn()->member_id AND ( isset( $attendees[0][ \IPS\Member::loggedIn()->member_id ] ) OR isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] ) OR ( isset( $attendees[2][ \IPS\Member::loggedIn()->member_id ] ) ) AND \count( $attendees[1] ) < $event->rsvp_limit )}}
|
||||
<div class='{{if isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] )}}ipsAreaBackground_positive{{elseif isset( $attendees[0][ \IPS\Member::loggedIn()->member_id ] )}}ipsAreaBackground_negative{{else}}ipsAreaBackground_reset{{endif}} ipsPadding'>
|
||||
<p class='ipsType_large ipsType_center ipsType_reset'>
|
||||
<strong>
|
||||
@@ -2592,7 +2622,7 @@
|
||||
|
||||
{template="contentItemMessages" group="global" app="core" params="$event->getMessages(), $event"}
|
||||
<div id="sidebarWrapper">
|
||||
{{if $event->rsvp || $address || $event->map( 270, 270 ) || $event->online }}
|
||||
{{if $event->rsvp || $address || $event->map( 270, 270 ) || $event->online || $event->_livetopic_id }}
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
<div class='ipsColumn ipsColumn_fluid'>
|
||||
{{endif}}
|
||||
@@ -2608,7 +2638,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsFlex-flex:01 ipsResponsive_hidePhone'>
|
||||
<div class='ipsFlex ipsFlex-ai:center ipsFlex-fw:wrap ipsGap:2'>
|
||||
<div class='ipsShareLinks'>
|
||||
{{if \count( $event->shareLinks() )}}
|
||||
{template="shareButton" app="core" group="sharelinks" params="$event"}
|
||||
{{endif}}
|
||||
@@ -2715,7 +2745,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{if $event->rsvp || $address || $event->map( 270, 270 ) || ( $event->online and $event->url and !$event->hasPassed() ) }}
|
||||
{{if $event->rsvp || $address || $event->map( 270, 270 ) || ( $event->online and $event->url and !$event->hasPassed() ) || $event->_livetopic_id}}
|
||||
</div>
|
||||
<aside class='ipsColumn ipsColumn_veryWide'>
|
||||
<div>
|
||||
@@ -2728,23 +2758,15 @@
|
||||
</section>
|
||||
|
||||
<div class='ipsBox ipsPadding ipsResponsive_pull ipsResponsive_showPhone ipsMargin_top'>
|
||||
<div class='ipsGap_row:3'>
|
||||
<div class='ipsShareLinks'>
|
||||
{{if \count( $event->shareLinks() )}}
|
||||
<div>
|
||||
{template="shareButton" app="core" group="sharelinks" params="$event, 'verySmall', 'light'"}
|
||||
</div>
|
||||
{template="shareButton" app="core" group="sharelinks" params="$event, 'verySmall', 'light'"}
|
||||
{{endif}}
|
||||
{{if $event->canRemind()}}
|
||||
<div>
|
||||
{template="reminder" app="calendar" group="view" params="$event, $reminder, 'ipsButton_fullWidth'"}
|
||||
</div>
|
||||
{template="reminder" app="calendar" group="view" params="$event, $reminder, 'ipsButton_fullWidth'"}
|
||||
{{endif}}
|
||||
<div>
|
||||
{template="follow" app="core" group="global" params="'calendar', 'event', $event->id, $event->followersCount()"}
|
||||
</div>
|
||||
<div>
|
||||
{template="promote" app="core" group="global" params="$event"}
|
||||
</div>
|
||||
{template="follow" app="core" group="global" params="'calendar', 'event', $event->id, $event->followersCount()"}
|
||||
{template="promote" app="core" group="global" params="$event"}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2766,27 +2788,25 @@
|
||||
<template template_group="widgets" template_name="recentReviews" template_data="$reviews, $orientation='vertical'" template_location="front" template_app="calendar"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>{lang="block_recentReviews"}</h3>
|
||||
<div class='ipsWidget_inner'>
|
||||
{{if $orientation == 'vertical'}}
|
||||
<div class='ipsPad_half'>
|
||||
{{if !empty( $reviews ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $reviews as $review}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_icon'>
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'tiny'"}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsType_break ipsContained'>
|
||||
<a href="{$review->item()->url( "getPrefComment" )}" title='{lang="view_this_event" sprintf="$review->item()->title"}' class='ipsTruncate ipsTruncate_line'>{$review->item()->title}</a><br>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$review->author()->link()"}</span><br>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $review->rating, \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
<span class='ipsType_small ipsType_reset'><time datetime="{$review->mapped('date')}">{datetime="$review->mapped('date')" norelative="true"}</time></span>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_recent_reviews"}</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if !empty( $reviews ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $reviews as $review}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_icon'>
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'tiny'"}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsType_break ipsContained'>
|
||||
<a href="{$review->item()->url( "getPrefComment" )}" title='{lang="view_this_event" sprintf="$review->item()->title"}' class='ipsTruncate ipsTruncate_line'>{$review->item()->title}</a><br>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$review->author()->link()"}</span><br>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $review->rating, \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
<span class='ipsType_small ipsType_reset'><time datetime="{$review->mapped('date')}">{datetime="$review->mapped('date')" norelative="true"}</time></span>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPadding:half ipsType_center'>{lang="no_recent_reviews"}</div>
|
||||
{{endif}}
|
||||
{{else}}
|
||||
{{if !empty( $reviews ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
@@ -2813,10 +2833,6 @@
|
||||
<template template_group="widgets" template_name="upcomingEvents" template_data="$events, $today, $orientation='vertical'" template_location="front" template_app="calendar"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>{lang="block_upcomingEvents"}</h3>
|
||||
<div class='ipsWidget_inner'>
|
||||
|
||||
{{if $orientation == 'vertical'}}
|
||||
<div class='ipsPad_half'>
|
||||
{{endif}}
|
||||
|
||||
{{if !empty( $events ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
|
||||
@@ -2889,10 +2905,6 @@
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_upcoming_events"}</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $orientation == 'vertical'}}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
</div>]]></template>
|
||||
<css css_location="front" css_app="calendar" css_attributes="" css_path="." css_name="calendar_responsive.css"><![CDATA[/* BOTH */
|
||||
@media screen and (max-width: 979px) {
|
||||
|
||||
Reference in new issue
Block a user