Calendar

Calendar [Paid] 2.4.3

No permission to buy ($60.00)

SkyDrift

Member
I am wondering couple questions on the Calendar ,first how far can the widget be modified I was looking for multiple links and the event Icon not user icon almost like the image below, and if it will work with Discord Integration to throw any added events post to the specific channel.
Screenshot 2021-10-07 074958.png
 

MySiteGuy

Well-known member
Recurring events simply do not work. I have tried every way possible to create them and I either get an event that occurs every day of the week, or on the first date only. Going back through the thread, I see this has been an outstanding issue for a year or more. I'm disappointed to have paid for something that is not suitable for production use. What are the plans for resolving this?
 

NixFifty

XenForo developer
Staff member
Recurring events simply do not work. I have tried every way possible to create them and I either get an event that occurs every day of the week, or on the first date only. Going back through the thread, I see this has been an outstanding issue for a year or more. I'm disappointed to have paid for something that is not suitable for production use. What are the plans for resolving this?
What specific settings are you using? I just created one that recurs three times weekly and it works fine: https://xf2.nixfifty.com/events/
 

MySiteGuy

Well-known member
Event starting today at 8:00pm until today at 9:00 pm
Recurring.
Tried both 1 weekly, 1 daily and 7 daily recurring schedules.
Happens only on the days Monday, Tuesday, Wednesday, Thursday and Friday.
Never ends

I will either end up with an event that happens every Monday, or every day of the week. I need an event that happens only on weekdays at the same time, and not weekends.

I have tried probably a couple dozen different ways to get a recurring event that happens more than 1 time per week, and it never works. Everything I try seems to point towards program logic which ignores the selected days.
 

NixFifty

XenForo developer
Staff member
Event starting today at 8:00pm until today at 9:00 pm
Recurring.
Tried both 1 weekly, 1 daily and 7 daily recurring schedules.
Happens only on the days Monday, Tuesday, Wednesday, Thursday and Friday.
Never ends

I will either end up with an event that happens every Monday, or every day of the week. I need an event that happens only on weekdays at the same time, and not weekends.

I have tried probably a couple dozen different ways to get a recurring event that happens more than 1 time per week, and it never works. Everything I try seems to point towards program logic which ignores the selected days.
Thanks, I can reproduce that. I believe there's an issue with the specific days setting but I'll check it out.
 

MySiteGuy

Well-known member
I would appreciate anything you can do to resolve it. Fully working recurring events over multiple weekdays is the most used feature I need to help a client who also purchased it a couple of months ago, and they cannot launch without it. I've spent time in the code to resolve this myself, but it's a large code base while you'd probably find it much quicker. :)
 

NixFifty

XenForo developer
Staff member
It seems like an issue with FullCalendar, the library used to generate the calendar views, and how it handles recurring events. The add-on is using an ancient version and recurring events are handled better in the newer versions of FullCalendar it seems. An effort to update this is underway and should be in the next major release.
 

Tradidi

Member
1. Does this addon have any widgets to display upcoming events on the home page?

2. With the RSVP, is there a way a member can indicate more than one person will be attending? e.g. "I will be bring along two friends.."
 

Mouth

Well-known member
1. Does this addon have any widgets to display upcoming events on the home page?

2. With the RSVP, is there a way a member can indicate more than one person will be attending? e.g. "I will be bring along two friends.."
2 widgets - featured events, and upcoming events
RSVP for logged-on member only. You could post a message/comment to the event thread indicating +2 I guess.
 
It seems like an issue with FullCalendar, the library used to generate the calendar views, and how it handles recurring events. The add-on is using an ancient version and recurring events are handled better in the newer versions of FullCalendar it seems. An effort to update this is underway and should be in the next major release.
I checked the code and it seems to be an API related issue. I have set up this event: https://gyazo.com/4c8745a02c3663130687821c5f7ea616 and I see that in API response it comes everyday: https://gyazo.com/5071099a2a58c9ae699ca1fd2d9acafc .

So I went further and looked inside the code and the method NF\Calendar\Repository\Event::recurEvent($event, $start, $end, &$events) should contain this logic, but does not contain anything related to weekdays. I see in the debug console the format of the $event['recurring_options'] and looks correct: https://gyazo.com/0bf7c8ee787fda9909cae38b8652b62c . So the functionality is actually missing from the code.

I added the following condition and seems to fix this:
PHP:
// Starting from line 458 in src/addons/NF/Calendar/Repository/Event.php

// Before:
            $event['start_date'] = $startDate->format('U');
            $event['end_date'] = $endDate->format('U');
            $events[] = $event;

// After:
            if (count($recurringOptions['weekdays']) == 0 || in_array($startDate->format('N'), $recurringOptions['weekdays'])) {
                $event['start_date'] = $startDate->format('U');
                $event['end_date'] = $endDate->format('U');
                $events[] = $event;
            }

I have reported this bug over a month ago so I could not wait anymore for the fix and started looking into the code. This fix does not apply for events that have different dates on $startDate and $endDate but can be extended.
 

NixFifty

XenForo developer
Staff member
I checked the code and it seems to be an API related issue. I have set up this event: https://gyazo.com/4c8745a02c3663130687821c5f7ea616 and I see that in API response it comes everyday: https://gyazo.com/5071099a2a58c9ae699ca1fd2d9acafc .

So I went further and looked inside the code and the method NF\Calendar\Repository\Event::recurEvent($event, $start, $end, &$events) should contain this logic, but does not contain anything related to weekdays. I see in the debug console the format of the $event['recurring_options'] and looks correct: https://gyazo.com/0bf7c8ee787fda9909cae38b8652b62c . So the functionality is actually missing from the code.

I added the following condition and seems to fix this:
PHP:
// Starting from line 458 in src/addons/NF/Calendar/Repository/Event.php

// Before:
            $event['start_date'] = $startDate->format('U');
            $event['end_date'] = $endDate->format('U');
            $events[] = $event;

// After:
            if (count($recurringOptions['weekdays']) == 0 || in_array($startDate->format('N'), $recurringOptions['weekdays'])) {
                $event['start_date'] = $startDate->format('U');
                $event['end_date'] = $endDate->format('U');
                $events[] = $event;
            }

I have reported this bug over a month ago so I could not wait anymore for the fix and started looking into the code. This fix does not apply for events that have different dates on $startDate and $endDate but can be extended.
Thanks, I'll check it out. There's probably still going to be further changes to recurring events as FullCalendar 5 supports recurrence rules which should provide a better experience overall.
 

NixFifty

XenForo developer
Staff member
I checked the code and it seems to be an API related issue. I have set up this event: https://gyazo.com/4c8745a02c3663130687821c5f7ea616 and I see that in API response it comes everyday: https://gyazo.com/5071099a2a58c9ae699ca1fd2d9acafc .

So I went further and looked inside the code and the method NF\Calendar\Repository\Event::recurEvent($event, $start, $end, &$events) should contain this logic, but does not contain anything related to weekdays. I see in the debug console the format of the $event['recurring_options'] and looks correct: https://gyazo.com/0bf7c8ee787fda9909cae38b8652b62c . So the functionality is actually missing from the code.

I added the following condition and seems to fix this:
PHP:
// Starting from line 458 in src/addons/NF/Calendar/Repository/Event.php

// Before:
            $event['start_date'] = $startDate->format('U');
            $event['end_date'] = $endDate->format('U');
            $events[] = $event;

// After:
            if (count($recurringOptions['weekdays']) == 0 || in_array($startDate->format('N'), $recurringOptions['weekdays'])) {
                $event['start_date'] = $startDate->format('U');
                $event['end_date'] = $endDate->format('U');
                $events[] = $event;
            }

I have reported this bug over a month ago so I could not wait anymore for the fix and started looking into the code. This fix does not apply for events that have different dates on $startDate and $endDate but can be extended.
Just to follow up here since I've taken a proper look. While you're correct and it does indeed work, it's not a complete solution. I've adjusted this in the update that just went out but essentially, if an event is to recur on specific set days, it needed additional changes to work as expected and it also needs to be set to recur weekly, with the specific days picked. I've also made some other small improvements to recurring events in general.
 

AndreaMarucci

Well-known member
Tried the demo. It looks good but I can't specify how many attendees and also I can't insert notes that for me is two must have features.
 

NixFifty

XenForo developer
Staff member
Tried the demo. It looks good but I can't specify how many attendees and also I can't insert notes that for me is two must have features.
You can specify number of attendees by limiting the number of RSVPs. Not sure what you mean by notes though.
 
Just to follow up here since I've taken a proper look. While you're correct and it does indeed work, it's not a complete solution. I've adjusted this in the update that just went out but essentially, if an event is to recur on specific set days, it needed additional changes to work as expected and it also needs to be set to recur weekly, with the specific days picked. I've also made some other small improvements to recurring events in general.
Thanks @NixFifty , will check it out. I am glad you could include it in a release this fast :)
 
Top