Version 4.7.8
This commit is contained in:
1 parent
7b7404e741
commit
fd22d99e69
688 files changed
+19814
-10890
No files matched your search
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="calendar">
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="107601" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -112,7 +112,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="107601" javascript_position="1000050"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -231,7 +231,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.carousel.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.carousel.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -291,7 +291,7 @@
|
||||
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -409,7 +409,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -776,7 +776,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -808,8 +808,6 @@ var PER_PAGE = 16;
|
||||
*/
|
||||
setup: function () {
|
||||
|
||||
var self = this;
|
||||
|
||||
// Other setup
|
||||
this._gotCoords = false;
|
||||
this._offset = 0;
|
||||
@@ -837,6 +835,34 @@ var PER_PAGE = 16;
|
||||
|
||||
|
||||
// Get map ready to show
|
||||
if( ips.getSetting( 'mapProvider' ) === 'google' ){
|
||||
this.setupGoogle();
|
||||
} else {
|
||||
this.setupMapbox();
|
||||
}
|
||||
},
|
||||
|
||||
setupGoogle: function(){
|
||||
var self = this;
|
||||
self._mapReady = true;
|
||||
Debug.log( self._resultsContainer.find('[data-eventid]') );
|
||||
Debug.log( self._mapContainer.attr('data-markers') );
|
||||
|
||||
if( self._resultsContainer.find('[data-eventid]').length && self._mapContainer.attr('data-markers') ){
|
||||
Debug.log('here');
|
||||
try {
|
||||
var markers = JSON.parse( self._mapContainer.attr('data-markers') );
|
||||
Debug.log( markers );
|
||||
self._updateGoogleMap( markers );
|
||||
} catch (err) {
|
||||
Debug.log("Invalid marker JSON");
|
||||
Debug.log(err);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setupMapbox: function(){
|
||||
var self = this;
|
||||
$('head').append( "<link rel='stylesheet' type='text/css' media='all' href='https://api.mapbox.com/mapbox.js/v3.3.1/mapbox.css'><link href='https://api.mapbox.com/mapbox.js/plugins/leaflet-markercluster/v1.0.0/MarkerCluster.css' rel='stylesheet' /><link href='https://api.mapbox.com/mapbox.js/plugins/leaflet-markercluster/v1.0.0/MarkerCluster.Default.css' rel='stylesheet' /><link rel='stylesheet' type='text/css' media='all' href='https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/leaflet.fullscreen.css' />" );
|
||||
|
||||
ips.loader.get( [ 'https://api.mapbox.com/mapbox.js/v3.3.1/mapbox.js' ] ).then( function () {
|
||||
@@ -844,17 +870,12 @@ var PER_PAGE = 16;
|
||||
'https://api.mapbox.com/mapbox.js/plugins/leaflet-fullscreen/v1.0.1/Leaflet.fullscreen.min.js' ] ).then( function () {
|
||||
|
||||
self._mapReady = true;
|
||||
|
||||
Debug.log( self._resultsContainer.find('[data-eventid]') );
|
||||
Debug.log( self._mapContainer.attr('data-markers') );
|
||||
|
||||
|
||||
if( self._resultsContainer.find('[data-eventid]').length && self._mapContainer.attr('data-markers') ){
|
||||
Debug.log('here');
|
||||
|
||||
try {
|
||||
var markers = JSON.parse( self._mapContainer.attr('data-markers') );
|
||||
Debug.log( markers );
|
||||
self._updateMap( markers );
|
||||
self._updateMapboxMap( markers );
|
||||
} catch (err) {
|
||||
Debug.log("Invalid marker JSON");
|
||||
Debug.log(err);
|
||||
@@ -862,7 +883,6 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
getInitialLocation: function () {
|
||||
@@ -1076,7 +1096,57 @@ var PER_PAGE = 16;
|
||||
});
|
||||
},
|
||||
|
||||
_updateMap: function (markers) {
|
||||
_updateMap: function ( markers ){
|
||||
if( ips.getSetting( 'mapProvider' ) === 'google' ){
|
||||
this._updateGoogleMap( markers );
|
||||
} else {
|
||||
this._updateMapboxMap( markers );
|
||||
}
|
||||
},
|
||||
|
||||
_updateGoogleMap: function (markers){
|
||||
|
||||
if( !this._map ){
|
||||
this._map = new window.google.maps.Map( document.querySelector( '[data-role="searchResultsMap"]' ) );
|
||||
this._mapMarkers = [];
|
||||
}
|
||||
|
||||
this._mapContainer.removeClass('cEvents__searchMap--loading');
|
||||
|
||||
/* Clear existing markers before we rebuild */
|
||||
if( this._mapMarkers.length ){
|
||||
for ( let marker of Object.values(this._mapMarkers) ) {
|
||||
marker.setMap(null);
|
||||
}
|
||||
this._mapMarkers = [];
|
||||
}
|
||||
|
||||
var bounds = new google.maps.LatLngBounds();
|
||||
for ( let marker of Object.values(markers) ) {
|
||||
let mapMarker = new window.google.maps.Marker({
|
||||
position: {lat: marker.lat, lng: marker.long},
|
||||
map: this._map,
|
||||
title: marker.title
|
||||
});
|
||||
this._mapMarkers.push( mapMarker );
|
||||
|
||||
var coords = new google.maps.LatLng( marker.lat, marker.long );
|
||||
if( !( bounds.contains( coords ) ) ){
|
||||
bounds.extend( coords );
|
||||
}
|
||||
}
|
||||
|
||||
/* If we have only one marker in here, fitting to the bounds zooms in way too much */
|
||||
if( this._mapMarkers.length === 1 ){
|
||||
this._map.setZoom(15);
|
||||
this._map.setCenter(bounds.getCenter());
|
||||
} else {
|
||||
this._map.fitBounds( bounds );
|
||||
}
|
||||
this._mapContainer.show();
|
||||
},
|
||||
|
||||
_updateMapboxMap: function (markers) {
|
||||
if( !this._map ){
|
||||
L.mapbox.accessToken = ips.getSetting('mapApiKey');
|
||||
this._map = L.mapbox
|
||||
@@ -1270,8 +1340,9 @@ var PER_PAGE = 16;
|
||||
this._page.find('[data-role="searchResultsWrapper"]').hide();
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="107601" javascript_position="1000150"><![CDATA[/**
|
||||
}(jQuery, _));
|
||||
]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="107643" javascript_position="1000150"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1844,7 +1915,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="107601" javascript_position="1000200"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="107643" javascript_position="1000200"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -1956,7 +2027,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="107601" javascript_position="1000250"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="107643" javascript_position="1000250"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2039,7 +2110,7 @@ var PER_PAGE = 16;
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="107601" javascript_position="1000250">/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="107643" javascript_position="1000250">/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -2149,7 +2220,7 @@ var PER_PAGE = 16;
|
||||
});
|
||||
}(jQuery, _));
|
||||
</file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="107601" javascript_position="1000300"><![CDATA[/**
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="107643" javascript_position="1000300"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*/
|
||||
@@ -2158,7 +2229,7 @@ var PER_PAGE = 16;
|
||||
ips.templates.set('calendar.reminder.loading', " \
|
||||
<div class='ipsLoading ipsLoading_tiny'></div>\
|
||||
");]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="107601" javascript_position="1000300"><![CDATA[ips.templates.set("eventLoading", "\
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="107643" javascript_position="1000300"><![CDATA[ips.templates.set("eventLoading", "\
|
||||
<li class='ipsBox ipsBox--child event event--withImage event--loading'>\
|
||||
<div class='cEvents__skeleton cEvents__skeleton--eventImage'></div>\
|
||||
<div class='cEvents__details'>\
|
||||
@@ -2184,7 +2255,6 @@ controllers</order>
|
||||
<order app="global" path="/dev/js//library/">underscore
|
||||
jquery
|
||||
mustache
|
||||
jstz
|
||||
IntersectionObserver
|
||||
Debug.js
|
||||
app.js</order>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="107601">
|
||||
<app key="calendar" version="107643">
|
||||
<word key="__app_calendar" js="0">Events</word>
|
||||
<word key="frontnavigation_calendar" js="0">Events</word>
|
||||
<word key="__indefart_calendar_event_comment" js="0">a comment on an event</word>
|
||||
@@ -480,6 +480,7 @@
|
||||
<word key="AchievementAction__Rsvp_log" js="0">RSVP'd to %s</word>
|
||||
<word key="AchievementAction__Rsvp_title" js="0">Event RSVP</word>
|
||||
<word key="menu__calendar_stats" js="0">Calendar</word>
|
||||
<word key="emailstats__notification_event_reminder" js="0">Event Reminders</word>
|
||||
<word key="menu__calendar_stats_rsvp" js="0">RSVP</word>
|
||||
<word key="calendar_stats_rsvp_title" js="0">RSVPs over time</word>
|
||||
<word key="calendar_stats_rsvp_response_0" js="0">Not Going</word>
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 4,
|
||||
"length": 1,
|
||||
"name": "event_rsvp",
|
||||
"type": "TINYINT",
|
||||
"unsigned": false,
|
||||
@@ -636,7 +636,7 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 4,
|
||||
"length": 1,
|
||||
"name": "event_approved",
|
||||
"type": "TINYINT",
|
||||
"unsigned": false,
|
||||
@@ -792,7 +792,7 @@
|
||||
"comment": "Whether the event is locked (for new comments\/reviews) or not",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 3,
|
||||
"length": 1,
|
||||
"name": "event_locked",
|
||||
"type": "TINYINT",
|
||||
"unsigned": true,
|
||||
@@ -804,7 +804,7 @@
|
||||
"comment": "Whether the event is featured or not",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 3,
|
||||
"length": 1,
|
||||
"name": "event_featured",
|
||||
"type": "TINYINT",
|
||||
"unsigned": true,
|
||||
@@ -876,7 +876,7 @@
|
||||
"comment": "Maximum number of attendees allowed for the event",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 11,
|
||||
"length": 10,
|
||||
"name": "event_rsvp_limit",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
@@ -1020,7 +1020,7 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 11,
|
||||
"length": 10,
|
||||
"name": "event_edit_time",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
@@ -1044,7 +1044,7 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 4,
|
||||
"length": 1,
|
||||
"name": "event_append_edit",
|
||||
"type": "TINYINT",
|
||||
"unsigned": false,
|
||||
@@ -1062,6 +1062,42 @@
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_author_name": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "event_author_name",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_is_anon": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 10,
|
||||
"name": "event_is_anon",
|
||||
"type": "INT",
|
||||
"unsigned": true,
|
||||
"values": []
|
||||
},
|
||||
"event_external_url": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "event_external_url",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_latitude": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
@@ -1086,33 +1122,45 @@
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_author_name": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 255,
|
||||
"name": "event_author_name",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_is_anon": {
|
||||
"event_online": {
|
||||
"allow_null": false,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 10,
|
||||
"name": "event_is_anon",
|
||||
"type": "INT",
|
||||
"length": 3,
|
||||
"name": "event_online",
|
||||
"type": "TINYINT",
|
||||
"unsigned": true,
|
||||
"values": []
|
||||
},
|
||||
"event_online": {
|
||||
"name": "event_online",
|
||||
"type": "TINYINT",
|
||||
"event_url": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 250,
|
||||
"name": "event_url",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_online_type": {
|
||||
"allow_null": true,
|
||||
"auto_increment": false,
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": null,
|
||||
"length": 250,
|
||||
"name": "event_online_type",
|
||||
"type": "VARCHAR",
|
||||
"unsigned": false,
|
||||
"values": []
|
||||
},
|
||||
"event_livetopic_id": {
|
||||
"name": "event_livetopic_id",
|
||||
"type": "INT",
|
||||
"length": null,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
@@ -1121,30 +1169,6 @@
|
||||
"comment": "",
|
||||
"unsigned": true,
|
||||
"auto_increment": false
|
||||
},
|
||||
"event_url": {
|
||||
"name": "event_url",
|
||||
"type": "VARCHAR",
|
||||
"length": 250,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"auto_increment": false
|
||||
},
|
||||
"event_online_type": {
|
||||
"name": "event_online_type",
|
||||
"type": "VARCHAR",
|
||||
"length": 250,
|
||||
"decimals": null,
|
||||
"values": null,
|
||||
"allow_null": true,
|
||||
"default": null,
|
||||
"comment": "",
|
||||
"unsigned": false,
|
||||
"auto_increment": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -507,5 +507,19 @@
|
||||
"107504": "4.7.5",
|
||||
"107505": "4.7.5",
|
||||
"107600": "4.7.6 Beta 1",
|
||||
"107601": "4.7.6"
|
||||
"107601": "4.7.6",
|
||||
"107602": "4.7.6",
|
||||
"107620": "4.7.7 Beta 1",
|
||||
"107621": "4.7.7 Beta 2",
|
||||
"107622": "4.7.7 Beta 2",
|
||||
"107623": "4.7.7 Beta 3",
|
||||
"107624": "4.7.7 Beta 4",
|
||||
"107625": "4.7.7",
|
||||
"107626": "4.7.7",
|
||||
"107627": "4.7.7",
|
||||
"107628": "4.7.7",
|
||||
"107640": "4.7.8 Beta 1",
|
||||
"107641": "4.7.8 Beta 2",
|
||||
"107642": "4.7.8 Beta 3",
|
||||
"107643": "4.7.8"
|
||||
}
|
||||
Reference in new issue
Block a user