Hello!
We are running Concrete 9.3.9 and PHP 8.2.28.
We aren’t having any failures with the calendar on the site but felt obligated to report this error for review. They only reason I know about this is Google Search Console sent me a Server error (5xx) alert when it tried to index this URL: https://reachhighermontana.org/ccm/calendar/feed/1
The error received when going to that URL is:
Controller “Concrete\Controller\CalendarFeed::view()” requires that you provide a value for the “$identifier” argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.
Let me know if there is any other information needed for troubleshooting this.
It looks like to me like this is a core bug. The route definition for this endpoint is here:
$router->get('/ccm/calendar/feed/{calendar_id}', 'Concrete\Controller\CalendarFeed::view')
->setName('calendar_rss')
->setRequirements(['calendar_id' => '[0-9]+'])
So the route definition is expecting a variable named $calendar_id
in the Concrete\Controller\CalendarFeed::view()
method.
However, when looking at the actual controller method in the core, we see it’s set up to use a different parameter.
class CalendarFeed extends Controller
{
public function view($identifier)
{
// ...
}
}
I think if we replaced $identifier
with $calendar_id
that would fix this issue.
I’ve created a github issue for this: 5xx Server Error for calendar feed URL: /ccm/calendar/feed/1 · Issue #12580 · concretecms/concretecms · GitHub
Thanks for having a look and creating a github issue!