From 33fd1358507b4a5abb3dcebe78d407d0567717c1 Mon Sep 17 00:00:00 2001
From: Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>
Date: Tue, 18 Jun 2024 13:18:06 +0000
Subject: [PATCH] Deprecate `StudipAutoloader` and use composer's `autoload`

Closes #4282

Merge request studip/studip!3099
---
 app/controllers/questionnaire.php             |    2 -
 composer.json                                 |   62 +-
 composer.lock                                 | 1108 +++++++++--------
 db/migrations/1.2_step_102_datenfeldtypen.php |    2 +-
 .../1.6_step_25_raumzeit_db_conversion.php    |    4 +-
 ...ion.class.php => ConditionalAdmission.php} |    0
 ...on.class.php => CourseMemberAdmission.php} |    0
 ...mission.class.php => LimitedAdmission.php} |    0
 ...dmission.class.php => LockedAdmission.php} |    0
 ...php => ParticipantRestrictedAdmission.php} |    0
 ...ission.class.php => PasswordAdmission.php} |    0
 ...on.class.php => PreferentialAdmission.php} |    0
 ...Admission.class.php => TermsAdmission.php} |    0
 ...Admission.class.php => TimedAdmission.php} |    0
 lib/bootstrap-autoload.php                    |   81 --
 lib/bootstrap.php                             |    2 +-
 ...darColumn.class.php => CalendarColumn.php} |    0
 ...alendarView.class.php => CalendarView.php} |    0
 ...eekView.class.php => CalendarWeekView.php} |    0
 ...Filter.class.php => AdminCourseFilter.php} |    0
 lib/classes/{Assets.class.php => Assets.php}  |    0
 ...uthorObject.class.php => AuthorObject.php} |    0
 .../{AutoInsert.class.php => AutoInsert.php}  |    0
 lib/classes/{Avatar.class.php => Avatar.php}  |    0
 .../{BreadCrumb.class.php => BreadCrumb.php}  |    0
 lib/classes/{Button.class.php => Button.php}  |    0
 ...rayObject.class.php => CSVArrayObject.php} |    0
 lib/classes/{Color.class.php => Color.php}    |    0
 lib/classes/{Config.class.php => Config.php}  |    0
 ...ourseAvatar.class.php => CourseAvatar.php} |    0
 ...ourseConfig.class.php => CourseConfig.php} |    0
 .../{CronJob.class.php => CronJob.php}        |    0
 ...heduler.class.php => CronjobScheduler.php} |    0
 .../{DBManager.class.php => DBManager.php}    |    0
 ...Entry.class.php => DataFieldBoolEntry.php} |    0
 ...ntry.class.php => DataFieldComboEntry.php} |    0
 ...Entry.class.php => DataFieldDateEntry.php} |    0
 ...ntry.class.php => DataFieldEmailEntry.php} |    0
 ...ieldEntry.class.php => DataFieldEntry.php} |    0
 ...Entry.class.php => DataFieldLinkEntry.php} |    0
 ...ntry.class.php => DataFieldPhoneEntry.php} |    0
 ...ntry.class.php => DataFieldRadioEntry.php} |    0
 ....class.php => DataFieldSelectboxEntry.php} |    0
 ...hp => DataFieldSelectboxMultipleEntry.php} |    0
 ...y.class.php => DataFieldTextareaEntry.php} |    0
 ...ass.php => DataFieldTextareai18nEntry.php} |    0
 ...y.class.php => DataFieldTextlineEntry.php} |    0
 ...ass.php => DataFieldTextlinei18nEntry.php} |    0
 ...class.php => DataFieldTextmarkupEntry.php} |    0
 ...s.php => DataFieldTextmarkupi18nEntry.php} |    0
 ...Entry.class.php => DataFieldTimeEntry.php} |    0
 ...aseObject.class.php => DatabaseObject.php} |    0
 ...eFormatter.class.php => DateFormatter.php} |    0
 .../{DbSnapshot.class.php => DbSnapshot.php}  |    0
 lib/classes/{DbView.class.php => DbView.php}  |    0
 .../{Event.interface.php => Event.php}        |    0
 .../{Feedback.class.php => Feedback.php}      |    0
 ...kRange.interface.php => FeedbackRange.php} |    0
 .../{FileLock.class.php => FileLock.php}      |    0
 ...ullcalendar.class.php => Fullcalendar.php} |    0
 lib/classes/{Icon.class.php => Icon.php}      |    0
 ...teAvatar.class.php => InstituteAvatar.php} |    0
 ....class.php => InstituteCalendarHelper.php} |    0
 ...teConfig.class.php => InstituteConfig.php} |    0
 ...nteractable.class.php => Interactable.php} |    0
 ...ayObject.class.php => JSONArrayObject.php} |    0
 ...essage.interface.php => LayoutMessage.php} |    0
 .../{LinkButton.class.php => LinkButton.php}  |    0
 .../{LockRules.class.php => LockRules.php}    |    0
 .../{Loggable.class.php => Loggable.php}      |    0
 lib/classes/{MVV.class.php => MVV.php}        |    0
 lib/classes/{Markup.class.php => Markup.php}  |    0
 .../{MessageBox.class.php => MessageBox.php}  |    0
 ...tion.class.php => ModulesNotification.php} |    0
 ...ject.class.php => MultiDimArrayObject.php} |    0
 ...Search.class.php => MultiPersonSearch.php} |    0
 ...enter.class.php => NotificationCenter.php} |    0
 ...Object.interface.php => PrivacyObject.php} |    0
 ...ionType.interface.php => QuestionType.php} |    0
 ...{QuickSearch.class.php => QuickSearch.php} |    0
 .../{Range.interface.php => Range.php}        |    0
 ...{RangeConfig.class.php => RangeConfig.php} |    0
 ...eeObject.class.php => RangeTreeObject.php} |    0
 ...ctFak.class.php => RangeTreeObjectFak.php} |    0
 ...Inst.class.php => RangeTreeObjectInst.php} |    0
 .../{Request.class.php => Request.php}        |    0
 ...{ResetButton.class.php => ResetButton.php} |    0
 lib/classes/{Score.class.php => Score.php}    |    0
 .../{SemBrowse.class.php => SemBrowse.php}    |    0
 .../{SemClass.class.php => SemClass.php}      |    0
 .../{SemType.class.php => SemType.php}        |    0
 .../{Seminar.class.php => Seminar.php}        |    0
 ...gories.class.php => SeminarCategories.php} |    0
 ...onDecoder.class.php => SessionDecoder.php} |    0
 ...lection.class.php => SimpleCollection.php} |    0
 ...{SimpleORMap.class.php => SimpleORMap.php} |    0
 ...on.class.php => SimpleORMapCollection.php} |    0
 ...Object.class.php => StudipArrayObject.php} |    0
 .../{StudipForm.class.php => StudipForm.php}  |    0
 ...tudipItem.interface.php => StudipItem.php} |    0
 .../{StudipKing.class.php => StudipKing.php}  |    0
 .../{StudipLink.class.php => StudipLink.php}  |    0
 .../{StudipLock.class.php => StudipLock.php}  |    0
 .../{StudipLog.class.php => StudipLog.php}    |    0
 ....class.php => StudipLvgruppeSelection.php} |    0
 .../{StudipMail.class.php => StudipMail.php}  |    0
 ...tudipObject.class.php => StudipObject.php} |    0
 .../{StudipPDO.class.php => StudipPDO.php}    |    0
 ...angeTree.class.php => StudipRangeTree.php} |    0
 ...View.class.php => StudipRangeTreeView.php} |    0
 ...class.php => StudipRangeTreeViewAdmin.php} |    0
 ...s.php => StudipSemRangeTreeViewSimple.php} |    0
 ...emSearch.class.php => StudipSemSearch.php} |    0
 ...er.class.php => StudipSemSearchHelper.php} |    0
 ...dipSemTree.class.php => StudipSemTree.php} |    0
 ...arch.class.php => StudipSemTreeSearch.php} |    0
 ...eeView.class.php => StudipSemTreeView.php} |    0
 ...n.class.php => StudipSemTreeViewAdmin.php} |    0
 ....class.php => StudipSemTreeViewSimple.php} |    0
 ...class.php => StudipStudyAreaSelection.php} |    0
 ...pAvatar.class.php => StudygroupAvatar.php} |    0
 ...reeAbstract.class.php => TreeAbstract.php} |    0
 .../{TreeView.class.php => TreeView.php}      |    0
 ...mation.class.php => UpdateInformation.php} |    0
 .../{UserConfig.class.php => UserConfig.php}  |    0
 .../{UserLookup.class.php => UserLookup.php}  |    0
 ...anagement.class.php => UserManagement.php} |    0
 ...rithm.class.php => AdmissionAlgorithm.php} |    0
 ...iority.class.php => AdmissionPriority.php} |    0
 ...issionRule.class.php => AdmissionRule.php} |    0
 ...erList.class.php => AdmissionUserList.php} |    0
 .../{CourseSet.class.php => CourseSet.php}    |    0
 ...lgorithm.class.php => RandomAlgorithm.php} |    0
 .../{UserFilter.class.php => UserFilter.php}  |    0
 ...terField.class.php => UserFilterField.php} |    0
 ...ition.class.php => DatafieldCondition.php} |    0
 ...ondition.class.php => DegreeCondition.php} |    0
 ...tion.class.php => PermissionCondition.php} |    0
 ...class.php => SemesterOfStudyCondition.php} |    0
 ....class.php => StgteilVersionCondition.php} |    0
 ...ndition.class.php => SubjectCondition.php} |    0
 ...nAny.class.php => SubjectConditionAny.php} |    0
 ...tract.class.php => StudipAuthAbstract.php} |    0
 ...dipAuthCAS.class.php => StudipAuthCAS.php} |    0
 ...tudipAuthIP.class.php => StudipAuthIP.php} |    0
 ...dipAuthLTI.class.php => StudipAuthLTI.php} |    0
 ...pAuthLdap.class.php => StudipAuthLdap.php} |    0
 ...lass.php => StudipAuthLdapReadAndBind.php} |    0
 ...pAuthOIDC.class.php => StudipAuthOIDC.php} |    0
 ...dipAuthSSO.class.php => StudipAuthSSO.php} |    0
 ...pAuthShib.class.php => StudipAuthShib.php} |    0
 ...ndard.class.php => StudipAuthStandard.php} |    0
 .../cache/{Cache.class.php => Cache.php}      |    0
 .../cache/{DbCache.class.php => DbCache.php}  |    0
 .../cache/{Factory.class.php => Factory.php}  |    0
 .../{FileCache.class.php => FileCache.php}    |    0
 .../cache/{Item.class.php => Item.php}        |    0
 ...chedCache.class.php => MemcachedCache.php} |    0
 ...{MemoryCache.class.php => MemoryCache.php} |    0
 .../cache/{Proxy.class.php => Proxy.php}      |    0
 .../{RedisCache.class.php => RedisCache.php}  |    0
 .../cache/{Wrapper.class.php => Wrapper.php}  |    0
 .../{EventData.class.php => EventData.php}    |    0
 ...ntSource.interface.php => EventSource.php} |    0
 ...arExport.class.php => ICalendarExport.php} |    0
 ...arImport.class.php => ICalendarImport.php} |    0
 .../{Owner.interface.php => Owner.php}        |    0
 ...ument.interface.php => ExportDocument.php} |    0
 .../{ExportPDF.class.php => ExportPDF.php}    |    0
 ...Document.class.php => LibraryDocument.php} |    0
 ....interface.php => LibraryResultParser.php} |    0
 ...rarySearch.class.php => LibrarySearch.php} |    0
 ...ger.class.php => LibrarySearchManager.php} |    0
 ....class.php => BASELibraryResultParser.php} |    0
 ...ass.php => K10PlusLibraryResultParser.php} |    0
 ...ass.php => MarcxmlLibraryResultParser.php} |    0
 ...r.class.php => SRULibraryResultParser.php} |    0
 ...Search.class.php => BASELibrarySearch.php} |    0
 ...ss.php => K10PlusZentralLibrarySearch.php} |    0
 ...ySearch.class.php => SRULibrarySearch.php} |    0
 ...esSearch.class.php => MyCoursesSearch.php} |    0
 ...nSearch.class.php => PermissionSearch.php} |    0
 ...{RangeSearch.class.php => RangeSearch.php} |    0
 ...rceSearch.class.php => ResourceSearch.php} |    0
 .../{RoomSearch.class.php => RoomSearch.php}  |    0
 .../{SQLSearch.class.php => SQLSearch.php}    |    0
 .../{SearchType.class.php => SearchType.php}  |    0
 ...inarSearch.class.php => SeminarSearch.php} |    0
 ...ardSearch.class.php => StandardSearch.php} |    0
 .../{TreeSearch.class.php => TreeSearch.php}  |    0
 ...rdWidget.class.php => ClipboardWidget.php} |    0
 ...et.class.php => InstituteSelectWidget.php} |    0
 ...idget.class.php => ResourceTreeWidget.php} |    0
 ...dget.class.php => RoomClipboardWidget.php} |    0
 ...get.class.php => RoomSearchTreeWidget.php} |    0
 ...hWidget.class.php => RoomSearchWidget.php} |    0
 ...dmission.class.php => check_admission.php} |    0
 ...{cleanup_log.class.php => cleanup_log.php} |    0
 ...lector.class.php => garbage_collector.php} |    0
 ...{purge_cache.class.php => purge_cache.php} |    0
 ...upload.class.php => remind_oer_upload.php} |    0
 ....class.php => send_mail_notifications.php} |    0
 ...il_queue.class.php => send_mail_queue.php} |    0
 .../{session_gc.class.php => session_gc.php}  |    0
 ...onnectedCMS.class.php => ConnectedCMS.php} |    0
 ...nectedLink.class.php => ConnectedLink.php} |    0
 ...ons.class.php => ConnectedPermissions.php} |    0
 ...nectedUser.class.php => ConnectedUser.php} |    0
 ...tentModule.class.php => ContentModule.php} |    0
 ...leView.class.php => ContentModuleView.php} |    0
 ...ningUtils.class.php => ELearningUtils.php} |    0
 ...edCMS.class.php => Ilias3ConnectedCMS.php} |    0
 ...Link.class.php => Ilias3ConnectedLink.php} |    0
 ...ass.php => Ilias3ConnectedPermissions.php} |    0
 ...User.class.php => Ilias3ConnectedUser.php} |    0
 ...dule.class.php => Ilias3ContentModule.php} |    0
 ...er.class.php => Ilias3ObjectXMLParser.php} |    0
 ...axParser.class.php => Ilias3SaxParser.php} |    0
 .../{Ilias3Soap.class.php => Ilias3Soap.php}  |    0
 ...edCMS.class.php => Ilias4ConnectedCMS.php} |    0
 ...Link.class.php => Ilias4ConnectedLink.php} |    0
 ...ass.php => Ilias4ConnectedPermissions.php} |    0
 ...User.class.php => Ilias4ConnectedUser.php} |    0
 ...dule.class.php => Ilias4ContentModule.php} |    0
 .../{Ilias4Soap.class.php => Ilias4Soap.php}  |    0
 ...edCMS.class.php => Ilias5ConnectedCMS.php} |    0
 ...Link.class.php => Ilias5ConnectedLink.php} |    0
 ...ass.php => Ilias5ConnectedPermissions.php} |    0
 ...User.class.php => Ilias5ConnectedUser.php} |    0
 ...dule.class.php => Ilias5ContentModule.php} |    0
 .../{Ilias5Soap.class.php => Ilias5Soap.php}  |    0
 ...dCMS.class.php => LonCapaConnectedCMS.php} |    0
 ...ink.class.php => LonCapaConnectedLink.php} |    0
 ...ule.class.php => LonCapaContentModule.php} |    0
 ...paRequest.class.php => LonCapaRequest.php} |    0
 ...ctions.class.php => ObjectConnections.php} |    0
 ...edCMS.class.php => PmWikiConnectedCMS.php} |    0
 ...Link.class.php => PmWikiConnectedLink.php} |    0
 ...dule.class.php => PmWikiContentModule.php} |    0
 ...ption.class.php => ClipboardException.php} |    0
 ...ss.php => GlobalResourceLockException.php} |    0
 ...=> GlobalResourceLockOverlapException.php} |    0
 ...p => InvalidResourceCategoryException.php} |    0
 ....php => InvalidResourceClassException.php} |    0
 ...class.php => InvalidResourceException.php} |    0
 ...hp => InvalidResourceRequestException.php} |    0
 ...class.php => NoResourceClassException.php} |    0
 ...class.php => ResourceBookingException.php} |    0
 ...hp => ResourceBookingOverlapException.php} |    0
 ....php => ResourceBookingRangeException.php} |    0
 ...eption.class.php => ResourceException.php} |    0
 ...s.php => ResourceNoTimeRangeException.php} |    0
 ...ss.php => ResourcePermissionException.php} |    0
 ...> ResourcePropertyDefinitionException.php} |    0
 ...lass.php => ResourcePropertyException.php} |    0
 ...php => ResourcePropertyStateException.php} |    0
 ...class.php => ResourceRequestException.php} |    0
 ...s.php => ResourceUnavailableException.php} |    0
 ...ss.php => ResourceUnlockableException.php} |    0
 ...n.class.php => SeparableRoomException.php} |    0
 ...nager.class.php => FileArchiveManager.php} |    0
 ...ss.php => FileArchiveManagerException.php} |    0
 ...{LibraryFile.class.php => LibraryFile.php} |    0
 ...rceFolder.class.php => ResourceFolder.php} |    0
 ...ctedIlias.class.php => ConnectedIlias.php} |    0
 ...{IliasModule.class.php => IliasModule.php} |    0
 ...s.class.php => IliasObjectConnections.php} |    0
 .../{IliasSoap.class.php => IliasSoap.php}    |    0
 .../{IliasUser.class.php => IliasUser.php}    |    0
 ...ion.class.php => AdmissionApplication.php} |    0
 ...vedCourse.class.php => ArchivedCourse.php} |    0
 ...ber.class.php => ArchivedCourseMember.php} |    0
 ...{AuthUserMd5.class.php => AuthUserMd5.php} |    0
 lib/models/{Banner.class.php => Banner.php}   |    0
 ...{BannerRoles.class.php => BannerRoles.php} |    0
 .../{Clipboard.class.php => Clipboard.php}    |    0
 ...pboardItem.class.php => ClipboardItem.php} |    0
 ...{ColourValue.class.php => ColourValue.php} |    0
 ...{ConfigEntry.class.php => ConfigEntry.php} |    0
 lib/models/{Contact.class.php => Contact.php} |    0
 ...ontactGroup.class.php => ContactGroup.php} |    0
 ...oupItem.class.php => ContactGroupItem.php} |    0
 ...sOfUse.class.php => ContentTermsOfUse.php} |    0
 lib/models/{Course.class.php => Course.php}   |    0
 .../{CourseDate.class.php => CourseDate.php}  |    0
 ...ourseExDate.class.php => CourseExDate.php} |    0
 ...ourseMember.class.php => CourseMember.php} |    0
 ...{CourseTopic.class.php => CourseTopic.php} |    0
 .../{CronjobLog.class.php => CronjobLog.php}  |    0
 ...Schedule.class.php => CronjobSchedule.php} |    0
 ...{CronjobTask.class.php => CronjobTask.php} |    0
 .../{DataField.class.php => DataField.php}    |    0
 ...odel.class.php => DatafieldEntryModel.php} |    0
 ....class.php => DatafieldEntryModelI18N.php} |    0
 lib/models/{Degree.class.php => Degree.php}   |    0
 lib/models/Freetext.php                       |    2 +-
 ...{HelpContent.class.php => HelpContent.php} |    0
 .../{HelpTour.class.php => HelpTour.php}      |    0
 ...udience.class.php => HelpTourAudience.php} |    0
 ...ettings.class.php => HelpTourSettings.php} |    0
 ...elpTourStep.class.php => HelpTourStep.php} |    0
 ...elpTourUser.class.php => HelpTourUser.php} |    0
 .../{Institute.class.php => Institute.php}    |    0
 ...teMember.class.php => InstituteMember.php} |    0
 ...lumn.class.php => InstitutePlanColumn.php} |    0
 .../{Kategorie.class.php => Kategorie.php}    |    0
 lib/models/LikertScale.php                    |    2 -
 .../{LockRule.class.php => LockRule.php}      |    0
 ...ckground.class.php => LoginBackground.php} |    0
 .../{LoginFaq.class.php => LoginFaq.php}      |    0
 ...ueueEntry.class.php => MailQueueEntry.php} |    0
 lib/models/{Message.class.php => Message.php} |    0
 ...{MessageUser.class.php => MessageUser.php} |    0
 ...t.class.php => MvvOverlappingConflict.php} |    0
 ....class.php => MvvOverlappingSelection.php} |    0
 .../{NewsRange.class.php => NewsRange.php}    |    0
 .../{NewsRoles.class.php => NewsRoles.php}    |    0
 ...penGraphURL.class.php => OpenGraphURL.php} |    0
 ...n.class.php => OpenGraphURLCollection.php} |    0
 ...ns.class.php => PersonalNotifications.php} |    0
 lib/models/RangeScale.php                     |    2 -
 .../{Semester.class.php => Semester.php}      |    0
 ...terCourse.class.php => SemesterCourse.php} |    0
 ...rHoliday.class.php => SemesterHoliday.php} |    0
 ...cleDate.class.php => SeminarCycleDate.php} |    0
 ...dipComment.class.php => StudipComment.php} |    0
 .../{StudipNews.class.php => StudipNews.php}  |    0
 ...pScmEntry.class.php => StudipScmEntry.php} |    0
 ...tudyArea.class.php => StudipStudyArea.php} |    0
 ...{StudyCourse.class.php => StudyCourse.php} |    0
 lib/models/{User.class.php => User.php}       |    0
 .../{UserInfo.class.php => UserInfo.php}      |    0
 .../{UserOnline.class.php => UserOnline.php}  |    0
 ...dyCourse.class.php => UserStudyCourse.php} |    0
 lib/models/Vote.php                           |    2 -
 ...ule.class.php => WebserviceAccessRule.php} |    0
 .../{WikiPage.class.php => WikiPage.php}      |    0
 ...eDate.class.php => CalendarCourseDate.php} |    0
 ...ate.class.php => CalendarCourseExDate.php} |    0
 ...alendarDate.class.php => CalendarDate.php} |    0
 ...t.class.php => CalendarDateAssignment.php} |    0
 ...on.class.php => CalendarDateException.php} |    0
 ...nResource.class.php => BrokenResource.php} |    0
 .../{Building.class.php => Building.php}      |    0
 ...eLock.class.php => GlobalResourceLock.php} |    0
 .../{Location.class.php => Location.php}      |    0
 .../{Resource.class.php => Resource.php}      |    0
 ...eBooking.class.php => ResourceBooking.php} |    0
 ....class.php => ResourceBookingInterval.php} |    0
 ...ategory.class.php => ResourceCategory.php} |    0
 ...class.php => ResourceCategoryProperty.php} |    0
 ...ourceLabel.class.php => ResourceLabel.php} |    0
 ...ssion.class.php => ResourcePermission.php} |    0
 ...roperty.class.php => ResourceProperty.php} |    0
 ...ass.php => ResourcePropertyDefinition.php} |    0
 ...up.class.php => ResourcePropertyGroup.php} |    0
 ...eRequest.class.php => ResourceRequest.php} |    0
 ...ass.php => ResourceRequestAppointment.php} |    0
 ....class.php => ResourceRequestProperty.php} |    0
 ...ss.php => ResourceTemporaryPermission.php} |    0
 .../resources/{Room.class.php => Room.php}    |    0
 ...{RoomRequest.class.php => RoomRequest.php} |    0
 ...arableRoom.class.php => SeparableRoom.php} |    0
 ...omPart.class.php => SeparableRoomPart.php} |    0
 .../{Blubber.class.php => Blubber.php}        |    0
 ...odule.class.php => ConsultationModule.php} |    0
 .../{CoreAdmin.class.php => CoreAdmin.php}    |    0
 ...oreCalendar.class.php => CoreCalendar.php} |    0
 ...eDocuments.class.php => CoreDocuments.php} |    0
 ...e.class.php => CoreElearningInterface.php} |    0
 .../{CoreForum.class.php => CoreForum.php}    |    0
 ...oreOverview.class.php => CoreOverview.php} |    0
 ...cipants.class.php => CoreParticipants.php} |    0
 ...orePersonal.class.php => CorePersonal.php} |    0
 ...oreSchedule.class.php => CoreSchedule.php} |    0
 .../{CoreScm.class.php => CoreScm.php}        |    0
 ...dmin.class.php => CoreStudygroupAdmin.php} |    0
 ...ass.php => CoreStudygroupParticipants.php} |    0
 .../{CoreWiki.class.php => CoreWiki.php}      |    0
 ...eModule.class.php => CoursewareModule.php} |    0
 ...ackModule.class.php => FeedbackModule.php} |    0
 ...okModule.class.php => GradebookModule.php} |    0
 ...ule.class.php => IliasInterfaceModule.php} |    0
 ...ToolModule.class.php => LtiToolModule.php} |    0
 ...tudipModule.class.php => StudipModule.php} |    0
 .../{CT_Cache.class.php => CT_Cache.php}      |    0
 lib/phplib/{CT_Sql.class.php => CT_Sql.php}   |    0
 lib/phplib/{DB_Sql.class.php => DB_Sql.php}   |    0
 ...eminar_Auth.class.php => Seminar_Auth.php} |    0
 ...uth.class.php => Seminar_Default_Auth.php} |    0
 ...eminar_Perm.class.php => Seminar_Perm.php} |    0
 ...th.class.php => Seminar_Register_Auth.php} |    0
 ..._Session.class.php => Seminar_Session.php} |    0
 ...eminar_User.class.php => Seminar_User.php} |    0
 ...idation.class.php => email_validation.php} |    0
 ...Action.class.php => AdminCourseAction.php} |    0
 ...ents.class.php => AdminCourseContents.php} |    0
 ....class.php => AdminCourseWidgetPlugin.php} |    0
 ...gin.class.php => AdministrationPlugin.php} |    0
 ...Plugin.class.php => DetailspagePlugin.php} |    0
 ...ploadHook.class.php => FileUploadHook.php} |    0
 ...mPlugin.class.php => FilesystemPlugin.php} |    0
 ...{ForumModule.class.php => ForumModule.php} |    0
 ...agePlugin.class.php => HomepagePlugin.php} |    0
 ...raryPlugin.class.php => LibraryPlugin.php} |    0
 ...ricsPlugin.class.php => MetricsPlugin.php} |    0
 ...ortalPlugin.class.php => PortalPlugin.php} |    0
 ...vacyPlugin.class.php => PrivacyPlugin.php} |    0
 ....php => QuestionnaireAssignmentPlugin.php} |    0
 ...TAPIPlugin.class.php => RESTAPIPlugin.php} |    0
 lib/plugins/core/{Role.class.php => Role.php} |    0
 ...{ScorePlugin.class.php => ScorePlugin.php} |    0
 ...ardPlugin.class.php => StandardPlugin.php} |    0
 ...tudIPPlugin.class.php => StudIPPlugin.php} |    0
 ...ystemPlugin.class.php => SystemPlugin.php} |    0
 ...ePlugin.class.php => WebServicePlugin.php} |    0
 ...sistence.class.php => RolePersistence.php} |    0
 ...luginEngine.class.php => PluginEngine.php} |    0
 ...ginManager.class.php => PluginManager.php} |    0
 ...ository.class.php => PluginRepository.php} |    0
 .../{CycleData.class.php => CycleData.php}    |    0
 ...{CycleDataDB.class.php => CycleDataDB.php} |    0
 lib/raumzeit/{Issue.class.php => Issue.php}   |    0
 .../{IssueDB.class.php => IssueDB.php}        |    0
 .../{MetaDate.class.php => MetaDate.php}      |    0
 .../{MetaDateDB.class.php => MetaDateDB.php}  |    0
 .../{SeminarDB.class.php => SeminarDB.php}    |    0
 .../{SingleDate.class.php => SingleDate.php}  |    0
 ...ingleDateDB.class.php => SingleDateDB.php} |    0
 ...eManager.class.php => ResourceManager.php} |    0
 ...{RoomManager.class.php => RoomManager.php} |    0
 ...pClient.class.php => StudipSoapClient.php} |    0
 ...P5.class.php => StudipSoapClient_PHP5.php} |    0
 public/install.php                            |   14 +-
 tests/_support/Helper/StudipDb.php            |    2 +-
 tests/functional/_bootstrap.php               |   22 -
 tests/jsonapi/_bootstrap.php                  |   49 +-
 tests/unit/_bootstrap.php                     |   56 +-
 tests/unit/lib/CalendarcolumnClassTest.php    |    2 +-
 tests/unit/lib/CalendarviewClassTest.php      |    2 +-
 tests/unit/lib/VisualTest.php                 |    4 +-
 tests/unit/lib/classes/AvatarClassTest.php    |    2 +-
 tests/unit/lib/classes/MarkupClassTest.php    |   10 +-
 .../unit/lib/classes/PluginRepositoryTest.php |    2 +-
 ...act.class.php => OAuthSessionAbstract.php} |    0
 ...hod.class.php => OAuthSignatureMethod.php} |    0
 ...tract.class.php => OAuthStoreAbstract.php} |    0
 447 files changed, 722 insertions(+), 712 deletions(-)
 rename lib/admissionrules/conditionaladmission/{ConditionalAdmission.class.php => ConditionalAdmission.php} (100%)
 rename lib/admissionrules/coursememberadmission/{CourseMemberAdmission.class.php => CourseMemberAdmission.php} (100%)
 rename lib/admissionrules/limitedadmission/{LimitedAdmission.class.php => LimitedAdmission.php} (100%)
 rename lib/admissionrules/lockedadmission/{LockedAdmission.class.php => LockedAdmission.php} (100%)
 rename lib/admissionrules/participantrestrictedadmission/{ParticipantRestrictedAdmission.class.php => ParticipantRestrictedAdmission.php} (100%)
 rename lib/admissionrules/passwordadmission/{PasswordAdmission.class.php => PasswordAdmission.php} (100%)
 rename lib/admissionrules/preferentialadmission/{PreferentialAdmission.class.php => PreferentialAdmission.php} (100%)
 rename lib/admissionrules/termsadmission/{TermsAdmission.class.php => TermsAdmission.php} (100%)
 rename lib/admissionrules/timedadmission/{TimedAdmission.class.php => TimedAdmission.php} (100%)
 rename lib/calendar/{CalendarColumn.class.php => CalendarColumn.php} (100%)
 rename lib/calendar/{CalendarView.class.php => CalendarView.php} (100%)
 rename lib/calendar/{CalendarWeekView.class.php => CalendarWeekView.php} (100%)
 rename lib/classes/{AdminCourseFilter.class.php => AdminCourseFilter.php} (100%)
 rename lib/classes/{Assets.class.php => Assets.php} (100%)
 rename lib/classes/{AuthorObject.class.php => AuthorObject.php} (100%)
 rename lib/classes/{AutoInsert.class.php => AutoInsert.php} (100%)
 rename lib/classes/{Avatar.class.php => Avatar.php} (100%)
 rename lib/classes/{BreadCrumb.class.php => BreadCrumb.php} (100%)
 rename lib/classes/{Button.class.php => Button.php} (100%)
 rename lib/classes/{CSVArrayObject.class.php => CSVArrayObject.php} (100%)
 rename lib/classes/{Color.class.php => Color.php} (100%)
 rename lib/classes/{Config.class.php => Config.php} (100%)
 rename lib/classes/{CourseAvatar.class.php => CourseAvatar.php} (100%)
 rename lib/classes/{CourseConfig.class.php => CourseConfig.php} (100%)
 rename lib/classes/{CronJob.class.php => CronJob.php} (100%)
 rename lib/classes/{CronjobScheduler.class.php => CronjobScheduler.php} (100%)
 rename lib/classes/{DBManager.class.php => DBManager.php} (100%)
 rename lib/classes/{DataFieldBoolEntry.class.php => DataFieldBoolEntry.php} (100%)
 rename lib/classes/{DataFieldComboEntry.class.php => DataFieldComboEntry.php} (100%)
 rename lib/classes/{DataFieldDateEntry.class.php => DataFieldDateEntry.php} (100%)
 rename lib/classes/{DataFieldEmailEntry.class.php => DataFieldEmailEntry.php} (100%)
 rename lib/classes/{DataFieldEntry.class.php => DataFieldEntry.php} (100%)
 rename lib/classes/{DataFieldLinkEntry.class.php => DataFieldLinkEntry.php} (100%)
 rename lib/classes/{DataFieldPhoneEntry.class.php => DataFieldPhoneEntry.php} (100%)
 rename lib/classes/{DataFieldRadioEntry.class.php => DataFieldRadioEntry.php} (100%)
 rename lib/classes/{DataFieldSelectboxEntry.class.php => DataFieldSelectboxEntry.php} (100%)
 rename lib/classes/{DataFieldSelectboxMultipleEntry.class.php => DataFieldSelectboxMultipleEntry.php} (100%)
 rename lib/classes/{DataFieldTextareaEntry.class.php => DataFieldTextareaEntry.php} (100%)
 rename lib/classes/{DataFieldTextareai18nEntry.class.php => DataFieldTextareai18nEntry.php} (100%)
 rename lib/classes/{DataFieldTextlineEntry.class.php => DataFieldTextlineEntry.php} (100%)
 rename lib/classes/{DataFieldTextlinei18nEntry.class.php => DataFieldTextlinei18nEntry.php} (100%)
 rename lib/classes/{DataFieldTextmarkupEntry.class.php => DataFieldTextmarkupEntry.php} (100%)
 rename lib/classes/{DataFieldTextmarkupi18nEntry.class.php => DataFieldTextmarkupi18nEntry.php} (100%)
 rename lib/classes/{DataFieldTimeEntry.class.php => DataFieldTimeEntry.php} (100%)
 rename lib/classes/{DatabaseObject.class.php => DatabaseObject.php} (100%)
 rename lib/classes/{DateFormatter.class.php => DateFormatter.php} (100%)
 rename lib/classes/{DbSnapshot.class.php => DbSnapshot.php} (100%)
 rename lib/classes/{DbView.class.php => DbView.php} (100%)
 rename lib/classes/{Event.interface.php => Event.php} (100%)
 rename lib/classes/{Feedback.class.php => Feedback.php} (100%)
 rename lib/classes/{FeedbackRange.interface.php => FeedbackRange.php} (100%)
 rename lib/classes/{FileLock.class.php => FileLock.php} (100%)
 rename lib/classes/{Fullcalendar.class.php => Fullcalendar.php} (100%)
 rename lib/classes/{Icon.class.php => Icon.php} (100%)
 rename lib/classes/{InstituteAvatar.class.php => InstituteAvatar.php} (100%)
 rename lib/classes/{InstituteCalendarHelper.class.php => InstituteCalendarHelper.php} (100%)
 rename lib/classes/{InstituteConfig.class.php => InstituteConfig.php} (100%)
 rename lib/classes/{Interactable.class.php => Interactable.php} (100%)
 rename lib/classes/{JSONArrayObject.class.php => JSONArrayObject.php} (100%)
 rename lib/classes/{LayoutMessage.interface.php => LayoutMessage.php} (100%)
 rename lib/classes/{LinkButton.class.php => LinkButton.php} (100%)
 rename lib/classes/{LockRules.class.php => LockRules.php} (100%)
 rename lib/classes/{Loggable.class.php => Loggable.php} (100%)
 rename lib/classes/{MVV.class.php => MVV.php} (100%)
 rename lib/classes/{Markup.class.php => Markup.php} (100%)
 rename lib/classes/{MessageBox.class.php => MessageBox.php} (100%)
 rename lib/classes/{ModulesNotification.class.php => ModulesNotification.php} (100%)
 rename lib/classes/{MultiDimArrayObject.class.php => MultiDimArrayObject.php} (100%)
 rename lib/classes/{MultiPersonSearch.class.php => MultiPersonSearch.php} (100%)
 rename lib/classes/{NotificationCenter.class.php => NotificationCenter.php} (100%)
 rename lib/classes/{PrivacyObject.interface.php => PrivacyObject.php} (100%)
 rename lib/classes/{QuestionType.interface.php => QuestionType.php} (100%)
 rename lib/classes/{QuickSearch.class.php => QuickSearch.php} (100%)
 rename lib/classes/{Range.interface.php => Range.php} (100%)
 rename lib/classes/{RangeConfig.class.php => RangeConfig.php} (100%)
 rename lib/classes/{RangeTreeObject.class.php => RangeTreeObject.php} (100%)
 rename lib/classes/{RangeTreeObjectFak.class.php => RangeTreeObjectFak.php} (100%)
 rename lib/classes/{RangeTreeObjectInst.class.php => RangeTreeObjectInst.php} (100%)
 rename lib/classes/{Request.class.php => Request.php} (100%)
 rename lib/classes/{ResetButton.class.php => ResetButton.php} (100%)
 rename lib/classes/{Score.class.php => Score.php} (100%)
 rename lib/classes/{SemBrowse.class.php => SemBrowse.php} (100%)
 rename lib/classes/{SemClass.class.php => SemClass.php} (100%)
 rename lib/classes/{SemType.class.php => SemType.php} (100%)
 rename lib/classes/{Seminar.class.php => Seminar.php} (100%)
 rename lib/classes/{SeminarCategories.class.php => SeminarCategories.php} (100%)
 rename lib/classes/{SessionDecoder.class.php => SessionDecoder.php} (100%)
 rename lib/classes/{SimpleCollection.class.php => SimpleCollection.php} (100%)
 rename lib/classes/{SimpleORMap.class.php => SimpleORMap.php} (100%)
 rename lib/classes/{SimpleORMapCollection.class.php => SimpleORMapCollection.php} (100%)
 rename lib/classes/{StudipArrayObject.class.php => StudipArrayObject.php} (100%)
 rename lib/classes/{StudipForm.class.php => StudipForm.php} (100%)
 rename lib/classes/{StudipItem.interface.php => StudipItem.php} (100%)
 rename lib/classes/{StudipKing.class.php => StudipKing.php} (100%)
 rename lib/classes/{StudipLink.class.php => StudipLink.php} (100%)
 rename lib/classes/{StudipLock.class.php => StudipLock.php} (100%)
 rename lib/classes/{StudipLog.class.php => StudipLog.php} (100%)
 rename lib/classes/{StudipLvgruppeSelection.class.php => StudipLvgruppeSelection.php} (100%)
 rename lib/classes/{StudipMail.class.php => StudipMail.php} (100%)
 rename lib/classes/{StudipObject.class.php => StudipObject.php} (100%)
 rename lib/classes/{StudipPDO.class.php => StudipPDO.php} (100%)
 rename lib/classes/{StudipRangeTree.class.php => StudipRangeTree.php} (100%)
 rename lib/classes/{StudipRangeTreeView.class.php => StudipRangeTreeView.php} (100%)
 rename lib/classes/{StudipRangeTreeViewAdmin.class.php => StudipRangeTreeViewAdmin.php} (100%)
 rename lib/classes/{StudipSemRangeTreeViewSimple.class.php => StudipSemRangeTreeViewSimple.php} (100%)
 rename lib/classes/{StudipSemSearch.class.php => StudipSemSearch.php} (100%)
 rename lib/classes/{StudipSemSearchHelper.class.php => StudipSemSearchHelper.php} (100%)
 rename lib/classes/{StudipSemTree.class.php => StudipSemTree.php} (100%)
 rename lib/classes/{StudipSemTreeSearch.class.php => StudipSemTreeSearch.php} (100%)
 rename lib/classes/{StudipSemTreeView.class.php => StudipSemTreeView.php} (100%)
 rename lib/classes/{StudipSemTreeViewAdmin.class.php => StudipSemTreeViewAdmin.php} (100%)
 rename lib/classes/{StudipSemTreeViewSimple.class.php => StudipSemTreeViewSimple.php} (100%)
 rename lib/classes/{StudipStudyAreaSelection.class.php => StudipStudyAreaSelection.php} (100%)
 rename lib/classes/{StudygroupAvatar.class.php => StudygroupAvatar.php} (100%)
 rename lib/classes/{TreeAbstract.class.php => TreeAbstract.php} (100%)
 rename lib/classes/{TreeView.class.php => TreeView.php} (100%)
 rename lib/classes/{UpdateInformation.class.php => UpdateInformation.php} (100%)
 rename lib/classes/{UserConfig.class.php => UserConfig.php} (100%)
 rename lib/classes/{UserLookup.class.php => UserLookup.php} (100%)
 rename lib/classes/{UserManagement.class.php => UserManagement.php} (100%)
 rename lib/classes/admission/{AdmissionAlgorithm.class.php => AdmissionAlgorithm.php} (100%)
 rename lib/classes/admission/{AdmissionPriority.class.php => AdmissionPriority.php} (100%)
 rename lib/classes/admission/{AdmissionRule.class.php => AdmissionRule.php} (100%)
 rename lib/classes/admission/{AdmissionUserList.class.php => AdmissionUserList.php} (100%)
 rename lib/classes/admission/{CourseSet.class.php => CourseSet.php} (100%)
 rename lib/classes/admission/{RandomAlgorithm.class.php => RandomAlgorithm.php} (100%)
 rename lib/classes/admission/{UserFilter.class.php => UserFilter.php} (100%)
 rename lib/classes/admission/{UserFilterField.class.php => UserFilterField.php} (100%)
 rename lib/classes/admission/userfilter/{DatafieldCondition.class.php => DatafieldCondition.php} (100%)
 rename lib/classes/admission/userfilter/{DegreeCondition.class.php => DegreeCondition.php} (100%)
 rename lib/classes/admission/userfilter/{PermissionCondition.class.php => PermissionCondition.php} (100%)
 rename lib/classes/admission/userfilter/{SemesterOfStudyCondition.class.php => SemesterOfStudyCondition.php} (100%)
 rename lib/classes/admission/userfilter/{StgteilVersionCondition.class.php => StgteilVersionCondition.php} (100%)
 rename lib/classes/admission/userfilter/{SubjectCondition.class.php => SubjectCondition.php} (100%)
 rename lib/classes/admission/userfilter/{SubjectConditionAny.class.php => SubjectConditionAny.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthAbstract.class.php => StudipAuthAbstract.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthCAS.class.php => StudipAuthCAS.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthIP.class.php => StudipAuthIP.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthLTI.class.php => StudipAuthLTI.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthLdap.class.php => StudipAuthLdap.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthLdapReadAndBind.class.php => StudipAuthLdapReadAndBind.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthOIDC.class.php => StudipAuthOIDC.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthSSO.class.php => StudipAuthSSO.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthShib.class.php => StudipAuthShib.php} (100%)
 rename lib/classes/auth_plugins/{StudipAuthStandard.class.php => StudipAuthStandard.php} (100%)
 rename lib/classes/cache/{Cache.class.php => Cache.php} (100%)
 rename lib/classes/cache/{DbCache.class.php => DbCache.php} (100%)
 rename lib/classes/cache/{Factory.class.php => Factory.php} (100%)
 rename lib/classes/cache/{FileCache.class.php => FileCache.php} (100%)
 rename lib/classes/cache/{Item.class.php => Item.php} (100%)
 rename lib/classes/cache/{MemcachedCache.class.php => MemcachedCache.php} (100%)
 rename lib/classes/cache/{MemoryCache.class.php => MemoryCache.php} (100%)
 rename lib/classes/cache/{Proxy.class.php => Proxy.php} (100%)
 rename lib/classes/cache/{RedisCache.class.php => RedisCache.php} (100%)
 rename lib/classes/cache/{Wrapper.class.php => Wrapper.php} (100%)
 rename lib/classes/calendar/{EventData.class.php => EventData.php} (100%)
 rename lib/classes/calendar/{EventSource.interface.php => EventSource.php} (100%)
 rename lib/classes/calendar/{ICalendarExport.class.php => ICalendarExport.php} (100%)
 rename lib/classes/calendar/{ICalendarImport.class.php => ICalendarImport.php} (100%)
 rename lib/classes/calendar/{Owner.interface.php => Owner.php} (100%)
 rename lib/classes/exportdocument/{ExportDocument.interface.php => ExportDocument.php} (100%)
 rename lib/classes/exportdocument/{ExportPDF.class.php => ExportPDF.php} (100%)
 rename lib/classes/librarysearch/{LibraryDocument.class.php => LibraryDocument.php} (100%)
 rename lib/classes/librarysearch/{LibraryResultParser.interface.php => LibraryResultParser.php} (100%)
 rename lib/classes/librarysearch/{LibrarySearch.class.php => LibrarySearch.php} (100%)
 rename lib/classes/librarysearch/{LibrarySearchManager.class.php => LibrarySearchManager.php} (100%)
 rename lib/classes/librarysearch/resultparsers/{BASELibraryResultParser.class.php => BASELibraryResultParser.php} (100%)
 rename lib/classes/librarysearch/resultparsers/{K10PlusLibraryResultParser.class.php => K10PlusLibraryResultParser.php} (100%)
 rename lib/classes/librarysearch/resultparsers/{MarcxmlLibraryResultParser.class.php => MarcxmlLibraryResultParser.php} (100%)
 rename lib/classes/librarysearch/resultparsers/{SRULibraryResultParser.class.php => SRULibraryResultParser.php} (100%)
 rename lib/classes/librarysearch/searchmodules/{BASELibrarySearch.class.php => BASELibrarySearch.php} (100%)
 rename lib/classes/librarysearch/searchmodules/{K10PlusZentralLibrarySearch.class.php => K10PlusZentralLibrarySearch.php} (100%)
 rename lib/classes/librarysearch/searchmodules/{SRULibrarySearch.class.php => SRULibrarySearch.php} (100%)
 rename lib/classes/searchtypes/{MyCoursesSearch.class.php => MyCoursesSearch.php} (100%)
 rename lib/classes/searchtypes/{PermissionSearch.class.php => PermissionSearch.php} (100%)
 rename lib/classes/searchtypes/{RangeSearch.class.php => RangeSearch.php} (100%)
 rename lib/classes/searchtypes/{ResourceSearch.class.php => ResourceSearch.php} (100%)
 rename lib/classes/searchtypes/{RoomSearch.class.php => RoomSearch.php} (100%)
 rename lib/classes/searchtypes/{SQLSearch.class.php => SQLSearch.php} (100%)
 rename lib/classes/searchtypes/{SearchType.class.php => SearchType.php} (100%)
 rename lib/classes/searchtypes/{SeminarSearch.class.php => SeminarSearch.php} (100%)
 rename lib/classes/searchtypes/{StandardSearch.class.php => StandardSearch.php} (100%)
 rename lib/classes/searchtypes/{TreeSearch.class.php => TreeSearch.php} (100%)
 rename lib/classes/sidebar/{ClipboardWidget.class.php => ClipboardWidget.php} (100%)
 rename lib/classes/sidebar/{InstituteSelectWidget.class.php => InstituteSelectWidget.php} (100%)
 rename lib/classes/sidebar/{ResourceTreeWidget.class.php => ResourceTreeWidget.php} (100%)
 rename lib/classes/sidebar/{RoomClipboardWidget.class.php => RoomClipboardWidget.php} (100%)
 rename lib/classes/sidebar/{RoomSearchTreeWidget.class.php => RoomSearchTreeWidget.php} (100%)
 rename lib/classes/sidebar/{RoomSearchWidget.class.php => RoomSearchWidget.php} (100%)
 rename lib/cronjobs/{check_admission.class.php => check_admission.php} (100%)
 rename lib/cronjobs/{cleanup_log.class.php => cleanup_log.php} (100%)
 rename lib/cronjobs/{garbage_collector.class.php => garbage_collector.php} (100%)
 rename lib/cronjobs/{purge_cache.class.php => purge_cache.php} (100%)
 rename lib/cronjobs/{remind_oer_upload.class.php => remind_oer_upload.php} (100%)
 rename lib/cronjobs/{send_mail_notifications.class.php => send_mail_notifications.php} (100%)
 rename lib/cronjobs/{send_mail_queue.class.php => send_mail_queue.php} (100%)
 rename lib/cronjobs/{session_gc.class.php => session_gc.php} (100%)
 rename lib/elearning/{ConnectedCMS.class.php => ConnectedCMS.php} (100%)
 rename lib/elearning/{ConnectedLink.class.php => ConnectedLink.php} (100%)
 rename lib/elearning/{ConnectedPermissions.class.php => ConnectedPermissions.php} (100%)
 rename lib/elearning/{ConnectedUser.class.php => ConnectedUser.php} (100%)
 rename lib/elearning/{ContentModule.class.php => ContentModule.php} (100%)
 rename lib/elearning/{ContentModuleView.class.php => ContentModuleView.php} (100%)
 rename lib/elearning/{ELearningUtils.class.php => ELearningUtils.php} (100%)
 rename lib/elearning/{Ilias3ConnectedCMS.class.php => Ilias3ConnectedCMS.php} (100%)
 rename lib/elearning/{Ilias3ConnectedLink.class.php => Ilias3ConnectedLink.php} (100%)
 rename lib/elearning/{Ilias3ConnectedPermissions.class.php => Ilias3ConnectedPermissions.php} (100%)
 rename lib/elearning/{Ilias3ConnectedUser.class.php => Ilias3ConnectedUser.php} (100%)
 rename lib/elearning/{Ilias3ContentModule.class.php => Ilias3ContentModule.php} (100%)
 rename lib/elearning/{Ilias3ObjectXMLParser.class.php => Ilias3ObjectXMLParser.php} (100%)
 rename lib/elearning/{Ilias3SaxParser.class.php => Ilias3SaxParser.php} (100%)
 rename lib/elearning/{Ilias3Soap.class.php => Ilias3Soap.php} (100%)
 rename lib/elearning/{Ilias4ConnectedCMS.class.php => Ilias4ConnectedCMS.php} (100%)
 rename lib/elearning/{Ilias4ConnectedLink.class.php => Ilias4ConnectedLink.php} (100%)
 rename lib/elearning/{Ilias4ConnectedPermissions.class.php => Ilias4ConnectedPermissions.php} (100%)
 rename lib/elearning/{Ilias4ConnectedUser.class.php => Ilias4ConnectedUser.php} (100%)
 rename lib/elearning/{Ilias4ContentModule.class.php => Ilias4ContentModule.php} (100%)
 rename lib/elearning/{Ilias4Soap.class.php => Ilias4Soap.php} (100%)
 rename lib/elearning/{Ilias5ConnectedCMS.class.php => Ilias5ConnectedCMS.php} (100%)
 rename lib/elearning/{Ilias5ConnectedLink.class.php => Ilias5ConnectedLink.php} (100%)
 rename lib/elearning/{Ilias5ConnectedPermissions.class.php => Ilias5ConnectedPermissions.php} (100%)
 rename lib/elearning/{Ilias5ConnectedUser.class.php => Ilias5ConnectedUser.php} (100%)
 rename lib/elearning/{Ilias5ContentModule.class.php => Ilias5ContentModule.php} (100%)
 rename lib/elearning/{Ilias5Soap.class.php => Ilias5Soap.php} (100%)
 rename lib/elearning/{LonCapaConnectedCMS.class.php => LonCapaConnectedCMS.php} (100%)
 rename lib/elearning/{LonCapaConnectedLink.class.php => LonCapaConnectedLink.php} (100%)
 rename lib/elearning/{LonCapaContentModule.class.php => LonCapaContentModule.php} (100%)
 rename lib/elearning/{LonCapaRequest.class.php => LonCapaRequest.php} (100%)
 rename lib/elearning/{ObjectConnections.class.php => ObjectConnections.php} (100%)
 rename lib/elearning/{PmWikiConnectedCMS.class.php => PmWikiConnectedCMS.php} (100%)
 rename lib/elearning/{PmWikiConnectedLink.class.php => PmWikiConnectedLink.php} (100%)
 rename lib/elearning/{PmWikiContentModule.class.php => PmWikiContentModule.php} (100%)
 rename lib/exceptions/{ClipboardException.class.php => ClipboardException.php} (100%)
 rename lib/exceptions/resources/{GlobalResourceLockException.class.php => GlobalResourceLockException.php} (100%)
 rename lib/exceptions/resources/{GlobalResourceLockOverlapException.class.php => GlobalResourceLockOverlapException.php} (100%)
 rename lib/exceptions/resources/{InvalidResourceCategoryException.class.php => InvalidResourceCategoryException.php} (100%)
 rename lib/exceptions/resources/{InvalidResourceClassException.class.php => InvalidResourceClassException.php} (100%)
 rename lib/exceptions/resources/{InvalidResourceException.class.php => InvalidResourceException.php} (100%)
 rename lib/exceptions/resources/{InvalidResourceRequestException.class.php => InvalidResourceRequestException.php} (100%)
 rename lib/exceptions/resources/{NoResourceClassException.class.php => NoResourceClassException.php} (100%)
 rename lib/exceptions/resources/{ResourceBookingException.class.php => ResourceBookingException.php} (100%)
 rename lib/exceptions/resources/{ResourceBookingOverlapException.class.php => ResourceBookingOverlapException.php} (100%)
 rename lib/exceptions/resources/{ResourceBookingRangeException.class.php => ResourceBookingRangeException.php} (100%)
 rename lib/exceptions/resources/{ResourceException.class.php => ResourceException.php} (100%)
 rename lib/exceptions/resources/{ResourceNoTimeRangeException.class.php => ResourceNoTimeRangeException.php} (100%)
 rename lib/exceptions/resources/{ResourcePermissionException.class.php => ResourcePermissionException.php} (100%)
 rename lib/exceptions/resources/{ResourcePropertyDefinitionException.class.php => ResourcePropertyDefinitionException.php} (100%)
 rename lib/exceptions/resources/{ResourcePropertyException.class.php => ResourcePropertyException.php} (100%)
 rename lib/exceptions/resources/{ResourcePropertyStateException.class.php => ResourcePropertyStateException.php} (100%)
 rename lib/exceptions/resources/{ResourceRequestException.class.php => ResourceRequestException.php} (100%)
 rename lib/exceptions/resources/{ResourceUnavailableException.class.php => ResourceUnavailableException.php} (100%)
 rename lib/exceptions/resources/{ResourceUnlockableException.class.php => ResourceUnlockableException.php} (100%)
 rename lib/exceptions/resources/{SeparableRoomException.class.php => SeparableRoomException.php} (100%)
 rename lib/filesystem/{FileArchiveManager.class.php => FileArchiveManager.php} (100%)
 rename lib/filesystem/{FileArchiveManagerException.class.php => FileArchiveManagerException.php} (100%)
 rename lib/filesystem/{LibraryFile.class.php => LibraryFile.php} (100%)
 rename lib/filesystem/{ResourceFolder.class.php => ResourceFolder.php} (100%)
 rename lib/ilias_interface/{ConnectedIlias.class.php => ConnectedIlias.php} (100%)
 rename lib/ilias_interface/{IliasModule.class.php => IliasModule.php} (100%)
 rename lib/ilias_interface/{IliasObjectConnections.class.php => IliasObjectConnections.php} (100%)
 rename lib/ilias_interface/{IliasSoap.class.php => IliasSoap.php} (100%)
 rename lib/ilias_interface/{IliasUser.class.php => IliasUser.php} (100%)
 rename lib/models/{AdmissionApplication.class.php => AdmissionApplication.php} (100%)
 rename lib/models/{ArchivedCourse.class.php => ArchivedCourse.php} (100%)
 rename lib/models/{ArchivedCourseMember.class.php => ArchivedCourseMember.php} (100%)
 rename lib/models/{AuthUserMd5.class.php => AuthUserMd5.php} (100%)
 rename lib/models/{Banner.class.php => Banner.php} (100%)
 rename lib/models/{BannerRoles.class.php => BannerRoles.php} (100%)
 rename lib/models/{Clipboard.class.php => Clipboard.php} (100%)
 rename lib/models/{ClipboardItem.class.php => ClipboardItem.php} (100%)
 rename lib/models/{ColourValue.class.php => ColourValue.php} (100%)
 rename lib/models/{ConfigEntry.class.php => ConfigEntry.php} (100%)
 rename lib/models/{Contact.class.php => Contact.php} (100%)
 rename lib/models/{ContactGroup.class.php => ContactGroup.php} (100%)
 rename lib/models/{ContactGroupItem.class.php => ContactGroupItem.php} (100%)
 rename lib/models/{ContentTermsOfUse.class.php => ContentTermsOfUse.php} (100%)
 rename lib/models/{Course.class.php => Course.php} (100%)
 rename lib/models/{CourseDate.class.php => CourseDate.php} (100%)
 rename lib/models/{CourseExDate.class.php => CourseExDate.php} (100%)
 rename lib/models/{CourseMember.class.php => CourseMember.php} (100%)
 rename lib/models/{CourseTopic.class.php => CourseTopic.php} (100%)
 rename lib/models/{CronjobLog.class.php => CronjobLog.php} (100%)
 rename lib/models/{CronjobSchedule.class.php => CronjobSchedule.php} (100%)
 rename lib/models/{CronjobTask.class.php => CronjobTask.php} (100%)
 rename lib/models/{DataField.class.php => DataField.php} (100%)
 rename lib/models/{DatafieldEntryModel.class.php => DatafieldEntryModel.php} (100%)
 rename lib/models/{DatafieldEntryModelI18N.class.php => DatafieldEntryModelI18N.php} (100%)
 rename lib/models/{Degree.class.php => Degree.php} (100%)
 rename lib/models/{HelpContent.class.php => HelpContent.php} (100%)
 rename lib/models/{HelpTour.class.php => HelpTour.php} (100%)
 rename lib/models/{HelpTourAudience.class.php => HelpTourAudience.php} (100%)
 rename lib/models/{HelpTourSettings.class.php => HelpTourSettings.php} (100%)
 rename lib/models/{HelpTourStep.class.php => HelpTourStep.php} (100%)
 rename lib/models/{HelpTourUser.class.php => HelpTourUser.php} (100%)
 rename lib/models/{Institute.class.php => Institute.php} (100%)
 rename lib/models/{InstituteMember.class.php => InstituteMember.php} (100%)
 rename lib/models/{InstitutePlanColumn.class.php => InstitutePlanColumn.php} (100%)
 rename lib/models/{Kategorie.class.php => Kategorie.php} (100%)
 rename lib/models/{LockRule.class.php => LockRule.php} (100%)
 rename lib/models/{LoginBackground.class.php => LoginBackground.php} (100%)
 rename lib/models/{LoginFaq.class.php => LoginFaq.php} (100%)
 rename lib/models/{MailQueueEntry.class.php => MailQueueEntry.php} (100%)
 rename lib/models/{Message.class.php => Message.php} (100%)
 rename lib/models/{MessageUser.class.php => MessageUser.php} (100%)
 rename lib/models/{MvvOverlappingConflict.class.php => MvvOverlappingConflict.php} (100%)
 rename lib/models/{MvvOverlappingSelection.class.php => MvvOverlappingSelection.php} (100%)
 rename lib/models/{NewsRange.class.php => NewsRange.php} (100%)
 rename lib/models/{NewsRoles.class.php => NewsRoles.php} (100%)
 rename lib/models/{OpenGraphURL.class.php => OpenGraphURL.php} (100%)
 rename lib/models/{OpenGraphURLCollection.class.php => OpenGraphURLCollection.php} (100%)
 rename lib/models/{PersonalNotifications.class.php => PersonalNotifications.php} (100%)
 rename lib/models/{Semester.class.php => Semester.php} (100%)
 rename lib/models/{SemesterCourse.class.php => SemesterCourse.php} (100%)
 rename lib/models/{SemesterHoliday.class.php => SemesterHoliday.php} (100%)
 rename lib/models/{SeminarCycleDate.class.php => SeminarCycleDate.php} (100%)
 rename lib/models/{StudipComment.class.php => StudipComment.php} (100%)
 rename lib/models/{StudipNews.class.php => StudipNews.php} (100%)
 rename lib/models/{StudipScmEntry.class.php => StudipScmEntry.php} (100%)
 rename lib/models/{StudipStudyArea.class.php => StudipStudyArea.php} (100%)
 rename lib/models/{StudyCourse.class.php => StudyCourse.php} (100%)
 rename lib/models/{User.class.php => User.php} (100%)
 rename lib/models/{UserInfo.class.php => UserInfo.php} (100%)
 rename lib/models/{UserOnline.class.php => UserOnline.php} (100%)
 rename lib/models/{UserStudyCourse.class.php => UserStudyCourse.php} (100%)
 rename lib/models/{WebserviceAccessRule.class.php => WebserviceAccessRule.php} (100%)
 rename lib/models/{WikiPage.class.php => WikiPage.php} (100%)
 rename lib/models/calendar/{CalendarCourseDate.class.php => CalendarCourseDate.php} (100%)
 rename lib/models/calendar/{CalendarCourseExDate.class.php => CalendarCourseExDate.php} (100%)
 rename lib/models/calendar/{CalendarDate.class.php => CalendarDate.php} (100%)
 rename lib/models/calendar/{CalendarDateAssignment.class.php => CalendarDateAssignment.php} (100%)
 rename lib/models/calendar/{CalendarDateException.class.php => CalendarDateException.php} (100%)
 rename lib/models/resources/{BrokenResource.class.php => BrokenResource.php} (100%)
 rename lib/models/resources/{Building.class.php => Building.php} (100%)
 rename lib/models/resources/{GlobalResourceLock.class.php => GlobalResourceLock.php} (100%)
 rename lib/models/resources/{Location.class.php => Location.php} (100%)
 rename lib/models/resources/{Resource.class.php => Resource.php} (100%)
 rename lib/models/resources/{ResourceBooking.class.php => ResourceBooking.php} (100%)
 rename lib/models/resources/{ResourceBookingInterval.class.php => ResourceBookingInterval.php} (100%)
 rename lib/models/resources/{ResourceCategory.class.php => ResourceCategory.php} (100%)
 rename lib/models/resources/{ResourceCategoryProperty.class.php => ResourceCategoryProperty.php} (100%)
 rename lib/models/resources/{ResourceLabel.class.php => ResourceLabel.php} (100%)
 rename lib/models/resources/{ResourcePermission.class.php => ResourcePermission.php} (100%)
 rename lib/models/resources/{ResourceProperty.class.php => ResourceProperty.php} (100%)
 rename lib/models/resources/{ResourcePropertyDefinition.class.php => ResourcePropertyDefinition.php} (100%)
 rename lib/models/resources/{ResourcePropertyGroup.class.php => ResourcePropertyGroup.php} (100%)
 rename lib/models/resources/{ResourceRequest.class.php => ResourceRequest.php} (100%)
 rename lib/models/resources/{ResourceRequestAppointment.class.php => ResourceRequestAppointment.php} (100%)
 rename lib/models/resources/{ResourceRequestProperty.class.php => ResourceRequestProperty.php} (100%)
 rename lib/models/resources/{ResourceTemporaryPermission.class.php => ResourceTemporaryPermission.php} (100%)
 rename lib/models/resources/{Room.class.php => Room.php} (100%)
 rename lib/models/resources/{RoomRequest.class.php => RoomRequest.php} (100%)
 rename lib/models/resources/{SeparableRoom.class.php => SeparableRoom.php} (100%)
 rename lib/models/resources/{SeparableRoomPart.class.php => SeparableRoomPart.php} (100%)
 rename lib/modules/{Blubber.class.php => Blubber.php} (100%)
 rename lib/modules/{ConsultationModule.class.php => ConsultationModule.php} (100%)
 rename lib/modules/{CoreAdmin.class.php => CoreAdmin.php} (100%)
 rename lib/modules/{CoreCalendar.class.php => CoreCalendar.php} (100%)
 rename lib/modules/{CoreDocuments.class.php => CoreDocuments.php} (100%)
 rename lib/modules/{CoreElearningInterface.class.php => CoreElearningInterface.php} (100%)
 rename lib/modules/{CoreForum.class.php => CoreForum.php} (100%)
 rename lib/modules/{CoreOverview.class.php => CoreOverview.php} (100%)
 rename lib/modules/{CoreParticipants.class.php => CoreParticipants.php} (100%)
 rename lib/modules/{CorePersonal.class.php => CorePersonal.php} (100%)
 rename lib/modules/{CoreSchedule.class.php => CoreSchedule.php} (100%)
 rename lib/modules/{CoreScm.class.php => CoreScm.php} (100%)
 rename lib/modules/{CoreStudygroupAdmin.class.php => CoreStudygroupAdmin.php} (100%)
 rename lib/modules/{CoreStudygroupParticipants.class.php => CoreStudygroupParticipants.php} (100%)
 rename lib/modules/{CoreWiki.class.php => CoreWiki.php} (100%)
 rename lib/modules/{CoursewareModule.class.php => CoursewareModule.php} (100%)
 rename lib/modules/{FeedbackModule.class.php => FeedbackModule.php} (100%)
 rename lib/modules/{GradebookModule.class.php => GradebookModule.php} (100%)
 rename lib/modules/{IliasInterfaceModule.class.php => IliasInterfaceModule.php} (100%)
 rename lib/modules/{LtiToolModule.class.php => LtiToolModule.php} (100%)
 rename lib/modules/{StudipModule.class.php => StudipModule.php} (100%)
 rename lib/phplib/{CT_Cache.class.php => CT_Cache.php} (100%)
 rename lib/phplib/{CT_Sql.class.php => CT_Sql.php} (100%)
 rename lib/phplib/{DB_Sql.class.php => DB_Sql.php} (100%)
 rename lib/phplib/{Seminar_Auth.class.php => Seminar_Auth.php} (100%)
 rename lib/phplib/{Seminar_Default_Auth.class.php => Seminar_Default_Auth.php} (100%)
 rename lib/phplib/{Seminar_Perm.class.php => Seminar_Perm.php} (100%)
 rename lib/phplib/{Seminar_Register_Auth.class.php => Seminar_Register_Auth.php} (100%)
 rename lib/phplib/{Seminar_Session.class.php => Seminar_Session.php} (100%)
 rename lib/phplib/{Seminar_User.class.php => Seminar_User.php} (100%)
 rename lib/phplib/{email_validation.class.php => email_validation.php} (100%)
 rename lib/plugins/core/{AdminCourseAction.class.php => AdminCourseAction.php} (100%)
 rename lib/plugins/core/{AdminCourseContents.class.php => AdminCourseContents.php} (100%)
 rename lib/plugins/core/{AdminCourseWidgetPlugin.class.php => AdminCourseWidgetPlugin.php} (100%)
 rename lib/plugins/core/{AdministrationPlugin.class.php => AdministrationPlugin.php} (100%)
 rename lib/plugins/core/{DetailspagePlugin.class.php => DetailspagePlugin.php} (100%)
 rename lib/plugins/core/{FileUploadHook.class.php => FileUploadHook.php} (100%)
 rename lib/plugins/core/{FilesystemPlugin.class.php => FilesystemPlugin.php} (100%)
 rename lib/plugins/core/{ForumModule.class.php => ForumModule.php} (100%)
 rename lib/plugins/core/{HomepagePlugin.class.php => HomepagePlugin.php} (100%)
 rename lib/plugins/core/{LibraryPlugin.class.php => LibraryPlugin.php} (100%)
 rename lib/plugins/core/{MetricsPlugin.class.php => MetricsPlugin.php} (100%)
 rename lib/plugins/core/{PortalPlugin.class.php => PortalPlugin.php} (100%)
 rename lib/plugins/core/{PrivacyPlugin.class.php => PrivacyPlugin.php} (100%)
 rename lib/plugins/core/{QuestionnaireAssignmentPlugin.class.php => QuestionnaireAssignmentPlugin.php} (100%)
 rename lib/plugins/core/{RESTAPIPlugin.class.php => RESTAPIPlugin.php} (100%)
 rename lib/plugins/core/{Role.class.php => Role.php} (100%)
 rename lib/plugins/core/{ScorePlugin.class.php => ScorePlugin.php} (100%)
 rename lib/plugins/core/{StandardPlugin.class.php => StandardPlugin.php} (100%)
 rename lib/plugins/core/{StudIPPlugin.class.php => StudIPPlugin.php} (100%)
 rename lib/plugins/core/{SystemPlugin.class.php => SystemPlugin.php} (100%)
 rename lib/plugins/core/{WebServicePlugin.class.php => WebServicePlugin.php} (100%)
 rename lib/plugins/db/{RolePersistence.class.php => RolePersistence.php} (100%)
 rename lib/plugins/engine/{PluginEngine.class.php => PluginEngine.php} (100%)
 rename lib/plugins/engine/{PluginManager.class.php => PluginManager.php} (100%)
 rename lib/plugins/engine/{PluginRepository.class.php => PluginRepository.php} (100%)
 rename lib/raumzeit/{CycleData.class.php => CycleData.php} (100%)
 rename lib/raumzeit/{CycleDataDB.class.php => CycleDataDB.php} (100%)
 rename lib/raumzeit/{Issue.class.php => Issue.php} (100%)
 rename lib/raumzeit/{IssueDB.class.php => IssueDB.php} (100%)
 rename lib/raumzeit/{MetaDate.class.php => MetaDate.php} (100%)
 rename lib/raumzeit/{MetaDateDB.class.php => MetaDateDB.php} (100%)
 rename lib/raumzeit/{SeminarDB.class.php => SeminarDB.php} (100%)
 rename lib/raumzeit/{SingleDate.class.php => SingleDate.php} (100%)
 rename lib/raumzeit/{SingleDateDB.class.php => SingleDateDB.php} (100%)
 rename lib/resources/{ResourceManager.class.php => ResourceManager.php} (100%)
 rename lib/resources/{RoomManager.class.php => RoomManager.php} (100%)
 rename lib/soap/{StudipSoapClient.class.php => StudipSoapClient.php} (100%)
 rename lib/soap/{StudipSoapClient_PHP5.class.php => StudipSoapClient_PHP5.php} (100%)
 rename vendor/oauth-php/library/session/{OAuthSessionAbstract.class.php => OAuthSessionAbstract.php} (100%)
 rename vendor/oauth-php/library/signature_method/{OAuthSignatureMethod.class.php => OAuthSignatureMethod.php} (100%)
 rename vendor/oauth-php/library/store/{OAuthStoreAbstract.class.php => OAuthStoreAbstract.php} (100%)

diff --git a/app/controllers/questionnaire.php b/app/controllers/questionnaire.php
index 4016b9dd04e..94e4d049ba8 100644
--- a/app/controllers/questionnaire.php
+++ b/app/controllers/questionnaire.php
@@ -1,7 +1,5 @@
 <?php
 
-require_once 'lib/classes/QuestionType.interface.php';
-
 class QuestionnaireController extends AuthenticatedController
 {
     protected $allow_nobody = true; //nobody is allowed
diff --git a/composer.json b/composer.json
index 218f448a596..56db8e1b7a7 100644
--- a/composer.json
+++ b/composer.json
@@ -7,6 +7,65 @@
             "php": "8.1"
         }
     },
+    "autoload": {
+        "psr-4": {
+            "exTpl\\": "lib/exTpl/",
+            "Flexi\\": "lib/flexi/",
+            "Studip\\Activity\\": "lib/activities/",
+            "Studip\\Cache\\": "lib/classes/cache/",
+            "Studip\\Calendar\\": "lib/classes/calendar/",
+            "Studip\\": "lib/classes/",
+            "Trails\\": "lib/trails/",
+            "": [
+                "lib/calendar/",
+                "lib/calendar/lib/",
+                "lib/classes/",
+                "lib/classes/admission/",
+                "lib/classes/admission/userfilter/",
+                "lib/classes/auth_plugins/",
+                "lib/classes/calendar/",
+                "lib/classes/coursewizardsteps/",
+                "lib/classes/exportdocument/",
+                "lib/classes/forms/",
+                "lib/classes/globalsearch/",
+                "lib/classes/helpbar/",
+                "lib/classes/librarysearch/",
+                "lib/classes/librarysearch/resultparsers/",
+                "lib/classes/librarysearch/searchmodules/",
+                "lib/classes/searchtypes/",
+                "lib/classes/sidebar/",
+                "lib/classes/visibility/",
+                "lib/classes/wiki/",
+                "lib/elearning/",
+                "lib/exTpl', 'exTpl/",
+                "lib/exceptions/",
+                "lib/exceptions/resources/",
+                "lib/extern/",
+                "lib/filesystem/",
+                "lib/ilias_interface",
+                "lib/migrations/",
+                "lib/models/",
+                "lib/models/calendar/",
+                "lib/models/resources/",
+                "lib/modules/",
+                "lib/navigation/",
+                "lib/phplib/",
+                "lib/plugins/core/",
+                "lib/plugins/db/",
+                "lib/plugins/engine/",
+                "lib/raumzeit/",
+                "lib/resources/"
+            ]
+        },
+        "classmap": [
+            "lib/phplib/email_validation.php",
+            "lib/messaging.inc.php",
+            "lib/plugins/core/StudIPPlugin.php",
+            "app/controllers/module/mvv_controller.php",
+            "vendor/phpass/PasswordHash.php",
+            "composer/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc"
+        ]
+    },
     "require-dev": {
         "woohoolabs/yang": "3.0.0",
         "codeception/codeception": "5.1.2",
@@ -14,7 +73,8 @@
         "overtrue/phplint": "9.3.0",
         "phpstan/phpstan": "1.11.0",
         "symfony/var-dumper": "6.4.7",
-        "maximebf/debugbar": "1.22.3"
+        "maximebf/debugbar": "1.22.3",
+        "codeception/specify": "^2.0"
     },
     "require": {
         "php": "^8.1",
diff --git a/composer.lock b/composer.lock
index c9814d01e04..e4b114b35fa 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "be0994b08d5455c5b4d6512e6d019659",
+    "content-hash": "d524d0543302bb6f60235cbdecb3f811",
     "packages": [
         {
             "name": "algo26-matthias/idna-convert",
@@ -196,12 +196,12 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/edu-sharing/php-auth-plugin.git",
-                "reference": "4dc40c400afea63bd75ddd5ad4cea8033e477e72"
+                "reference": "d0384dce4023449220052d1b648bb1b41babd3d0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/edu-sharing/php-auth-plugin/zipball/4dc40c400afea63bd75ddd5ad4cea8033e477e72",
-                "reference": "4dc40c400afea63bd75ddd5ad4cea8033e477e72",
+                "url": "https://api.github.com/repos/edu-sharing/php-auth-plugin/zipball/d0384dce4023449220052d1b648bb1b41babd3d0",
+                "reference": "d0384dce4023449220052d1b648bb1b41babd3d0",
                 "shasum": ""
             },
             "require": {
@@ -235,7 +235,7 @@
                 "issues": "https://github.com/edu-sharing/php-auth-plugin/issues",
                 "source": "https://github.com/edu-sharing/php-auth-plugin/tree/8.0"
             },
-            "time": "2024-04-02T10:02:58+00:00"
+            "time": "2024-06-03T10:59:11+00:00"
         },
         {
             "name": "ezyang/htmlpurifier",
@@ -1066,16 +1066,16 @@
         },
         {
             "name": "lcobucci/jwt",
-            "version": "5.2.0",
+            "version": "5.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/lcobucci/jwt.git",
-                "reference": "0ba88aed12c04bd2ed9924f500673f32b67a6211"
+                "reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/lcobucci/jwt/zipball/0ba88aed12c04bd2ed9924f500673f32b67a6211",
-                "reference": "0ba88aed12c04bd2ed9924f500673f32b67a6211",
+                "url": "https://api.github.com/repos/lcobucci/jwt/zipball/08071d8d2c7f4b00222cc4b1fb6aa46990a80f83",
+                "reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83",
                 "shasum": ""
             },
             "require": {
@@ -1123,7 +1123,7 @@
             ],
             "support": {
                 "issues": "https://github.com/lcobucci/jwt/issues",
-                "source": "https://github.com/lcobucci/jwt/tree/5.2.0"
+                "source": "https://github.com/lcobucci/jwt/tree/5.3.0"
             },
             "funding": [
                 {
@@ -1135,7 +1135,7 @@
                     "type": "patreon"
                 }
             ],
-            "time": "2023-11-20T21:17:42+00:00"
+            "time": "2024-04-11T23:07:54+00:00"
         },
         {
             "name": "league/event",
@@ -1455,29 +1455,35 @@
         },
         {
             "name": "maennchen/zipstream-php",
-            "version": "2.1.0",
+            "version": "3.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/maennchen/ZipStream-PHP.git",
-                "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58"
+                "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58",
-                "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58",
+                "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1",
+                "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1",
                 "shasum": ""
             },
             "require": {
-                "myclabs/php-enum": "^1.5",
-                "php": ">= 7.1",
-                "psr/http-message": "^1.0",
-                "symfony/polyfill-mbstring": "^1.0"
+                "ext-mbstring": "*",
+                "ext-zlib": "*",
+                "php-64bit": "^8.1"
             },
             "require-dev": {
                 "ext-zip": "*",
-                "guzzlehttp/guzzle": ">= 6.3",
+                "friendsofphp/php-cs-fixer": "^3.16",
+                "guzzlehttp/guzzle": "^7.5",
                 "mikey179/vfsstream": "^1.6",
-                "phpunit/phpunit": ">= 7.5"
+                "php-coveralls/php-coveralls": "^2.5",
+                "phpunit/phpunit": "^10.0",
+                "vimeo/psalm": "^5.0"
+            },
+            "suggest": {
+                "guzzlehttp/psr7": "^2.4",
+                "psr/http-message": "^2.0"
             },
             "type": "library",
             "autoload": {
@@ -1514,7 +1520,7 @@
             ],
             "support": {
                 "issues": "https://github.com/maennchen/ZipStream-PHP/issues",
-                "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.1.0"
+                "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0"
             },
             "funding": [
                 {
@@ -1526,7 +1532,7 @@
                     "type": "open_collective"
                 }
             ],
-            "time": "2020-05-30T13:11:16+00:00"
+            "time": "2023-06-21T14:59:35+00:00"
         },
         {
             "name": "markbaker/complex",
@@ -1637,16 +1643,16 @@
         },
         {
             "name": "monolog/monolog",
-            "version": "2.9.1",
+            "version": "2.9.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Seldaek/monolog.git",
-                "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1"
+                "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
-                "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
+                "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215",
+                "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215",
                 "shasum": ""
             },
             "require": {
@@ -1667,8 +1673,8 @@
                 "mongodb/mongodb": "^1.8",
                 "php-amqplib/php-amqplib": "~2.4 || ^3",
                 "phpspec/prophecy": "^1.15",
-                "phpstan/phpstan": "^0.12.91",
-                "phpunit/phpunit": "^8.5.14",
+                "phpstan/phpstan": "^1.10",
+                "phpunit/phpunit": "^8.5.38 || ^9.6.19",
                 "predis/predis": "^1.1 || ^2.0",
                 "rollbar/rollbar": "^1.3 || ^2 || ^3",
                 "ruflin/elastica": "^7",
@@ -1723,7 +1729,7 @@
             ],
             "support": {
                 "issues": "https://github.com/Seldaek/monolog/issues",
-                "source": "https://github.com/Seldaek/monolog/tree/2.9.1"
+                "source": "https://github.com/Seldaek/monolog/tree/2.9.3"
             },
             "funding": [
                 {
@@ -1735,94 +1741,33 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-02-06T13:44:46+00:00"
-        },
-        {
-            "name": "myclabs/php-enum",
-            "version": "1.7.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/myclabs/php-enum.git",
-                "reference": "d178027d1e679832db9f38248fcc7200647dc2b7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/myclabs/php-enum/zipball/d178027d1e679832db9f38248fcc7200647dc2b7",
-                "reference": "d178027d1e679832db9f38248fcc7200647dc2b7",
-                "shasum": ""
-            },
-            "require": {
-                "ext-json": "*",
-                "php": ">=7.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^7",
-                "squizlabs/php_codesniffer": "1.*",
-                "vimeo/psalm": "^3.8"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "MyCLabs\\Enum\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "PHP Enum contributors",
-                    "homepage": "https://github.com/myclabs/php-enum/graphs/contributors"
-                }
-            ],
-            "description": "PHP Enum implementation",
-            "homepage": "http://github.com/myclabs/php-enum",
-            "keywords": [
-                "enum"
-            ],
-            "support": {
-                "issues": "https://github.com/myclabs/php-enum/issues",
-                "source": "https://github.com/myclabs/php-enum/tree/1.7.7"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/mnapoli",
-                    "type": "github"
-                },
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum",
-                    "type": "tidelift"
-                }
-            ],
-            "time": "2020-11-14T18:14:52+00:00"
+            "time": "2024-04-12T20:52:51+00:00"
         },
         {
             "name": "neomerx/cors-psr7",
-            "version": "v2.0.2",
+            "version": "3.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/neomerx/cors-psr7.git",
-                "reference": "454e923aaf9ba4aa162f7aca2a514e41708b6ba5"
+                "reference": "515d7fdb60b9d475da70029d4e5662beaae1875f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/neomerx/cors-psr7/zipball/454e923aaf9ba4aa162f7aca2a514e41708b6ba5",
-                "reference": "454e923aaf9ba4aa162f7aca2a514e41708b6ba5",
+                "url": "https://api.github.com/repos/neomerx/cors-psr7/zipball/515d7fdb60b9d475da70029d4e5662beaae1875f",
+                "reference": "515d7fdb60b9d475da70029d4e5662beaae1875f",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.1.0",
+                "php": ">=8.0.0",
                 "psr/http-message": "^1.0",
-                "psr/log": "^1.0"
+                "psr/log": "^3.0"
             },
             "require-dev": {
-                "friendsofphp/php-cs-fixer": "^2.14",
+                "friendsofphp/php-cs-fixer": "^3.11",
                 "mockery/mockery": "^1.0",
-                "phpmd/phpmd": "^2.6",
-                "phpunit/phpunit": "^7.0",
+                "phpunit/phpunit": "^9.2",
                 "scrutinizer/ocular": "^1.4",
-                "squizlabs/php_codesniffer": "^2.9"
+                "squizlabs/php_codesniffer": "^3.0"
             },
             "type": "library",
             "autoload": {
@@ -1854,9 +1799,9 @@
             ],
             "support": {
                 "issues": "https://github.com/neomerx/cors-psr7/issues",
-                "source": "https://github.com/neomerx/cors-psr7/tree/develop"
+                "source": "https://github.com/neomerx/cors-psr7/tree/3.0.2"
             },
-            "time": "2019-02-14T10:35:50+00:00"
+            "time": "2022-11-28T03:29:06+00:00"
         },
         {
             "name": "nikic/fast-route",
@@ -2218,16 +2163,16 @@
         },
         {
             "name": "paragonie/constant_time_encoding",
-            "version": "v2.6.3",
+            "version": "v2.7.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/paragonie/constant_time_encoding.git",
-                "reference": "58c3f47f650c94ec05a151692652a868995d2938"
+                "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938",
-                "reference": "58c3f47f650c94ec05a151692652a868995d2938",
+                "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105",
+                "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105",
                 "shasum": ""
             },
             "require": {
@@ -2281,7 +2226,7 @@
                 "issues": "https://github.com/paragonie/constant_time_encoding/issues",
                 "source": "https://github.com/paragonie/constant_time_encoding"
             },
-            "time": "2022-06-14T06:56:20+00:00"
+            "time": "2024-05-08T12:18:48+00:00"
         },
         {
             "name": "paragonie/random_compat",
@@ -2438,24 +2383,26 @@
         },
         {
             "name": "php-di/invoker",
-            "version": "2.0.0",
+            "version": "2.3.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/PHP-DI/Invoker.git",
-                "reference": "540c27c86f663e20fe39a24cd72fa76cdb21d41a"
+                "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/540c27c86f663e20fe39a24cd72fa76cdb21d41a",
-                "reference": "540c27c86f663e20fe39a24cd72fa76cdb21d41a",
+                "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
+                "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
                 "shasum": ""
             },
             "require": {
-                "psr/container": "~1.0"
+                "php": ">=7.3",
+                "psr/container": "^1.0|^2.0"
             },
             "require-dev": {
                 "athletic/athletic": "~0.1.8",
-                "phpunit/phpunit": "~4.5"
+                "mnapoli/hard-mode": "~0.3.0",
+                "phpunit/phpunit": "^9.0"
             },
             "type": "library",
             "autoload": {
@@ -2479,9 +2426,15 @@
             ],
             "support": {
                 "issues": "https://github.com/PHP-DI/Invoker/issues",
-                "source": "https://github.com/PHP-DI/Invoker/tree/master"
+                "source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
             },
-            "time": "2017-03-20T19:28:22+00:00"
+            "funding": [
+                {
+                    "url": "https://github.com/mnapoli",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-09-08T09:24:21+00:00"
         },
         {
             "name": "php-di/php-di",
@@ -2899,21 +2852,21 @@
         },
         {
             "name": "phpxmlrpc/extras",
-            "version": "1.0.0-beta2",
+            "version": "1.0.0-beta4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gggeek/phpxmlrpc-extras.git",
-                "reference": "4bf48852955f7b4698b37ae91cce83c49f658b4c"
+                "reference": "7aedeb5100b0bca4085692a2c626fafb726c73b6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/gggeek/phpxmlrpc-extras/zipball/4bf48852955f7b4698b37ae91cce83c49f658b4c",
-                "reference": "4bf48852955f7b4698b37ae91cce83c49f658b4c",
+                "url": "https://api.github.com/repos/gggeek/phpxmlrpc-extras/zipball/7aedeb5100b0bca4085692a2c626fafb726c73b6",
+                "reference": "7aedeb5100b0bca4085692a2c626fafb726c73b6",
                 "shasum": ""
             },
             "require": {
-                "php": "^5.3.0 || ^7.0 || ^8.0",
-                "phpxmlrpc/phpxmlrpc": "^4.6.0"
+                "php": "^5.4.0 || ^7.0 || ^8.0",
+                "phpxmlrpc/phpxmlrpc": "^4.10.1"
             },
             "require-dev": {
                 "ext-curl": "*",
@@ -2945,22 +2898,22 @@
             ],
             "support": {
                 "issues": "https://github.com/gggeek/phpxmlrpc-extras/issues",
-                "source": "https://github.com/gggeek/phpxmlrpc-extras/tree/1.0.0-beta2"
+                "source": "https://github.com/gggeek/phpxmlrpc-extras/tree/1.0.0-beta4"
             },
-            "time": "2023-01-19T14:20:38+00:00"
+            "time": "2024-04-16T15:48:39+00:00"
         },
         {
             "name": "phpxmlrpc/phpxmlrpc",
-            "version": "4.10.0",
+            "version": "4.10.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/gggeek/phpxmlrpc.git",
-                "reference": "7103864975ca0b930574cabc8b4593093ee4432e"
+                "reference": "6725f215cd7d7c7d36c1d773aa89902aef2da67c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/gggeek/phpxmlrpc/zipball/7103864975ca0b930574cabc8b4593093ee4432e",
-                "reference": "7103864975ca0b930574cabc8b4593093ee4432e",
+                "url": "https://api.github.com/repos/gggeek/phpxmlrpc/zipball/6725f215cd7d7c7d36c1d773aa89902aef2da67c",
+                "reference": "6725f215cd7d7c7d36c1d773aa89902aef2da67c",
                 "shasum": ""
             },
             "require": {
@@ -2968,7 +2921,8 @@
                 "php": "^5.4.0 || ^7.0 || ^8.0"
             },
             "conflict": {
-                "phpxmlrpc/extras": "<= 0.6.3"
+                "phpxmlrpc/extras": "<= 1.0.0-beta2",
+                "phpxmlrpc/jsonrpc": "<= 1.0.0-beta1"
             },
             "require-dev": {
                 "ext-curl": "*",
@@ -3004,9 +2958,9 @@
             ],
             "support": {
                 "issues": "https://github.com/gggeek/phpxmlrpc/issues",
-                "source": "https://github.com/gggeek/phpxmlrpc/tree/4.10.0"
+                "source": "https://github.com/gggeek/phpxmlrpc/tree/4.10.3"
             },
-            "time": "2023-02-11T17:10:30+00:00"
+            "time": "2024-04-23T10:50:06+00:00"
         },
         {
             "name": "psr/cache",
@@ -3107,22 +3061,27 @@
         },
         {
             "name": "psr/container",
-            "version": "1.1.2",
+            "version": "2.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/container.git",
-                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
-                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.4.0"
             },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
             "autoload": {
                 "psr-4": {
                     "Psr\\Container\\": "src/"
@@ -3149,27 +3108,27 @@
             ],
             "support": {
                 "issues": "https://github.com/php-fig/container/issues",
-                "source": "https://github.com/php-fig/container/tree/1.1.2"
+                "source": "https://github.com/php-fig/container/tree/2.0.2"
             },
-            "time": "2021-11-05T16:50:12+00:00"
+            "time": "2021-11-05T16:47:00+00:00"
         },
         {
             "name": "psr/http-client",
-            "version": "1.0.1",
+            "version": "1.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/http-client.git",
-                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
+                "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
-                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+                "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
+                "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.0 || ^8.0",
-                "psr/http-message": "^1.0"
+                "psr/http-message": "^1.0 || ^2.0"
             },
             "type": "library",
             "extra": {
@@ -3189,7 +3148,7 @@
             "authors": [
                 {
                     "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "homepage": "https://www.php-fig.org/"
                 }
             ],
             "description": "Common interface for HTTP clients",
@@ -3201,26 +3160,26 @@
                 "psr-18"
             ],
             "support": {
-                "source": "https://github.com/php-fig/http-client/tree/master"
+                "source": "https://github.com/php-fig/http-client"
             },
-            "time": "2020-06-29T06:28:15+00:00"
+            "time": "2023-09-23T14:17:50+00:00"
         },
         {
             "name": "psr/http-factory",
-            "version": "1.0.2",
+            "version": "1.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/http-factory.git",
-                "reference": "e616d01114759c4c489f93b099585439f795fe35"
+                "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
-                "reference": "e616d01114759c4c489f93b099585439f795fe35",
+                "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+                "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.0.0",
+                "php": ">=7.1",
                 "psr/http-message": "^1.0 || ^2.0"
             },
             "type": "library",
@@ -3244,7 +3203,7 @@
                     "homepage": "https://www.php-fig.org/"
                 }
             ],
-            "description": "Common interfaces for PSR-7 HTTP message factories",
+            "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
             "keywords": [
                 "factory",
                 "http",
@@ -3256,9 +3215,9 @@
                 "response"
             ],
             "support": {
-                "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+                "source": "https://github.com/php-fig/http-factory"
             },
-            "time": "2023-04-10T20:10:41+00:00"
+            "time": "2024-04-15T12:06:14+00:00"
         },
         {
             "name": "psr/http-message",
@@ -3315,21 +3274,21 @@
         },
         {
             "name": "psr/http-server-handler",
-            "version": "1.0.1",
+            "version": "1.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/http-server-handler.git",
-                "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7"
+                "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/aff2f80e33b7f026ec96bb42f63242dc50ffcae7",
-                "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7",
+                "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4",
+                "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.0",
-                "psr/http-message": "^1.0"
+                "psr/http-message": "^1.0 || ^2.0"
             },
             "type": "library",
             "extra": {
@@ -3349,7 +3308,7 @@
             "authors": [
                 {
                     "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "homepage": "https://www.php-fig.org/"
                 }
             ],
             "description": "Common interface for HTTP server-side request handler",
@@ -3365,28 +3324,27 @@
                 "server"
             ],
             "support": {
-                "issues": "https://github.com/php-fig/http-server-handler/issues",
-                "source": "https://github.com/php-fig/http-server-handler/tree/master"
+                "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2"
             },
-            "time": "2018-10-30T16:46:14+00:00"
+            "time": "2023-04-10T20:06:20+00:00"
         },
         {
             "name": "psr/http-server-middleware",
-            "version": "1.0.1",
+            "version": "1.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/http-server-middleware.git",
-                "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5"
+                "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/2296f45510945530b9dceb8bcedb5cb84d40c5f5",
-                "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5",
+                "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829",
+                "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.0",
-                "psr/http-message": "^1.0",
+                "psr/http-message": "^1.0 || ^2.0",
                 "psr/http-server-handler": "^1.0"
             },
             "type": "library",
@@ -3407,7 +3365,7 @@
             "authors": [
                 {
                     "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "homepage": "https://www.php-fig.org/"
                 }
             ],
             "description": "Common interface for HTTP server-side middleware",
@@ -3423,36 +3381,36 @@
             ],
             "support": {
                 "issues": "https://github.com/php-fig/http-server-middleware/issues",
-                "source": "https://github.com/php-fig/http-server-middleware/tree/master"
+                "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2"
             },
-            "time": "2018-10-30T17:12:04+00:00"
+            "time": "2023-04-11T06:14:47+00:00"
         },
         {
             "name": "psr/log",
-            "version": "1.1.4",
+            "version": "3.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/log.git",
-                "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+                "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
-                "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+                "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.0"
+                "php": ">=8.0.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.1.x-dev"
+                    "dev-master": "3.x-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Psr\\Log\\": "Psr/Log/"
+                    "Psr\\Log\\": "src"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -3473,31 +3431,31 @@
                 "psr-3"
             ],
             "support": {
-                "source": "https://github.com/php-fig/log/tree/1.1.4"
+                "source": "https://github.com/php-fig/log/tree/3.0.0"
             },
-            "time": "2021-05-03T11:20:27+00:00"
+            "time": "2021-07-14T16:46:02+00:00"
         },
         {
             "name": "psr/simple-cache",
-            "version": "1.0.1",
+            "version": "3.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/simple-cache.git",
-                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+                "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
-                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+                "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
+                "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.0"
+                "php": ">=8.0.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.0.x-dev"
+                    "dev-master": "3.0.x-dev"
                 }
             },
             "autoload": {
@@ -3512,7 +3470,7 @@
             "authors": [
                 {
                     "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "homepage": "https://www.php-fig.org/"
                 }
             ],
             "description": "Common interfaces for simple caching",
@@ -3524,9 +3482,9 @@
                 "simple-cache"
             ],
             "support": {
-                "source": "https://github.com/php-fig/simple-cache/tree/master"
+                "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
             },
-            "time": "2017-10-23T01:57:42+00:00"
+            "time": "2021-10-29T13:26:27+00:00"
         },
         {
             "name": "psy/psysh",
@@ -4706,16 +4664,16 @@
         },
         {
             "name": "symfony/string",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/string.git",
-                "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69"
+                "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/string/zipball/ffeb9591c61f65a68d47f77d12b83fa530227a69",
-                "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69",
+                "url": "https://api.github.com/repos/symfony/string/zipball/a147c0f826c4a1f3afb763ab8e009e37c877a44d",
+                "reference": "a147c0f826c4a1f3afb763ab8e009e37c877a44d",
                 "shasum": ""
             },
             "require": {
@@ -4772,7 +4730,7 @@
                 "utf8"
             ],
             "support": {
-                "source": "https://github.com/symfony/string/tree/v6.4.7"
+                "source": "https://github.com/symfony/string/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -4788,7 +4746,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/var-dumper",
@@ -5650,6 +5608,52 @@
             },
             "time": "2022-02-16T19:48:08+00:00"
         },
+        {
+            "name": "codeception/specify",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Codeception/Specify.git",
+                "reference": "b718b4b9bb722be4756aa7c9aa7e89b6babc2cf6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Codeception/Specify/zipball/b718b4b9bb722be4756aa7c9aa7e89b6babc2cf6",
+                "reference": "b718b4b9bb722be4756aa7c9aa7e89b6babc2cf6",
+                "shasum": ""
+            },
+            "require": {
+                "myclabs/deep-copy": "^1.10",
+                "php": ">=7.4.0",
+                "phpunit/phpunit": "^8.0|^9.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-0": {
+                    "Codeception\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Bodnarchuk",
+                    "email": "davert@codeception.com"
+                },
+                {
+                    "name": "Gustavo Nieves",
+                    "homepage": "https://medium.com/@ganieves"
+                }
+            ],
+            "description": "BDD code blocks for PHPUnit and Codeception",
+            "support": {
+                "issues": "https://github.com/Codeception/Specify/issues",
+                "source": "https://github.com/Codeception/Specify/tree/2.0.0"
+            },
+            "time": "2021-11-22T00:16:11+00:00"
+        },
         {
             "name": "codeception/stub",
             "version": "4.1.3",
@@ -5691,6 +5695,76 @@
             },
             "time": "2024-02-02T19:21:00+00:00"
         },
+        {
+            "name": "doctrine/instantiator",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/instantiator.git",
+                "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+                "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^8.1"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^11",
+                "ext-pdo": "*",
+                "ext-phar": "*",
+                "phpbench/phpbench": "^1.2",
+                "phpstan/phpstan": "^1.9.4",
+                "phpstan/phpstan-phpunit": "^1.3",
+                "phpunit/phpunit": "^9.5.27",
+                "vimeo/psalm": "^5.4"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com",
+                    "homepage": "https://ocramius.github.io/"
+                }
+            ],
+            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+            "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+            "keywords": [
+                "constructor",
+                "instantiate"
+            ],
+            "support": {
+                "issues": "https://github.com/doctrine/instantiator/issues",
+                "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://www.doctrine-project.org/sponsorship.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://www.patreon.com/phpdoctrine",
+                    "type": "patreon"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-12-30T00:23:10+00:00"
+        },
         {
             "name": "maximebf/debugbar",
             "version": "v1.22.3",
@@ -5761,16 +5835,16 @@
         },
         {
             "name": "myclabs/deep-copy",
-            "version": "1.11.1",
+            "version": "1.12.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/myclabs/DeepCopy.git",
-                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+                "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
-                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+                "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
                 "shasum": ""
             },
             "require": {
@@ -5778,11 +5852,12 @@
             },
             "conflict": {
                 "doctrine/collections": "<1.6.8",
-                "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+                "doctrine/common": "<2.13.3 || >=3 <3.2.2"
             },
             "require-dev": {
                 "doctrine/collections": "^1.6.8",
                 "doctrine/common": "^2.13.3 || ^3.2.2",
+                "phpspec/prophecy": "^1.10",
                 "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
             },
             "type": "library",
@@ -5808,7 +5883,7 @@
             ],
             "support": {
                 "issues": "https://github.com/myclabs/DeepCopy/issues",
-                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+                "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
             },
             "funding": [
                 {
@@ -5816,7 +5891,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-03-08T13:26:56+00:00"
+            "time": "2024-06-12T14:39:25+00:00"
         },
         {
             "name": "overtrue/phplint",
@@ -6034,34 +6109,29 @@
         },
         {
             "name": "php-http/httplug",
-            "version": "2.3.0",
+            "version": "2.4.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-http/httplug.git",
-                "reference": "f640739f80dfa1152533976e3c112477f69274eb"
+                "reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-http/httplug/zipball/f640739f80dfa1152533976e3c112477f69274eb",
-                "reference": "f640739f80dfa1152533976e3c112477f69274eb",
+                "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
+                "reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.1 || ^8.0",
                 "php-http/promise": "^1.1",
                 "psr/http-client": "^1.0",
-                "psr/http-message": "^1.0"
+                "psr/http-message": "^1.0 || ^2.0"
             },
             "require-dev": {
-                "friends-of-phpspec/phpspec-code-coverage": "^4.1",
-                "phpspec/phpspec": "^5.1 || ^6.0"
+                "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0",
+                "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0"
             },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.x-dev"
-                }
-            },
             "autoload": {
                 "psr-4": {
                     "Http\\Client\\": "src/"
@@ -6090,37 +6160,32 @@
             ],
             "support": {
                 "issues": "https://github.com/php-http/httplug/issues",
-                "source": "https://github.com/php-http/httplug/tree/2.3.0"
+                "source": "https://github.com/php-http/httplug/tree/2.4.0"
             },
-            "time": "2022-02-21T09:52:22+00:00"
+            "time": "2023-04-14T15:10:03+00:00"
         },
         {
             "name": "php-http/promise",
-            "version": "1.1.0",
+            "version": "1.3.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-http/promise.git",
-                "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88"
+                "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88",
-                "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88",
+                "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
+                "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.1 || ^8.0"
             },
             "require-dev": {
-                "friends-of-phpspec/phpspec-code-coverage": "^4.3.2",
-                "phpspec/phpspec": "^5.1.2 || ^6.2"
+                "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3",
+                "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4"
             },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.1-dev"
-                }
-            },
             "autoload": {
                 "psr-4": {
                     "Http\\Promise\\": "src/"
@@ -6147,9 +6212,9 @@
             ],
             "support": {
                 "issues": "https://github.com/php-http/promise/issues",
-                "source": "https://github.com/php-http/promise/tree/1.1.0"
+                "source": "https://github.com/php-http/promise/tree/1.3.1"
             },
-            "time": "2020-07-07T09:29:14+00:00"
+            "time": "2024-03-15T13:55:21+00:00"
         },
         {
             "name": "phpstan/phpstan",
@@ -6211,16 +6276,16 @@
         },
         {
             "name": "phpunit/php-code-coverage",
-            "version": "10.1.14",
+            "version": "9.2.31",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b"
+                "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
-                "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
+                "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
                 "shasum": ""
             },
             "require": {
@@ -6228,18 +6293,18 @@
                 "ext-libxml": "*",
                 "ext-xmlwriter": "*",
                 "nikic/php-parser": "^4.18 || ^5.0",
-                "php": ">=8.1",
-                "phpunit/php-file-iterator": "^4.0",
-                "phpunit/php-text-template": "^3.0",
-                "sebastian/code-unit-reverse-lookup": "^3.0",
-                "sebastian/complexity": "^3.0",
-                "sebastian/environment": "^6.0",
-                "sebastian/lines-of-code": "^2.0",
-                "sebastian/version": "^4.0",
+                "php": ">=7.3",
+                "phpunit/php-file-iterator": "^3.0.3",
+                "phpunit/php-text-template": "^2.0.2",
+                "sebastian/code-unit-reverse-lookup": "^2.0.2",
+                "sebastian/complexity": "^2.0",
+                "sebastian/environment": "^5.1.2",
+                "sebastian/lines-of-code": "^1.0.3",
+                "sebastian/version": "^3.0.1",
                 "theseer/tokenizer": "^1.2.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.1"
+                "phpunit/phpunit": "^9.3"
             },
             "suggest": {
                 "ext-pcov": "PHP extension that provides line coverage",
@@ -6248,7 +6313,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "10.1-dev"
+                    "dev-master": "9.2-dev"
                 }
             },
             "autoload": {
@@ -6277,7 +6342,7 @@
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
                 "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14"
+                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31"
             },
             "funding": [
                 {
@@ -6285,32 +6350,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-12T15:33:41+00:00"
+            "time": "2024-03-02T06:37:42+00:00"
         },
         {
             "name": "phpunit/php-file-iterator",
-            "version": "4.1.0",
+            "version": "3.0.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
+                "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
-                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+                "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "4.0-dev"
+                    "dev-master": "3.0-dev"
                 }
             },
             "autoload": {
@@ -6337,8 +6402,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
-                "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
+                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
             },
             "funding": [
                 {
@@ -6346,28 +6410,28 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-08-31T06:24:48+00:00"
+            "time": "2021-12-02T12:48:52+00:00"
         },
         {
             "name": "phpunit/php-invoker",
-            "version": "4.0.0",
+            "version": "3.1.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-invoker.git",
-                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+                "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
-                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+                "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
                 "ext-pcntl": "*",
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "suggest": {
                 "ext-pcntl": "*"
@@ -6375,7 +6439,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "4.0-dev"
+                    "dev-master": "3.1-dev"
                 }
             },
             "autoload": {
@@ -6401,7 +6465,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
-                "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
+                "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
             },
             "funding": [
                 {
@@ -6409,32 +6473,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T06:56:09+00:00"
+            "time": "2020-09-28T05:58:55+00:00"
         },
         {
             "name": "phpunit/php-text-template",
-            "version": "3.0.1",
+            "version": "2.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
+                "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
-                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+                "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "3.0-dev"
+                    "dev-master": "2.0-dev"
                 }
             },
             "autoload": {
@@ -6460,8 +6524,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
-                "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
+                "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
             },
             "funding": [
                 {
@@ -6469,32 +6532,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-08-31T14:07:24+00:00"
+            "time": "2020-10-26T05:33:50+00:00"
         },
         {
             "name": "phpunit/php-timer",
-            "version": "6.0.0",
+            "version": "5.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+                "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
-                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+                "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "6.0-dev"
+                    "dev-master": "5.0-dev"
                 }
             },
             "autoload": {
@@ -6520,7 +6583,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/php-timer/issues",
-                "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
+                "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
             },
             "funding": [
                 {
@@ -6528,23 +6591,24 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T06:57:52+00:00"
+            "time": "2020-10-26T13:16:10+00:00"
         },
         {
             "name": "phpunit/phpunit",
-            "version": "10.5.20",
+            "version": "9.6.19",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3"
+                "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3",
-                "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8",
+                "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8",
                 "shasum": ""
             },
             "require": {
+                "doctrine/instantiator": "^1.3.1 || ^2",
                 "ext-dom": "*",
                 "ext-json": "*",
                 "ext-libxml": "*",
@@ -6554,26 +6618,27 @@
                 "myclabs/deep-copy": "^1.10.1",
                 "phar-io/manifest": "^2.0.3",
                 "phar-io/version": "^3.0.2",
-                "php": ">=8.1",
-                "phpunit/php-code-coverage": "^10.1.5",
-                "phpunit/php-file-iterator": "^4.0",
-                "phpunit/php-invoker": "^4.0",
-                "phpunit/php-text-template": "^3.0",
-                "phpunit/php-timer": "^6.0",
-                "sebastian/cli-parser": "^2.0",
-                "sebastian/code-unit": "^2.0",
-                "sebastian/comparator": "^5.0",
-                "sebastian/diff": "^5.0",
-                "sebastian/environment": "^6.0",
-                "sebastian/exporter": "^5.1",
-                "sebastian/global-state": "^6.0.1",
-                "sebastian/object-enumerator": "^5.0",
-                "sebastian/recursion-context": "^5.0",
-                "sebastian/type": "^4.0",
-                "sebastian/version": "^4.0"
+                "php": ">=7.3",
+                "phpunit/php-code-coverage": "^9.2.28",
+                "phpunit/php-file-iterator": "^3.0.5",
+                "phpunit/php-invoker": "^3.1.1",
+                "phpunit/php-text-template": "^2.0.3",
+                "phpunit/php-timer": "^5.0.2",
+                "sebastian/cli-parser": "^1.0.1",
+                "sebastian/code-unit": "^1.0.6",
+                "sebastian/comparator": "^4.0.8",
+                "sebastian/diff": "^4.0.3",
+                "sebastian/environment": "^5.1.3",
+                "sebastian/exporter": "^4.0.5",
+                "sebastian/global-state": "^5.0.1",
+                "sebastian/object-enumerator": "^4.0.3",
+                "sebastian/resource-operations": "^3.0.3",
+                "sebastian/type": "^3.2",
+                "sebastian/version": "^3.0.2"
             },
             "suggest": {
-                "ext-soap": "To be able to generate mocks based on WSDL files"
+                "ext-soap": "To be able to generate mocks based on WSDL files",
+                "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
             },
             "bin": [
                 "phpunit"
@@ -6581,7 +6646,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "10.5-dev"
+                    "dev-master": "9.6-dev"
                 }
             },
             "autoload": {
@@ -6613,7 +6678,7 @@
             "support": {
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
                 "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20"
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19"
             },
             "funding": [
                 {
@@ -6629,7 +6694,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-24T06:32:35+00:00"
+            "time": "2024-04-05T04:35:58+00:00"
         },
         {
             "name": "psr/event-dispatcher",
@@ -6683,28 +6748,28 @@
         },
         {
             "name": "sebastian/cli-parser",
-            "version": "2.0.1",
+            "version": "1.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/cli-parser.git",
-                "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
+                "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
-                "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
+                "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+                "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "2.0-dev"
+                    "dev-master": "1.0-dev"
                 }
             },
             "autoload": {
@@ -6727,8 +6792,7 @@
             "homepage": "https://github.com/sebastianbergmann/cli-parser",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
-                "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
-                "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
+                "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
             },
             "funding": [
                 {
@@ -6736,32 +6800,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-02T07:12:49+00:00"
+            "time": "2024-03-02T06:27:43+00:00"
         },
         {
             "name": "sebastian/code-unit",
-            "version": "2.0.0",
+            "version": "1.0.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/code-unit.git",
-                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+                "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
-                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+                "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "2.0-dev"
+                    "dev-master": "1.0-dev"
                 }
             },
             "autoload": {
@@ -6784,7 +6848,7 @@
             "homepage": "https://github.com/sebastianbergmann/code-unit",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/code-unit/issues",
-                "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+                "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
             },
             "funding": [
                 {
@@ -6792,32 +6856,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T06:58:43+00:00"
+            "time": "2020-10-26T13:08:54+00:00"
         },
         {
             "name": "sebastian/code-unit-reverse-lookup",
-            "version": "3.0.0",
+            "version": "2.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
-                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+                "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
-                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+                "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "3.0-dev"
+                    "dev-master": "2.0-dev"
                 }
             },
             "autoload": {
@@ -6839,7 +6903,7 @@
             "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
-                "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
+                "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
             },
             "funding": [
                 {
@@ -6847,36 +6911,34 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T06:59:15+00:00"
+            "time": "2020-09-28T05:30:19+00:00"
         },
         {
             "name": "sebastian/comparator",
-            "version": "5.0.1",
+            "version": "4.0.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
+                "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
-                "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+                "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
                 "shasum": ""
             },
             "require": {
-                "ext-dom": "*",
-                "ext-mbstring": "*",
-                "php": ">=8.1",
-                "sebastian/diff": "^5.0",
-                "sebastian/exporter": "^5.0"
+                "php": ">=7.3",
+                "sebastian/diff": "^4.0",
+                "sebastian/exporter": "^4.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.3"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "5.0-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -6915,8 +6977,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/comparator/issues",
-                "security": "https://github.com/sebastianbergmann/comparator/security/policy",
-                "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
+                "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
             },
             "funding": [
                 {
@@ -6924,33 +6985,33 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-08-14T13:18:12+00:00"
+            "time": "2022-09-14T12:41:17+00:00"
         },
         {
             "name": "sebastian/complexity",
-            "version": "3.2.0",
+            "version": "2.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/complexity.git",
-                "reference": "68ff824baeae169ec9f2137158ee529584553799"
+                "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
-                "reference": "68ff824baeae169ec9f2137158ee529584553799",
+                "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+                "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
                 "shasum": ""
             },
             "require": {
                 "nikic/php-parser": "^4.18 || ^5.0",
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "3.2-dev"
+                    "dev-master": "2.0-dev"
                 }
             },
             "autoload": {
@@ -6973,8 +7034,7 @@
             "homepage": "https://github.com/sebastianbergmann/complexity",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/complexity/issues",
-                "security": "https://github.com/sebastianbergmann/complexity/security/policy",
-                "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
+                "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
             },
             "funding": [
                 {
@@ -6982,33 +7042,33 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-12-21T08:37:17+00:00"
+            "time": "2023-12-22T06:19:30+00:00"
         },
         {
             "name": "sebastian/diff",
-            "version": "5.1.1",
+            "version": "4.0.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
+                "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
-                "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
+                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
+                "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0",
-                "symfony/process": "^6.4"
+                "phpunit/phpunit": "^9.3",
+                "symfony/process": "^4.2 || ^5"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "5.1-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -7040,8 +7100,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/diff/issues",
-                "security": "https://github.com/sebastianbergmann/diff/security/policy",
-                "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
+                "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
             },
             "funding": [
                 {
@@ -7049,27 +7108,27 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-02T07:15:17+00:00"
+            "time": "2024-03-02T06:30:58+00:00"
         },
         {
             "name": "sebastian/environment",
-            "version": "6.1.0",
+            "version": "5.1.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
+                "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
-                "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
+                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+                "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "suggest": {
                 "ext-posix": "*"
@@ -7077,7 +7136,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "6.1-dev"
+                    "dev-master": "5.1-dev"
                 }
             },
             "autoload": {
@@ -7096,7 +7155,7 @@
                 }
             ],
             "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "https://github.com/sebastianbergmann/environment",
+            "homepage": "http://www.github.com/sebastianbergmann/environment",
             "keywords": [
                 "Xdebug",
                 "environment",
@@ -7104,8 +7163,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/environment/issues",
-                "security": "https://github.com/sebastianbergmann/environment/security/policy",
-                "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
+                "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
             },
             "funding": [
                 {
@@ -7113,34 +7171,34 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-23T08:47:14+00:00"
+            "time": "2023-02-03T06:03:51+00:00"
         },
         {
             "name": "sebastian/exporter",
-            "version": "5.1.2",
+            "version": "4.0.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
+                "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
-                "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
+                "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
                 "shasum": ""
             },
             "require": {
-                "ext-mbstring": "*",
-                "php": ">=8.1",
-                "sebastian/recursion-context": "^5.0"
+                "php": ">=7.3",
+                "sebastian/recursion-context": "^4.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "ext-mbstring": "*",
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "5.1-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -7182,8 +7240,7 @@
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/exporter/issues",
-                "security": "https://github.com/sebastianbergmann/exporter/security/policy",
-                "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
+                "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
             },
             "funding": [
                 {
@@ -7191,35 +7248,38 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-02T07:17:12+00:00"
+            "time": "2024-03-02T06:33:00+00:00"
         },
         {
             "name": "sebastian/global-state",
-            "version": "6.0.2",
+            "version": "5.0.7",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
+                "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
-                "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+                "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1",
-                "sebastian/object-reflector": "^3.0",
-                "sebastian/recursion-context": "^5.0"
+                "php": ">=7.3",
+                "sebastian/object-reflector": "^2.0",
+                "sebastian/recursion-context": "^4.0"
             },
             "require-dev": {
                 "ext-dom": "*",
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
+            },
+            "suggest": {
+                "ext-uopz": "*"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "6.0-dev"
+                    "dev-master": "5.0-dev"
                 }
             },
             "autoload": {
@@ -7238,14 +7298,13 @@
                 }
             ],
             "description": "Snapshotting of global state",
-            "homepage": "https://www.github.com/sebastianbergmann/global-state",
+            "homepage": "http://www.github.com/sebastianbergmann/global-state",
             "keywords": [
                 "global state"
             ],
             "support": {
                 "issues": "https://github.com/sebastianbergmann/global-state/issues",
-                "security": "https://github.com/sebastianbergmann/global-state/security/policy",
-                "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
+                "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
             },
             "funding": [
                 {
@@ -7253,33 +7312,33 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-02T07:19:19+00:00"
+            "time": "2024-03-02T06:35:11+00:00"
         },
         {
             "name": "sebastian/lines-of-code",
-            "version": "2.0.2",
+            "version": "1.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/lines-of-code.git",
-                "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
+                "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
-                "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
+                "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+                "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
                 "shasum": ""
             },
             "require": {
                 "nikic/php-parser": "^4.18 || ^5.0",
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "2.0-dev"
+                    "dev-master": "1.0-dev"
                 }
             },
             "autoload": {
@@ -7302,8 +7361,7 @@
             "homepage": "https://github.com/sebastianbergmann/lines-of-code",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
-                "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
-                "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
+                "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
             },
             "funding": [
                 {
@@ -7311,34 +7369,34 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-12-21T08:38:20+00:00"
+            "time": "2023-12-22T06:20:34+00:00"
         },
         {
             "name": "sebastian/object-enumerator",
-            "version": "5.0.0",
+            "version": "4.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/object-enumerator.git",
-                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+                "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
-                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+                "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1",
-                "sebastian/object-reflector": "^3.0",
-                "sebastian/recursion-context": "^5.0"
+                "php": ">=7.3",
+                "sebastian/object-reflector": "^2.0",
+                "sebastian/recursion-context": "^4.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "5.0-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -7360,7 +7418,7 @@
             "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
-                "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
+                "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
             },
             "funding": [
                 {
@@ -7368,32 +7426,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T07:08:32+00:00"
+            "time": "2020-10-26T13:12:34+00:00"
         },
         {
             "name": "sebastian/object-reflector",
-            "version": "3.0.0",
+            "version": "2.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/object-reflector.git",
-                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+                "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
-                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+                "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "3.0-dev"
+                    "dev-master": "2.0-dev"
                 }
             },
             "autoload": {
@@ -7415,7 +7473,7 @@
             "homepage": "https://github.com/sebastianbergmann/object-reflector/",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
-                "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
+                "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
             },
             "funding": [
                 {
@@ -7423,32 +7481,32 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T07:06:18+00:00"
+            "time": "2020-10-26T13:14:26+00:00"
         },
         {
             "name": "sebastian/recursion-context",
-            "version": "5.0.0",
+            "version": "4.0.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
+                "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
-                "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
+                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+                "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "5.0-dev"
+                    "dev-master": "4.0-dev"
                 }
             },
             "autoload": {
@@ -7478,7 +7536,7 @@
             "homepage": "https://github.com/sebastianbergmann/recursion-context",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
-                "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+                "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
             },
             "funding": [
                 {
@@ -7486,32 +7544,86 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T07:05:40+00:00"
+            "time": "2023-02-03T06:07:39+00:00"
+        },
+        {
+            "name": "sebastian/resource-operations",
+            "version": "3.0.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/resource-operations.git",
+                "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+                "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides a list of PHP built-in functions that operate on resources",
+            "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+            "support": {
+                "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2024-03-14T16:00:52+00:00"
         },
         {
             "name": "sebastian/type",
-            "version": "4.0.0",
+            "version": "3.2.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/type.git",
-                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+                "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
-                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+                "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+                "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "require-dev": {
-                "phpunit/phpunit": "^10.0"
+                "phpunit/phpunit": "^9.5"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "4.0-dev"
+                    "dev-master": "3.2-dev"
                 }
             },
             "autoload": {
@@ -7534,7 +7646,7 @@
             "homepage": "https://github.com/sebastianbergmann/type",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/type/issues",
-                "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+                "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
             },
             "funding": [
                 {
@@ -7542,29 +7654,29 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-03T07:10:45+00:00"
+            "time": "2023-02-03T06:13:03+00:00"
         },
         {
             "name": "sebastian/version",
-            "version": "4.0.1",
+            "version": "3.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+                "reference": "c6c1022351a901512170118436c764e473f6de8c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
-                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+                "reference": "c6c1022351a901512170118436c764e473f6de8c",
                 "shasum": ""
             },
             "require": {
-                "php": ">=8.1"
+                "php": ">=7.3"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "4.0-dev"
+                    "dev-master": "3.0-dev"
                 }
             },
             "autoload": {
@@ -7587,7 +7699,7 @@
             "homepage": "https://github.com/sebastianbergmann/version",
             "support": {
                 "issues": "https://github.com/sebastianbergmann/version/issues",
-                "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+                "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
             },
             "funding": [
                 {
@@ -7595,20 +7707,20 @@
                     "type": "github"
                 }
             ],
-            "time": "2023-02-07T11:34:05+00:00"
+            "time": "2020-09-28T06:39:44+00:00"
         },
         {
             "name": "symfony/cache",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/cache.git",
-                "reference": "b9e9b93c9817ec6c789c7943f5e54b57a041c16a"
+                "reference": "287142df5579ce223c485b3872df3efae8390984"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/cache/zipball/b9e9b93c9817ec6c789c7943f5e54b57a041c16a",
-                "reference": "b9e9b93c9817ec6c789c7943f5e54b57a041c16a",
+                "url": "https://api.github.com/repos/symfony/cache/zipball/287142df5579ce223c485b3872df3efae8390984",
+                "reference": "287142df5579ce223c485b3872df3efae8390984",
                 "shasum": ""
             },
             "require": {
@@ -7675,7 +7787,7 @@
                 "psr6"
             ],
             "support": {
-                "source": "https://github.com/symfony/cache/tree/v6.4.7"
+                "source": "https://github.com/symfony/cache/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -7691,7 +7803,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/cache-contracts",
@@ -7771,16 +7883,16 @@
         },
         {
             "name": "symfony/css-selector",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/css-selector.git",
-                "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b"
+                "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c5d5c2103c3762aff27a27e1e2409e30a79083b",
-                "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b",
+                "url": "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08",
+                "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08",
                 "shasum": ""
             },
             "require": {
@@ -7816,7 +7928,7 @@
             "description": "Converts CSS selectors to XPath expressions",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/css-selector/tree/v6.4.7"
+                "source": "https://github.com/symfony/css-selector/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -7832,20 +7944,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher.git",
-                "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f"
+                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d84384f3f67de3cb650db64d685d70395dacfc3f",
-                "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b",
+                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b",
                 "shasum": ""
             },
             "require": {
@@ -7896,7 +8008,7 @@
             "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.7"
+                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -7912,7 +8024,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/event-dispatcher-contracts",
@@ -7992,16 +8104,16 @@
         },
         {
             "name": "symfony/finder",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "511c48990be17358c23bf45c5d71ab85d40fb764"
+                "reference": "3ef977a43883215d560a2cecb82ec8e62131471c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/511c48990be17358c23bf45c5d71ab85d40fb764",
-                "reference": "511c48990be17358c23bf45c5d71ab85d40fb764",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c",
+                "reference": "3ef977a43883215d560a2cecb82ec8e62131471c",
                 "shasum": ""
             },
             "require": {
@@ -8036,7 +8148,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v6.4.7"
+                "source": "https://github.com/symfony/finder/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -8052,20 +8164,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-23T10:36:43+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/options-resolver",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/options-resolver.git",
-                "reference": "9a3c92b490716ba6771f5beced13c6eda7183eed"
+                "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/options-resolver/zipball/9a3c92b490716ba6771f5beced13c6eda7183eed",
-                "reference": "9a3c92b490716ba6771f5beced13c6eda7183eed",
+                "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22ab9e9101ab18de37839074f8a1197f55590c1b",
+                "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b",
                 "shasum": ""
             },
             "require": {
@@ -8103,7 +8215,7 @@
                 "options"
             ],
             "support": {
-                "source": "https://github.com/symfony/options-resolver/tree/v6.4.7"
+                "source": "https://github.com/symfony/options-resolver/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -8119,20 +8231,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "symfony/var-exporter",
-            "version": "v6.4.7",
+            "version": "v6.4.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-exporter.git",
-                "reference": "825f9b00c37bbe1c1691cc1aff9b5451fc9b4405"
+                "reference": "792ca836f99b340f2e9ca9497c7953948c49a504"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/825f9b00c37bbe1c1691cc1aff9b5451fc9b4405",
-                "reference": "825f9b00c37bbe1c1691cc1aff9b5451fc9b4405",
+                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/792ca836f99b340f2e9ca9497c7953948c49a504",
+                "reference": "792ca836f99b340f2e9ca9497c7953948c49a504",
                 "shasum": ""
             },
             "require": {
@@ -8180,7 +8292,7 @@
                 "serialize"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-exporter/tree/v6.4.7"
+                "source": "https://github.com/symfony/var-exporter/tree/v6.4.8"
             },
             "funding": [
                 {
@@ -8196,7 +8308,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-04-18T09:22:46+00:00"
+            "time": "2024-05-31T14:49:08+00:00"
         },
         {
             "name": "theseer/tokenizer",
diff --git a/db/migrations/1.2_step_102_datenfeldtypen.php b/db/migrations/1.2_step_102_datenfeldtypen.php
index 1e7b552832e..b639132f6b5 100644
--- a/db/migrations/1.2_step_102_datenfeldtypen.php
+++ b/db/migrations/1.2_step_102_datenfeldtypen.php
@@ -63,7 +63,7 @@ class Step102Datenfeldtypen extends Migration {
       return;
     }
 
-    require_once 'lib/classes/DataFieldStructure.class.php';
+    require_once 'lib/classes/DataFieldStructure.php';
 
     $ids = array_keys(DataFieldStructure::getDataFieldStructures());
 
diff --git a/db/migrations/1.6_step_25_raumzeit_db_conversion.php b/db/migrations/1.6_step_25_raumzeit_db_conversion.php
index 1dd8edfe152..9a8ffd73c2f 100644
--- a/db/migrations/1.6_step_25_raumzeit_db_conversion.php
+++ b/db/migrations/1.6_step_25_raumzeit_db_conversion.php
@@ -55,8 +55,8 @@ class Step25RaumzeitDbConversion extends Migration
 
 
         // include business logic
-        require_once('lib/classes/Seminar.class.php');
-        require_once('lib/resources/lib/VeranstaltungResourcesAssign.class.php');
+        require_once('lib/classes/Seminar.php');
+        require_once('lib/resources/lib/VeranstaltungResourcesAssign.php');
 
 
 
diff --git a/lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php b/lib/admissionrules/conditionaladmission/ConditionalAdmission.php
similarity index 100%
rename from lib/admissionrules/conditionaladmission/ConditionalAdmission.class.php
rename to lib/admissionrules/conditionaladmission/ConditionalAdmission.php
diff --git a/lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php b/lib/admissionrules/coursememberadmission/CourseMemberAdmission.php
similarity index 100%
rename from lib/admissionrules/coursememberadmission/CourseMemberAdmission.class.php
rename to lib/admissionrules/coursememberadmission/CourseMemberAdmission.php
diff --git a/lib/admissionrules/limitedadmission/LimitedAdmission.class.php b/lib/admissionrules/limitedadmission/LimitedAdmission.php
similarity index 100%
rename from lib/admissionrules/limitedadmission/LimitedAdmission.class.php
rename to lib/admissionrules/limitedadmission/LimitedAdmission.php
diff --git a/lib/admissionrules/lockedadmission/LockedAdmission.class.php b/lib/admissionrules/lockedadmission/LockedAdmission.php
similarity index 100%
rename from lib/admissionrules/lockedadmission/LockedAdmission.class.php
rename to lib/admissionrules/lockedadmission/LockedAdmission.php
diff --git a/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php b/lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.php
similarity index 100%
rename from lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.class.php
rename to lib/admissionrules/participantrestrictedadmission/ParticipantRestrictedAdmission.php
diff --git a/lib/admissionrules/passwordadmission/PasswordAdmission.class.php b/lib/admissionrules/passwordadmission/PasswordAdmission.php
similarity index 100%
rename from lib/admissionrules/passwordadmission/PasswordAdmission.class.php
rename to lib/admissionrules/passwordadmission/PasswordAdmission.php
diff --git a/lib/admissionrules/preferentialadmission/PreferentialAdmission.class.php b/lib/admissionrules/preferentialadmission/PreferentialAdmission.php
similarity index 100%
rename from lib/admissionrules/preferentialadmission/PreferentialAdmission.class.php
rename to lib/admissionrules/preferentialadmission/PreferentialAdmission.php
diff --git a/lib/admissionrules/termsadmission/TermsAdmission.class.php b/lib/admissionrules/termsadmission/TermsAdmission.php
similarity index 100%
rename from lib/admissionrules/termsadmission/TermsAdmission.class.php
rename to lib/admissionrules/termsadmission/TermsAdmission.php
diff --git a/lib/admissionrules/timedadmission/TimedAdmission.class.php b/lib/admissionrules/timedadmission/TimedAdmission.php
similarity index 100%
rename from lib/admissionrules/timedadmission/TimedAdmission.class.php
rename to lib/admissionrules/timedadmission/TimedAdmission.php
diff --git a/lib/bootstrap-autoload.php b/lib/bootstrap-autoload.php
index e2554c73732..7d99f860415 100644
--- a/lib/bootstrap-autoload.php
+++ b/lib/bootstrap-autoload.php
@@ -3,102 +3,21 @@
 require 'lib/classes/StudipAutoloader.php';
 StudipAutoloader::register();
 
-// General classes folders
-StudipAutoloader::addAutoloadPath('lib/models');
-StudipAutoloader::addAutoloadPath('lib/models/calendar');
-StudipAutoloader::addAutoloadPath('lib/models/resources');
-StudipAutoloader::addAutoloadPath('lib/classes');
-StudipAutoloader::addAutoloadPath('lib/classes', 'Studip');
-
-// Plugins
-StudipAutoloader::addAutoloadPath('lib/plugins/core');
-StudipAutoloader::addAutoloadPath('lib/plugins/db');
-StudipAutoloader::addAutoloadPath('lib/plugins/engine');
-
-// Specialized folders
-StudipAutoloader::addAutoloadPath('lib/classes/admission');
-StudipAutoloader::addAutoloadPath('lib/classes/admission/userfilter');
-StudipAutoloader::addAutoloadPath('lib/classes/auth_plugins');
-StudipAutoloader::addAutoloadPath('lib/classes/calendar');
-
-StudipAutoloader::addAutoloadPath('lib/classes/cache', 'Studip\\Cache');
 class_alias(\Studip\Cache\Factory::class, 'StudipCacheFactory');
 class_alias(\Studip\Cache\Cache::class, 'StudipCache');
-
-StudipAutoloader::addAutoloadPath('lib/classes/exportdocument');
-StudipAutoloader::addAutoloadPath('lib/classes/forms');
-StudipAutoloader::addAutoloadPath('lib/classes/globalsearch');
-StudipAutoloader::addAutoloadPath('lib/classes/helpbar');
-StudipAutoloader::addAutoloadPath('lib/classes/librarysearch/resultparsers');
-StudipAutoloader::addAutoloadPath('lib/classes/librarysearch/searchmodules');
-StudipAutoloader::addAutoloadPath('lib/classes/librarysearch');
-StudipAutoloader::addAutoloadPath('lib/classes/searchtypes');
-StudipAutoloader::addAutoloadPath('lib/classes/sidebar');
-StudipAutoloader::addAutoloadPath('lib/classes/visibility');
-StudipAutoloader::addAutoloadPath('lib/classes/coursewizardsteps');
-StudipAutoloader::addAutoloadPath('lib/classes/wiki');
-
-StudipAutoloader::addAutoloadPath('lib/calendar');
-StudipAutoloader::addAutoloadPath('lib/calendar', 'Studip\\Calendar');
-StudipAutoloader::addAutoloadPath('lib/exceptions');
-StudipAutoloader::addAutoloadPath('lib/exceptions/resources');
-StudipAutoloader::addAutoloadPath('lib/exTpl', 'exTpl');
-StudipAutoloader::addAutoloadPath('lib/filesystem');
-StudipAutoloader::addAutoloadPath('lib/migrations');
-StudipAutoloader::addAutoloadPath('lib/modules');
-StudipAutoloader::addAutoloadPath('lib/navigation');
-StudipAutoloader::addAutoloadPath('lib/phplib');
-StudipAutoloader::addAutoloadPath('lib/raumzeit');
-StudipAutoloader::addAutoloadPath('lib/resources');
-StudipAutoloader::addAutoloadPath('lib/activities', 'Studip\\Activity');
-
-StudipAutoloader::addAutoloadPath('lib/calendar/lib');
-StudipAutoloader::addAutoloadPath('lib/elearning');
-StudipAutoloader::addAutoloadPath('lib/extern');
-StudipAutoloader::addAutoloadPath('lib/ilias_interface');
-
-// Flexi
-StudipAutoloader::addAutoloadPath('lib/flexi', 'Flexi');
 class_alias(Flexi\PhpTemplate::class, 'Flexi_PhpTemplate');
 class_alias(Flexi\Template::class, 'Flexi_Template');
 class_alias(Flexi\Factory::class, 'Flexi_TemplateFactory');
 class_alias(Flexi\TemplateNotFoundException::class, 'Flexi_TemplateNotFoundException');
-
-// Trails
-StudipAutoloader::addAutoloadPath('lib/trails', 'Trails');
 class_alias(Trails\Controller::class, 'Trails_Controller');
 class_alias(Trails\Dispatcher::class, 'Trails_Dispatcher');
 class_alias(Trails\Exception::class, 'Trails_Exception');
 class_alias(Trails\Flash::class, 'Trails_Flash');
 class_alias(Trails\Inflector::class, 'Trails_Inflector');
 class_alias(Trails\Response::class, 'Trails_Response');
-
 class_alias(Trails\Exceptions\DoubleRenderError::class, 'Trails_DoubleRenderError');
 class_alias(Trails\Exceptions\MissingFile::class, 'Trails_MissingFile');
 class_alias(Trails\Exceptions\RoutingError::class, 'Trails_RoutingError');
 class_alias(Trails\Exceptions\SessionRequiredException::class, 'Trails_SessionRequiredException');
 class_alias(Trails\Exceptions\UnknownAction::class, 'Trails_UnknownAction');
 class_alias(Trails\Exceptions\UnknownController::class, 'Trails_UnknownController');
-
-// Messy file names
-StudipAutoloader::addClassLookups([
-    'email_validation_class' => 'lib/phplib/email_validation.class.php',
-    'messaging'              => 'lib/messaging.inc.php',
-    'StudipPlugin'           => 'lib/plugins/core/StudIPPlugin.class.php',
-    'MVVController'          => 'app/controllers/module/mvv_controller.php'
-]);
-
-// Vendor
-StudipAutoloader::addClassLookups([
-    'PasswordHash' => 'vendor/phpass/PasswordHash.php',
-]);
-
-// XMLRpc
-StudipAutoloader::addClassLookup(
-    ['xmlrpcval', 'xmlrpcmsg', 'xmlrpcresp', 'xmlrpc_client'],
-    'composer/phpxmlrpc/phpxmlrpc/lib/xmlrpc.inc'
-);
-StudipAutoloader::addClassLookup(
-    ['xmlrpc_server'],
-    'composer/phpxmlrpc/phpxmlrpc/lib/xmlrpcs.inc'
-);
diff --git a/lib/bootstrap.php b/lib/bootstrap.php
index 8c618ff7d5a..478ca0e0c09 100644
--- a/lib/bootstrap.php
+++ b/lib/bootstrap.php
@@ -224,7 +224,7 @@ if (Config::get()->CALENDAR_ENABLE) {
 }
 
 if (Config::get()->SOAP_ENABLE) {
-    require_once 'lib/soap/StudipSoapClient' . (Config::get()->SOAP_USE_PHP5 ? '_PHP5' : '' ) . '.class.php';
+    require_once 'lib/soap/StudipSoapClient' . (Config::get()->SOAP_USE_PHP5 ? '_PHP5' : '' ) . '.php';
 }
 
 if (Config::Get()->ILIAS_INTERFACE_ENABLE) {
diff --git a/lib/calendar/CalendarColumn.class.php b/lib/calendar/CalendarColumn.php
similarity index 100%
rename from lib/calendar/CalendarColumn.class.php
rename to lib/calendar/CalendarColumn.php
diff --git a/lib/calendar/CalendarView.class.php b/lib/calendar/CalendarView.php
similarity index 100%
rename from lib/calendar/CalendarView.class.php
rename to lib/calendar/CalendarView.php
diff --git a/lib/calendar/CalendarWeekView.class.php b/lib/calendar/CalendarWeekView.php
similarity index 100%
rename from lib/calendar/CalendarWeekView.class.php
rename to lib/calendar/CalendarWeekView.php
diff --git a/lib/classes/AdminCourseFilter.class.php b/lib/classes/AdminCourseFilter.php
similarity index 100%
rename from lib/classes/AdminCourseFilter.class.php
rename to lib/classes/AdminCourseFilter.php
diff --git a/lib/classes/Assets.class.php b/lib/classes/Assets.php
similarity index 100%
rename from lib/classes/Assets.class.php
rename to lib/classes/Assets.php
diff --git a/lib/classes/AuthorObject.class.php b/lib/classes/AuthorObject.php
similarity index 100%
rename from lib/classes/AuthorObject.class.php
rename to lib/classes/AuthorObject.php
diff --git a/lib/classes/AutoInsert.class.php b/lib/classes/AutoInsert.php
similarity index 100%
rename from lib/classes/AutoInsert.class.php
rename to lib/classes/AutoInsert.php
diff --git a/lib/classes/Avatar.class.php b/lib/classes/Avatar.php
similarity index 100%
rename from lib/classes/Avatar.class.php
rename to lib/classes/Avatar.php
diff --git a/lib/classes/BreadCrumb.class.php b/lib/classes/BreadCrumb.php
similarity index 100%
rename from lib/classes/BreadCrumb.class.php
rename to lib/classes/BreadCrumb.php
diff --git a/lib/classes/Button.class.php b/lib/classes/Button.php
similarity index 100%
rename from lib/classes/Button.class.php
rename to lib/classes/Button.php
diff --git a/lib/classes/CSVArrayObject.class.php b/lib/classes/CSVArrayObject.php
similarity index 100%
rename from lib/classes/CSVArrayObject.class.php
rename to lib/classes/CSVArrayObject.php
diff --git a/lib/classes/Color.class.php b/lib/classes/Color.php
similarity index 100%
rename from lib/classes/Color.class.php
rename to lib/classes/Color.php
diff --git a/lib/classes/Config.class.php b/lib/classes/Config.php
similarity index 100%
rename from lib/classes/Config.class.php
rename to lib/classes/Config.php
diff --git a/lib/classes/CourseAvatar.class.php b/lib/classes/CourseAvatar.php
similarity index 100%
rename from lib/classes/CourseAvatar.class.php
rename to lib/classes/CourseAvatar.php
diff --git a/lib/classes/CourseConfig.class.php b/lib/classes/CourseConfig.php
similarity index 100%
rename from lib/classes/CourseConfig.class.php
rename to lib/classes/CourseConfig.php
diff --git a/lib/classes/CronJob.class.php b/lib/classes/CronJob.php
similarity index 100%
rename from lib/classes/CronJob.class.php
rename to lib/classes/CronJob.php
diff --git a/lib/classes/CronjobScheduler.class.php b/lib/classes/CronjobScheduler.php
similarity index 100%
rename from lib/classes/CronjobScheduler.class.php
rename to lib/classes/CronjobScheduler.php
diff --git a/lib/classes/DBManager.class.php b/lib/classes/DBManager.php
similarity index 100%
rename from lib/classes/DBManager.class.php
rename to lib/classes/DBManager.php
diff --git a/lib/classes/DataFieldBoolEntry.class.php b/lib/classes/DataFieldBoolEntry.php
similarity index 100%
rename from lib/classes/DataFieldBoolEntry.class.php
rename to lib/classes/DataFieldBoolEntry.php
diff --git a/lib/classes/DataFieldComboEntry.class.php b/lib/classes/DataFieldComboEntry.php
similarity index 100%
rename from lib/classes/DataFieldComboEntry.class.php
rename to lib/classes/DataFieldComboEntry.php
diff --git a/lib/classes/DataFieldDateEntry.class.php b/lib/classes/DataFieldDateEntry.php
similarity index 100%
rename from lib/classes/DataFieldDateEntry.class.php
rename to lib/classes/DataFieldDateEntry.php
diff --git a/lib/classes/DataFieldEmailEntry.class.php b/lib/classes/DataFieldEmailEntry.php
similarity index 100%
rename from lib/classes/DataFieldEmailEntry.class.php
rename to lib/classes/DataFieldEmailEntry.php
diff --git a/lib/classes/DataFieldEntry.class.php b/lib/classes/DataFieldEntry.php
similarity index 100%
rename from lib/classes/DataFieldEntry.class.php
rename to lib/classes/DataFieldEntry.php
diff --git a/lib/classes/DataFieldLinkEntry.class.php b/lib/classes/DataFieldLinkEntry.php
similarity index 100%
rename from lib/classes/DataFieldLinkEntry.class.php
rename to lib/classes/DataFieldLinkEntry.php
diff --git a/lib/classes/DataFieldPhoneEntry.class.php b/lib/classes/DataFieldPhoneEntry.php
similarity index 100%
rename from lib/classes/DataFieldPhoneEntry.class.php
rename to lib/classes/DataFieldPhoneEntry.php
diff --git a/lib/classes/DataFieldRadioEntry.class.php b/lib/classes/DataFieldRadioEntry.php
similarity index 100%
rename from lib/classes/DataFieldRadioEntry.class.php
rename to lib/classes/DataFieldRadioEntry.php
diff --git a/lib/classes/DataFieldSelectboxEntry.class.php b/lib/classes/DataFieldSelectboxEntry.php
similarity index 100%
rename from lib/classes/DataFieldSelectboxEntry.class.php
rename to lib/classes/DataFieldSelectboxEntry.php
diff --git a/lib/classes/DataFieldSelectboxMultipleEntry.class.php b/lib/classes/DataFieldSelectboxMultipleEntry.php
similarity index 100%
rename from lib/classes/DataFieldSelectboxMultipleEntry.class.php
rename to lib/classes/DataFieldSelectboxMultipleEntry.php
diff --git a/lib/classes/DataFieldTextareaEntry.class.php b/lib/classes/DataFieldTextareaEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextareaEntry.class.php
rename to lib/classes/DataFieldTextareaEntry.php
diff --git a/lib/classes/DataFieldTextareai18nEntry.class.php b/lib/classes/DataFieldTextareai18nEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextareai18nEntry.class.php
rename to lib/classes/DataFieldTextareai18nEntry.php
diff --git a/lib/classes/DataFieldTextlineEntry.class.php b/lib/classes/DataFieldTextlineEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextlineEntry.class.php
rename to lib/classes/DataFieldTextlineEntry.php
diff --git a/lib/classes/DataFieldTextlinei18nEntry.class.php b/lib/classes/DataFieldTextlinei18nEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextlinei18nEntry.class.php
rename to lib/classes/DataFieldTextlinei18nEntry.php
diff --git a/lib/classes/DataFieldTextmarkupEntry.class.php b/lib/classes/DataFieldTextmarkupEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextmarkupEntry.class.php
rename to lib/classes/DataFieldTextmarkupEntry.php
diff --git a/lib/classes/DataFieldTextmarkupi18nEntry.class.php b/lib/classes/DataFieldTextmarkupi18nEntry.php
similarity index 100%
rename from lib/classes/DataFieldTextmarkupi18nEntry.class.php
rename to lib/classes/DataFieldTextmarkupi18nEntry.php
diff --git a/lib/classes/DataFieldTimeEntry.class.php b/lib/classes/DataFieldTimeEntry.php
similarity index 100%
rename from lib/classes/DataFieldTimeEntry.class.php
rename to lib/classes/DataFieldTimeEntry.php
diff --git a/lib/classes/DatabaseObject.class.php b/lib/classes/DatabaseObject.php
similarity index 100%
rename from lib/classes/DatabaseObject.class.php
rename to lib/classes/DatabaseObject.php
diff --git a/lib/classes/DateFormatter.class.php b/lib/classes/DateFormatter.php
similarity index 100%
rename from lib/classes/DateFormatter.class.php
rename to lib/classes/DateFormatter.php
diff --git a/lib/classes/DbSnapshot.class.php b/lib/classes/DbSnapshot.php
similarity index 100%
rename from lib/classes/DbSnapshot.class.php
rename to lib/classes/DbSnapshot.php
diff --git a/lib/classes/DbView.class.php b/lib/classes/DbView.php
similarity index 100%
rename from lib/classes/DbView.class.php
rename to lib/classes/DbView.php
diff --git a/lib/classes/Event.interface.php b/lib/classes/Event.php
similarity index 100%
rename from lib/classes/Event.interface.php
rename to lib/classes/Event.php
diff --git a/lib/classes/Feedback.class.php b/lib/classes/Feedback.php
similarity index 100%
rename from lib/classes/Feedback.class.php
rename to lib/classes/Feedback.php
diff --git a/lib/classes/FeedbackRange.interface.php b/lib/classes/FeedbackRange.php
similarity index 100%
rename from lib/classes/FeedbackRange.interface.php
rename to lib/classes/FeedbackRange.php
diff --git a/lib/classes/FileLock.class.php b/lib/classes/FileLock.php
similarity index 100%
rename from lib/classes/FileLock.class.php
rename to lib/classes/FileLock.php
diff --git a/lib/classes/Fullcalendar.class.php b/lib/classes/Fullcalendar.php
similarity index 100%
rename from lib/classes/Fullcalendar.class.php
rename to lib/classes/Fullcalendar.php
diff --git a/lib/classes/Icon.class.php b/lib/classes/Icon.php
similarity index 100%
rename from lib/classes/Icon.class.php
rename to lib/classes/Icon.php
diff --git a/lib/classes/InstituteAvatar.class.php b/lib/classes/InstituteAvatar.php
similarity index 100%
rename from lib/classes/InstituteAvatar.class.php
rename to lib/classes/InstituteAvatar.php
diff --git a/lib/classes/InstituteCalendarHelper.class.php b/lib/classes/InstituteCalendarHelper.php
similarity index 100%
rename from lib/classes/InstituteCalendarHelper.class.php
rename to lib/classes/InstituteCalendarHelper.php
diff --git a/lib/classes/InstituteConfig.class.php b/lib/classes/InstituteConfig.php
similarity index 100%
rename from lib/classes/InstituteConfig.class.php
rename to lib/classes/InstituteConfig.php
diff --git a/lib/classes/Interactable.class.php b/lib/classes/Interactable.php
similarity index 100%
rename from lib/classes/Interactable.class.php
rename to lib/classes/Interactable.php
diff --git a/lib/classes/JSONArrayObject.class.php b/lib/classes/JSONArrayObject.php
similarity index 100%
rename from lib/classes/JSONArrayObject.class.php
rename to lib/classes/JSONArrayObject.php
diff --git a/lib/classes/LayoutMessage.interface.php b/lib/classes/LayoutMessage.php
similarity index 100%
rename from lib/classes/LayoutMessage.interface.php
rename to lib/classes/LayoutMessage.php
diff --git a/lib/classes/LinkButton.class.php b/lib/classes/LinkButton.php
similarity index 100%
rename from lib/classes/LinkButton.class.php
rename to lib/classes/LinkButton.php
diff --git a/lib/classes/LockRules.class.php b/lib/classes/LockRules.php
similarity index 100%
rename from lib/classes/LockRules.class.php
rename to lib/classes/LockRules.php
diff --git a/lib/classes/Loggable.class.php b/lib/classes/Loggable.php
similarity index 100%
rename from lib/classes/Loggable.class.php
rename to lib/classes/Loggable.php
diff --git a/lib/classes/MVV.class.php b/lib/classes/MVV.php
similarity index 100%
rename from lib/classes/MVV.class.php
rename to lib/classes/MVV.php
diff --git a/lib/classes/Markup.class.php b/lib/classes/Markup.php
similarity index 100%
rename from lib/classes/Markup.class.php
rename to lib/classes/Markup.php
diff --git a/lib/classes/MessageBox.class.php b/lib/classes/MessageBox.php
similarity index 100%
rename from lib/classes/MessageBox.class.php
rename to lib/classes/MessageBox.php
diff --git a/lib/classes/ModulesNotification.class.php b/lib/classes/ModulesNotification.php
similarity index 100%
rename from lib/classes/ModulesNotification.class.php
rename to lib/classes/ModulesNotification.php
diff --git a/lib/classes/MultiDimArrayObject.class.php b/lib/classes/MultiDimArrayObject.php
similarity index 100%
rename from lib/classes/MultiDimArrayObject.class.php
rename to lib/classes/MultiDimArrayObject.php
diff --git a/lib/classes/MultiPersonSearch.class.php b/lib/classes/MultiPersonSearch.php
similarity index 100%
rename from lib/classes/MultiPersonSearch.class.php
rename to lib/classes/MultiPersonSearch.php
diff --git a/lib/classes/NotificationCenter.class.php b/lib/classes/NotificationCenter.php
similarity index 100%
rename from lib/classes/NotificationCenter.class.php
rename to lib/classes/NotificationCenter.php
diff --git a/lib/classes/PrivacyObject.interface.php b/lib/classes/PrivacyObject.php
similarity index 100%
rename from lib/classes/PrivacyObject.interface.php
rename to lib/classes/PrivacyObject.php
diff --git a/lib/classes/QuestionType.interface.php b/lib/classes/QuestionType.php
similarity index 100%
rename from lib/classes/QuestionType.interface.php
rename to lib/classes/QuestionType.php
diff --git a/lib/classes/QuickSearch.class.php b/lib/classes/QuickSearch.php
similarity index 100%
rename from lib/classes/QuickSearch.class.php
rename to lib/classes/QuickSearch.php
diff --git a/lib/classes/Range.interface.php b/lib/classes/Range.php
similarity index 100%
rename from lib/classes/Range.interface.php
rename to lib/classes/Range.php
diff --git a/lib/classes/RangeConfig.class.php b/lib/classes/RangeConfig.php
similarity index 100%
rename from lib/classes/RangeConfig.class.php
rename to lib/classes/RangeConfig.php
diff --git a/lib/classes/RangeTreeObject.class.php b/lib/classes/RangeTreeObject.php
similarity index 100%
rename from lib/classes/RangeTreeObject.class.php
rename to lib/classes/RangeTreeObject.php
diff --git a/lib/classes/RangeTreeObjectFak.class.php b/lib/classes/RangeTreeObjectFak.php
similarity index 100%
rename from lib/classes/RangeTreeObjectFak.class.php
rename to lib/classes/RangeTreeObjectFak.php
diff --git a/lib/classes/RangeTreeObjectInst.class.php b/lib/classes/RangeTreeObjectInst.php
similarity index 100%
rename from lib/classes/RangeTreeObjectInst.class.php
rename to lib/classes/RangeTreeObjectInst.php
diff --git a/lib/classes/Request.class.php b/lib/classes/Request.php
similarity index 100%
rename from lib/classes/Request.class.php
rename to lib/classes/Request.php
diff --git a/lib/classes/ResetButton.class.php b/lib/classes/ResetButton.php
similarity index 100%
rename from lib/classes/ResetButton.class.php
rename to lib/classes/ResetButton.php
diff --git a/lib/classes/Score.class.php b/lib/classes/Score.php
similarity index 100%
rename from lib/classes/Score.class.php
rename to lib/classes/Score.php
diff --git a/lib/classes/SemBrowse.class.php b/lib/classes/SemBrowse.php
similarity index 100%
rename from lib/classes/SemBrowse.class.php
rename to lib/classes/SemBrowse.php
diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.php
similarity index 100%
rename from lib/classes/SemClass.class.php
rename to lib/classes/SemClass.php
diff --git a/lib/classes/SemType.class.php b/lib/classes/SemType.php
similarity index 100%
rename from lib/classes/SemType.class.php
rename to lib/classes/SemType.php
diff --git a/lib/classes/Seminar.class.php b/lib/classes/Seminar.php
similarity index 100%
rename from lib/classes/Seminar.class.php
rename to lib/classes/Seminar.php
diff --git a/lib/classes/SeminarCategories.class.php b/lib/classes/SeminarCategories.php
similarity index 100%
rename from lib/classes/SeminarCategories.class.php
rename to lib/classes/SeminarCategories.php
diff --git a/lib/classes/SessionDecoder.class.php b/lib/classes/SessionDecoder.php
similarity index 100%
rename from lib/classes/SessionDecoder.class.php
rename to lib/classes/SessionDecoder.php
diff --git a/lib/classes/SimpleCollection.class.php b/lib/classes/SimpleCollection.php
similarity index 100%
rename from lib/classes/SimpleCollection.class.php
rename to lib/classes/SimpleCollection.php
diff --git a/lib/classes/SimpleORMap.class.php b/lib/classes/SimpleORMap.php
similarity index 100%
rename from lib/classes/SimpleORMap.class.php
rename to lib/classes/SimpleORMap.php
diff --git a/lib/classes/SimpleORMapCollection.class.php b/lib/classes/SimpleORMapCollection.php
similarity index 100%
rename from lib/classes/SimpleORMapCollection.class.php
rename to lib/classes/SimpleORMapCollection.php
diff --git a/lib/classes/StudipArrayObject.class.php b/lib/classes/StudipArrayObject.php
similarity index 100%
rename from lib/classes/StudipArrayObject.class.php
rename to lib/classes/StudipArrayObject.php
diff --git a/lib/classes/StudipForm.class.php b/lib/classes/StudipForm.php
similarity index 100%
rename from lib/classes/StudipForm.class.php
rename to lib/classes/StudipForm.php
diff --git a/lib/classes/StudipItem.interface.php b/lib/classes/StudipItem.php
similarity index 100%
rename from lib/classes/StudipItem.interface.php
rename to lib/classes/StudipItem.php
diff --git a/lib/classes/StudipKing.class.php b/lib/classes/StudipKing.php
similarity index 100%
rename from lib/classes/StudipKing.class.php
rename to lib/classes/StudipKing.php
diff --git a/lib/classes/StudipLink.class.php b/lib/classes/StudipLink.php
similarity index 100%
rename from lib/classes/StudipLink.class.php
rename to lib/classes/StudipLink.php
diff --git a/lib/classes/StudipLock.class.php b/lib/classes/StudipLock.php
similarity index 100%
rename from lib/classes/StudipLock.class.php
rename to lib/classes/StudipLock.php
diff --git a/lib/classes/StudipLog.class.php b/lib/classes/StudipLog.php
similarity index 100%
rename from lib/classes/StudipLog.class.php
rename to lib/classes/StudipLog.php
diff --git a/lib/classes/StudipLvgruppeSelection.class.php b/lib/classes/StudipLvgruppeSelection.php
similarity index 100%
rename from lib/classes/StudipLvgruppeSelection.class.php
rename to lib/classes/StudipLvgruppeSelection.php
diff --git a/lib/classes/StudipMail.class.php b/lib/classes/StudipMail.php
similarity index 100%
rename from lib/classes/StudipMail.class.php
rename to lib/classes/StudipMail.php
diff --git a/lib/classes/StudipObject.class.php b/lib/classes/StudipObject.php
similarity index 100%
rename from lib/classes/StudipObject.class.php
rename to lib/classes/StudipObject.php
diff --git a/lib/classes/StudipPDO.class.php b/lib/classes/StudipPDO.php
similarity index 100%
rename from lib/classes/StudipPDO.class.php
rename to lib/classes/StudipPDO.php
diff --git a/lib/classes/StudipRangeTree.class.php b/lib/classes/StudipRangeTree.php
similarity index 100%
rename from lib/classes/StudipRangeTree.class.php
rename to lib/classes/StudipRangeTree.php
diff --git a/lib/classes/StudipRangeTreeView.class.php b/lib/classes/StudipRangeTreeView.php
similarity index 100%
rename from lib/classes/StudipRangeTreeView.class.php
rename to lib/classes/StudipRangeTreeView.php
diff --git a/lib/classes/StudipRangeTreeViewAdmin.class.php b/lib/classes/StudipRangeTreeViewAdmin.php
similarity index 100%
rename from lib/classes/StudipRangeTreeViewAdmin.class.php
rename to lib/classes/StudipRangeTreeViewAdmin.php
diff --git a/lib/classes/StudipSemRangeTreeViewSimple.class.php b/lib/classes/StudipSemRangeTreeViewSimple.php
similarity index 100%
rename from lib/classes/StudipSemRangeTreeViewSimple.class.php
rename to lib/classes/StudipSemRangeTreeViewSimple.php
diff --git a/lib/classes/StudipSemSearch.class.php b/lib/classes/StudipSemSearch.php
similarity index 100%
rename from lib/classes/StudipSemSearch.class.php
rename to lib/classes/StudipSemSearch.php
diff --git a/lib/classes/StudipSemSearchHelper.class.php b/lib/classes/StudipSemSearchHelper.php
similarity index 100%
rename from lib/classes/StudipSemSearchHelper.class.php
rename to lib/classes/StudipSemSearchHelper.php
diff --git a/lib/classes/StudipSemTree.class.php b/lib/classes/StudipSemTree.php
similarity index 100%
rename from lib/classes/StudipSemTree.class.php
rename to lib/classes/StudipSemTree.php
diff --git a/lib/classes/StudipSemTreeSearch.class.php b/lib/classes/StudipSemTreeSearch.php
similarity index 100%
rename from lib/classes/StudipSemTreeSearch.class.php
rename to lib/classes/StudipSemTreeSearch.php
diff --git a/lib/classes/StudipSemTreeView.class.php b/lib/classes/StudipSemTreeView.php
similarity index 100%
rename from lib/classes/StudipSemTreeView.class.php
rename to lib/classes/StudipSemTreeView.php
diff --git a/lib/classes/StudipSemTreeViewAdmin.class.php b/lib/classes/StudipSemTreeViewAdmin.php
similarity index 100%
rename from lib/classes/StudipSemTreeViewAdmin.class.php
rename to lib/classes/StudipSemTreeViewAdmin.php
diff --git a/lib/classes/StudipSemTreeViewSimple.class.php b/lib/classes/StudipSemTreeViewSimple.php
similarity index 100%
rename from lib/classes/StudipSemTreeViewSimple.class.php
rename to lib/classes/StudipSemTreeViewSimple.php
diff --git a/lib/classes/StudipStudyAreaSelection.class.php b/lib/classes/StudipStudyAreaSelection.php
similarity index 100%
rename from lib/classes/StudipStudyAreaSelection.class.php
rename to lib/classes/StudipStudyAreaSelection.php
diff --git a/lib/classes/StudygroupAvatar.class.php b/lib/classes/StudygroupAvatar.php
similarity index 100%
rename from lib/classes/StudygroupAvatar.class.php
rename to lib/classes/StudygroupAvatar.php
diff --git a/lib/classes/TreeAbstract.class.php b/lib/classes/TreeAbstract.php
similarity index 100%
rename from lib/classes/TreeAbstract.class.php
rename to lib/classes/TreeAbstract.php
diff --git a/lib/classes/TreeView.class.php b/lib/classes/TreeView.php
similarity index 100%
rename from lib/classes/TreeView.class.php
rename to lib/classes/TreeView.php
diff --git a/lib/classes/UpdateInformation.class.php b/lib/classes/UpdateInformation.php
similarity index 100%
rename from lib/classes/UpdateInformation.class.php
rename to lib/classes/UpdateInformation.php
diff --git a/lib/classes/UserConfig.class.php b/lib/classes/UserConfig.php
similarity index 100%
rename from lib/classes/UserConfig.class.php
rename to lib/classes/UserConfig.php
diff --git a/lib/classes/UserLookup.class.php b/lib/classes/UserLookup.php
similarity index 100%
rename from lib/classes/UserLookup.class.php
rename to lib/classes/UserLookup.php
diff --git a/lib/classes/UserManagement.class.php b/lib/classes/UserManagement.php
similarity index 100%
rename from lib/classes/UserManagement.class.php
rename to lib/classes/UserManagement.php
diff --git a/lib/classes/admission/AdmissionAlgorithm.class.php b/lib/classes/admission/AdmissionAlgorithm.php
similarity index 100%
rename from lib/classes/admission/AdmissionAlgorithm.class.php
rename to lib/classes/admission/AdmissionAlgorithm.php
diff --git a/lib/classes/admission/AdmissionPriority.class.php b/lib/classes/admission/AdmissionPriority.php
similarity index 100%
rename from lib/classes/admission/AdmissionPriority.class.php
rename to lib/classes/admission/AdmissionPriority.php
diff --git a/lib/classes/admission/AdmissionRule.class.php b/lib/classes/admission/AdmissionRule.php
similarity index 100%
rename from lib/classes/admission/AdmissionRule.class.php
rename to lib/classes/admission/AdmissionRule.php
diff --git a/lib/classes/admission/AdmissionUserList.class.php b/lib/classes/admission/AdmissionUserList.php
similarity index 100%
rename from lib/classes/admission/AdmissionUserList.class.php
rename to lib/classes/admission/AdmissionUserList.php
diff --git a/lib/classes/admission/CourseSet.class.php b/lib/classes/admission/CourseSet.php
similarity index 100%
rename from lib/classes/admission/CourseSet.class.php
rename to lib/classes/admission/CourseSet.php
diff --git a/lib/classes/admission/RandomAlgorithm.class.php b/lib/classes/admission/RandomAlgorithm.php
similarity index 100%
rename from lib/classes/admission/RandomAlgorithm.class.php
rename to lib/classes/admission/RandomAlgorithm.php
diff --git a/lib/classes/admission/UserFilter.class.php b/lib/classes/admission/UserFilter.php
similarity index 100%
rename from lib/classes/admission/UserFilter.class.php
rename to lib/classes/admission/UserFilter.php
diff --git a/lib/classes/admission/UserFilterField.class.php b/lib/classes/admission/UserFilterField.php
similarity index 100%
rename from lib/classes/admission/UserFilterField.class.php
rename to lib/classes/admission/UserFilterField.php
diff --git a/lib/classes/admission/userfilter/DatafieldCondition.class.php b/lib/classes/admission/userfilter/DatafieldCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/DatafieldCondition.class.php
rename to lib/classes/admission/userfilter/DatafieldCondition.php
diff --git a/lib/classes/admission/userfilter/DegreeCondition.class.php b/lib/classes/admission/userfilter/DegreeCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/DegreeCondition.class.php
rename to lib/classes/admission/userfilter/DegreeCondition.php
diff --git a/lib/classes/admission/userfilter/PermissionCondition.class.php b/lib/classes/admission/userfilter/PermissionCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/PermissionCondition.class.php
rename to lib/classes/admission/userfilter/PermissionCondition.php
diff --git a/lib/classes/admission/userfilter/SemesterOfStudyCondition.class.php b/lib/classes/admission/userfilter/SemesterOfStudyCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/SemesterOfStudyCondition.class.php
rename to lib/classes/admission/userfilter/SemesterOfStudyCondition.php
diff --git a/lib/classes/admission/userfilter/StgteilVersionCondition.class.php b/lib/classes/admission/userfilter/StgteilVersionCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/StgteilVersionCondition.class.php
rename to lib/classes/admission/userfilter/StgteilVersionCondition.php
diff --git a/lib/classes/admission/userfilter/SubjectCondition.class.php b/lib/classes/admission/userfilter/SubjectCondition.php
similarity index 100%
rename from lib/classes/admission/userfilter/SubjectCondition.class.php
rename to lib/classes/admission/userfilter/SubjectCondition.php
diff --git a/lib/classes/admission/userfilter/SubjectConditionAny.class.php b/lib/classes/admission/userfilter/SubjectConditionAny.php
similarity index 100%
rename from lib/classes/admission/userfilter/SubjectConditionAny.class.php
rename to lib/classes/admission/userfilter/SubjectConditionAny.php
diff --git a/lib/classes/auth_plugins/StudipAuthAbstract.class.php b/lib/classes/auth_plugins/StudipAuthAbstract.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthAbstract.class.php
rename to lib/classes/auth_plugins/StudipAuthAbstract.php
diff --git a/lib/classes/auth_plugins/StudipAuthCAS.class.php b/lib/classes/auth_plugins/StudipAuthCAS.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthCAS.class.php
rename to lib/classes/auth_plugins/StudipAuthCAS.php
diff --git a/lib/classes/auth_plugins/StudipAuthIP.class.php b/lib/classes/auth_plugins/StudipAuthIP.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthIP.class.php
rename to lib/classes/auth_plugins/StudipAuthIP.php
diff --git a/lib/classes/auth_plugins/StudipAuthLTI.class.php b/lib/classes/auth_plugins/StudipAuthLTI.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthLTI.class.php
rename to lib/classes/auth_plugins/StudipAuthLTI.php
diff --git a/lib/classes/auth_plugins/StudipAuthLdap.class.php b/lib/classes/auth_plugins/StudipAuthLdap.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthLdap.class.php
rename to lib/classes/auth_plugins/StudipAuthLdap.php
diff --git a/lib/classes/auth_plugins/StudipAuthLdapReadAndBind.class.php b/lib/classes/auth_plugins/StudipAuthLdapReadAndBind.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthLdapReadAndBind.class.php
rename to lib/classes/auth_plugins/StudipAuthLdapReadAndBind.php
diff --git a/lib/classes/auth_plugins/StudipAuthOIDC.class.php b/lib/classes/auth_plugins/StudipAuthOIDC.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthOIDC.class.php
rename to lib/classes/auth_plugins/StudipAuthOIDC.php
diff --git a/lib/classes/auth_plugins/StudipAuthSSO.class.php b/lib/classes/auth_plugins/StudipAuthSSO.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthSSO.class.php
rename to lib/classes/auth_plugins/StudipAuthSSO.php
diff --git a/lib/classes/auth_plugins/StudipAuthShib.class.php b/lib/classes/auth_plugins/StudipAuthShib.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthShib.class.php
rename to lib/classes/auth_plugins/StudipAuthShib.php
diff --git a/lib/classes/auth_plugins/StudipAuthStandard.class.php b/lib/classes/auth_plugins/StudipAuthStandard.php
similarity index 100%
rename from lib/classes/auth_plugins/StudipAuthStandard.class.php
rename to lib/classes/auth_plugins/StudipAuthStandard.php
diff --git a/lib/classes/cache/Cache.class.php b/lib/classes/cache/Cache.php
similarity index 100%
rename from lib/classes/cache/Cache.class.php
rename to lib/classes/cache/Cache.php
diff --git a/lib/classes/cache/DbCache.class.php b/lib/classes/cache/DbCache.php
similarity index 100%
rename from lib/classes/cache/DbCache.class.php
rename to lib/classes/cache/DbCache.php
diff --git a/lib/classes/cache/Factory.class.php b/lib/classes/cache/Factory.php
similarity index 100%
rename from lib/classes/cache/Factory.class.php
rename to lib/classes/cache/Factory.php
diff --git a/lib/classes/cache/FileCache.class.php b/lib/classes/cache/FileCache.php
similarity index 100%
rename from lib/classes/cache/FileCache.class.php
rename to lib/classes/cache/FileCache.php
diff --git a/lib/classes/cache/Item.class.php b/lib/classes/cache/Item.php
similarity index 100%
rename from lib/classes/cache/Item.class.php
rename to lib/classes/cache/Item.php
diff --git a/lib/classes/cache/MemcachedCache.class.php b/lib/classes/cache/MemcachedCache.php
similarity index 100%
rename from lib/classes/cache/MemcachedCache.class.php
rename to lib/classes/cache/MemcachedCache.php
diff --git a/lib/classes/cache/MemoryCache.class.php b/lib/classes/cache/MemoryCache.php
similarity index 100%
rename from lib/classes/cache/MemoryCache.class.php
rename to lib/classes/cache/MemoryCache.php
diff --git a/lib/classes/cache/Proxy.class.php b/lib/classes/cache/Proxy.php
similarity index 100%
rename from lib/classes/cache/Proxy.class.php
rename to lib/classes/cache/Proxy.php
diff --git a/lib/classes/cache/RedisCache.class.php b/lib/classes/cache/RedisCache.php
similarity index 100%
rename from lib/classes/cache/RedisCache.class.php
rename to lib/classes/cache/RedisCache.php
diff --git a/lib/classes/cache/Wrapper.class.php b/lib/classes/cache/Wrapper.php
similarity index 100%
rename from lib/classes/cache/Wrapper.class.php
rename to lib/classes/cache/Wrapper.php
diff --git a/lib/classes/calendar/EventData.class.php b/lib/classes/calendar/EventData.php
similarity index 100%
rename from lib/classes/calendar/EventData.class.php
rename to lib/classes/calendar/EventData.php
diff --git a/lib/classes/calendar/EventSource.interface.php b/lib/classes/calendar/EventSource.php
similarity index 100%
rename from lib/classes/calendar/EventSource.interface.php
rename to lib/classes/calendar/EventSource.php
diff --git a/lib/classes/calendar/ICalendarExport.class.php b/lib/classes/calendar/ICalendarExport.php
similarity index 100%
rename from lib/classes/calendar/ICalendarExport.class.php
rename to lib/classes/calendar/ICalendarExport.php
diff --git a/lib/classes/calendar/ICalendarImport.class.php b/lib/classes/calendar/ICalendarImport.php
similarity index 100%
rename from lib/classes/calendar/ICalendarImport.class.php
rename to lib/classes/calendar/ICalendarImport.php
diff --git a/lib/classes/calendar/Owner.interface.php b/lib/classes/calendar/Owner.php
similarity index 100%
rename from lib/classes/calendar/Owner.interface.php
rename to lib/classes/calendar/Owner.php
diff --git a/lib/classes/exportdocument/ExportDocument.interface.php b/lib/classes/exportdocument/ExportDocument.php
similarity index 100%
rename from lib/classes/exportdocument/ExportDocument.interface.php
rename to lib/classes/exportdocument/ExportDocument.php
diff --git a/lib/classes/exportdocument/ExportPDF.class.php b/lib/classes/exportdocument/ExportPDF.php
similarity index 100%
rename from lib/classes/exportdocument/ExportPDF.class.php
rename to lib/classes/exportdocument/ExportPDF.php
diff --git a/lib/classes/librarysearch/LibraryDocument.class.php b/lib/classes/librarysearch/LibraryDocument.php
similarity index 100%
rename from lib/classes/librarysearch/LibraryDocument.class.php
rename to lib/classes/librarysearch/LibraryDocument.php
diff --git a/lib/classes/librarysearch/LibraryResultParser.interface.php b/lib/classes/librarysearch/LibraryResultParser.php
similarity index 100%
rename from lib/classes/librarysearch/LibraryResultParser.interface.php
rename to lib/classes/librarysearch/LibraryResultParser.php
diff --git a/lib/classes/librarysearch/LibrarySearch.class.php b/lib/classes/librarysearch/LibrarySearch.php
similarity index 100%
rename from lib/classes/librarysearch/LibrarySearch.class.php
rename to lib/classes/librarysearch/LibrarySearch.php
diff --git a/lib/classes/librarysearch/LibrarySearchManager.class.php b/lib/classes/librarysearch/LibrarySearchManager.php
similarity index 100%
rename from lib/classes/librarysearch/LibrarySearchManager.class.php
rename to lib/classes/librarysearch/LibrarySearchManager.php
diff --git a/lib/classes/librarysearch/resultparsers/BASELibraryResultParser.class.php b/lib/classes/librarysearch/resultparsers/BASELibraryResultParser.php
similarity index 100%
rename from lib/classes/librarysearch/resultparsers/BASELibraryResultParser.class.php
rename to lib/classes/librarysearch/resultparsers/BASELibraryResultParser.php
diff --git a/lib/classes/librarysearch/resultparsers/K10PlusLibraryResultParser.class.php b/lib/classes/librarysearch/resultparsers/K10PlusLibraryResultParser.php
similarity index 100%
rename from lib/classes/librarysearch/resultparsers/K10PlusLibraryResultParser.class.php
rename to lib/classes/librarysearch/resultparsers/K10PlusLibraryResultParser.php
diff --git a/lib/classes/librarysearch/resultparsers/MarcxmlLibraryResultParser.class.php b/lib/classes/librarysearch/resultparsers/MarcxmlLibraryResultParser.php
similarity index 100%
rename from lib/classes/librarysearch/resultparsers/MarcxmlLibraryResultParser.class.php
rename to lib/classes/librarysearch/resultparsers/MarcxmlLibraryResultParser.php
diff --git a/lib/classes/librarysearch/resultparsers/SRULibraryResultParser.class.php b/lib/classes/librarysearch/resultparsers/SRULibraryResultParser.php
similarity index 100%
rename from lib/classes/librarysearch/resultparsers/SRULibraryResultParser.class.php
rename to lib/classes/librarysearch/resultparsers/SRULibraryResultParser.php
diff --git a/lib/classes/librarysearch/searchmodules/BASELibrarySearch.class.php b/lib/classes/librarysearch/searchmodules/BASELibrarySearch.php
similarity index 100%
rename from lib/classes/librarysearch/searchmodules/BASELibrarySearch.class.php
rename to lib/classes/librarysearch/searchmodules/BASELibrarySearch.php
diff --git a/lib/classes/librarysearch/searchmodules/K10PlusZentralLibrarySearch.class.php b/lib/classes/librarysearch/searchmodules/K10PlusZentralLibrarySearch.php
similarity index 100%
rename from lib/classes/librarysearch/searchmodules/K10PlusZentralLibrarySearch.class.php
rename to lib/classes/librarysearch/searchmodules/K10PlusZentralLibrarySearch.php
diff --git a/lib/classes/librarysearch/searchmodules/SRULibrarySearch.class.php b/lib/classes/librarysearch/searchmodules/SRULibrarySearch.php
similarity index 100%
rename from lib/classes/librarysearch/searchmodules/SRULibrarySearch.class.php
rename to lib/classes/librarysearch/searchmodules/SRULibrarySearch.php
diff --git a/lib/classes/searchtypes/MyCoursesSearch.class.php b/lib/classes/searchtypes/MyCoursesSearch.php
similarity index 100%
rename from lib/classes/searchtypes/MyCoursesSearch.class.php
rename to lib/classes/searchtypes/MyCoursesSearch.php
diff --git a/lib/classes/searchtypes/PermissionSearch.class.php b/lib/classes/searchtypes/PermissionSearch.php
similarity index 100%
rename from lib/classes/searchtypes/PermissionSearch.class.php
rename to lib/classes/searchtypes/PermissionSearch.php
diff --git a/lib/classes/searchtypes/RangeSearch.class.php b/lib/classes/searchtypes/RangeSearch.php
similarity index 100%
rename from lib/classes/searchtypes/RangeSearch.class.php
rename to lib/classes/searchtypes/RangeSearch.php
diff --git a/lib/classes/searchtypes/ResourceSearch.class.php b/lib/classes/searchtypes/ResourceSearch.php
similarity index 100%
rename from lib/classes/searchtypes/ResourceSearch.class.php
rename to lib/classes/searchtypes/ResourceSearch.php
diff --git a/lib/classes/searchtypes/RoomSearch.class.php b/lib/classes/searchtypes/RoomSearch.php
similarity index 100%
rename from lib/classes/searchtypes/RoomSearch.class.php
rename to lib/classes/searchtypes/RoomSearch.php
diff --git a/lib/classes/searchtypes/SQLSearch.class.php b/lib/classes/searchtypes/SQLSearch.php
similarity index 100%
rename from lib/classes/searchtypes/SQLSearch.class.php
rename to lib/classes/searchtypes/SQLSearch.php
diff --git a/lib/classes/searchtypes/SearchType.class.php b/lib/classes/searchtypes/SearchType.php
similarity index 100%
rename from lib/classes/searchtypes/SearchType.class.php
rename to lib/classes/searchtypes/SearchType.php
diff --git a/lib/classes/searchtypes/SeminarSearch.class.php b/lib/classes/searchtypes/SeminarSearch.php
similarity index 100%
rename from lib/classes/searchtypes/SeminarSearch.class.php
rename to lib/classes/searchtypes/SeminarSearch.php
diff --git a/lib/classes/searchtypes/StandardSearch.class.php b/lib/classes/searchtypes/StandardSearch.php
similarity index 100%
rename from lib/classes/searchtypes/StandardSearch.class.php
rename to lib/classes/searchtypes/StandardSearch.php
diff --git a/lib/classes/searchtypes/TreeSearch.class.php b/lib/classes/searchtypes/TreeSearch.php
similarity index 100%
rename from lib/classes/searchtypes/TreeSearch.class.php
rename to lib/classes/searchtypes/TreeSearch.php
diff --git a/lib/classes/sidebar/ClipboardWidget.class.php b/lib/classes/sidebar/ClipboardWidget.php
similarity index 100%
rename from lib/classes/sidebar/ClipboardWidget.class.php
rename to lib/classes/sidebar/ClipboardWidget.php
diff --git a/lib/classes/sidebar/InstituteSelectWidget.class.php b/lib/classes/sidebar/InstituteSelectWidget.php
similarity index 100%
rename from lib/classes/sidebar/InstituteSelectWidget.class.php
rename to lib/classes/sidebar/InstituteSelectWidget.php
diff --git a/lib/classes/sidebar/ResourceTreeWidget.class.php b/lib/classes/sidebar/ResourceTreeWidget.php
similarity index 100%
rename from lib/classes/sidebar/ResourceTreeWidget.class.php
rename to lib/classes/sidebar/ResourceTreeWidget.php
diff --git a/lib/classes/sidebar/RoomClipboardWidget.class.php b/lib/classes/sidebar/RoomClipboardWidget.php
similarity index 100%
rename from lib/classes/sidebar/RoomClipboardWidget.class.php
rename to lib/classes/sidebar/RoomClipboardWidget.php
diff --git a/lib/classes/sidebar/RoomSearchTreeWidget.class.php b/lib/classes/sidebar/RoomSearchTreeWidget.php
similarity index 100%
rename from lib/classes/sidebar/RoomSearchTreeWidget.class.php
rename to lib/classes/sidebar/RoomSearchTreeWidget.php
diff --git a/lib/classes/sidebar/RoomSearchWidget.class.php b/lib/classes/sidebar/RoomSearchWidget.php
similarity index 100%
rename from lib/classes/sidebar/RoomSearchWidget.class.php
rename to lib/classes/sidebar/RoomSearchWidget.php
diff --git a/lib/cronjobs/check_admission.class.php b/lib/cronjobs/check_admission.php
similarity index 100%
rename from lib/cronjobs/check_admission.class.php
rename to lib/cronjobs/check_admission.php
diff --git a/lib/cronjobs/cleanup_log.class.php b/lib/cronjobs/cleanup_log.php
similarity index 100%
rename from lib/cronjobs/cleanup_log.class.php
rename to lib/cronjobs/cleanup_log.php
diff --git a/lib/cronjobs/garbage_collector.class.php b/lib/cronjobs/garbage_collector.php
similarity index 100%
rename from lib/cronjobs/garbage_collector.class.php
rename to lib/cronjobs/garbage_collector.php
diff --git a/lib/cronjobs/purge_cache.class.php b/lib/cronjobs/purge_cache.php
similarity index 100%
rename from lib/cronjobs/purge_cache.class.php
rename to lib/cronjobs/purge_cache.php
diff --git a/lib/cronjobs/remind_oer_upload.class.php b/lib/cronjobs/remind_oer_upload.php
similarity index 100%
rename from lib/cronjobs/remind_oer_upload.class.php
rename to lib/cronjobs/remind_oer_upload.php
diff --git a/lib/cronjobs/send_mail_notifications.class.php b/lib/cronjobs/send_mail_notifications.php
similarity index 100%
rename from lib/cronjobs/send_mail_notifications.class.php
rename to lib/cronjobs/send_mail_notifications.php
diff --git a/lib/cronjobs/send_mail_queue.class.php b/lib/cronjobs/send_mail_queue.php
similarity index 100%
rename from lib/cronjobs/send_mail_queue.class.php
rename to lib/cronjobs/send_mail_queue.php
diff --git a/lib/cronjobs/session_gc.class.php b/lib/cronjobs/session_gc.php
similarity index 100%
rename from lib/cronjobs/session_gc.class.php
rename to lib/cronjobs/session_gc.php
diff --git a/lib/elearning/ConnectedCMS.class.php b/lib/elearning/ConnectedCMS.php
similarity index 100%
rename from lib/elearning/ConnectedCMS.class.php
rename to lib/elearning/ConnectedCMS.php
diff --git a/lib/elearning/ConnectedLink.class.php b/lib/elearning/ConnectedLink.php
similarity index 100%
rename from lib/elearning/ConnectedLink.class.php
rename to lib/elearning/ConnectedLink.php
diff --git a/lib/elearning/ConnectedPermissions.class.php b/lib/elearning/ConnectedPermissions.php
similarity index 100%
rename from lib/elearning/ConnectedPermissions.class.php
rename to lib/elearning/ConnectedPermissions.php
diff --git a/lib/elearning/ConnectedUser.class.php b/lib/elearning/ConnectedUser.php
similarity index 100%
rename from lib/elearning/ConnectedUser.class.php
rename to lib/elearning/ConnectedUser.php
diff --git a/lib/elearning/ContentModule.class.php b/lib/elearning/ContentModule.php
similarity index 100%
rename from lib/elearning/ContentModule.class.php
rename to lib/elearning/ContentModule.php
diff --git a/lib/elearning/ContentModuleView.class.php b/lib/elearning/ContentModuleView.php
similarity index 100%
rename from lib/elearning/ContentModuleView.class.php
rename to lib/elearning/ContentModuleView.php
diff --git a/lib/elearning/ELearningUtils.class.php b/lib/elearning/ELearningUtils.php
similarity index 100%
rename from lib/elearning/ELearningUtils.class.php
rename to lib/elearning/ELearningUtils.php
diff --git a/lib/elearning/Ilias3ConnectedCMS.class.php b/lib/elearning/Ilias3ConnectedCMS.php
similarity index 100%
rename from lib/elearning/Ilias3ConnectedCMS.class.php
rename to lib/elearning/Ilias3ConnectedCMS.php
diff --git a/lib/elearning/Ilias3ConnectedLink.class.php b/lib/elearning/Ilias3ConnectedLink.php
similarity index 100%
rename from lib/elearning/Ilias3ConnectedLink.class.php
rename to lib/elearning/Ilias3ConnectedLink.php
diff --git a/lib/elearning/Ilias3ConnectedPermissions.class.php b/lib/elearning/Ilias3ConnectedPermissions.php
similarity index 100%
rename from lib/elearning/Ilias3ConnectedPermissions.class.php
rename to lib/elearning/Ilias3ConnectedPermissions.php
diff --git a/lib/elearning/Ilias3ConnectedUser.class.php b/lib/elearning/Ilias3ConnectedUser.php
similarity index 100%
rename from lib/elearning/Ilias3ConnectedUser.class.php
rename to lib/elearning/Ilias3ConnectedUser.php
diff --git a/lib/elearning/Ilias3ContentModule.class.php b/lib/elearning/Ilias3ContentModule.php
similarity index 100%
rename from lib/elearning/Ilias3ContentModule.class.php
rename to lib/elearning/Ilias3ContentModule.php
diff --git a/lib/elearning/Ilias3ObjectXMLParser.class.php b/lib/elearning/Ilias3ObjectXMLParser.php
similarity index 100%
rename from lib/elearning/Ilias3ObjectXMLParser.class.php
rename to lib/elearning/Ilias3ObjectXMLParser.php
diff --git a/lib/elearning/Ilias3SaxParser.class.php b/lib/elearning/Ilias3SaxParser.php
similarity index 100%
rename from lib/elearning/Ilias3SaxParser.class.php
rename to lib/elearning/Ilias3SaxParser.php
diff --git a/lib/elearning/Ilias3Soap.class.php b/lib/elearning/Ilias3Soap.php
similarity index 100%
rename from lib/elearning/Ilias3Soap.class.php
rename to lib/elearning/Ilias3Soap.php
diff --git a/lib/elearning/Ilias4ConnectedCMS.class.php b/lib/elearning/Ilias4ConnectedCMS.php
similarity index 100%
rename from lib/elearning/Ilias4ConnectedCMS.class.php
rename to lib/elearning/Ilias4ConnectedCMS.php
diff --git a/lib/elearning/Ilias4ConnectedLink.class.php b/lib/elearning/Ilias4ConnectedLink.php
similarity index 100%
rename from lib/elearning/Ilias4ConnectedLink.class.php
rename to lib/elearning/Ilias4ConnectedLink.php
diff --git a/lib/elearning/Ilias4ConnectedPermissions.class.php b/lib/elearning/Ilias4ConnectedPermissions.php
similarity index 100%
rename from lib/elearning/Ilias4ConnectedPermissions.class.php
rename to lib/elearning/Ilias4ConnectedPermissions.php
diff --git a/lib/elearning/Ilias4ConnectedUser.class.php b/lib/elearning/Ilias4ConnectedUser.php
similarity index 100%
rename from lib/elearning/Ilias4ConnectedUser.class.php
rename to lib/elearning/Ilias4ConnectedUser.php
diff --git a/lib/elearning/Ilias4ContentModule.class.php b/lib/elearning/Ilias4ContentModule.php
similarity index 100%
rename from lib/elearning/Ilias4ContentModule.class.php
rename to lib/elearning/Ilias4ContentModule.php
diff --git a/lib/elearning/Ilias4Soap.class.php b/lib/elearning/Ilias4Soap.php
similarity index 100%
rename from lib/elearning/Ilias4Soap.class.php
rename to lib/elearning/Ilias4Soap.php
diff --git a/lib/elearning/Ilias5ConnectedCMS.class.php b/lib/elearning/Ilias5ConnectedCMS.php
similarity index 100%
rename from lib/elearning/Ilias5ConnectedCMS.class.php
rename to lib/elearning/Ilias5ConnectedCMS.php
diff --git a/lib/elearning/Ilias5ConnectedLink.class.php b/lib/elearning/Ilias5ConnectedLink.php
similarity index 100%
rename from lib/elearning/Ilias5ConnectedLink.class.php
rename to lib/elearning/Ilias5ConnectedLink.php
diff --git a/lib/elearning/Ilias5ConnectedPermissions.class.php b/lib/elearning/Ilias5ConnectedPermissions.php
similarity index 100%
rename from lib/elearning/Ilias5ConnectedPermissions.class.php
rename to lib/elearning/Ilias5ConnectedPermissions.php
diff --git a/lib/elearning/Ilias5ConnectedUser.class.php b/lib/elearning/Ilias5ConnectedUser.php
similarity index 100%
rename from lib/elearning/Ilias5ConnectedUser.class.php
rename to lib/elearning/Ilias5ConnectedUser.php
diff --git a/lib/elearning/Ilias5ContentModule.class.php b/lib/elearning/Ilias5ContentModule.php
similarity index 100%
rename from lib/elearning/Ilias5ContentModule.class.php
rename to lib/elearning/Ilias5ContentModule.php
diff --git a/lib/elearning/Ilias5Soap.class.php b/lib/elearning/Ilias5Soap.php
similarity index 100%
rename from lib/elearning/Ilias5Soap.class.php
rename to lib/elearning/Ilias5Soap.php
diff --git a/lib/elearning/LonCapaConnectedCMS.class.php b/lib/elearning/LonCapaConnectedCMS.php
similarity index 100%
rename from lib/elearning/LonCapaConnectedCMS.class.php
rename to lib/elearning/LonCapaConnectedCMS.php
diff --git a/lib/elearning/LonCapaConnectedLink.class.php b/lib/elearning/LonCapaConnectedLink.php
similarity index 100%
rename from lib/elearning/LonCapaConnectedLink.class.php
rename to lib/elearning/LonCapaConnectedLink.php
diff --git a/lib/elearning/LonCapaContentModule.class.php b/lib/elearning/LonCapaContentModule.php
similarity index 100%
rename from lib/elearning/LonCapaContentModule.class.php
rename to lib/elearning/LonCapaContentModule.php
diff --git a/lib/elearning/LonCapaRequest.class.php b/lib/elearning/LonCapaRequest.php
similarity index 100%
rename from lib/elearning/LonCapaRequest.class.php
rename to lib/elearning/LonCapaRequest.php
diff --git a/lib/elearning/ObjectConnections.class.php b/lib/elearning/ObjectConnections.php
similarity index 100%
rename from lib/elearning/ObjectConnections.class.php
rename to lib/elearning/ObjectConnections.php
diff --git a/lib/elearning/PmWikiConnectedCMS.class.php b/lib/elearning/PmWikiConnectedCMS.php
similarity index 100%
rename from lib/elearning/PmWikiConnectedCMS.class.php
rename to lib/elearning/PmWikiConnectedCMS.php
diff --git a/lib/elearning/PmWikiConnectedLink.class.php b/lib/elearning/PmWikiConnectedLink.php
similarity index 100%
rename from lib/elearning/PmWikiConnectedLink.class.php
rename to lib/elearning/PmWikiConnectedLink.php
diff --git a/lib/elearning/PmWikiContentModule.class.php b/lib/elearning/PmWikiContentModule.php
similarity index 100%
rename from lib/elearning/PmWikiContentModule.class.php
rename to lib/elearning/PmWikiContentModule.php
diff --git a/lib/exceptions/ClipboardException.class.php b/lib/exceptions/ClipboardException.php
similarity index 100%
rename from lib/exceptions/ClipboardException.class.php
rename to lib/exceptions/ClipboardException.php
diff --git a/lib/exceptions/resources/GlobalResourceLockException.class.php b/lib/exceptions/resources/GlobalResourceLockException.php
similarity index 100%
rename from lib/exceptions/resources/GlobalResourceLockException.class.php
rename to lib/exceptions/resources/GlobalResourceLockException.php
diff --git a/lib/exceptions/resources/GlobalResourceLockOverlapException.class.php b/lib/exceptions/resources/GlobalResourceLockOverlapException.php
similarity index 100%
rename from lib/exceptions/resources/GlobalResourceLockOverlapException.class.php
rename to lib/exceptions/resources/GlobalResourceLockOverlapException.php
diff --git a/lib/exceptions/resources/InvalidResourceCategoryException.class.php b/lib/exceptions/resources/InvalidResourceCategoryException.php
similarity index 100%
rename from lib/exceptions/resources/InvalidResourceCategoryException.class.php
rename to lib/exceptions/resources/InvalidResourceCategoryException.php
diff --git a/lib/exceptions/resources/InvalidResourceClassException.class.php b/lib/exceptions/resources/InvalidResourceClassException.php
similarity index 100%
rename from lib/exceptions/resources/InvalidResourceClassException.class.php
rename to lib/exceptions/resources/InvalidResourceClassException.php
diff --git a/lib/exceptions/resources/InvalidResourceException.class.php b/lib/exceptions/resources/InvalidResourceException.php
similarity index 100%
rename from lib/exceptions/resources/InvalidResourceException.class.php
rename to lib/exceptions/resources/InvalidResourceException.php
diff --git a/lib/exceptions/resources/InvalidResourceRequestException.class.php b/lib/exceptions/resources/InvalidResourceRequestException.php
similarity index 100%
rename from lib/exceptions/resources/InvalidResourceRequestException.class.php
rename to lib/exceptions/resources/InvalidResourceRequestException.php
diff --git a/lib/exceptions/resources/NoResourceClassException.class.php b/lib/exceptions/resources/NoResourceClassException.php
similarity index 100%
rename from lib/exceptions/resources/NoResourceClassException.class.php
rename to lib/exceptions/resources/NoResourceClassException.php
diff --git a/lib/exceptions/resources/ResourceBookingException.class.php b/lib/exceptions/resources/ResourceBookingException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceBookingException.class.php
rename to lib/exceptions/resources/ResourceBookingException.php
diff --git a/lib/exceptions/resources/ResourceBookingOverlapException.class.php b/lib/exceptions/resources/ResourceBookingOverlapException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceBookingOverlapException.class.php
rename to lib/exceptions/resources/ResourceBookingOverlapException.php
diff --git a/lib/exceptions/resources/ResourceBookingRangeException.class.php b/lib/exceptions/resources/ResourceBookingRangeException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceBookingRangeException.class.php
rename to lib/exceptions/resources/ResourceBookingRangeException.php
diff --git a/lib/exceptions/resources/ResourceException.class.php b/lib/exceptions/resources/ResourceException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceException.class.php
rename to lib/exceptions/resources/ResourceException.php
diff --git a/lib/exceptions/resources/ResourceNoTimeRangeException.class.php b/lib/exceptions/resources/ResourceNoTimeRangeException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceNoTimeRangeException.class.php
rename to lib/exceptions/resources/ResourceNoTimeRangeException.php
diff --git a/lib/exceptions/resources/ResourcePermissionException.class.php b/lib/exceptions/resources/ResourcePermissionException.php
similarity index 100%
rename from lib/exceptions/resources/ResourcePermissionException.class.php
rename to lib/exceptions/resources/ResourcePermissionException.php
diff --git a/lib/exceptions/resources/ResourcePropertyDefinitionException.class.php b/lib/exceptions/resources/ResourcePropertyDefinitionException.php
similarity index 100%
rename from lib/exceptions/resources/ResourcePropertyDefinitionException.class.php
rename to lib/exceptions/resources/ResourcePropertyDefinitionException.php
diff --git a/lib/exceptions/resources/ResourcePropertyException.class.php b/lib/exceptions/resources/ResourcePropertyException.php
similarity index 100%
rename from lib/exceptions/resources/ResourcePropertyException.class.php
rename to lib/exceptions/resources/ResourcePropertyException.php
diff --git a/lib/exceptions/resources/ResourcePropertyStateException.class.php b/lib/exceptions/resources/ResourcePropertyStateException.php
similarity index 100%
rename from lib/exceptions/resources/ResourcePropertyStateException.class.php
rename to lib/exceptions/resources/ResourcePropertyStateException.php
diff --git a/lib/exceptions/resources/ResourceRequestException.class.php b/lib/exceptions/resources/ResourceRequestException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceRequestException.class.php
rename to lib/exceptions/resources/ResourceRequestException.php
diff --git a/lib/exceptions/resources/ResourceUnavailableException.class.php b/lib/exceptions/resources/ResourceUnavailableException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceUnavailableException.class.php
rename to lib/exceptions/resources/ResourceUnavailableException.php
diff --git a/lib/exceptions/resources/ResourceUnlockableException.class.php b/lib/exceptions/resources/ResourceUnlockableException.php
similarity index 100%
rename from lib/exceptions/resources/ResourceUnlockableException.class.php
rename to lib/exceptions/resources/ResourceUnlockableException.php
diff --git a/lib/exceptions/resources/SeparableRoomException.class.php b/lib/exceptions/resources/SeparableRoomException.php
similarity index 100%
rename from lib/exceptions/resources/SeparableRoomException.class.php
rename to lib/exceptions/resources/SeparableRoomException.php
diff --git a/lib/filesystem/FileArchiveManager.class.php b/lib/filesystem/FileArchiveManager.php
similarity index 100%
rename from lib/filesystem/FileArchiveManager.class.php
rename to lib/filesystem/FileArchiveManager.php
diff --git a/lib/filesystem/FileArchiveManagerException.class.php b/lib/filesystem/FileArchiveManagerException.php
similarity index 100%
rename from lib/filesystem/FileArchiveManagerException.class.php
rename to lib/filesystem/FileArchiveManagerException.php
diff --git a/lib/filesystem/LibraryFile.class.php b/lib/filesystem/LibraryFile.php
similarity index 100%
rename from lib/filesystem/LibraryFile.class.php
rename to lib/filesystem/LibraryFile.php
diff --git a/lib/filesystem/ResourceFolder.class.php b/lib/filesystem/ResourceFolder.php
similarity index 100%
rename from lib/filesystem/ResourceFolder.class.php
rename to lib/filesystem/ResourceFolder.php
diff --git a/lib/ilias_interface/ConnectedIlias.class.php b/lib/ilias_interface/ConnectedIlias.php
similarity index 100%
rename from lib/ilias_interface/ConnectedIlias.class.php
rename to lib/ilias_interface/ConnectedIlias.php
diff --git a/lib/ilias_interface/IliasModule.class.php b/lib/ilias_interface/IliasModule.php
similarity index 100%
rename from lib/ilias_interface/IliasModule.class.php
rename to lib/ilias_interface/IliasModule.php
diff --git a/lib/ilias_interface/IliasObjectConnections.class.php b/lib/ilias_interface/IliasObjectConnections.php
similarity index 100%
rename from lib/ilias_interface/IliasObjectConnections.class.php
rename to lib/ilias_interface/IliasObjectConnections.php
diff --git a/lib/ilias_interface/IliasSoap.class.php b/lib/ilias_interface/IliasSoap.php
similarity index 100%
rename from lib/ilias_interface/IliasSoap.class.php
rename to lib/ilias_interface/IliasSoap.php
diff --git a/lib/ilias_interface/IliasUser.class.php b/lib/ilias_interface/IliasUser.php
similarity index 100%
rename from lib/ilias_interface/IliasUser.class.php
rename to lib/ilias_interface/IliasUser.php
diff --git a/lib/models/AdmissionApplication.class.php b/lib/models/AdmissionApplication.php
similarity index 100%
rename from lib/models/AdmissionApplication.class.php
rename to lib/models/AdmissionApplication.php
diff --git a/lib/models/ArchivedCourse.class.php b/lib/models/ArchivedCourse.php
similarity index 100%
rename from lib/models/ArchivedCourse.class.php
rename to lib/models/ArchivedCourse.php
diff --git a/lib/models/ArchivedCourseMember.class.php b/lib/models/ArchivedCourseMember.php
similarity index 100%
rename from lib/models/ArchivedCourseMember.class.php
rename to lib/models/ArchivedCourseMember.php
diff --git a/lib/models/AuthUserMd5.class.php b/lib/models/AuthUserMd5.php
similarity index 100%
rename from lib/models/AuthUserMd5.class.php
rename to lib/models/AuthUserMd5.php
diff --git a/lib/models/Banner.class.php b/lib/models/Banner.php
similarity index 100%
rename from lib/models/Banner.class.php
rename to lib/models/Banner.php
diff --git a/lib/models/BannerRoles.class.php b/lib/models/BannerRoles.php
similarity index 100%
rename from lib/models/BannerRoles.class.php
rename to lib/models/BannerRoles.php
diff --git a/lib/models/Clipboard.class.php b/lib/models/Clipboard.php
similarity index 100%
rename from lib/models/Clipboard.class.php
rename to lib/models/Clipboard.php
diff --git a/lib/models/ClipboardItem.class.php b/lib/models/ClipboardItem.php
similarity index 100%
rename from lib/models/ClipboardItem.class.php
rename to lib/models/ClipboardItem.php
diff --git a/lib/models/ColourValue.class.php b/lib/models/ColourValue.php
similarity index 100%
rename from lib/models/ColourValue.class.php
rename to lib/models/ColourValue.php
diff --git a/lib/models/ConfigEntry.class.php b/lib/models/ConfigEntry.php
similarity index 100%
rename from lib/models/ConfigEntry.class.php
rename to lib/models/ConfigEntry.php
diff --git a/lib/models/Contact.class.php b/lib/models/Contact.php
similarity index 100%
rename from lib/models/Contact.class.php
rename to lib/models/Contact.php
diff --git a/lib/models/ContactGroup.class.php b/lib/models/ContactGroup.php
similarity index 100%
rename from lib/models/ContactGroup.class.php
rename to lib/models/ContactGroup.php
diff --git a/lib/models/ContactGroupItem.class.php b/lib/models/ContactGroupItem.php
similarity index 100%
rename from lib/models/ContactGroupItem.class.php
rename to lib/models/ContactGroupItem.php
diff --git a/lib/models/ContentTermsOfUse.class.php b/lib/models/ContentTermsOfUse.php
similarity index 100%
rename from lib/models/ContentTermsOfUse.class.php
rename to lib/models/ContentTermsOfUse.php
diff --git a/lib/models/Course.class.php b/lib/models/Course.php
similarity index 100%
rename from lib/models/Course.class.php
rename to lib/models/Course.php
diff --git a/lib/models/CourseDate.class.php b/lib/models/CourseDate.php
similarity index 100%
rename from lib/models/CourseDate.class.php
rename to lib/models/CourseDate.php
diff --git a/lib/models/CourseExDate.class.php b/lib/models/CourseExDate.php
similarity index 100%
rename from lib/models/CourseExDate.class.php
rename to lib/models/CourseExDate.php
diff --git a/lib/models/CourseMember.class.php b/lib/models/CourseMember.php
similarity index 100%
rename from lib/models/CourseMember.class.php
rename to lib/models/CourseMember.php
diff --git a/lib/models/CourseTopic.class.php b/lib/models/CourseTopic.php
similarity index 100%
rename from lib/models/CourseTopic.class.php
rename to lib/models/CourseTopic.php
diff --git a/lib/models/CronjobLog.class.php b/lib/models/CronjobLog.php
similarity index 100%
rename from lib/models/CronjobLog.class.php
rename to lib/models/CronjobLog.php
diff --git a/lib/models/CronjobSchedule.class.php b/lib/models/CronjobSchedule.php
similarity index 100%
rename from lib/models/CronjobSchedule.class.php
rename to lib/models/CronjobSchedule.php
diff --git a/lib/models/CronjobTask.class.php b/lib/models/CronjobTask.php
similarity index 100%
rename from lib/models/CronjobTask.class.php
rename to lib/models/CronjobTask.php
diff --git a/lib/models/DataField.class.php b/lib/models/DataField.php
similarity index 100%
rename from lib/models/DataField.class.php
rename to lib/models/DataField.php
diff --git a/lib/models/DatafieldEntryModel.class.php b/lib/models/DatafieldEntryModel.php
similarity index 100%
rename from lib/models/DatafieldEntryModel.class.php
rename to lib/models/DatafieldEntryModel.php
diff --git a/lib/models/DatafieldEntryModelI18N.class.php b/lib/models/DatafieldEntryModelI18N.php
similarity index 100%
rename from lib/models/DatafieldEntryModelI18N.class.php
rename to lib/models/DatafieldEntryModelI18N.php
diff --git a/lib/models/Degree.class.php b/lib/models/Degree.php
similarity index 100%
rename from lib/models/Degree.class.php
rename to lib/models/Degree.php
diff --git a/lib/models/Freetext.php b/lib/models/Freetext.php
index 66b93c5d3f8..f241b5a9dfd 100644
--- a/lib/models/Freetext.php
+++ b/lib/models/Freetext.php
@@ -1,6 +1,6 @@
 <?php
 
-require_once 'lib/classes/QuestionType.interface.php';
+require_once 'lib/classes/QuestionType.php';
 
 /**
  * @license GPL2 or any later version
diff --git a/lib/models/HelpContent.class.php b/lib/models/HelpContent.php
similarity index 100%
rename from lib/models/HelpContent.class.php
rename to lib/models/HelpContent.php
diff --git a/lib/models/HelpTour.class.php b/lib/models/HelpTour.php
similarity index 100%
rename from lib/models/HelpTour.class.php
rename to lib/models/HelpTour.php
diff --git a/lib/models/HelpTourAudience.class.php b/lib/models/HelpTourAudience.php
similarity index 100%
rename from lib/models/HelpTourAudience.class.php
rename to lib/models/HelpTourAudience.php
diff --git a/lib/models/HelpTourSettings.class.php b/lib/models/HelpTourSettings.php
similarity index 100%
rename from lib/models/HelpTourSettings.class.php
rename to lib/models/HelpTourSettings.php
diff --git a/lib/models/HelpTourStep.class.php b/lib/models/HelpTourStep.php
similarity index 100%
rename from lib/models/HelpTourStep.class.php
rename to lib/models/HelpTourStep.php
diff --git a/lib/models/HelpTourUser.class.php b/lib/models/HelpTourUser.php
similarity index 100%
rename from lib/models/HelpTourUser.class.php
rename to lib/models/HelpTourUser.php
diff --git a/lib/models/Institute.class.php b/lib/models/Institute.php
similarity index 100%
rename from lib/models/Institute.class.php
rename to lib/models/Institute.php
diff --git a/lib/models/InstituteMember.class.php b/lib/models/InstituteMember.php
similarity index 100%
rename from lib/models/InstituteMember.class.php
rename to lib/models/InstituteMember.php
diff --git a/lib/models/InstitutePlanColumn.class.php b/lib/models/InstitutePlanColumn.php
similarity index 100%
rename from lib/models/InstitutePlanColumn.class.php
rename to lib/models/InstitutePlanColumn.php
diff --git a/lib/models/Kategorie.class.php b/lib/models/Kategorie.php
similarity index 100%
rename from lib/models/Kategorie.class.php
rename to lib/models/Kategorie.php
diff --git a/lib/models/LikertScale.php b/lib/models/LikertScale.php
index 833d794b7f5..3a055f30e31 100644
--- a/lib/models/LikertScale.php
+++ b/lib/models/LikertScale.php
@@ -1,6 +1,4 @@
 <?php
-require_once 'lib/classes/QuestionType.interface.php';
-
 /**
  * @license GPL2 or any later version
  *
diff --git a/lib/models/LockRule.class.php b/lib/models/LockRule.php
similarity index 100%
rename from lib/models/LockRule.class.php
rename to lib/models/LockRule.php
diff --git a/lib/models/LoginBackground.class.php b/lib/models/LoginBackground.php
similarity index 100%
rename from lib/models/LoginBackground.class.php
rename to lib/models/LoginBackground.php
diff --git a/lib/models/LoginFaq.class.php b/lib/models/LoginFaq.php
similarity index 100%
rename from lib/models/LoginFaq.class.php
rename to lib/models/LoginFaq.php
diff --git a/lib/models/MailQueueEntry.class.php b/lib/models/MailQueueEntry.php
similarity index 100%
rename from lib/models/MailQueueEntry.class.php
rename to lib/models/MailQueueEntry.php
diff --git a/lib/models/Message.class.php b/lib/models/Message.php
similarity index 100%
rename from lib/models/Message.class.php
rename to lib/models/Message.php
diff --git a/lib/models/MessageUser.class.php b/lib/models/MessageUser.php
similarity index 100%
rename from lib/models/MessageUser.class.php
rename to lib/models/MessageUser.php
diff --git a/lib/models/MvvOverlappingConflict.class.php b/lib/models/MvvOverlappingConflict.php
similarity index 100%
rename from lib/models/MvvOverlappingConflict.class.php
rename to lib/models/MvvOverlappingConflict.php
diff --git a/lib/models/MvvOverlappingSelection.class.php b/lib/models/MvvOverlappingSelection.php
similarity index 100%
rename from lib/models/MvvOverlappingSelection.class.php
rename to lib/models/MvvOverlappingSelection.php
diff --git a/lib/models/NewsRange.class.php b/lib/models/NewsRange.php
similarity index 100%
rename from lib/models/NewsRange.class.php
rename to lib/models/NewsRange.php
diff --git a/lib/models/NewsRoles.class.php b/lib/models/NewsRoles.php
similarity index 100%
rename from lib/models/NewsRoles.class.php
rename to lib/models/NewsRoles.php
diff --git a/lib/models/OpenGraphURL.class.php b/lib/models/OpenGraphURL.php
similarity index 100%
rename from lib/models/OpenGraphURL.class.php
rename to lib/models/OpenGraphURL.php
diff --git a/lib/models/OpenGraphURLCollection.class.php b/lib/models/OpenGraphURLCollection.php
similarity index 100%
rename from lib/models/OpenGraphURLCollection.class.php
rename to lib/models/OpenGraphURLCollection.php
diff --git a/lib/models/PersonalNotifications.class.php b/lib/models/PersonalNotifications.php
similarity index 100%
rename from lib/models/PersonalNotifications.class.php
rename to lib/models/PersonalNotifications.php
diff --git a/lib/models/RangeScale.php b/lib/models/RangeScale.php
index f935e4f2a6a..20e134a490c 100644
--- a/lib/models/RangeScale.php
+++ b/lib/models/RangeScale.php
@@ -1,6 +1,4 @@
 <?php
-require_once 'lib/classes/QuestionType.interface.php';
-
 /**
  * @license GPL2 or any later version
  *
diff --git a/lib/models/Semester.class.php b/lib/models/Semester.php
similarity index 100%
rename from lib/models/Semester.class.php
rename to lib/models/Semester.php
diff --git a/lib/models/SemesterCourse.class.php b/lib/models/SemesterCourse.php
similarity index 100%
rename from lib/models/SemesterCourse.class.php
rename to lib/models/SemesterCourse.php
diff --git a/lib/models/SemesterHoliday.class.php b/lib/models/SemesterHoliday.php
similarity index 100%
rename from lib/models/SemesterHoliday.class.php
rename to lib/models/SemesterHoliday.php
diff --git a/lib/models/SeminarCycleDate.class.php b/lib/models/SeminarCycleDate.php
similarity index 100%
rename from lib/models/SeminarCycleDate.class.php
rename to lib/models/SeminarCycleDate.php
diff --git a/lib/models/StudipComment.class.php b/lib/models/StudipComment.php
similarity index 100%
rename from lib/models/StudipComment.class.php
rename to lib/models/StudipComment.php
diff --git a/lib/models/StudipNews.class.php b/lib/models/StudipNews.php
similarity index 100%
rename from lib/models/StudipNews.class.php
rename to lib/models/StudipNews.php
diff --git a/lib/models/StudipScmEntry.class.php b/lib/models/StudipScmEntry.php
similarity index 100%
rename from lib/models/StudipScmEntry.class.php
rename to lib/models/StudipScmEntry.php
diff --git a/lib/models/StudipStudyArea.class.php b/lib/models/StudipStudyArea.php
similarity index 100%
rename from lib/models/StudipStudyArea.class.php
rename to lib/models/StudipStudyArea.php
diff --git a/lib/models/StudyCourse.class.php b/lib/models/StudyCourse.php
similarity index 100%
rename from lib/models/StudyCourse.class.php
rename to lib/models/StudyCourse.php
diff --git a/lib/models/User.class.php b/lib/models/User.php
similarity index 100%
rename from lib/models/User.class.php
rename to lib/models/User.php
diff --git a/lib/models/UserInfo.class.php b/lib/models/UserInfo.php
similarity index 100%
rename from lib/models/UserInfo.class.php
rename to lib/models/UserInfo.php
diff --git a/lib/models/UserOnline.class.php b/lib/models/UserOnline.php
similarity index 100%
rename from lib/models/UserOnline.class.php
rename to lib/models/UserOnline.php
diff --git a/lib/models/UserStudyCourse.class.php b/lib/models/UserStudyCourse.php
similarity index 100%
rename from lib/models/UserStudyCourse.class.php
rename to lib/models/UserStudyCourse.php
diff --git a/lib/models/Vote.php b/lib/models/Vote.php
index a434f7baace..b5cd1428e70 100644
--- a/lib/models/Vote.php
+++ b/lib/models/Vote.php
@@ -1,6 +1,4 @@
 <?php
-require_once 'lib/classes/QuestionType.interface.php';
-
 /**
  * @license GPL2 or any later version
  *
diff --git a/lib/models/WebserviceAccessRule.class.php b/lib/models/WebserviceAccessRule.php
similarity index 100%
rename from lib/models/WebserviceAccessRule.class.php
rename to lib/models/WebserviceAccessRule.php
diff --git a/lib/models/WikiPage.class.php b/lib/models/WikiPage.php
similarity index 100%
rename from lib/models/WikiPage.class.php
rename to lib/models/WikiPage.php
diff --git a/lib/models/calendar/CalendarCourseDate.class.php b/lib/models/calendar/CalendarCourseDate.php
similarity index 100%
rename from lib/models/calendar/CalendarCourseDate.class.php
rename to lib/models/calendar/CalendarCourseDate.php
diff --git a/lib/models/calendar/CalendarCourseExDate.class.php b/lib/models/calendar/CalendarCourseExDate.php
similarity index 100%
rename from lib/models/calendar/CalendarCourseExDate.class.php
rename to lib/models/calendar/CalendarCourseExDate.php
diff --git a/lib/models/calendar/CalendarDate.class.php b/lib/models/calendar/CalendarDate.php
similarity index 100%
rename from lib/models/calendar/CalendarDate.class.php
rename to lib/models/calendar/CalendarDate.php
diff --git a/lib/models/calendar/CalendarDateAssignment.class.php b/lib/models/calendar/CalendarDateAssignment.php
similarity index 100%
rename from lib/models/calendar/CalendarDateAssignment.class.php
rename to lib/models/calendar/CalendarDateAssignment.php
diff --git a/lib/models/calendar/CalendarDateException.class.php b/lib/models/calendar/CalendarDateException.php
similarity index 100%
rename from lib/models/calendar/CalendarDateException.class.php
rename to lib/models/calendar/CalendarDateException.php
diff --git a/lib/models/resources/BrokenResource.class.php b/lib/models/resources/BrokenResource.php
similarity index 100%
rename from lib/models/resources/BrokenResource.class.php
rename to lib/models/resources/BrokenResource.php
diff --git a/lib/models/resources/Building.class.php b/lib/models/resources/Building.php
similarity index 100%
rename from lib/models/resources/Building.class.php
rename to lib/models/resources/Building.php
diff --git a/lib/models/resources/GlobalResourceLock.class.php b/lib/models/resources/GlobalResourceLock.php
similarity index 100%
rename from lib/models/resources/GlobalResourceLock.class.php
rename to lib/models/resources/GlobalResourceLock.php
diff --git a/lib/models/resources/Location.class.php b/lib/models/resources/Location.php
similarity index 100%
rename from lib/models/resources/Location.class.php
rename to lib/models/resources/Location.php
diff --git a/lib/models/resources/Resource.class.php b/lib/models/resources/Resource.php
similarity index 100%
rename from lib/models/resources/Resource.class.php
rename to lib/models/resources/Resource.php
diff --git a/lib/models/resources/ResourceBooking.class.php b/lib/models/resources/ResourceBooking.php
similarity index 100%
rename from lib/models/resources/ResourceBooking.class.php
rename to lib/models/resources/ResourceBooking.php
diff --git a/lib/models/resources/ResourceBookingInterval.class.php b/lib/models/resources/ResourceBookingInterval.php
similarity index 100%
rename from lib/models/resources/ResourceBookingInterval.class.php
rename to lib/models/resources/ResourceBookingInterval.php
diff --git a/lib/models/resources/ResourceCategory.class.php b/lib/models/resources/ResourceCategory.php
similarity index 100%
rename from lib/models/resources/ResourceCategory.class.php
rename to lib/models/resources/ResourceCategory.php
diff --git a/lib/models/resources/ResourceCategoryProperty.class.php b/lib/models/resources/ResourceCategoryProperty.php
similarity index 100%
rename from lib/models/resources/ResourceCategoryProperty.class.php
rename to lib/models/resources/ResourceCategoryProperty.php
diff --git a/lib/models/resources/ResourceLabel.class.php b/lib/models/resources/ResourceLabel.php
similarity index 100%
rename from lib/models/resources/ResourceLabel.class.php
rename to lib/models/resources/ResourceLabel.php
diff --git a/lib/models/resources/ResourcePermission.class.php b/lib/models/resources/ResourcePermission.php
similarity index 100%
rename from lib/models/resources/ResourcePermission.class.php
rename to lib/models/resources/ResourcePermission.php
diff --git a/lib/models/resources/ResourceProperty.class.php b/lib/models/resources/ResourceProperty.php
similarity index 100%
rename from lib/models/resources/ResourceProperty.class.php
rename to lib/models/resources/ResourceProperty.php
diff --git a/lib/models/resources/ResourcePropertyDefinition.class.php b/lib/models/resources/ResourcePropertyDefinition.php
similarity index 100%
rename from lib/models/resources/ResourcePropertyDefinition.class.php
rename to lib/models/resources/ResourcePropertyDefinition.php
diff --git a/lib/models/resources/ResourcePropertyGroup.class.php b/lib/models/resources/ResourcePropertyGroup.php
similarity index 100%
rename from lib/models/resources/ResourcePropertyGroup.class.php
rename to lib/models/resources/ResourcePropertyGroup.php
diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.php
similarity index 100%
rename from lib/models/resources/ResourceRequest.class.php
rename to lib/models/resources/ResourceRequest.php
diff --git a/lib/models/resources/ResourceRequestAppointment.class.php b/lib/models/resources/ResourceRequestAppointment.php
similarity index 100%
rename from lib/models/resources/ResourceRequestAppointment.class.php
rename to lib/models/resources/ResourceRequestAppointment.php
diff --git a/lib/models/resources/ResourceRequestProperty.class.php b/lib/models/resources/ResourceRequestProperty.php
similarity index 100%
rename from lib/models/resources/ResourceRequestProperty.class.php
rename to lib/models/resources/ResourceRequestProperty.php
diff --git a/lib/models/resources/ResourceTemporaryPermission.class.php b/lib/models/resources/ResourceTemporaryPermission.php
similarity index 100%
rename from lib/models/resources/ResourceTemporaryPermission.class.php
rename to lib/models/resources/ResourceTemporaryPermission.php
diff --git a/lib/models/resources/Room.class.php b/lib/models/resources/Room.php
similarity index 100%
rename from lib/models/resources/Room.class.php
rename to lib/models/resources/Room.php
diff --git a/lib/models/resources/RoomRequest.class.php b/lib/models/resources/RoomRequest.php
similarity index 100%
rename from lib/models/resources/RoomRequest.class.php
rename to lib/models/resources/RoomRequest.php
diff --git a/lib/models/resources/SeparableRoom.class.php b/lib/models/resources/SeparableRoom.php
similarity index 100%
rename from lib/models/resources/SeparableRoom.class.php
rename to lib/models/resources/SeparableRoom.php
diff --git a/lib/models/resources/SeparableRoomPart.class.php b/lib/models/resources/SeparableRoomPart.php
similarity index 100%
rename from lib/models/resources/SeparableRoomPart.class.php
rename to lib/models/resources/SeparableRoomPart.php
diff --git a/lib/modules/Blubber.class.php b/lib/modules/Blubber.php
similarity index 100%
rename from lib/modules/Blubber.class.php
rename to lib/modules/Blubber.php
diff --git a/lib/modules/ConsultationModule.class.php b/lib/modules/ConsultationModule.php
similarity index 100%
rename from lib/modules/ConsultationModule.class.php
rename to lib/modules/ConsultationModule.php
diff --git a/lib/modules/CoreAdmin.class.php b/lib/modules/CoreAdmin.php
similarity index 100%
rename from lib/modules/CoreAdmin.class.php
rename to lib/modules/CoreAdmin.php
diff --git a/lib/modules/CoreCalendar.class.php b/lib/modules/CoreCalendar.php
similarity index 100%
rename from lib/modules/CoreCalendar.class.php
rename to lib/modules/CoreCalendar.php
diff --git a/lib/modules/CoreDocuments.class.php b/lib/modules/CoreDocuments.php
similarity index 100%
rename from lib/modules/CoreDocuments.class.php
rename to lib/modules/CoreDocuments.php
diff --git a/lib/modules/CoreElearningInterface.class.php b/lib/modules/CoreElearningInterface.php
similarity index 100%
rename from lib/modules/CoreElearningInterface.class.php
rename to lib/modules/CoreElearningInterface.php
diff --git a/lib/modules/CoreForum.class.php b/lib/modules/CoreForum.php
similarity index 100%
rename from lib/modules/CoreForum.class.php
rename to lib/modules/CoreForum.php
diff --git a/lib/modules/CoreOverview.class.php b/lib/modules/CoreOverview.php
similarity index 100%
rename from lib/modules/CoreOverview.class.php
rename to lib/modules/CoreOverview.php
diff --git a/lib/modules/CoreParticipants.class.php b/lib/modules/CoreParticipants.php
similarity index 100%
rename from lib/modules/CoreParticipants.class.php
rename to lib/modules/CoreParticipants.php
diff --git a/lib/modules/CorePersonal.class.php b/lib/modules/CorePersonal.php
similarity index 100%
rename from lib/modules/CorePersonal.class.php
rename to lib/modules/CorePersonal.php
diff --git a/lib/modules/CoreSchedule.class.php b/lib/modules/CoreSchedule.php
similarity index 100%
rename from lib/modules/CoreSchedule.class.php
rename to lib/modules/CoreSchedule.php
diff --git a/lib/modules/CoreScm.class.php b/lib/modules/CoreScm.php
similarity index 100%
rename from lib/modules/CoreScm.class.php
rename to lib/modules/CoreScm.php
diff --git a/lib/modules/CoreStudygroupAdmin.class.php b/lib/modules/CoreStudygroupAdmin.php
similarity index 100%
rename from lib/modules/CoreStudygroupAdmin.class.php
rename to lib/modules/CoreStudygroupAdmin.php
diff --git a/lib/modules/CoreStudygroupParticipants.class.php b/lib/modules/CoreStudygroupParticipants.php
similarity index 100%
rename from lib/modules/CoreStudygroupParticipants.class.php
rename to lib/modules/CoreStudygroupParticipants.php
diff --git a/lib/modules/CoreWiki.class.php b/lib/modules/CoreWiki.php
similarity index 100%
rename from lib/modules/CoreWiki.class.php
rename to lib/modules/CoreWiki.php
diff --git a/lib/modules/CoursewareModule.class.php b/lib/modules/CoursewareModule.php
similarity index 100%
rename from lib/modules/CoursewareModule.class.php
rename to lib/modules/CoursewareModule.php
diff --git a/lib/modules/FeedbackModule.class.php b/lib/modules/FeedbackModule.php
similarity index 100%
rename from lib/modules/FeedbackModule.class.php
rename to lib/modules/FeedbackModule.php
diff --git a/lib/modules/GradebookModule.class.php b/lib/modules/GradebookModule.php
similarity index 100%
rename from lib/modules/GradebookModule.class.php
rename to lib/modules/GradebookModule.php
diff --git a/lib/modules/IliasInterfaceModule.class.php b/lib/modules/IliasInterfaceModule.php
similarity index 100%
rename from lib/modules/IliasInterfaceModule.class.php
rename to lib/modules/IliasInterfaceModule.php
diff --git a/lib/modules/LtiToolModule.class.php b/lib/modules/LtiToolModule.php
similarity index 100%
rename from lib/modules/LtiToolModule.class.php
rename to lib/modules/LtiToolModule.php
diff --git a/lib/modules/StudipModule.class.php b/lib/modules/StudipModule.php
similarity index 100%
rename from lib/modules/StudipModule.class.php
rename to lib/modules/StudipModule.php
diff --git a/lib/phplib/CT_Cache.class.php b/lib/phplib/CT_Cache.php
similarity index 100%
rename from lib/phplib/CT_Cache.class.php
rename to lib/phplib/CT_Cache.php
diff --git a/lib/phplib/CT_Sql.class.php b/lib/phplib/CT_Sql.php
similarity index 100%
rename from lib/phplib/CT_Sql.class.php
rename to lib/phplib/CT_Sql.php
diff --git a/lib/phplib/DB_Sql.class.php b/lib/phplib/DB_Sql.php
similarity index 100%
rename from lib/phplib/DB_Sql.class.php
rename to lib/phplib/DB_Sql.php
diff --git a/lib/phplib/Seminar_Auth.class.php b/lib/phplib/Seminar_Auth.php
similarity index 100%
rename from lib/phplib/Seminar_Auth.class.php
rename to lib/phplib/Seminar_Auth.php
diff --git a/lib/phplib/Seminar_Default_Auth.class.php b/lib/phplib/Seminar_Default_Auth.php
similarity index 100%
rename from lib/phplib/Seminar_Default_Auth.class.php
rename to lib/phplib/Seminar_Default_Auth.php
diff --git a/lib/phplib/Seminar_Perm.class.php b/lib/phplib/Seminar_Perm.php
similarity index 100%
rename from lib/phplib/Seminar_Perm.class.php
rename to lib/phplib/Seminar_Perm.php
diff --git a/lib/phplib/Seminar_Register_Auth.class.php b/lib/phplib/Seminar_Register_Auth.php
similarity index 100%
rename from lib/phplib/Seminar_Register_Auth.class.php
rename to lib/phplib/Seminar_Register_Auth.php
diff --git a/lib/phplib/Seminar_Session.class.php b/lib/phplib/Seminar_Session.php
similarity index 100%
rename from lib/phplib/Seminar_Session.class.php
rename to lib/phplib/Seminar_Session.php
diff --git a/lib/phplib/Seminar_User.class.php b/lib/phplib/Seminar_User.php
similarity index 100%
rename from lib/phplib/Seminar_User.class.php
rename to lib/phplib/Seminar_User.php
diff --git a/lib/phplib/email_validation.class.php b/lib/phplib/email_validation.php
similarity index 100%
rename from lib/phplib/email_validation.class.php
rename to lib/phplib/email_validation.php
diff --git a/lib/plugins/core/AdminCourseAction.class.php b/lib/plugins/core/AdminCourseAction.php
similarity index 100%
rename from lib/plugins/core/AdminCourseAction.class.php
rename to lib/plugins/core/AdminCourseAction.php
diff --git a/lib/plugins/core/AdminCourseContents.class.php b/lib/plugins/core/AdminCourseContents.php
similarity index 100%
rename from lib/plugins/core/AdminCourseContents.class.php
rename to lib/plugins/core/AdminCourseContents.php
diff --git a/lib/plugins/core/AdminCourseWidgetPlugin.class.php b/lib/plugins/core/AdminCourseWidgetPlugin.php
similarity index 100%
rename from lib/plugins/core/AdminCourseWidgetPlugin.class.php
rename to lib/plugins/core/AdminCourseWidgetPlugin.php
diff --git a/lib/plugins/core/AdministrationPlugin.class.php b/lib/plugins/core/AdministrationPlugin.php
similarity index 100%
rename from lib/plugins/core/AdministrationPlugin.class.php
rename to lib/plugins/core/AdministrationPlugin.php
diff --git a/lib/plugins/core/DetailspagePlugin.class.php b/lib/plugins/core/DetailspagePlugin.php
similarity index 100%
rename from lib/plugins/core/DetailspagePlugin.class.php
rename to lib/plugins/core/DetailspagePlugin.php
diff --git a/lib/plugins/core/FileUploadHook.class.php b/lib/plugins/core/FileUploadHook.php
similarity index 100%
rename from lib/plugins/core/FileUploadHook.class.php
rename to lib/plugins/core/FileUploadHook.php
diff --git a/lib/plugins/core/FilesystemPlugin.class.php b/lib/plugins/core/FilesystemPlugin.php
similarity index 100%
rename from lib/plugins/core/FilesystemPlugin.class.php
rename to lib/plugins/core/FilesystemPlugin.php
diff --git a/lib/plugins/core/ForumModule.class.php b/lib/plugins/core/ForumModule.php
similarity index 100%
rename from lib/plugins/core/ForumModule.class.php
rename to lib/plugins/core/ForumModule.php
diff --git a/lib/plugins/core/HomepagePlugin.class.php b/lib/plugins/core/HomepagePlugin.php
similarity index 100%
rename from lib/plugins/core/HomepagePlugin.class.php
rename to lib/plugins/core/HomepagePlugin.php
diff --git a/lib/plugins/core/LibraryPlugin.class.php b/lib/plugins/core/LibraryPlugin.php
similarity index 100%
rename from lib/plugins/core/LibraryPlugin.class.php
rename to lib/plugins/core/LibraryPlugin.php
diff --git a/lib/plugins/core/MetricsPlugin.class.php b/lib/plugins/core/MetricsPlugin.php
similarity index 100%
rename from lib/plugins/core/MetricsPlugin.class.php
rename to lib/plugins/core/MetricsPlugin.php
diff --git a/lib/plugins/core/PortalPlugin.class.php b/lib/plugins/core/PortalPlugin.php
similarity index 100%
rename from lib/plugins/core/PortalPlugin.class.php
rename to lib/plugins/core/PortalPlugin.php
diff --git a/lib/plugins/core/PrivacyPlugin.class.php b/lib/plugins/core/PrivacyPlugin.php
similarity index 100%
rename from lib/plugins/core/PrivacyPlugin.class.php
rename to lib/plugins/core/PrivacyPlugin.php
diff --git a/lib/plugins/core/QuestionnaireAssignmentPlugin.class.php b/lib/plugins/core/QuestionnaireAssignmentPlugin.php
similarity index 100%
rename from lib/plugins/core/QuestionnaireAssignmentPlugin.class.php
rename to lib/plugins/core/QuestionnaireAssignmentPlugin.php
diff --git a/lib/plugins/core/RESTAPIPlugin.class.php b/lib/plugins/core/RESTAPIPlugin.php
similarity index 100%
rename from lib/plugins/core/RESTAPIPlugin.class.php
rename to lib/plugins/core/RESTAPIPlugin.php
diff --git a/lib/plugins/core/Role.class.php b/lib/plugins/core/Role.php
similarity index 100%
rename from lib/plugins/core/Role.class.php
rename to lib/plugins/core/Role.php
diff --git a/lib/plugins/core/ScorePlugin.class.php b/lib/plugins/core/ScorePlugin.php
similarity index 100%
rename from lib/plugins/core/ScorePlugin.class.php
rename to lib/plugins/core/ScorePlugin.php
diff --git a/lib/plugins/core/StandardPlugin.class.php b/lib/plugins/core/StandardPlugin.php
similarity index 100%
rename from lib/plugins/core/StandardPlugin.class.php
rename to lib/plugins/core/StandardPlugin.php
diff --git a/lib/plugins/core/StudIPPlugin.class.php b/lib/plugins/core/StudIPPlugin.php
similarity index 100%
rename from lib/plugins/core/StudIPPlugin.class.php
rename to lib/plugins/core/StudIPPlugin.php
diff --git a/lib/plugins/core/SystemPlugin.class.php b/lib/plugins/core/SystemPlugin.php
similarity index 100%
rename from lib/plugins/core/SystemPlugin.class.php
rename to lib/plugins/core/SystemPlugin.php
diff --git a/lib/plugins/core/WebServicePlugin.class.php b/lib/plugins/core/WebServicePlugin.php
similarity index 100%
rename from lib/plugins/core/WebServicePlugin.class.php
rename to lib/plugins/core/WebServicePlugin.php
diff --git a/lib/plugins/db/RolePersistence.class.php b/lib/plugins/db/RolePersistence.php
similarity index 100%
rename from lib/plugins/db/RolePersistence.class.php
rename to lib/plugins/db/RolePersistence.php
diff --git a/lib/plugins/engine/PluginEngine.class.php b/lib/plugins/engine/PluginEngine.php
similarity index 100%
rename from lib/plugins/engine/PluginEngine.class.php
rename to lib/plugins/engine/PluginEngine.php
diff --git a/lib/plugins/engine/PluginManager.class.php b/lib/plugins/engine/PluginManager.php
similarity index 100%
rename from lib/plugins/engine/PluginManager.class.php
rename to lib/plugins/engine/PluginManager.php
diff --git a/lib/plugins/engine/PluginRepository.class.php b/lib/plugins/engine/PluginRepository.php
similarity index 100%
rename from lib/plugins/engine/PluginRepository.class.php
rename to lib/plugins/engine/PluginRepository.php
diff --git a/lib/raumzeit/CycleData.class.php b/lib/raumzeit/CycleData.php
similarity index 100%
rename from lib/raumzeit/CycleData.class.php
rename to lib/raumzeit/CycleData.php
diff --git a/lib/raumzeit/CycleDataDB.class.php b/lib/raumzeit/CycleDataDB.php
similarity index 100%
rename from lib/raumzeit/CycleDataDB.class.php
rename to lib/raumzeit/CycleDataDB.php
diff --git a/lib/raumzeit/Issue.class.php b/lib/raumzeit/Issue.php
similarity index 100%
rename from lib/raumzeit/Issue.class.php
rename to lib/raumzeit/Issue.php
diff --git a/lib/raumzeit/IssueDB.class.php b/lib/raumzeit/IssueDB.php
similarity index 100%
rename from lib/raumzeit/IssueDB.class.php
rename to lib/raumzeit/IssueDB.php
diff --git a/lib/raumzeit/MetaDate.class.php b/lib/raumzeit/MetaDate.php
similarity index 100%
rename from lib/raumzeit/MetaDate.class.php
rename to lib/raumzeit/MetaDate.php
diff --git a/lib/raumzeit/MetaDateDB.class.php b/lib/raumzeit/MetaDateDB.php
similarity index 100%
rename from lib/raumzeit/MetaDateDB.class.php
rename to lib/raumzeit/MetaDateDB.php
diff --git a/lib/raumzeit/SeminarDB.class.php b/lib/raumzeit/SeminarDB.php
similarity index 100%
rename from lib/raumzeit/SeminarDB.class.php
rename to lib/raumzeit/SeminarDB.php
diff --git a/lib/raumzeit/SingleDate.class.php b/lib/raumzeit/SingleDate.php
similarity index 100%
rename from lib/raumzeit/SingleDate.class.php
rename to lib/raumzeit/SingleDate.php
diff --git a/lib/raumzeit/SingleDateDB.class.php b/lib/raumzeit/SingleDateDB.php
similarity index 100%
rename from lib/raumzeit/SingleDateDB.class.php
rename to lib/raumzeit/SingleDateDB.php
diff --git a/lib/resources/ResourceManager.class.php b/lib/resources/ResourceManager.php
similarity index 100%
rename from lib/resources/ResourceManager.class.php
rename to lib/resources/ResourceManager.php
diff --git a/lib/resources/RoomManager.class.php b/lib/resources/RoomManager.php
similarity index 100%
rename from lib/resources/RoomManager.class.php
rename to lib/resources/RoomManager.php
diff --git a/lib/soap/StudipSoapClient.class.php b/lib/soap/StudipSoapClient.php
similarity index 100%
rename from lib/soap/StudipSoapClient.class.php
rename to lib/soap/StudipSoapClient.php
diff --git a/lib/soap/StudipSoapClient_PHP5.class.php b/lib/soap/StudipSoapClient_PHP5.php
similarity index 100%
rename from lib/soap/StudipSoapClient_PHP5.class.php
rename to lib/soap/StudipSoapClient_PHP5.php
diff --git a/public/install.php b/public/install.php
index ffbf90f3dfb..9922f841f0a 100644
--- a/public/install.php
+++ b/public/install.php
@@ -19,15 +19,15 @@ require 'composer/autoload.php';
 require 'lib/visual.inc.php';
 require 'lib/functions.php';
 require 'lib/classes/URLHelper.php';
-require 'lib/classes/LayoutMessage.interface.php';
-require 'lib/classes/MessageBox.class.php';
-require 'lib/classes/Request.class.php';
-require 'lib/classes/Interactable.class.php';
-require 'lib/classes/Button.class.php';
-require 'lib/classes/LinkButton.class.php';
+require 'lib/classes/LayoutMessage.php';
+require 'lib/classes/MessageBox.php';
+require 'lib/classes/Request.php';
+require 'lib/classes/Interactable.php';
+require 'lib/classes/Button.php';
+require 'lib/classes/LinkButton.php';
 require 'lib/classes/StudipInstaller.php';
 require 'lib/classes/SystemChecker.php';
-require 'lib/classes/Markup.class.php';
+require 'lib/classes/Markup.php';
 require 'lib/exceptions/AccessDeniedException.php';
 require 'lib/flexi/Factory.php';
 require 'lib/flexi/Template.php';
diff --git a/tests/_support/Helper/StudipDb.php b/tests/_support/Helper/StudipDb.php
index b95e703c056..8188be1dbaf 100644
--- a/tests/_support/Helper/StudipDb.php
+++ b/tests/_support/Helper/StudipDb.php
@@ -5,7 +5,7 @@ namespace Helper;
 use Codeception\Exception\ModuleConfigException;
 use Codeception\Exception\ModuleException;
 
-require_once 'lib/classes/StudipPDO.class.php';
+require_once 'lib/classes/StudipPDO.php';
 
 class StudipDb extends \Codeception\Module
 {
diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php
index 322883d9a63..e8a911d562a 100644
--- a/tests/functional/_bootstrap.php
+++ b/tests/functional/_bootstrap.php
@@ -18,7 +18,6 @@ $inc_path .= PATH_SEPARATOR . __DIR__ . '/../..';
 $inc_path .= PATH_SEPARATOR . __DIR__ . '/../../config';
 ini_set('include_path', $inc_path);
 
-require 'lib/classes/StudipAutoloader.php';
 require 'lib/helpers.php';
 require 'lib/functions.php';
 require_once 'lib/language.inc.php';
@@ -27,27 +26,6 @@ require 'lib/messaging.inc.php';
 
 $STUDIP_BASE_PATH = realpath(dirname(__FILE__) . '/../..');
 
-StudipAutoloader::register();
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/calendar', 'Studip\\Calendar');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/classes');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/classes', 'Studip');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/classes/cache');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/classes/cache', 'Studip');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/exceptions');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/exceptions/resources');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/flexi', 'Flexi');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/filesystem');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/migrations');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/models');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/models/resources');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/phplib');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/raumzeit');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/resources');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/plugins/core');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/modules');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/plugins/db');
-StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/plugins/engine');
-
 // load config-variables
 $added_configs = [];
 StudipFileloader::load(
diff --git a/tests/jsonapi/_bootstrap.php b/tests/jsonapi/_bootstrap.php
index 7987b34e91d..ea99293b86b 100644
--- a/tests/jsonapi/_bootstrap.php
+++ b/tests/jsonapi/_bootstrap.php
@@ -27,6 +27,8 @@ $CACHING_ENABLE = false;
 
 date_default_timezone_set('Europe/Berlin');
 
+require_once __DIR__.'/../../composer/autoload.php';
+
 require 'config.inc.php';
 
 require 'lib/helpers.php';
@@ -36,51 +38,6 @@ require 'lib/visual.inc.php';
 require 'lib/calendar_functions.inc.php';
 require 'lib/dates.inc.php';
 
-// Setup autoloading
-require 'lib/classes/StudipAutoloader.php';
-StudipAutoloader::register();
-
-// General classes folders
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/models');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/models/calendar');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/models/resources');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/classes');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/classes', 'Studip');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/flexi', 'Flexi');
-
-// Plugins
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/plugins/core');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/plugins/db');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/plugins/engine');
-
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/calendar');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/calendar', 'Studip\\Calendar');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'lib/classes/cache');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'lib/classes/cache', 'Studip');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/calendar/lib');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/exceptions');
-
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/filesystem');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/migrations');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/modules');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/navigation');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/phplib');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/raumzeit');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/resources');
-
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/activities', 'Studip\\Activity');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/classes/calendar');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/classes/globalsearch');
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/lib/classes/visibility');
-
-StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'].'/vendor/oauth-php/library');
-
-// Messy file names
-StudipAutoloader::addClassLookups([
-    'StudipPlugin' => $GLOBALS['STUDIP_BASE_PATH'].'/lib/plugins/core/StudIPPlugin.class.php',
-    'messaging' => $GLOBALS['STUDIP_BASE_PATH'].'/lib/messaging.inc.php',
-]);
-
 $GLOBALS['_fullname_sql'] = [];
 $GLOBALS['_fullname_sql']['full'] = "TRIM(CONCAT(title_front,' ',Vorname,' ',Nachname,IF(title_rear!='',CONCAT(', ',title_rear),'')))";
 $GLOBALS['_fullname_sql']['full_rev'] = "TRIM(CONCAT(Nachname,', ',Vorname,IF(title_front!='',CONCAT(', ',title_front),''),IF(title_rear!='',CONCAT(', ',title_rear),'')))";
@@ -103,6 +60,4 @@ class DB_Seminar extends DB_Sql
     }
 }
 
-require_once __DIR__.'/../../composer/autoload.php';
-
 session_id("test-session");
diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php
index b15eeb00d7d..0cf0f7ec526 100644
--- a/tests/unit/_bootstrap.php
+++ b/tests/unit/_bootstrap.php
@@ -29,38 +29,32 @@ $inc_path .= PATH_SEPARATOR . __DIR__ . '/../..';
 $inc_path .= PATH_SEPARATOR . __DIR__ . '/../../config';
 ini_set('include_path', $inc_path);
 
+global $ABSOLUTE_URI_STUDIP,
+    $ASSETS_URL,
+    $CACHING_ENABLE,
+    $CACHING_FILECACHE_PATH,
+    $CANONICAL_RELATIVE_PATH_STUDIP,
+    $DYNAMIC_CONTENT_PATH,
+    $DYNAMIC_CONTENT_URL,
+    $STUDIP_BASE_PATH,
+    $SYMBOL_SHORT,
+    $TMP_PATH,
+    $UPLOAD_PATH;
+
 // load varstream for easier filesystem testing
 require_once 'varstream.php';
 
-define("TEST_FIXTURES_PATH", dirname(__DIR__) . "/_data/");
+define('TEST_FIXTURES_PATH', dirname(__DIR__) . '/_data/');
 
 require __DIR__ . '/../../composer/autoload.php';
 
 global $STUDIP_BASE_PATH;
 $STUDIP_BASE_PATH = realpath(dirname(__DIR__) . '/..');
 
-require 'lib/classes/StudipAutoloader.php';
+require 'lib/helpers.php';
 require 'lib/functions.php';
 require 'lib/visual.inc.php';
 
-StudipAutoloader::setBasePath(realpath(__DIR__ . '/../..'));
-StudipAutoloader::register();
-
-StudipAutoloader::addAutoloadPath('lib/activities', 'Studip\\Activity');
-StudipAutoloader::addAutoloadPath('lib/models');
-StudipAutoloader::addAutoloadPath('lib/classes');
-StudipAutoloader::addAutoloadPath('lib/classes', 'Studip');
-StudipAutoloader::addAutoloadPath('lib/classes/cache', 'Studip');
-StudipAutoloader::addAutoloadPath('lib/classes/sidebar');
-StudipAutoloader::addAutoloadPath('lib/classes/helpbar');
-StudipAutoloader::addAutoloadPath('lib/exTpl', 'exTpl');
-StudipAutoloader::addAutoloadPath('lib/exceptions');
-StudipAutoloader::addAutoloadPath('lib/flexi', 'Flexi');
-StudipAutoloader::addAutoloadPath('lib/plugins/engine');
-StudipAutoloader::addAutoloadPath('lib/plugins/core');
-StudipAutoloader::addAutoloadPath('lib/plugins/db');
-StudipAutoloader::addAutoloadPath('lib/trails', 'Trails');
-
 // load config-variables
 $added_configs = [];
 StudipFileloader::load(
@@ -74,16 +68,16 @@ foreach ($added_configs as $key => $value) {
     $GLOBALS[$key] = $value;
 }
 
-$config = Symfony\Component\Yaml\Yaml::parseFile(__DIR__ .'/../unit.suite.yml');
+$config = Symfony\Component\Yaml\Yaml::parseFile(__DIR__ . '/../unit.suite.yml');
 
 // connect to database if configured
 if (isset($config['modules']['config']['Db'])) {
-    DBManager::getInstance()->setConnection('studip',
+    DBManager::getInstance()->setConnection(
+        'studip',
         $config['modules']['config']['Db']['dsn'],
         $config['modules']['config']['Db']['user'],
-        $config['modules']['config']['Db']['password']);
-} else {
-    //DBManager::getInstance()->setConnection('studip', 'sqlite://'. $GLOBALS ,'', '');
+        $config['modules']['config']['Db']['password']
+    );
 }
 
 // Disable caching to fallback to memory cache
@@ -104,17 +98,17 @@ if (!class_exists('StudipTestHelper')) {
             $schemes = [];
 
             foreach ($tables as $db_table) {
-                include TEST_FIXTURES_PATH."simpleormap/$db_table.php";
+                include TEST_FIXTURES_PATH . "simpleormap/$db_table.php";
                 $db_fields = $pk = [];
                 foreach ($result as $rs) {
                     $db_fields[mb_strtolower($rs['name'])] = [
-                        'name'    => $rs['name'],
-                        'null'    => $rs['null'],
+                        'name' => $rs['name'],
+                        'null' => $rs['null'],
                         'default' => $rs['default'],
-                        'type'    => $rs['type'],
-                        'extra'   => $rs['extra']
+                        'type' => $rs['type'],
+                        'extra' => $rs['extra'],
                     ];
-                    if ($rs['key'] == 'PRI'){
+                    if ($rs['key'] == 'PRI') {
                         $pk[] = mb_strtolower($rs['name']);
                     }
                 }
diff --git a/tests/unit/lib/CalendarcolumnClassTest.php b/tests/unit/lib/CalendarcolumnClassTest.php
index 063f97edf09..d2ac9e0f97e 100644
--- a/tests/unit/lib/CalendarcolumnClassTest.php
+++ b/tests/unit/lib/CalendarcolumnClassTest.php
@@ -9,7 +9,7 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'lib/calendar/CalendarColumn.class.php';
+require_once 'lib/calendar/CalendarColumn.php';
 
 class CalendarColumnCase extends \Codeception\Test\Unit {
 
diff --git a/tests/unit/lib/CalendarviewClassTest.php b/tests/unit/lib/CalendarviewClassTest.php
index 962cd06870b..d810575fefb 100644
--- a/tests/unit/lib/CalendarviewClassTest.php
+++ b/tests/unit/lib/CalendarviewClassTest.php
@@ -9,7 +9,7 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'lib/calendar/CalendarView.class.php';
+require_once 'lib/calendar/CalendarView.php';
 
 class CalendarViewCase extends \Codeception\Test\Unit {
 
diff --git a/tests/unit/lib/VisualTest.php b/tests/unit/lib/VisualTest.php
index 2e75b1f7128..2ea8334055d 100644
--- a/tests/unit/lib/VisualTest.php
+++ b/tests/unit/lib/VisualTest.php
@@ -9,9 +9,9 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'lib/classes/SimpleORMap.class.php';
+require_once 'lib/classes/SimpleORMap.php';
 require_once 'lib/visual.inc.php';
-require_once 'lib/classes/Config.class.php';
+require_once 'lib/classes/Config.php';
 
 class VisualFunctionsTest extends \Codeception\Test\Unit
 {
diff --git a/tests/unit/lib/classes/AvatarClassTest.php b/tests/unit/lib/classes/AvatarClassTest.php
index 8172e20244f..e09a3c260b5 100644
--- a/tests/unit/lib/classes/AvatarClassTest.php
+++ b/tests/unit/lib/classes/AvatarClassTest.php
@@ -9,7 +9,7 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'lib/phplib/Seminar_Perm.class.php';
+require_once 'lib/phplib/Seminar_Perm.php';
 
 abstract class AvatarTest extends \Codeception\Test\Unit
 {
diff --git a/tests/unit/lib/classes/MarkupClassTest.php b/tests/unit/lib/classes/MarkupClassTest.php
index d1c35b199a8..347e453032a 100644
--- a/tests/unit/lib/classes/MarkupClassTest.php
+++ b/tests/unit/lib/classes/MarkupClassTest.php
@@ -21,15 +21,15 @@
 require_once 'tests/unit/fakeserver.php';
 
 # needed by visual.inc.php
-require_once 'lib/classes/DbView.class.php';
-require_once 'lib/classes/TreeAbstract.class.php';
+require_once 'lib/classes/DbView.php';
+require_once 'lib/classes/TreeAbstract.php';
 
-# needed by Markup.class.php
+# needed by Markup.php
 require_once 'lib/visual.inc.php';
-require_once 'lib/classes/Config.class.php';
+require_once 'lib/classes/Config.php';
 
 # class and functions that are tested by this script
-require_once 'lib/classes/Markup.class.php';
+require_once 'lib/classes/Markup.php';
 
 # Seminar_Session cannot be mocked since it uses static functions.
 # Also, including phplib_local.inc.php, where Seminar_Session is
diff --git a/tests/unit/lib/classes/PluginRepositoryTest.php b/tests/unit/lib/classes/PluginRepositoryTest.php
index 6676b7c54ff..d045d3f1b0d 100644
--- a/tests/unit/lib/classes/PluginRepositoryTest.php
+++ b/tests/unit/lib/classes/PluginRepositoryTest.php
@@ -10,7 +10,7 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'lib/plugins/engine/PluginRepository.class.php';
+require_once 'lib/plugins/engine/PluginRepository.php';
 
 class PluginRepositoryTest extends \Codeception\Test\Unit
 {
diff --git a/vendor/oauth-php/library/session/OAuthSessionAbstract.class.php b/vendor/oauth-php/library/session/OAuthSessionAbstract.php
similarity index 100%
rename from vendor/oauth-php/library/session/OAuthSessionAbstract.class.php
rename to vendor/oauth-php/library/session/OAuthSessionAbstract.php
diff --git a/vendor/oauth-php/library/signature_method/OAuthSignatureMethod.class.php b/vendor/oauth-php/library/signature_method/OAuthSignatureMethod.php
similarity index 100%
rename from vendor/oauth-php/library/signature_method/OAuthSignatureMethod.class.php
rename to vendor/oauth-php/library/signature_method/OAuthSignatureMethod.php
diff --git a/vendor/oauth-php/library/store/OAuthStoreAbstract.class.php b/vendor/oauth-php/library/store/OAuthStoreAbstract.php
similarity index 100%
rename from vendor/oauth-php/library/store/OAuthStoreAbstract.class.php
rename to vendor/oauth-php/library/store/OAuthStoreAbstract.php
-- 
GitLab