Changeset 3034797
- Timestamp:
- 02/12/2024 07:57:44 PM (2 years ago)
- Location:
- event-agent/trunk
- Files:
-
- 6 edited
-
README.txt (modified) (1 diff)
-
admin/js/events-vue.js (modified) (3 diffs)
-
event-agent.php (modified) (2 diffs)
-
public/js/card-vue.js (modified) (1 diff)
-
public/js/event-vue.js (modified) (2 diffs)
-
public/js/utilities.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
event-agent/trunk/README.txt
r3033828 r3034797 9 9 Requires at least: 4.6 10 10 Tested up to: 6.4 11 Stable tag: 4.5. 612 Version: 4.5. 611 Stable tag: 4.5.7 12 Version: 4.5.7 13 13 License: GPLv2 or later 14 14 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
event-agent/trunk/admin/js/events-vue.js
r3033828 r3034797 122 122 ongoingOrCourse: eaTranslate('Course'), 123 123 oldStartDate: new Date(), 124 oldTimezone: 'local', 124 125 oldVenueId: 0, 125 126 oldHybridVenueId: 0, … … 276 277 if (newStartDate.getTime() !== this.oldStartDate.getTime() || 277 278 event.venueId !== this.oldVenueId || 278 event.hybridVenueId !== this.oldHybridVenueId) { 279 event.hybridVenueId !== this.oldHybridVenueId || 280 event.timeZone !== this.oldTimezone) { 279 281 var endDate = new Date(); 280 282 … … 312 314 this.oldVenueId = event.venueId; 313 315 this.oldHybridVenueId = event.hybridVenueId; 316 this.oldTimezone = event.timeZone; 314 317 }); 315 318 } -
event-agent/trunk/event-agent.php
r3033828 r3034797 11 11 * Plugin URI: https://www.eventagent.ai/ 12 12 * Description: EventAgent.ai combines a next generation event management system with AI-powered marketing to maximize your sales. AI makes all the difference. 13 * Version: 4.5. 613 * Version: 4.5.7 14 14 * Requires at least: 5.0 15 15 * Requires PHP: 7.0 … … 25 25 } 26 26 27 define( 'EVENT_AGENT_VERSION', '4.5. 6' );27 define( 'EVENT_AGENT_VERSION', '4.5.7' ); 28 28 29 29 require_once dirname(__FILE__).'/includes/activate.php'; -
event-agent/trunk/public/js/card-vue.js
r3032376 r3034797 50 50 const dateParts = date[0].split('-'); 51 51 this.event.startDate = this.event.venue.hasOnline ? new Date(this.event.startDate) : 52 new Date(dateParts[0], dateParts[1] - 1, dateParts[2], timeParts[0], timeParts[1]);52 new Date(dateParts[0], dateParts[1] - 1, dateParts[2], timeParts[0], timeParts[1]); 53 53 54 54 this.event.endDate = new Date(this.event.startDate.getTime() + this.event.duration); 55 56 if (this.event.rrule) { 57 this.rrule = new rrule.rrulestr(this.event.rrule); 58 59 let adjustedDate = new Date(new Date(Date.now()).getTime() - new Date(Date.now()).getTimezoneOffset() * 60 * 1000); 60 let dates = this.rrule.between(adjustedDate, new Date(adjustedDate.getTime() + 90 * 24 * 3600 * 1000)); 61 if (dates.length > 0) { 62 this.event.startDate = new Date(dates[0].getTime() + (dates[0].getTimezoneOffset() * 60 * 1000)); 63 this.event.endDate = new Date(this.event.startDate.getTime() + this.event.duration); 64 } 65 } 55 66 56 67 this.loading = false; -
event-agent/trunk/public/js/event-vue.js
r3032376 r3034797 185 185 .then(response => { 186 186 this.event = response.data; 187 187 188 188 const date = this.event.startDate.split('T'); 189 189 const timeParts = date[1].split(':'); … … 197 197 this.event.registrationEndDate = new Date(this.event.registrationEndDate); 198 198 199 if (this.event.rrule ) {199 if (this.event.rrule && !params.get('startDate')) { 200 200 this.rrule = new rrule.rrulestr(this.event.rrule); 201 201 202 if (this.rrule._exdate) {203 //rrule doesn't provide a count if there's an exdate. need to get it from text rrule204 let parts = this.event.rrule.split(';');205 let exdateParts = parts[parts.length - 1].split('\n');206 let countParts = exdateParts[0].split('=');207 if (countParts.length === 2 && countParts[0].toLowerCase() === 'count')208 this.rrule.options.count = countParts[1] - this.rrule._exdate.length;209 }210 211 if (this.rrule.options.count) {212 var coursedates = this.rrule.all();213 var dateIndex = coursedates.findIndex(x => x.getTime() === parseInt(this.event.startDate.getTime() - this.event.startDate.getTimezoneOffset() * 60 * 1000));214 if (dateIndex === 0) {215 this.event.name += " (" + this.rrule.options.count + " " + eaTranslate("sessions") + ")";216 }217 else if (dateIndex !== -1) {218 this.event.name += " (" + (dateIndex + 1) + " " + eaTranslate("of") + " " + this.rrule.options.count + ")";219 }220 }221 else if (!params.get('startDate')) { // ongoing unspecified occurrence set time based on next occurrence.222 let adjustedDate = new Date(new Date(Date.now()).getTime() - new Date(Date.now()).getTimezoneOffset() * 60 * 1000); 223 let dates = this.rrule.between(adjustedDate, new Date(adjustedDate.getTime() + 90 * 24 * 3600 * 1000));224 if (dates.length > 0) {225 this.event.startDate = new Date(dates[0].getTime() + (dates[0].getTimezoneOffset() * 60 * 1000));226 this.event.endDate = new Date(this.event.startDate.getTime() + this.event.duration);227 }202 //if (this.rrule._exdate) { 203 // //rrule doesn't provide a count if there's an exdate. need to get it from text rrule 204 // let parts = this.event.rrule.split(';'); 205 // let exdateParts = parts[parts.length - 1].split('\n'); 206 // let countParts = exdateParts[0].split('='); 207 // if (countParts.length === 2 && countParts[0].toLowerCase() === 'count') 208 // this.rrule.options.count = countParts[1] - this.rrule._exdate.length; 209 //} 210 211 //if (this.rrule.options.count) { 212 // var coursedates = this.rrule.all(); 213 // var dateIndex = coursedates.findIndex(x => x.getTime() === parseInt(this.event.startDate.getTime() - this.event.startDate.getTimezoneOffset() * 60 * 1000)); 214 // if (dateIndex === 0) { 215 // this.event.name += " (" + this.rrule.options.count + " " + eaTranslate("sessions") + ")"; 216 // } 217 // else if (dateIndex !== -1) { 218 // this.event.name += " (" + (dateIndex + 1) + " " + eaTranslate("of") + " " + this.rrule.options.count + ")"; 219 // } 220 //} 221 //else 222 223 let adjustedDate = new Date(new Date(Date.now()).getTime() - new Date(Date.now()).getTimezoneOffset() * 60 * 1000); 224 let dates = this.rrule.between(adjustedDate, new Date(adjustedDate.getTime() + 90 * 24 * 3600 * 1000)); 225 if (dates.length > 0) { 226 this.event.startDate = new Date(dates[0].getTime() + (dates[0].getTimezoneOffset() * 60 * 1000)); 227 this.event.endDate = new Date(this.event.startDate.getTime() + this.event.duration); 228 228 } 229 229 } 230 230 231 231 232 if (this.event.hasRegistration) { -
event-agent/trunk/public/js/utilities.js
r3032376 r3034797 1 //function eaSaveUtms() { 2 // var params = new URLSearchParams(window.location.search); 3 4 // if (params.get('utm_source')) 5 // eaSessionSet('ea_source', params.get('utm_source'), 20); 6 7 // if (params.get('utm_medium')) 8 // eaSessionSet('ea_medium', params.get('utm_medium'), 20); 9 //} 10 11 function eaRetrieveUtms(reg) { 1 function eaRetrieveUtms(reg) { 12 2 reg.utmSource = eaSessionGet('ea_source'); 13 3 reg.utmMedium = eaSessionGet('ea_medium'); … … 15 5 16 6 function eaLocalizeDay(rule, date) { 7 8 var dt1 = luxon.DateTime.fromJSDate(rule.options.dtstart).setZone(rule.options.tzid); 9 var dt2 = luxon.DateTime.fromJSDate(date); 10 // change day of week if we've crossed the dateline 11 if (dt2.weekday !== dt1.weekday) { 12 // this is reacting into an infinite look on the detail screen without date on param string. works fine everywhere else. 13 for (var i = 0; i < rule.options.byweekday.length; i++) { 14 rule.origOptions.byweekday[i].weekday += (dt2.weekday - dt1.weekday) % 7; 15 } 16 } 17 17 18 18 var str = rule.toText(); … … 89 89 90 90 if (event.type === 'Ongoing') { 91 //let rule = new rrule.rrulestr(event.rrule);92 //let last = new Date(new Date().getTime() + 30 * 24 * 60 * 60 * 1000);93 //let dates = rule.between(new Date(), last);94 //let sd = event.startDate;95 //if (dates.length > 0) {96 // sd = new Date(dates[0].getTime() + dates[0].getTimezoneOffset() * 60 * 1000);97 //}98 91 var params = new URLSearchParams(window.location.search); 99 92 return params.get('startDate') ? dateString + ' (' + ruleString + ')' : ruleString + ' ' +
Note: See TracChangeset
for help on using the changeset viewer.