Files

975 lines
40 KiB
XML
Raw Permalink Normal View History

2026-06-11 19:03:29 +02:00
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.16.1@f1f5de594dc76faf8784e02d3dc4716c91c6f6ac">
<file src="includes/Controllers/RsvFormController.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormController]]></code>
</ClassMustBeFinal>
<MissingPropertyType>
<code><![CDATA[$namespace]]></code>
<code><![CDATA[$resource_name]]></code>
<code><![CDATA[$timetable_service]]></code>
</MissingPropertyType>
<MissingReturnType>
<code><![CDATA[handle]]></code>
</MissingReturnType>
<PossiblyNullArgument>
<code><![CDATA[$request->get_param("id")]]></code>
</PossiblyNullArgument>
<PossiblyUnusedMethod>
<code><![CDATA[handle]]></code>
<code><![CDATA[private_permission_handler]]></code>
<code><![CDATA[public_permission_handler]]></code>
</PossiblyUnusedMethod>
<UnusedProperty>
<code><![CDATA[$timetable_service]]></code>
</UnusedProperty>
</file>
<file src="includes/Controllers/RsvFormDefinitionController.php">
<ArgumentTypeCoercion>
<code><![CDATA[$this->namespace]]></code>
<code><![CDATA[$this->namespace]]></code>
</ArgumentTypeCoercion>
<ClassMustBeFinal>
<code><![CDATA[RsvFormDefinitionController]]></code>
</ClassMustBeFinal>
<PossiblyNullArgument>
<code><![CDATA[$request->get_param('definition')]]></code>
<code><![CDATA[$request->get_param('definition')]]></code>
<code><![CDATA[$request->get_param('name')]]></code>
<code><![CDATA[$request->get_param('name')]]></code>
</PossiblyNullArgument>
<PossiblyUnusedMethod>
<code><![CDATA[create]]></code>
<code><![CDATA[destroy]]></code>
<code><![CDATA[index]]></code>
<code><![CDATA[private_permission_handler]]></code>
<code><![CDATA[show]]></code>
<code><![CDATA[update]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Controllers/RsvReservationController.php">
<ArgumentTypeCoercion>
<code><![CDATA['/' . $this->resource_name]]></code>
<code><![CDATA['/' . $this->resource_name]]></code>
</ArgumentTypeCoercion>
<ClassMustBeFinal>
<code><![CDATA[RsvReservationController]]></code>
</ClassMustBeFinal>
<InaccessibleMethod>
<code><![CDATA[confirm]]></code>
</InaccessibleMethod>
<MissingPropertyType>
<code><![CDATA[$namespace]]></code>
<code><![CDATA[$resource_name]]></code>
<code><![CDATA[$timetable_service]]></code>
</MissingPropertyType>
<MissingReturnType>
<code><![CDATA[confirm]]></code>
<code><![CDATA[create]]></code>
<code><![CDATA[get_all]]></code>
<code><![CDATA[refuse]]></code>
</MissingReturnType>
<PossiblyNullArgument>
<code><![CDATA[$code]]></code>
</PossiblyNullArgument>
<PossiblyUnusedMethod>
<code><![CDATA[accept_by_id]]></code>
<code><![CDATA[confirm]]></code>
<code><![CDATA[create]]></code>
<code><![CDATA[get]]></code>
<code><![CDATA[get_all]]></code>
<code><![CDATA[private_permission_handler]]></code>
<code><![CDATA[public_permission_handler]]></code>
<code><![CDATA[refuse]]></code>
<code><![CDATA[refuse_by_id]]></code>
</PossiblyUnusedMethod>
<UndefinedClass>
<code><![CDATA[RsvCreateReservationMessage]]></code>
</UndefinedClass>
<UndefinedMethod>
<code><![CDATA[refuse]]></code>
</UndefinedMethod>
<UnusedProperty>
<code><![CDATA[$timetable_service]]></code>
</UnusedProperty>
</file>
<file src="includes/Controllers/RsvTimetableAvailabilityController.php">
<ArgumentTypeCoercion>
<code><![CDATA[$this->namespace]]></code>
</ArgumentTypeCoercion>
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableAvailabilityController]]></code>
</ClassMustBeFinal>
<PossiblyNullArgument>
<code><![CDATA[$request->get_param('date')]]></code>
<code><![CDATA[$request->get_param('date')]]></code>
</PossiblyNullArgument>
<PossiblyUnusedMethod>
<code><![CDATA[show]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Controllers/RsvTimetableCapacityController.php">
<ArgumentTypeCoercion>
<code><![CDATA[$this->namespace]]></code>
<code><![CDATA[$this->namespace]]></code>
</ArgumentTypeCoercion>
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableCapacityController]]></code>
</ClassMustBeFinal>
<InvalidArgument>
<code><![CDATA[[
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
]]]></code>
</InvalidArgument>
<PossiblyUnusedMethod>
<code><![CDATA[create]]></code>
<code><![CDATA[delete]]></code>
<code><![CDATA[get]]></code>
<code><![CDATA[get_all]]></code>
<code><![CDATA[update]]></code>
</PossiblyUnusedMethod>
<TooFewArguments>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
<code><![CDATA[new RsvTimetableCapacity([
'timetable_id' => (int) $request->get_param('id'),
'capacity' => (int) $request->get_param('capacity'),
'min_lead_time_minutes' => (int) $request->get_param('min_lead_time_minutes'),
'date' => $request->get_param('date'),
'start_time' => $request->get_param('start_time'),
'end_time' => $request->get_param('end_time'),
'repeat_period_in_days' => (int) $request->get_param('repeat_period_in_days'),
'repeat_times' => (int) $request->get_param('repeat_times'),
'requires_confirmation' => (bool) $request->get_param('requires_confirmation'),
])]]></code>
</TooFewArguments>
</file>
<file src="includes/Controllers/RsvTimetableDefinitionController.php">
<ArgumentTypeCoercion>
<code><![CDATA[$this->namespace]]></code>
<code><![CDATA[$this->namespace]]></code>
</ArgumentTypeCoercion>
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableDefinitionController]]></code>
</ClassMustBeFinal>
<PossiblyUnusedMethod>
<code><![CDATA[create]]></code>
<code><![CDATA[index]]></code>
<code><![CDATA[update]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Controllers/RsvTimetableReservationController.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationController]]></code>
</ClassMustBeFinal>
<MissingPropertyType>
<code><![CDATA[$namespace]]></code>
<code><![CDATA[$resource_name]]></code>
</MissingPropertyType>
<MissingReturnType>
<code><![CDATA[accept]]></code>
<code><![CDATA[private_permission_handler]]></code>
<code><![CDATA[public_permission_handler]]></code>
<code><![CDATA[refuse]]></code>
<code><![CDATA[register_routes]]></code>
</MissingReturnType>
<PossiblyNullArgument>
<code><![CDATA[$request->get_param('code')]]></code>
<code><![CDATA[$request->get_param('code')]]></code>
</PossiblyNullArgument>
<PossiblyUnusedMethod>
<code><![CDATA[accept]]></code>
<code><![CDATA[private_permission_handler]]></code>
<code><![CDATA[public_permission_handler]]></code>
<code><![CDATA[refuse]]></code>
</PossiblyUnusedMethod>
<UnusedProperty>
<code><![CDATA[$resource_name]]></code>
</UnusedProperty>
</file>
<file src="includes/Events/RsvEventDispatcher.php">
<ClassMustBeFinal>
<code><![CDATA[RsvEventDispatcher]]></code>
<code><![CDATA[RsvWordPressEventBus]]></code>
</ClassMustBeFinal>
<HookNotFound>
<code><![CDATA[add_action($event_class, $listener)]]></code>
</HookNotFound>
<MissingOverrideAttribute>
<code><![CDATA[public function dispatch(object $event): void {]]></code>
<code><![CDATA[public function listen(string $event_class, callable $listener): void {]]></code>
</MissingOverrideAttribute>
<PossiblyUnusedMethod>
<code><![CDATA[init]]></code>
</PossiblyUnusedMethod>
<UnusedClass>
<code><![CDATA[RsvWordPressEventBus]]></code>
</UnusedClass>
</file>
<file src="includes/Events/RsvFormSubmitClosedEvent.php">
<PossiblyUnusedProperty>
<code><![CDATA[$reservation_id]]></code>
</PossiblyUnusedProperty>
</file>
<file src="includes/Events/RsvReservationConfirmedEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservationConfirmedEvent]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Events/RsvReservationRefusedEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservationRefusedEvent]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Events/RsvTimetableReservationAcceptedEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationAcceptedEvent]]></code>
</ClassMustBeFinal>
<PossiblyUnusedMethod>
<code><![CDATA[__construct]]></code>
</PossiblyUnusedMethod>
<PossiblyUnusedProperty>
<code><![CDATA[$reservation_id]]></code>
</PossiblyUnusedProperty>
</file>
<file src="includes/Events/RsvTimetableReservationCreatedEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationCreatedEvent]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Events/RsvTimetableReservationPendingEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationPendingEvent]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Events/RsvTimetableReservationRefusedEvent.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationRefusedEvent]]></code>
</ClassMustBeFinal>
<PossiblyUnusedMethod>
<code><![CDATA[__construct]]></code>
</PossiblyUnusedMethod>
<PossiblyUnusedProperty>
<code><![CDATA[$reservation_id]]></code>
</PossiblyUnusedProperty>
</file>
<file src="includes/Listeners/RsvEmailListener.php">
<ClassMustBeFinal>
<code><![CDATA[RsvEmailListener]]></code>
</ClassMustBeFinal>
<UnusedClass>
<code><![CDATA[RsvEmailListener]]></code>
</UnusedClass>
</file>
<file src="includes/Listeners/RsvGoogleCalendarListener.php">
<ClassMustBeFinal>
<code><![CDATA[RsvGoogleCalendarListener]]></code>
</ClassMustBeFinal>
<PossiblyUnusedParam>
<code><![CDATA[$event]]></code>
<code><![CDATA[$event]]></code>
</PossiblyUnusedParam>
<RiskyTruthyFalsyComparison>
<code><![CDATA[!$calendar_id]]></code>
<code><![CDATA[empty($timetable->google_calendar_id)]]></code>
</RiskyTruthyFalsyComparison>
<UndefinedPropertyFetch>
<code><![CDATA[$event->reservation->end]]></code>
<code><![CDATA[$event->reservation->requires_confirmation]]></code>
<code><![CDATA[$event->reservation->start]]></code>
<code><![CDATA[$event->reservation->user_email]]></code>
<code><![CDATA[$event->timetable_id]]></code>
</UndefinedPropertyFetch>
<UnusedClass>
<code><![CDATA[RsvGoogleCalendarListener]]></code>
</UnusedClass>
</file>
<file src="includes/Models/RsvReservation.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservation]]></code>
</ClassMustBeFinal>
<MissingClosureParamType>
<code><![CDATA[$t]]></code>
</MissingClosureParamType>
<MissingReturnType>
<code><![CDATA[to_array]]></code>
</MissingReturnType>
<PossiblyUnusedMethod>
<code><![CDATA[from_array]]></code>
<code><![CDATA[schema]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Models/RsvReservationType.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservationType]]></code>
<code><![CDATA[RsvReservationTypeConfiguration]]></code>
<code><![CDATA[RsvReservationTypeConfigurationStep]]></code>
</ClassMustBeFinal>
<MissingPropertyType>
<code><![CDATA[$configuration]]></code>
</MissingPropertyType>
<MissingReturnType>
<code><![CDATA[to_array]]></code>
</MissingReturnType>
<PossiblyUnusedProperty>
<code><![CDATA[$configuration]]></code>
<code><![CDATA[$index]]></code>
<code><![CDATA[$type]]></code>
</PossiblyUnusedProperty>
<UnusedClass>
<code><![CDATA[RsvReservationType]]></code>
<code><![CDATA[RsvReservationTypeConfiguration]]></code>
</UnusedClass>
</file>
<file src="includes/Models/RsvTimetable.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetable]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Models/RsvTimetableAvailability.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableAvailability]]></code>
</ClassMustBeFinal>
<MissingReturnType>
<code><![CDATA[push_block]]></code>
</MissingReturnType>
<PossiblyUnusedProperty>
<code><![CDATA[$from_minutes]]></code>
</PossiblyUnusedProperty>
</file>
<file src="includes/Models/RsvTimetableCapacity.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableCapacity]]></code>
</ClassMustBeFinal>
<PossiblyNullPropertyAssignmentValue>
<code><![CDATA[$repeat_period_in_days]]></code>
<code><![CDATA[$repeat_times]]></code>
</PossiblyNullPropertyAssignmentValue>
<PossiblyUnusedMethod>
<code><![CDATA[from_array]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Models/RsvTimetableReservation.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservation]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Repository/RsvFormDefinitionRepository.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormDefinitionRepository]]></code>
</ClassMustBeFinal>
<InvalidReturnStatement>
<code><![CDATA[$row]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[?array]]></code>
</InvalidReturnType>
<PossiblyInvalidArrayAccess>
<code><![CDATA[$row['definition']]]></code>
</PossiblyInvalidArrayAccess>
<PossiblyInvalidArrayAssignment>
<code><![CDATA[$row['definition']]]></code>
</PossiblyInvalidArrayAssignment>
</file>
<file src="includes/Repository/RsvFormSubmitRepository.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormSubmitRepository]]></code>
</ClassMustBeFinal>
<InvalidReturnStatement>
<code><![CDATA[$row]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[?array]]></code>
</InvalidReturnType>
<PossiblyInvalidArrayAccess>
<code><![CDATA[$row['values']]]></code>
</PossiblyInvalidArrayAccess>
<PossiblyInvalidArrayAssignment>
<code><![CDATA[$row['values']]]></code>
</PossiblyInvalidArrayAssignment>
</file>
<file src="includes/RsvAdminMenuDefinition.php">
<MissingReturnType>
<code><![CDATA[rsv_admin_menu_definition]]></code>
</MissingReturnType>
</file>
<file src="includes/RsvAssetsDefinition.php">
<PossiblyInvalidArgument>
<code><![CDATA[filemtime($admin_js)]]></code>
<code><![CDATA[filemtime(rsv_asset_file($relative))]]></code>
<code><![CDATA[filemtime(rsv_asset_file($relative))]]></code>
</PossiblyInvalidArgument>
</file>
<file src="includes/RsvInstaller.php">
<ClassMustBeFinal>
<code><![CDATA[RsvInstaller]]></code>
</ClassMustBeFinal>
<UnusedClass>
<code><![CDATA[RsvInstaller]]></code>
</UnusedClass>
</file>
<file src="includes/RsvRestApiDefinition.php">
<RiskyTruthyFalsyComparison>
<code><![CDATA[$calendar_id]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="includes/Services/Emails/RsvEmailSender.php">
<ClassMustBeFinal>
<code><![CDATA[RsvEmailSender]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Services/Emails/RsvEmailTemplater.php">
<ClassMustBeFinal>
<code><![CDATA[RsvEmailTemplater]]></code>
</ClassMustBeFinal>
<InvalidNullableReturnType>
<code><![CDATA[string]]></code>
</InvalidNullableReturnType>
<NullableReturnStatement>
<code><![CDATA[preg_replace_callback('/{{\s*(\w+)\s*}}/', function($matches) use ($data) {
return $data[$matches[1]] ?? '';
}, $template)]]></code>
</NullableReturnStatement>
</file>
<file src="includes/Services/Forms/Handlers/RsvButtonElementHandler.php">
<ClassMustBeFinal>
<code><![CDATA[RsvButtonElementHandler]]></code>
</ClassMustBeFinal>
<MissingOverrideAttribute>
<code><![CDATA[public function draw(RsvFormElementDefinition $element): void {]]></code>
<code><![CDATA[public function submit(RsvFormElementDefinition $def, int $submit_id, array $data, RsvFormSubmitResult $result): bool]]></code>
<code><![CDATA[public function validate(RsvFormElementDefinition $def, array $data, RsvFormSubmitResult $result): bool {]]></code>
</MissingOverrideAttribute>
<ParamNameMismatch>
<code><![CDATA[$element]]></code>
</ParamNameMismatch>
<UnusedClass>
<code><![CDATA[RsvButtonElementHandler]]></code>
</UnusedClass>
</file>
<file src="includes/Services/Forms/Handlers/RsvFormElementHandler.php">
<PossiblyUnusedMethod>
<code><![CDATA[draw]]></code>
<code><![CDATA[submit]]></code>
<code><![CDATA[validate]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Services/Forms/Handlers/RsvFormReservationElementHandler.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormReservationElementHandler]]></code>
</ClassMustBeFinal>
<InvalidArrayOffset>
<code><![CDATA[$data[$def->getName()]]]></code>
<code><![CDATA[$data[$def->getName()]]]></code>
<code><![CDATA[$data[$name]]]></code>
</InvalidArrayOffset>
<InvalidOperand>
<code><![CDATA[$price_per_block * count($payload['timetable_reservations'])]]></code>
</InvalidOperand>
<MissingClosureParamType>
<code><![CDATA[$t]]></code>
<code><![CDATA[$t]]></code>
</MissingClosureParamType>
<MissingOverrideAttribute>
<code><![CDATA[public function draw(RsvFormElementDefinition $element): void {]]></code>
<code><![CDATA[public function submit(RsvFormElementDefinition $def, int $submit_id, array $data, RsvFormSubmitResult $result): bool]]></code>
<code><![CDATA[public function validate(RsvFormElementDefinition $def, array $data, RsvFormSubmitResult $result) : bool {]]></code>
</MissingOverrideAttribute>
<ParamNameMismatch>
<code><![CDATA[$element]]></code>
</ParamNameMismatch>
<RedundantCast>
<code><![CDATA[(int) $timetable_id]]></code>
<code><![CDATA[(int) $timetable_id]]></code>
<code><![CDATA[(int) $timetable_id]]></code>
</RedundantCast>
<UnusedClass>
<code><![CDATA[RsvFormReservationElementHandler]]></code>
</UnusedClass>
</file>
<file src="includes/Services/Forms/Handlers/RsvReservationSummaryElementHandler.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservationSummaryElementHandler]]></code>
</ClassMustBeFinal>
<MissingOverrideAttribute>
<code><![CDATA[public function draw(RsvFormElementDefinition $def): void {]]></code>
<code><![CDATA[public function submit(RsvFormElementDefinition $def, int $submit_id, array $data, RsvFormSubmitResult $result): bool {]]></code>
<code><![CDATA[public function validate(RsvFormElementDefinition $def, array $data, RsvFormSubmitResult $result): bool {]]></code>
</MissingOverrideAttribute>
<UnusedClass>
<code><![CDATA[RsvReservationSummaryElementHandler]]></code>
</UnusedClass>
</file>
<file src="includes/Services/Forms/Handlers/RsvTextFieldElementHandler.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTextFieldElementHandler]]></code>
</ClassMustBeFinal>
<InvalidArrayOffset>
<code><![CDATA[$data[$name]]]></code>
<code><![CDATA[$data[$name]]]></code>
</InvalidArrayOffset>
<MissingOverrideAttribute>
<code><![CDATA[public function draw(RsvFormElementDefinition $def): void {]]></code>
<code><![CDATA[public function submit(RsvFormElementDefinition $def, int $submit_id, array $data, RsvFormSubmitResult $result): bool]]></code>
<code><![CDATA[public function validate(RsvFormElementDefinition $def, array $data, RsvFormSubmitResult $result): bool {]]></code>
</MissingOverrideAttribute>
<PossiblyNullArgument>
<code><![CDATA[$value]]></code>
<code><![CDATA[$value]]></code>
</PossiblyNullArgument>
<RiskyTruthyFalsyComparison>
<code><![CDATA[!is_email($value)]]></code>
</RiskyTruthyFalsyComparison>
<UnusedClass>
<code><![CDATA[RsvTextFieldElementHandler]]></code>
</UnusedClass>
</file>
<file src="includes/Services/Forms/RsvFormData.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormData]]></code>
</ClassMustBeFinal>
<InvalidArrayOffset>
<code><![CDATA[$data['values']]]></code>
</InvalidArrayOffset>
<MissingParamType>
<code><![CDATA[$default]]></code>
</MissingParamType>
<MissingReturnType>
<code><![CDATA[getValue]]></code>
</MissingReturnType>
<PossiblyUnusedMethod>
<code><![CDATA[getValue]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Services/Forms/RsvFormDefinition.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormDefinition]]></code>
</ClassMustBeFinal>
<InvalidArrayOffset>
<code><![CDATA[$definition['email_key']]]></code>
</InvalidArrayOffset>
<MissingPropertyType>
<code><![CDATA[$_elements]]></code>
</MissingPropertyType>
<PossiblyUnusedMethod>
<code><![CDATA[getEmailKey]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Services/Forms/RsvFormElementDefinition.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormElementDefinition]]></code>
</ClassMustBeFinal>
<InvalidArrayOffset>
<code><![CDATA[$array['desc']]]></code>
<code><![CDATA[$array['label']]]></code>
<code><![CDATA[$array['name']]]></code>
<code><![CDATA[$array['required']]]></code>
<code><![CDATA[$array['type']]]></code>
</InvalidArrayOffset>
<MissingParamType>
<code><![CDATA[$default]]></code>
</MissingParamType>
<MissingReturnType>
<code><![CDATA[getAttr]]></code>
</MissingReturnType>
</file>
<file src="includes/Services/Forms/RsvFormElementRegistry.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormElementRegistry]]></code>
</ClassMustBeFinal>
<UnusedClass>
<code><![CDATA[RsvFormElementRegistry]]></code>
</UnusedClass>
</file>
<file src="includes/Services/Forms/RsvFormHtmlRenderer.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormHtmlRenderer]]></code>
</ClassMustBeFinal>
<PossiblyUnusedReturnValue>
<code><![CDATA[bool]]></code>
</PossiblyUnusedReturnValue>
</file>
<file src="includes/Services/Forms/RsvFormProcessor.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormProcessor]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Services/Forms/RsvFormSubmission.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormSubmission]]></code>
</ClassMustBeFinal>
</file>
<file src="includes/Services/Forms/RsvFormSubmitResult.php">
<ClassMustBeFinal>
<code><![CDATA[RsvFormSubmitResult]]></code>
</ClassMustBeFinal>
<InvalidReturnType>
<code><![CDATA[array]]></code>
</InvalidReturnType>
<MissingParamType>
<code><![CDATA[$value]]></code>
<code><![CDATA[$value]]></code>
</MissingParamType>
<MissingReturnType>
<code><![CDATA[getTransient]]></code>
</MissingReturnType>
<PossiblyUnusedMethod>
<code><![CDATA[toDto]]></code>
</PossiblyUnusedMethod>
</file>
<file src="includes/Services/RsvGoogleCalendarService.php">
<ClassMustBeFinal>
<code><![CDATA[RsvGoogleCalendarService]]></code>
</ClassMustBeFinal>
<InvalidArgument>
<code><![CDATA[[
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Content-Type' => 'application/json',
],
'body' => json_encode($event),
]]]></code>
<code><![CDATA[[
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Content-Type' => 'application/json',
],
'body' => json_encode([
'id' => $channel_id,
'resourceId' => $resource_id,
]),
]]]></code>
<code><![CDATA[[
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Content-Type' => 'application/json',
],
'body' => json_encode([
'id' => $channel_id,
'type' => 'web_hook',
'address' => site_url('/wp-json/reservations/v1/google-calendar-hook'),
]),
]]]></code>
</InvalidArgument>
<MissingClosureParamType>
<code><![CDATA[$c]]></code>
</MissingClosureParamType>
<PossiblyFalseOperand>
<code><![CDATA[json_encode($body)]]></code>
<code><![CDATA[json_encode($data)]]></code>
<code><![CDATA[json_encode($data)]]></code>
<code><![CDATA[json_encode($data)]]></code>
</PossiblyFalseOperand>
<PossiblyUnusedMethod>
<code><![CDATA[exchange_code]]></code>
<code><![CDATA[process_changes]]></code>
</PossiblyUnusedMethod>
<RiskyTruthyFalsyComparison>
<code><![CDATA[!$access_token]]></code>
<code><![CDATA[!$access_token]]></code>
<code><![CDATA[!$access_token]]></code>
<code><![CDATA[!$access_token]]></code>
<code><![CDATA[!$access_token]]></code>
<code><![CDATA[$access_token]]></code>
<code><![CDATA[$attendee_email]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="includes/Services/RsvReservationService.php">
<ClassMustBeFinal>
<code><![CDATA[RsvReservationService]]></code>
</ClassMustBeFinal>
<ImplicitToStringCast>
<code><![CDATA[$e]]></code>
</ImplicitToStringCast>
<InvalidReturnStatement>
<code><![CDATA[$reservation]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[?array]]></code>
</InvalidReturnType>
<MissingPropertyType>
<code><![CDATA[$reservations_table]]></code>
<code><![CDATA[$timetable_reservations_table]]></code>
</MissingPropertyType>
<MissingReturnType>
<code><![CDATA[create]]></code>
<code><![CDATA[get]]></code>
<code><![CDATA[get_all]]></code>
</MissingReturnType>
<PossiblyInvalidArrayAccess>
<code><![CDATA[$form_submit['values']]]></code>
<code><![CDATA[$reservation['form_submit_id']]]></code>
</PossiblyInvalidArrayAccess>
<PossiblyInvalidArrayAssignment>
<code><![CDATA[$reservation['form_values']]]></code>
<code><![CDATA[$reservation['pending_confirmation']]]></code>
<code><![CDATA[$reservation['timetable_reservations']]]></code>
</PossiblyInvalidArrayAssignment>
<PossiblyInvalidPropertyFetch>
<code><![CDATA[$result->is_confirmed]]></code>
<code><![CDATA[$result->is_confirmed]]></code>
</PossiblyInvalidPropertyFetch>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$form_submit]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="includes/Services/RsvTimetableCapacityService.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableCapacityService]]></code>
</ClassMustBeFinal>
<MissingParamType>
<code><![CDATA[$timetable_id]]></code>
</MissingParamType>
<MissingReturnType>
<code><![CDATA[get]]></code>
<code><![CDATA[get_available_range_for_date]]></code>
</MissingReturnType>
<PossiblyUnusedMethod>
<code><![CDATA[get_available_range_for_date]]></code>
</PossiblyUnusedMethod>
<PossiblyUnusedReturnValue>
<code><![CDATA[?int]]></code>
</PossiblyUnusedReturnValue>
<TooFewArguments>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
<code><![CDATA[new RsvTimetableCapacity($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $RSV_TIMETABLE_TABLE . ' WHERE id = %d', $id), ARRAY_A))]]></code>
</TooFewArguments>
<TypeDoesNotContainNull>
<code><![CDATA[$date === null]]></code>
</TypeDoesNotContainNull>
</file>
<file src="includes/Services/RsvTimetableReservationService.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableReservationService]]></code>
</ClassMustBeFinal>
<InvalidReturnStatement>
<code><![CDATA[Db::get_row(
"SELECT c.*
FROM {$this->confirmation_table} c
JOIN {$this->table} tr ON tr.id = c.timetable_reservation_id
WHERE c.code = %s
LIMIT 1",
[$code],
ARRAY_A
)]]></code>
</InvalidReturnStatement>
<InvalidReturnType>
<code><![CDATA[?array]]></code>
</InvalidReturnType>
<PossiblyInvalidArgument>
<code><![CDATA[Db::get_row(
"SELECT * FROM {$this->table} WHERE id = %d",
[$id],
ARRAY_A
)]]></code>
</PossiblyInvalidArgument>
<PossiblyUnusedMethod>
<code><![CDATA[get]]></code>
<code><![CDATA[get_all]]></code>
</PossiblyUnusedMethod>
<PossiblyUnusedReturnValue>
<code><![CDATA[int]]></code>
<code><![CDATA[int]]></code>
<code><![CDATA[int]]></code>
</PossiblyUnusedReturnValue>
<PropertyNotSetInConstructor>
<code><![CDATA[$capacity_table]]></code>
</PropertyNotSetInConstructor>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$maintainer_email]]></code>
<code><![CDATA[Db::get_var(
"SELECT maintainer_email FROM {$this->timetable_table} WHERE id = %d",
[$timetable_id]
)]]></code>
</RiskyTruthyFalsyComparison>
<UnusedProperty>
<code><![CDATA[$capacity_table]]></code>
<code><![CDATA[$reservation_table]]></code>
</UnusedProperty>
</file>
<file src="includes/Services/RsvTimetableService.php">
<ClassMustBeFinal>
<code><![CDATA[RsvTimetableService]]></code>
</ClassMustBeFinal>
<InvalidOperand>
<code><![CDATA[$total_capacity - count($reservation_stack)]]></code>
</InvalidOperand>
<InvalidScalarArgument>
<code><![CDATA[$blocks_count]]></code>
<code><![CDATA[$total_capacity - count($reservation_stack)]]></code>
</InvalidScalarArgument>
<MissingClosureReturnType>
<code><![CDATA[fn($x) => $x->capacity]]></code>
</MissingClosureReturnType>
<MissingParamType>
<code><![CDATA[$a]]></code>
<code><![CDATA[$b]]></code>
<code><![CDATA[$timetable]]></code>
</MissingParamType>
<PossiblyInvalidArgument>
<code><![CDATA[$row]]></code>
</PossiblyInvalidArgument>
<PossiblyUnusedMethod>
<code><![CDATA[swap]]></code>
</PossiblyUnusedMethod>
<PossiblyUnusedParam>
<code><![CDATA[$a]]></code>
<code><![CDATA[$b]]></code>
</PossiblyUnusedParam>
<PossiblyUnusedReturnValue>
<code><![CDATA[int]]></code>
<code><![CDATA[int]]></code>
</PossiblyUnusedReturnValue>
<UnusedMethod>
<code><![CDATA[empty_occupancy]]></code>
</UnusedMethod>
<UnusedProperty>
<code><![CDATA[$reservation_table]]></code>
</UnusedProperty>
<UnusedVariable>
<code><![CDATA[$a]]></code>
<code><![CDATA[$b]]></code>
<code><![CDATA[$blocks]]></code>
<code><![CDATA[$tmp]]></code>
</UnusedVariable>
</file>
<file src="includes/Views/RsvGoogleCalendarSettingsPage.php">
<PossiblyInvalidArgument>
<code><![CDATA[$_POST['rsv_google_calendar_id'] ?? 'primary']]></code>
<code><![CDATA[$_POST['rsv_google_client_id'] ?? '']]></code>
<code><![CDATA[$_POST['rsv_google_client_secret'] ?? '']]></code>
<code><![CDATA[$_POST['rsv_google_settings_nonce']]]></code>
</PossiblyInvalidArgument>
<PossiblyInvalidCast>
<code><![CDATA[$_POST['rsv_google_calendar_id'] ?? 'primary']]></code>
<code><![CDATA[$_POST['rsv_google_client_id'] ?? '']]></code>
<code><![CDATA[$_POST['rsv_google_client_secret'] ?? '']]></code>
<code><![CDATA[$_POST['rsv_google_settings_nonce']]]></code>
</PossiblyInvalidCast>
<PossiblyUndefinedArrayOffset>
<code><![CDATA[$_SERVER['REQUEST_METHOD']]]></code>
</PossiblyUndefinedArrayOffset>
</file>
<file src="includes/Views/RsvTimetablePage.php">
<MissingParamType>
<code><![CDATA[$id]]></code>
<code><![CDATA[$id]]></code>
<code><![CDATA[$timetable_id]]></code>
</MissingParamType>
<MissingReturnType>
<code><![CDATA[rsv_create_capacity_form]]></code>
<code><![CDATA[rsv_timetable_capacity_view]]></code>
<code><![CDATA[rsv_timetable_edit_page]]></code>
<code><![CDATA[rsv_timetable_list_page]]></code>
<code><![CDATA[rsv_timetable_page]]></code>
</MissingReturnType>
<RiskyCast>
<code><![CDATA[$_GET['id']]]></code>
</RiskyCast>
<UnusedVariable>
<code><![CDATA[$existing_emails_json]]></code>
</UnusedVariable>
</file>
</files>