Version 4.3.0
This commit is contained in:
1 parent
96997ddd8e
commit
fe1acf984a
1349 files changed
+116159
-67711
No files matched your search
@@ -167,13 +167,15 @@
|
||||
<h2 class='ipsType_reset ipsType_sectionTitle'>{lang="featured_events"}</h2>
|
||||
<div class='ipsPad'>
|
||||
<div class='ipsCarousel ipsClearfix' data-ipsCarousel>
|
||||
<ul class='cCalendarCarousel ipsClearfix' data-role="carouselItems">
|
||||
{{foreach $featured as $event}}
|
||||
<li class='ipsCarousel_item'>
|
||||
{template="eventBlock" app="calendar" group="view" params="$event, $date, true, false"}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<div class='ipsCarousel_inner'>
|
||||
<ul class='cCalendarCarousel ipsClearfix' data-role="carouselItems">
|
||||
{{foreach $featured as $event}}
|
||||
<li class='ipsCarousel_item'>
|
||||
{template="eventBlock" app="calendar" group="view" params="$event, $date, true, false"}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
<span class='ipsCarousel_shadow ipsCarousel_shadowLeft'></span>
|
||||
<span class='ipsCarousel_shadow ipsCarousel_shadowRight'></span>
|
||||
<a href='#' class='ipsCarousel_nav ipsHide' data-action='prev'><i class='fa fa-chevron-left'></i></a>
|
||||
@@ -219,7 +221,11 @@
|
||||
<ul class='ipsMenu ipsMenu_auto ipsHide' id='elCalendars_menu'>
|
||||
<li class='ipsMenu_item'><a href='{url="app=calendar&module=calendar&controller=view" seoTemplate="calendar"}'><span class='cCalendarIcon cEvents_style_blank'></span> {lang="all_calendars"}</a></li>
|
||||
{{foreach $calendars as $calendar}}
|
||||
<li class='ipsMenu_item'><a href='{$calendar->url()}'><span class='cCalendarIcon cEvents_style{$calendar->id}'></span> {$calendar->_title}</a></li>
|
||||
{{if $club = $calendar->club()}}
|
||||
<li class='ipsMenu_item'><a href='{$calendar->url()}'><span class='cCalendarIcon cEvents_style_blank'></span> {lang="club_node" sprintf="$club->name, $calendar->_title"}</a></li>
|
||||
{{else}}
|
||||
<li class='ipsMenu_item'><a href='{$calendar->url()}'><span class='cCalendarIcon cEvents_style{$calendar->id}'></span> {$calendar->_title}</a></li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<ul class='ipsMenu ipsMenu_auto ipsHide' id='elCalendarSettings_menu'>
|
||||
@@ -282,7 +288,7 @@
|
||||
<li class='cEvents_ranged'>
|
||||
<ul class='cEvents'>
|
||||
{{foreach $events[ $date->year . '-' . $date->mon . '-' . $k ]['ranged'] as $event }}
|
||||
<li class='cEvents_event cEvents_style{$event->calendar_id}{{if $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ) AND $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' )->mysqlDatetime( FALSE ) == $date->year . '-' . $date->mon . '-' . $k }}{{$startDates[ $event->id ] = $date->year . '-' . $date->mon . '-' . $k;}} cEvents_first{{endif}}{{if $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ) ?: $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ), 'endDate' ) AND $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ) ?: $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ), 'endDate' )->mysqlDatetime( FALSE ) == $date->year . '-' . $date->mon . '-' . $k }} cEvents_last{{endif}}' data-eventID='{$event->id}'>
|
||||
<li class='cEvents_event cEvents_style{$event->calendar_id}{{if $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ) AND $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' )->mysqlDatetime( FALSE, TRUE ) == $date->year . '-' . $date->mon . '-' . $k }}{{$startDates[ $event->id ] = $date->year . '-' . $date->mon . '-' . $k;}} cEvents_first{{endif}}{{if $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ) ?: $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ), 'endDate' ) AND $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ) ?: $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, $k ), 'startDate' ), 'endDate' )->mysqlDatetime( FALSE, TRUE ) == $date->year . '-' . $date->mon . '-' . $k }} cEvents_last{{endif}}' data-eventID='{$event->id}'>
|
||||
<a href='{$event->url()}' data-ipsHover data-ipsHover-target='{$event->url('hovercard')->setQuerystring( 'sd', isset( $startDates[ $event->id ] ) ? $startDates[ $event->id ] : $date->year . '-' . $date->mon . '-' . $k )}' title='{$event->title}'>{{if !$event->all_day}}<span class='cEvents_time'>{$event->_start_date->localeTime( FALSE )}</span> {{endif}}{truncate="$event->title" length="15"}{{if $event->hidden() === 1}} <i class='fa fa-warning'></i>{{endif}}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -425,7 +431,7 @@
|
||||
<li class='cEvents_ranged'>
|
||||
<ul class='cEvents'>
|
||||
{{foreach $events[ $day->year . '-' . $day->mon . '-' . $day->mday ]['ranged'] as $event }}
|
||||
<li class='cEvents_event cEvents_style{$event->calendar_id}{{if $event->nextOccurrence( $day, 'startDate' ) AND $event->nextOccurrence( $day, 'startDate' )->mysqlDatetime( FALSE ) == $day->mysqlDatetime( FALSE ) }}{{$startDates[ $event->id ] = $day->mysqlDatetime( FALSE );}} cEvents_first{{endif}}{{if $event->nextOccurrence( $day ?: $event->nextOccurrence( $day, 'startDate' ), 'endDate' ) AND $event->nextOccurrence( $day ?: $event->nextOccurrence( $day, 'startDate' ), 'endDate' )->mysqlDatetime( FALSE ) == $day->mysqlDatetime( FALSE ) }} cEvents_last{{endif}}'>
|
||||
<li class='cEvents_event cEvents_style{$event->calendar_id}{{if $event->nextOccurrence( $day, 'startDate' ) AND $event->nextOccurrence( $day, 'startDate' )->mysqlDatetime( FALSE, TRUE ) == $day->mysqlDatetime( FALSE ) }}{{$startDates[ $event->id ] = $day->mysqlDatetime( FALSE );}} cEvents_first{{endif}}{{if $event->nextOccurrence( $day ?: $event->nextOccurrence( $day, 'startDate' ), 'endDate' ) AND $event->nextOccurrence( $day ?: $event->nextOccurrence( $day, 'startDate' ), 'endDate' )->mysqlDatetime( FALSE, TRUE ) == $day->mysqlDatetime( FALSE ) }} cEvents_last{{endif}}'>
|
||||
<a href='{$event->url()}' data-ipsHover data-ipsHover-target='{$event->url('hovercard')->setQuerystring( 'sd', isset( $startDates[ $event->id ] ) ? $startDates[ $event->id ] : $day->mysqlDatetime( FALSE ) )}'>{$event->title}{{if $event->hidden() === 1}} <i class='fa fa-warning'></i>{{endif}}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -459,7 +465,7 @@
|
||||
<template template_group="browse" template_name="calendarWrapper" template_data="$calendar, $calendars, $thisCalendar, $jump, $date, $featured, $downloadLinks" template_location="front" template_app="calendar"><![CDATA[
|
||||
{template="calendarHeader" group="browse" app="calendar" params="$calendars, $thisCalendar, $jump, $downloadLinks"}
|
||||
|
||||
<div data-controller='calendar.front.browse.main' class='ipsSpacer_top'>
|
||||
<div data-controller='calendar.front.browse.main' class='ipsSpacer_top ipsBox_alt'>
|
||||
{$calendar|raw}
|
||||
</div>
|
||||
|
||||
@@ -486,7 +492,7 @@
|
||||
{{foreach $collection as $input}}
|
||||
{{if $input instanceof \IPS\Helpers\Form\Date}}
|
||||
<li class='ipsFieldRow ipsFieldRow_fullWidth'>
|
||||
<input type="date" data-control="date" placeholder="{lang="jump_to_placeholder"}" name='{$input->name}' id='{$input->htmlId}' {{if $input->required === TRUE}}required{{endif}} value="{{if $input->defaultValue instanceof \IPS\DateTime}}{$input->defaultValue->format('Y-m-d')}{{endif}}">
|
||||
<input type="date" data-control="date" name='{$input->name}' id='{$input->htmlId}' {{if $input->required === TRUE}}required{{endif}} value="{{if $input->defaultValue instanceof \IPS\DateTime}}{$input->defaultValue->format('Y-m-d')}{{endif}}">
|
||||
</li>
|
||||
{{else}}
|
||||
{$input->rowHtml($form)|raw}
|
||||
@@ -525,35 +531,36 @@
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedEvent" template_data="$item, $url, $image=NULL" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_event_in', FALSE, array( 'sprintf' => array( $item->author()->name, $item->container()->_title ) ) ), $item->mapped('date')"}
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_event_in', FALSE, array( 'sprintf' => array( $item->author()->name, $item->container()->_title ) ) ), $item->mapped('date'), $url"}
|
||||
|
||||
{{if $item->map( 500, 100 )}}
|
||||
<div class='ipsRichEmbed_masthead ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}'>
|
||||
<a href='{$url}' title='{$item->mapped('title')}'>
|
||||
{$item->map( 500, 100 )|raw}
|
||||
</a>
|
||||
</div>
|
||||
{{elseif $item->coverPhoto() && $item->coverPhoto()->file}}
|
||||
{{$photo = $item->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<a href='{$url}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$item->mapped('title')}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
<div class='ipsPad_double ipsClearfix'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_medium'>
|
||||
<span class='cCalendarEmbed_calendar ipsPos_left ipsType_blendLinks'>
|
||||
<a href='{$item->url()}'>
|
||||
<time datetime='{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}</span>
|
||||
<a href='{$url}'>
|
||||
{{$nextOccurrence = $item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ?: $event->lastOccurrence( 'startDate' );}}
|
||||
<time datetime='{$nextOccurrence->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$nextOccurrence->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$nextOccurrence->mday}</span>
|
||||
</time>
|
||||
</a>
|
||||
</span>
|
||||
<div>
|
||||
<p class='ipsRichEmbed_itemTitle ipsType_reset ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$item->url()}'>{$item->mapped('title')}</a>
|
||||
<a href='{$url}'>{$item->mapped('title')}</a>
|
||||
</p>
|
||||
<div class='ipsType_reset ipsType_medium'>
|
||||
{{if $item->_end_date}}
|
||||
@@ -630,20 +637,20 @@
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedEventComment" template_data="$comment, $item, $url" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_event', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_commented_event', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date'), $url"}
|
||||
<div class='ipsPad_double'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{{if $item->map( 500, 100 )}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}'>
|
||||
<a href='{$url}' title='{$item->mapped('title')}'>
|
||||
{$item->map( 500, 100 )|raw}
|
||||
</a>
|
||||
</div>
|
||||
{{elseif $item->coverPhoto() && $item->coverPhoto()->file}}
|
||||
{{$photo = $item->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<a href='{$url}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$item->mapped('title')}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
@@ -651,10 +658,11 @@
|
||||
<div class='ipsPad'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_small'>
|
||||
<span class='cCalendarEmbed_calendar ipsPos_left ipsType_blendLinks'>
|
||||
<a href='{$item->url()}'>
|
||||
<time datetime='{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}</span>
|
||||
<a href='{$url}'>
|
||||
{{$nextOccurrence = $item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ?: $event->lastOccurrence( 'startDate' );}}
|
||||
<time datetime='{$nextOccurrence->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$nextOccurrence->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$nextOccurrence->mday}</span>
|
||||
</time>
|
||||
</a>
|
||||
</span>
|
||||
@@ -670,7 +678,7 @@
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled AND \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) AND count( $comment->reactions() )}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
@@ -705,20 +713,20 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="global" template_name="embedEventReview" template_data="$comment, $item, $url" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_event', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_event', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date'), $url"}
|
||||
<div class='ipsPad_double'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{{if $item->map( 500, 100 )}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}'>
|
||||
<a href='{$url}' title='{$item->mapped('title')}'>
|
||||
{$item->map( 500, 100 )|raw}
|
||||
</a>
|
||||
</div>
|
||||
{{elseif $item->coverPhoto() && $item->coverPhoto()->file}}
|
||||
{{$photo = $item->coverPhoto()->file;}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<a href='{$url}' title='{$item->mapped('title')}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $photo->url )"}") '>
|
||||
<img src='{$photo->url}' alt='{$item->mapped('title')}' class='ipsHide'>
|
||||
</a>
|
||||
</div>
|
||||
@@ -726,10 +734,11 @@
|
||||
<div class='ipsPad'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_small'>
|
||||
<span class='cCalendarEmbed_calendar ipsPos_left ipsType_blendLinks'>
|
||||
<a href='{$item->url()}'>
|
||||
<time datetime='{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}</span>
|
||||
<a href='{$url}'>
|
||||
{{$nextOccurrence = $item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ?: $event->lastOccurrence( 'startDate' );}}
|
||||
<time datetime='{$nextOccurrence->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$nextOccurrence->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$nextOccurrence->mday}</span>
|
||||
</time>
|
||||
</a>
|
||||
</span>
|
||||
@@ -750,7 +759,7 @@
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled AND \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) AND count( $comment->reactions() )}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
@@ -869,7 +878,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_main'>
|
||||
<h4 class='ipsDataItem_title ipsType_sectionHead ipsType_break'>
|
||||
<h4 class='ipsDataItem_title ipsType_sectionHead ipsContained_container'>
|
||||
{{if $row->mapped('locked')}}
|
||||
<i class="fa fa-lock"></i>
|
||||
{{endif}}
|
||||
@@ -889,7 +898,7 @@
|
||||
{{endif}}
|
||||
|
||||
{{if $row->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}</span>
|
||||
{{endif}}
|
||||
|
||||
<span class='ipsType_break ipsContained'>
|
||||
@@ -924,11 +933,8 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if count( $row->tags() )}}
|
||||
<ul class='ipsTags ipsList_inline'>
|
||||
{{foreach $row->tags() as $tag}}
|
||||
<li><a href="{url="app=core&module=search&controller=search&tags={$tag}" seoTemplate="tags"}">{$tag}</a></li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
|
||||
{template="tags" group="global" app="core" params="$row->tags(), true, true"}
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size8'>
|
||||
@@ -993,7 +999,7 @@
|
||||
{{endif}}
|
||||
{{if trim( $indexData['index_content'] ) !== ''}}
|
||||
<div class='ipsType_richText ipsType_break ipsType_medium ipsSpacer_top ipsSpacer_half' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
{$indexData['index_content']|raw}
|
||||
{expression="\IPS\Content\Search\Result::preDisplay( $indexData['index_content'] )" raw="true"}
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -1029,7 +1035,7 @@
|
||||
|
||||
{{if trim( $indexData['index_content'] ) !== ''}}
|
||||
<div class='ipsSpacer_top ipsSpacer_half ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
{$indexData['index_content']|raw}
|
||||
{expression="\IPS\Content\Search\Result::preDisplay( $indexData['index_content'] )" raw="true"}
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -1154,6 +1160,15 @@
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="event_dates[end_time]" id="end_time" type="time" size='12' class="ipsField_short" placeholder="{lang="_time_format_hhmm"}" step='60' min='00:00' value="{$value['end_time']}">
|
||||
</div>
|
||||
<br><br>
|
||||
<ul class='ipsList_inline' id='end_date_controls'>
|
||||
<li>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[no_end_time]" {{if !$value['end_time']}}checked aria-checked='true'{{endif}} value="1" id="check_no_end_time">
|
||||
<span></span>
|
||||
</span> <label for='check_no_end_time'>{lang="no_end_time"}</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1269,14 +1284,14 @@
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="submit" template_name="submitForm" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="calendar"><![CDATA[
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm>
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm data-ipsFormSubmit>
|
||||
<input type="hidden" name="{$id}_submitted" value="1">
|
||||
{{foreach $hiddenValues as $k => $v}}
|
||||
<input type="hidden" name="{$k}" value="{$v}">
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsBox'>
|
||||
@@ -1439,14 +1454,16 @@
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='event-{$event->id}' id='comments'>
|
||||
<template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='event-{$event->id}' id='comments'>
|
||||
|
||||
{template="featuredComments" group="global" app="core" params="$event->featuredComments(), $event->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"}
|
||||
{template="commentMultimodHeader" app="core" group="global" params="$event, '#comments'"}
|
||||
{{if $event->commentPageCount() > 1}}
|
||||
{$event->commentPagination( array( 'tab' ) )|raw}
|
||||
<br><br>
|
||||
{{endif}}
|
||||
|
||||
{template="featuredComments" group="global" app="core" params="$event->featuredComments(), $event->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"}
|
||||
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
{{if ( $comments = $event->comments( NULL, NULL, 'date', 'asc', NULL, NULL, NULL, NULL, FALSE, isset( \IPS\Request::i()->showDeleted ) ) and count( $comments ) )}}
|
||||
<form action="{$event->url()->csrf()->setQueryString( 'do', 'multimodComment' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
@@ -1470,7 +1487,7 @@
|
||||
<hr class='ipsHr'>
|
||||
{$event->commentPagination( array( 'tab' ) )|raw}
|
||||
{{endif}}
|
||||
{{if $event->commentForm() || $event->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{{if $event->commentForm() || $event->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] || !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
<a id='replyForm'></a>
|
||||
<div data-role='replyArea' class='ipsBox ipsBox_transparent ipsAreaBackground ipsPad {{if !$event->canComment()}}cTopicPostArea_noSize{{endif}} ipsSpacer_top'>
|
||||
{{if $event->commentForm()}}
|
||||
@@ -1485,6 +1502,8 @@
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
|
||||
{{elseif !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'member_exceeded_posts_per_day'"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -1548,7 +1567,7 @@
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="eventBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}}
|
||||
<div class='cCalendarBlock ipsAreaBackground_reset ipsBox'>
|
||||
<div class='ipsPageHead_special ipsCoverPhoto' data-controller='core.front.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}'>
|
||||
<div class='ipsPageHead_special ipsCoverPhoto' data-controller='core.global.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}'>
|
||||
{{if $coverPhoto->file}}
|
||||
<div class='ipsCoverPhoto_container'>
|
||||
<img src='{$coverPhoto->file->url}' class='ipsCoverPhoto_photo'>
|
||||
@@ -1643,6 +1662,14 @@
|
||||
{$event->map( 250, 150 )|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $event->venue}}
|
||||
<div class='ipsSpacer_bottom'>
|
||||
<h3 class='ipsType_minorHeading'>
|
||||
<strong>{lang="event_venue_name"}</strong>
|
||||
</h3>
|
||||
{lang="calendar_venue_{$event->venue()->id}" escape="true"}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $address}}
|
||||
<h3 class='ipsType_minorHeading'>
|
||||
<strong>{lang="event_address"}</strong>
|
||||
@@ -1678,10 +1705,14 @@
|
||||
<ul class='ipsGrid ipsList_reset'>
|
||||
{{foreach $attendees[1] as $attendee}}
|
||||
<li class='ipsGrid_span3'>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
<a href='{$attendee->url()}' title="{$attendee->name}" data-ipsTooltip>
|
||||
{{endif}}
|
||||
<img src='{$attendee->photo}' class='ipsUserPhoto ipsUserPhoto_mini' alt=''>
|
||||
<span class='ipsHide'>{$attendee->name}</span>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -1697,10 +1728,14 @@
|
||||
<ul class='ipsGrid ipsList_reset'>
|
||||
{{foreach $attendees[2] as $attendee}}
|
||||
<li class='ipsGrid_span3'>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
<a href='{$attendee->url()}' title="{$attendee->name}" data-ipsTooltip>
|
||||
{{endif}}
|
||||
<img src='{$attendee->photo}' class='ipsUserPhoto ipsUserPhoto_mini' alt=''>
|
||||
<span class='ipsHide'>{$attendee->name}</span>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -1714,10 +1749,14 @@
|
||||
<ul class='ipsGrid ipsList_reset'>
|
||||
{{foreach $attendees[0] as $attendee}}
|
||||
<li class='ipsGrid_span3'>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
<a href='{$attendee->url()}' title="{$attendee->name}" data-ipsTooltip>
|
||||
{{endif}}
|
||||
<img src='{$attendee->photo}' class='ipsUserPhoto ipsUserPhoto_mini' alt=''>
|
||||
<span class='ipsHide'>{$attendee->name}</span>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) }}
|
||||
</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -1736,7 +1775,7 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="eventStreamBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}}
|
||||
<div class='cCalendarBlock ipsAreaBackground_reset ipsBox ipsPad'>
|
||||
<div class='ipsPageHead_special ipsCoverPhoto' data-controller='core.front.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}'>
|
||||
<div class='ipsPageHead_special ipsCoverPhoto' data-controller='core.global.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}'>
|
||||
{{if $coverPhoto->file}}
|
||||
<div class='ipsCoverPhoto_container'>
|
||||
<img src='{$coverPhoto->file->url}' class='ipsCoverPhoto_photo'>
|
||||
@@ -1759,9 +1798,15 @@
|
||||
<br>
|
||||
<div class='eventStreamDate ipsPos_left'>
|
||||
<a href='{$event->url()}'>
|
||||
<time datetime='{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}</span>
|
||||
{{if $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )}}
|
||||
<time datetime='{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}</span>
|
||||
{{else}}
|
||||
<time datetime='{$event->lastOccurrence( 'startDate' )->mysqlDatetime()}{{if !$event->all_day}} {$event->lastOccurrence( 'startDate' )->mysqlDatetime( FALSE )} {{endif}}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->lastOccurrence( 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->lastOccurrence( 'startDate' )->mday}</span>
|
||||
{{endif}}
|
||||
</time>
|
||||
</a>
|
||||
</div>
|
||||
@@ -1830,8 +1875,8 @@
|
||||
<input type="hidden" name="{$k}" value="{$v}">
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
{{endif}}
|
||||
<div class="ipsPad">
|
||||
<h2 class='ipsType_sectionHead'>{expression="\IPS\Output::i()->title"}</h2>
|
||||
@@ -1855,7 +1900,8 @@
|
||||
{$actionButtons[0]|raw} {{if isset( $actionButtons[1] )}}{$actionButtons[1]|raw}{{endif}}
|
||||
</div>
|
||||
</form>]]></template>
|
||||
<template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='event-{$event->id}-reviews' id='reviews'>
|
||||
<template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='event-{$event->id}-reviews' id='reviews'>
|
||||
{{if $event->reviewForm()}}
|
||||
{{if $event->locked()}}
|
||||
<strong class='ipsType_warning'><i class='fa fa-info-circle'></i> {lang="item_locked_can_review"}</strong>
|
||||
@@ -1881,6 +1927,7 @@
|
||||
{{if count( $event->reviews( NULL, NULL, NULL, 'desc', NULL, NULL, NULL, NULL, isset( \IPS\Request::i()->showDeleted ) ) )}}
|
||||
{{if !$event->hasReviewed()}}<hr class='ipsHr'>{{endif}}
|
||||
<div class="ipsClearfix ipsSpacer_bottom">
|
||||
{template="commentMultimodHeader" app="core" group="global" params="$event, '#reviews', 'review'"}
|
||||
{{if $event->reviewPageCount() > 1}}
|
||||
<div class="ipsPos_left ipsResponsive_noFloat">
|
||||
{$event->reviewPagination( array( 'tab', 'sort' ) )|raw}
|
||||
@@ -2120,14 +2167,14 @@
|
||||
</li>
|
||||
{{endif}}
|
||||
|
||||
{{if $event->canReport() }}
|
||||
{{if $event->canReportOrRevoke() === TRUE}}
|
||||
<li>
|
||||
<a href='{$event->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_event"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_event"}" class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="report_event"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
<li><a href='{$event->url('download')}' rel="noindex, nofollow" title='{lang="download_ical_title"}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="download_ical"}</a></li>
|
||||
{{if $event->venue() and $event->venue()->can( 'view' )}}
|
||||
<li><a href="{$event->venue()->url()}" class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="calendar_more_events_at_x" sprintf=" $event->venue()->_title"}</a></li>
|
||||
<li><a href="{$event->venue()->url()}" class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="calendar_more_events_at_x" sprintf="$event->venue()->_title"}</a></li>
|
||||
{{endif}}
|
||||
{{if $event->author() == \IPS\Member::loggedIn() and \IPS\calendar\Calendar::canOnAny('add')}}
|
||||
<li><a href='{url="app=calendar&module=calendar&controller=submit&do=copy&event_id={$event->id}"}' rel="noindex, nofollow" title='' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="add_similar_event"}</a></li>
|
||||
@@ -2265,70 +2312,87 @@
|
||||
]]></template>
|
||||
<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'}}
|
||||
|
||||
{{if $orientation == 'vertical'}}
|
||||
<div class='ipsPad_half'>
|
||||
{{endif}}
|
||||
{{if !empty( $events ) }}
|
||||
{{endif}}
|
||||
|
||||
{{if !empty( $events ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $events as $event}}
|
||||
|
||||
{{foreach $events as $event}}
|
||||
<li class='ipsDataItem ipsClearfix'>
|
||||
<div class='ipsDataItem_icon cCalendar_date_overlay'>
|
||||
{{if $event->nextOccurrence( $today, 'startDate' )}}
|
||||
<time datetime='{$event->nextOccurrence( $today, 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month' data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="%b">{$event->nextOccurrence( $today, 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date' data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="%d">{$event->nextOccurrence( $today, 'startDate' )->mday}</span>
|
||||
</time>
|
||||
<time datetime='{$event->nextOccurrence( $today, 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month' data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="%b">{$event->nextOccurrence( $today, 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date' data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="%d">{$event->nextOccurrence( $today, 'startDate' )->mday}</span>
|
||||
</time>
|
||||
{{else}}
|
||||
<time datetime='{$event->lastOccurrence( 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month' data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( $today, 'startDate' )->format('c')}" data-format="%b">{$event->lastOccurrence( 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date' data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( $today, 'startDate' )->format('c')}" data-format="%d">{$event->lastOccurrence( 'startDate' )->mday}</span>
|
||||
</time>
|
||||
<time datetime='{$event->lastOccurrence( 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month' data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'startDate' )->format('c')}" data-format="%b">{$event->lastOccurrence( 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date' data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'startDate' )->format('c')}" data-format="%d">{$event->lastOccurrence( 'startDate' )->mday}</span>
|
||||
</time>
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_main cWidgetComments'>
|
||||
{{if $event->container()->allow_comments && $orientation == 'vertical'}}
|
||||
<div class="ipsCommentCount ipsPos_right {{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_replies" pluralize="$event->comments"}'>{expression="$event->comments"}</div>
|
||||
<div class="ipsCommentCount ipsPos_right {{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_replies" pluralize="$event->comments"}'>{expression="$event->comments"}</div>
|
||||
{{endif}}
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$event->url()}" title='{lang="view_this_event" sprintf="$event->title"}'>{$event->title}</a>
|
||||
</div>
|
||||
<strong class='ipsType_small'>
|
||||
{{$sameDay = (bool) ( $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' ) and $event->nextOccurrence( $today, 'startDate' )->calendarDate() == $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->calendarDate() );}}
|
||||
{{if $event->nextOccurrence( $today, 'startDate' )}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"} {{endif}}">{$event->nextOccurrence( $today, 'startDate' )->calendarDate()}{{if !$event->all_day}} {$event->nextOccurrence( $today, 'startDate' )->localeTime( FALSE )} {{endif}}</span>
|
||||
{{if $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' ) }}
|
||||
{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span class='ipsType_light ipsType_unbold'>{lang="until"}</span>{{if $orientation == 'vertical' and !$sameDay}}<br>{{endif}}
|
||||
{{if !$sameDay}}<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}{{endif}}">{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->calendarDate()}{{endif}}{{if !$event->all_day}} {$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->localeTime( FALSE )}{{endif}}</span>
|
||||
{{endif}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $today, 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"} {{endif}}">{$event->nextOccurrence( $today, 'startDate' )->calendarDate()}{{if !$event->all_day}} {$event->nextOccurrence( $today, 'startDate' )->localeTime( FALSE )} {{endif}}</span>
|
||||
{{if $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' ) }}
|
||||
{{$sameDay = (bool) ( $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' ) and ( $event->nextOccurrence( $today, 'startDate' ) and $event->nextOccurrence( $today, 'startDate' )->calendarDate() == $event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->calendarDate() ) );}}
|
||||
{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span class='ipsType_light ipsType_unbold'>{lang="until"}</span>{{if $orientation == 'vertical' and !$sameDay}}<br>{{endif}}
|
||||
{{if !$sameDay}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}{{endif}}">
|
||||
{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->calendarDate()}
|
||||
{{if !$event->all_day}} {$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->localeTime( FALSE )}{{endif}}
|
||||
</span>
|
||||
{{else}}
|
||||
{{if !$event->all_day}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}">
|
||||
{$event->nextOccurrence( $event->nextOccurrence( $today, 'startDate' ) ?: $today, 'endDate' )->localeTime( FALSE )}
|
||||
</span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{else}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"} {{endif}}">{$event->lastOccurrence( 'startDate' )->calendarDate()}{{if !$event->all_day}} {$event->lastOccurrence( 'startDate' )->localeTime( FALSE )} </span>{{endif}}
|
||||
{{if $event->lastOccurrence( 'endDate' ) }}
|
||||
{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span class='ipsType_light ipsType_unbold'>{lang="until"}</span>{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'endDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}{{endif}}">{$event->lastOccurrence( 'endDate' )->calendarDate()}{{if !$event->all_day}} {$event->lastOccurrence( 'endDate' )->localeTime( FALSE )}{{endif}}</span>
|
||||
{{endif}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'startDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"} {{endif}}">{$event->lastOccurrence( 'startDate' )->calendarDate()}{{if !$event->all_day}} {$event->lastOccurrence( 'startDate' )->localeTime( FALSE )} </span>{{endif}}
|
||||
{{if $event->lastOccurrence( 'endDate' ) }}
|
||||
{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span class='ipsType_light ipsType_unbold'>{lang="until"}</span>{{if $orientation == 'vertical'}}<br>{{endif}}
|
||||
<span data-controller="core.global.core.datetime" data-time="{$event->lastOccurrence( 'endDate' )->format('c')}" data-format="{expression="\IPS\calendar\Date::calendarDateFormat()"}{{if !$event->all_day}} {expression="\IPS\calendar\Date::localeTimeFormat( FALSE )"}{{endif}}">{$event->lastOccurrence( 'endDate' )->calendarDate()}{{if !$event->all_day}} {$event->lastOccurrence( 'endDate' )->localeTime( FALSE )}{{endif}}</span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</strong>
|
||||
<br>
|
||||
{{if $event->container()->allow_comments && $orientation == 'horizontal'}}
|
||||
<span class="{{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_replies" pluralize="$event->comments"}'><i class='fa fa-comment'></i> {expression="$event->comments"}</span>
|
||||
<span class="{{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="num_replies" pluralize="$event->comments"}'><i class='fa fa-comment'></i> {expression="$event->comments"}</span>
|
||||
{{endif}}
|
||||
{{if $orientation == 'horizontal'}}
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'>
|
||||
{$event->truncated()|raw}
|
||||
</div>
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'>
|
||||
{$event->truncated()|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
{{endforeach}}
|
||||
|
||||
</ul>
|
||||
{{else}}
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_upcoming_events"}</div>
|
||||
{{endif}}
|
||||
{{if $orientation == 'vertical'}}
|
||||
</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) {
|
||||
@@ -2774,6 +2838,11 @@ tr td:not( :first-child ):not( .cCalendar_firstDay ) .cEvents_ranged .cEvents_ev
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#elEventHeader > .ipsCoverPhotoMinimal {
|
||||
padding-top: 25px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.cEvent_to {
|
||||
font-size: 28px;
|
||||
margin: 6px 15px;
|
||||
|
||||
Reference in new issue
Block a user