<style>
h4 + p {
text-indent: 0px;
margin-left: 20px;
}
h5 {
text-indent: 20px;
}
h5 + p {
margin-left: 40px;
}
h6 {
margin-left: 40px;
}
</style>
Student Reconnect: Source Code Dokumentation (Inhaltsverzeichnis)
===
Inhaltsverzeichnis
---
- [Student Reconnect: Source Code Dokumentation](#student-reconnect-source-code-dokumentation)
- [Inhaltsverzeichnis](#inhaltsverzeichnis)
- [Zugriffsdaten -> TODO!!](#zugriffsdaten---todo)
- [Applikationsstruktur](#applikationsstruktur)
- [Grober Ablauf](#grober-ablauf)
- [Visualisierung](#visualisierung)
- [Die Applikationen](#die-applikationen)
- [Rollensystem](#rollensystem)
- [Rechteverteilung](#rechteverteilung)
- [Wo sind die Rollen definiert?](#wo-sind-die-rollen-definiert)
- [Wie werden die Zugriffsberechtigungen für die einzelnen Bereiche definiert?](#wie-werden-die-zugriffsberechtigungen-für-die-einzelnen-bereiche-definiert)
- [Kernsystem](#kernsystem)
- [index.php](#indexphp)
- [Was passiert hier?](#was-passiert-hier)
- [`Application`](#application)
- [Attribute](#attribute)
- [Methoden](#methoden)
- [`__construct()`](#__construct)
- [`run()`](#run)
- [`Router`](#router)
- [Attribute](#attribute-1)
- [Methoden](#methoden-1)
- [`__construct(Request, Response)`](#__constructrequest-response)
- [`setRoute(method, systype, request, callback, permissionNeed)`](#setroutemethod-systype-request-callback-permissionneed)
- [Parameter](#parameter)
- [`resolve()`](#resolve)
- [`@return` (`String`): String mit dem HTML-/JS-Code der View.](#return-string-string-mit-dem-html-js-code-der-view)
- [`renderView(String $view, Array $params)`](#renderviewstring-view-array-params)
- [`@return` (`String`): String mit dem HTML-/JS-Code der View.](#return-string-string-mit-dem-html-js-code-der-view-1)
- [`renderViewContent($view, $params = [])`](#renderviewcontentview-params--)
- [`@return` (`String`): String mit dem HTML-/JS-Code der View.](#return-string-string-mit-dem-html-js-code-der-view-2)
- [`Request`](#request)
- [Attribute](#attribute-2)
- [Methoden](#methoden-2)
- [`__construct()`](#__construct-1)
- [`getMethod()`](#getmethod)
- [`@return` (`String`): Die Methode des Requests.](#return-string-die-methode-des-requests)
- [`fetchSysType()`](#fetchsystype)
- [`@return` (`String`): Der Systemtyp.](#return-string-der-systemtyp)
- [`fetchRequest()`](#fetchrequest)
- [`@return` (`String`): Der Request.](#return-string-der-request)
- [`getBody()`](#getbody)
- [`@return` (`Array`): Array mit den Request-Body-Parametern. Format: `[$key => $value]` oder auch `[$key => [$key => $value]]`.](#return-array-array-mit-den-request-body-parametern-format-key--value-oder-auch-key--key--value)
- [`Controller`](#controller)
- [Attribute](#attribute-3)
- [Methoden](#methoden-3)
- [`setLayout(String $layout)`](#setlayoutstring-layout)
- [`render(String $view, Array $params)`](#renderstring-view-array-params)
- [`@return` (`String`): String mit dem HTML-/JS-Code der View.](#return-string-string-mit-dem-html-js-code-der-view-3)
- [`renderContent($view, $params = [])`](#rendercontentview-params--)
- [`@return` (`String`): String mit dem HTML-/JS-Code der View.](#return-string-string-mit-dem-html-js-code-der-view-4)
- [`isLoggedIn()`](#isloggedin)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false)
- [`isModerator()`](#ismoderator)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false-1)
- [`isAdmin()`](#isadmin)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false-2)
- [`getUserRole()`](#getuserrole)
- [`@return` (`int`): ID der Benutzerrolle.](#return-int-id-der-benutzerrolle)
- [`isRoleSet()`](#isroleset)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false-3)
- [`setRoleZero()`](#setrolezero)
- [`Model`](#model)
- [Attribute](#attribute-4)
- [Definierte Regeln](#definierte-regeln)
- [Methoden](#methoden-4)
- [`loadData(Array $data)`](#loaddataarray-data)
- [`checkEmailNotUnique(String $email)`](#checkemailnotuniquestring-email)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false-4)
- [`rules()`](#rules)
- [`@return` (`Array`): Array mit den Regeln.](#return-array-array-mit-den-regeln)
- [`validate()`](#validate)
- [`@return` (`Boolean`): `true` oder `false`. Wenn `false`, dann ist `$this->errors` sind Fehler in der Validierung aufgetreten.](#return-boolean-true-oder-false-wenn-false-dann-ist-this-errors-sind-fehler-in-der-validierung-aufgetreten)
- [`addError(String $attribute, String $rule, Array $params)`](#adderrorstring-attribute-string-rule-array-params)
- [`addErrorManual(String $attribute, String $errorMsg)`](#adderrormanualstring-attribute-string-errormsg)
- [`errorMessages()`](#errormessages)
- [`@return` (`Array`): Array mit den Fehlermeldungen.](#return-array-array-mit-den-fehlermeldungen)
- [`hasError(string $attribute)`](#haserrorstring-attribute)
- [`@return` (`Boolean`): `true` oder `false`.](#return-boolean-true-oder-false-5)
- [`getError(String $attribute)`](#geterrorstring-attribute)
- [`@return` (`String`): Fehlermeldung](#return-string-fehlermeldung)
- [`View`](#view)
- [Methoden](#methoden-5)
- [`renderView(String $view, String, $systemType, array $params)`](#renderviewstring-view-string-systemtype-array-params)
- [`@return` (`String`): HTML-Code der View.](#return-string-html-code-der-view)
- [`renderViewContent(String $view, String $systemType, array $params)`](#renderviewcontentstring-view-string-systemtype-array-params)
- [`@return` (`String`): HTML-Code der View.](#return-string-html-code-der-view-1)
- [Layout](#layout)
- [Response](#response)
- [Methoden](#methoden-6)
- [`setStatusCode(Int $code)`](#setstatuscodeint-code)
- [`redirect(String $url)`](#redirectstring-url)
- [`Database`](#database)
- [Attribute](#attribute-5)
- [Methoden](#methoden-7)
- [`__construct()`](#__construct-2)
- [`prepare(String $sql)`](#preparestring-sql)
- [`@return` (`PDOStatement`): PDOStatement](#return-pdostatement-pdostatement)
- [`config`](#config)
- [Attribute](#attribute-6)
- [Usersystem](#usersystem)
- [Controller](#controller-1)
- [`AuthController`](#authcontroller)
- [Attribute](#attribute-7)
- [Methoden](#methoden-8)
- [`__construct()`](#__construct-3)
- [`login()`](#login)
- [`@return` (`String`): HTML-Code der View.](#return-string-html-code-der-view-2)
- [`logout()`](#logout)
- [`handleLogin(Request $request)`](#handleloginrequest-request)
- [`@return` (`Mixed/String`): HTML-Code der View oder `null` wenn der User authentifiziert werden konnte.](#return-mixedstring-html-code-der-view-oder-null-wenn-der-user-authentifiziert-werden-konnte)
- [`register(Request $request)`](#registerrequest-request)
- [`@return` (`String`): HTML-Code der View.](#return-string-html-code-der-view-3)
- [`handleRegister(Request $request)`](#handleregisterrequest-request)
- [`@return` (`Mixed/String`): HTML-Code der View oder `null` wenn der User registriert wurde.](#return-mixedstring-html-code-der-view-oder-null-wenn-der-user-registriert-wurde)
- [`pwReset()`](#pwreset)
- [`@return` (`String`): HTML-Code der View.](#return-string-html-code-der-view-4)
- [`handlePWResetEmail(Request $request)`](#handlepwresetemailrequest-request)
- [`@return` (`String`): HTML-Code der jeweiligen View](#return-string-html-code-der-jeweiligen-view)
- [`handlePWReset(Request $request)`](#handlepwresetrequest-request)
- [`@return` (`String`): HTML-Code der jeweiligen View](#return-string-html-code-der-jeweiligen-view-1)
- [`EventsController`](#eventscontroller)
- [Attribute](#attribute-8)
- [Methoden](#methoden-9)
- [`__construct()`](#__construct-4)
- [`events()`](#events)
- [`@return` (`String`): HTML-Code der jeweiligen View](#return-string-html-code-der-jeweiligen-view-2)
- [`eventcreation()`](#eventcreation)
- [`@return` (`String`): HTML-Code der jeweiligen View](#return-string-html-code-der-jeweiligen-view-3)
- [`handleEventCreation(Request $request)`](#handleeventcreationrequest-request)
- [`@return` (`String`): HTML-Code der jeweiligen View mit den Fehlern oder `void, da Redirect.](#return-string-html-code-der-jeweiligen-view-mit-den-fehlern-oder-void-da-redirect)
- [`API_getAllEvents()`](#api_getallevents)
- [`@return` (`String`): HTML-Code der Event-Cards](#return-string-html-code-der-event-cards)
- [`API_getEventDetails(Request $request)`](#api_geteventdetailsrequest-request)
- [`@return` (`String`): JSON-Objekt](#return-string-json-objekt)
- [`API_toggleSignOnForEvent(Request $request)`](#api_togglesignonforeventrequest-request)
- [`API_getMyEvents(Request $request)`](#api_getmyeventsrequest-request)
- [`@return` (`String`): HTML-Code der Event-Cards](#return-string-html-code-der-event-cards-1)
- [`renderEventCards($events)`](#rendereventcardsevents)
- [`API_deleteEvent(Request $request)`](#api_deleteeventrequest-request)
- [`API_getAttendees(Request $request)`](#api_getattendeesrequest-request)
- [`API_toggleAcceptance(Request $request)`](#api_toggleacceptancerequest-request)
- [`API_searchEvents(Request $request)`](#api_searcheventsrequest-request)
- [`MatchingController`](#matchingcontroller)
- [Attribute](#attribute-9)
- [Methoden](#methoden-10)
- [`__construct() `](#__construct-)
- [`matching() `](#matching-)
- [`@return` (`String`): HTML-Code der View mit dem User.](#return-string-html-code-der-view-mit-dem-user)
- [`filter() `](#filter-)
- [`@return` (`String`): HTML-Code der View mit dem User.](#return-string-html-code-der-view-mit-dem-user-1)
- [`resetFilter()`](#resetfilter)
- [`clearFilter() `](#clearfilter-)
- [`saveInterestFilter() `](#saveinterestfilter-)
- [`fetchInterestFilter() `](#fetchinterestfilter-)
- [`deleteInterestFilter() `](#deleteinterestfilter-)
- [`isInterestFilterSet() `](#isinterestfilterset-)
- [`@return` (`bool`): True, falls Filter gesetzt ist, False, falls nicht.](#return-bool-true-falls-filter-gesetzt-ist-false-falls-nicht)
- [`fetchMyself() `](#fetchmyself-)
- [`fetchAllUser() `](#fetchalluser-)
- [`setOriginalInterests() `](#setoriginalinterests-)
- [`addAllInterestsToUsers() `](#addallintereststousers-)
- [`fetchMatchingInstances() `](#fetchmatchinginstances-)
- [`deleteOldMatchesFromUserList() `](#deleteoldmatchesfromuserlist-)
- [`printUserListCount() `](#printuserlistcount-)
- [`countInterestOverlap() `](#countinterestoverlap-)
- [`printSortedUserList() `](#printsorteduserlist-)
- [`deleteUsersWithNoInterestOverlap() `](#deleteuserswithnointerestoverlap-)
- [`renderRandomUser() `](#renderrandomuser-)
- [`@return` (`String`): HTML-Code der View mit dem User.](#return-string-html-code-der-view-mit-dem-user-2)
- [`renderUserByID($id_user) `](#renderuserbyidid_user-)
- [`@return` (`String`): HTML-Code der View mit dem User.](#return-string-html-code-der-view-mit-dem-user-3)
- [`printMatchingInstances() `](#printmatchinginstances-)
- [`addMatchingInstancePositive() `](#addmatchinginstancepositive-)
- [`addMatchingInstanceNegative() `](#addmatchinginstancenegative-)
- [`ModerationController`](#moderationcontroller)
- [`NotificationsController`](#notificationscontroller)
- [Attribute](#attribute-10)
- [Methoden](#methoden-11)
- [`__construct`](#__construct-5)
- [`notifications()`](#notifications)
- [`@return` (`String`): HTML der Notificationsseite](#return-string-html-der-notificationsseite)
- [`markAsReadNotification(Request $request)`](#markasreadnotificationrequest-request)
- [`showVisitenkarte(Request $request)`](#showvisitenkarterequest-request)
- [`@return` (`String`): HTMl der ProfileSeite](#return-string-html-der-profileseite)
- [`handleHostRating(Request $request)`](#handlehostratingrequest-request)
- [`@return` (`String`): HTMl der Notificationsseite](#return-string-html-der-notificationsseite-1)
- [`handleAttendeeRating(Request $request)`](#handleattendeeratingrequest-request)
- [`dismissReport(Request $request)`](#dismissreportrequest-request)
- [`acceptReport(Request $request)`](#acceptreportrequest-request)
- [`ProfileController`](#profilecontroller)
- [Attribute](#attribute-11)
- [Methoden](#methoden-12)
- [`__construct()`](#__construct-6)
- [`profile()`](#profile)
- [`@return` (`String`): HTML-Code der View des Profiles](#return-string-html-code-der-view-des-profiles)
- [`profileedit()`](#profileedit)
- [`@return` (`String`): HTML-Code der View des ProfilesEdit](#return-string-html-code-der-view-des-profilesedit)
- [`handleProfileEditing(Request $request)`](#handleprofileeditingrequest-request)
- [`@return` (`String`): HTML-Code der View des ProfilesEdit](#return-string-html-code-der-view-des-profilesedit-1)
- [`handleProfilePicEditing(Request $request)`](#handleprofilepiceditingrequest-request)
- [`@return` (`String`): HTML-Code der View des Profiles](#return-string-html-code-der-view-des-profiles-1)
- [`removeProfilePic(Request $request)`](#removeprofilepicrequest-request)
- [`@return` (`String`): HTML-Code der View des Profiles](#return-string-html-code-der-view-des-profiles-2)
- [`SettingsController`](#settingscontroller)
- [Methoden](#methoden-13)
- [`settings()`](#settings)
- [`@return` (`String`): HTML-Code der View des Settings](#return-string-html-code-der-view-des-settings)
- [`impressum()`](#impressum)
- [`@return` (`String`): HTML-Code der View des Impressums](#return-string-html-code-der-view-des-impressums)
- [`SiteController`](#sitecontroller)
- [Methoden](#methoden-14)
- [`home()`](#home)
- [`@return` (`String`): HTML-Code der View der Landing Page](#return-string-html-code-der-view-der-landing-page)
- [`VisitenkartenController`](#visitenkartencontroller)
- [Attribute](#attribute-12)
- [Methoden](#methoden-15)
- [`API_getVisitenkarte(Request $request)`](#api_getvisitenkarterequest-request)
- [`API_getVisitenkartenContent(Request $request)`](#api_getvisitenkartencontentrequest-request)
- [Models](#models)
- [NotificationModel](#notificationmodel)
- [Attribute](#attribute-13)
- [`__construct($id_myself)`](#__constructid_myself)
- [`rules()`](#rules-1)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models)
- [`fetchMatches()`](#fetchmatches)
- [`setNotifcationToRead($id_user_Match)`](#setnotifcationtoreadid_user_match)
- [`getAcceptedEvents($id_user)`](#getacceptedeventsid_user)
- [`EditProfileModel`](#editprofilemodel)
- [Attribute](#attribute-14)
- [Methoden](#methoden-16)
- [`__construct()`](#__construct-7)
- [`rules()`](#rules-2)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-1)
- [`saveChanges()`](#savechanges)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg)
- [`EditProfilePicModel`](#editprofilepicmodel)
- [Attribute](#attribute-15)
- [Methoden](#methoden-17)
- [`__construct($userID)`](#__constructuserid)
- [`rules()`](#rules-3)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-2)
- [`uploadProfileImg()`](#uploadprofileimg)
- [`@return` (`string`): Dateiname bei Erfolg](#return-string--dateiname-bei-erfolg)
- [`@return` (`bool`): False bei Fehlschlag](#return-bool--false-bei-fehlschlag)
- [`renameFile($target_dir, $imageFileType)`](#renamefiletarget_dir-imagefiletype)
- [`@return` (`string`): Dateiname](#return-string--dateiname)
- [`saveNewImageRef()`](#savenewimageref)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-1)
- [`getProfileImagePath()`](#getprofileimagepath)
- [`@return` (`string`): Pfad](#return-string--pfad)
- [`removeProfileImage()`](#removeprofileimage)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-2)
- [`EventFeedModel`](#eventfeedmodel)
- [Attribute](#attribute-16)
- [Methoden](#methoden-18)
- [`__construct()`](#__construct-8)
- [`rules()`](#rules-4)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-3)
- [`initEvents($queryResult)`](#initeventsqueryresult)
- [`fetchAllEvents()`](#fetchallevents)
- [`@return` (`array`): Events](#return-array--events)
- [`getEventById($eid)`](#geteventbyideid)
- [`@return` (`event`): Event](#return-event--event)
- [`@return` (`bool`): False falls kein Ergebnis](#return-bool--false-falls-kein-ergebnis)
- [`getMyEvents($uid)`](#getmyeventsuid)
- [`@return` (`array`): Events](#return-array--events-1)
- [`deleteEvent($eid)`](#deleteeventeid)
- [`searchEvents($searchTerm)`](#searcheventssearchterm)
- [`@return` (`array`): Suchergebnisse](#return-array--suchergebnisse)
- [`removePastEvents()`](#removepastevents)
- [`EventModel`](#eventmodel)
- [Attribute](#attribute-17)
- [Methoden](#methoden-19)
- [`rules()`](#rules-5)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-4)
- [`createEvent()`](#createevent)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-3)
- [`save()`](#save)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-4)
- [`delete()`](#delete)
- [`fetchAndSetSignOns()`](#fetchandsetsignons)
- [`deleteSignOns()`](#deletesignons)
- [`countSignOns()`](#countsignons)
- [`@return` (`int`): Anzahl der Anmeldungen](#return-int--anzahl-der-anmeldungen)
- [`countSignOnsAccepted()`](#countsignonsaccepted)
- [`@return` (`int`): Anzahl der Teilnehmer](#return-int--anzahl-der-teilnehmer)
- [`getSignOn($uid)`](#getsignonuid)
- [`@return` (`signOn`): Anmeldungsdaten des Users](#return-signon--anmeldungsdaten-des-users)
- [`@return` (`bool`): False falls keine Anmeldung vorliegt](#return-bool--false-falls-keine-anmeldung-vorliegt)
- [`deleteSignOn($uid)`](#deletesignonuid)
- [`toggleSignOn($uid)`](#togglesignonuid)
- [`toggleAcceptance($uid)`](#toggleacceptanceuid)
- [`getSignOnStatus($uid)`](#getsignonstatusuid)
- [`@return` (`bool`): True falls eine Anmeldung vorliegt](#return-bool--true-falls-eine-anmeldung-vorliegt)
- [`getIDUserCreator()`](#getidusercreator)
- [`@return` (`int`): `id_userCreator`](#return-int--id_usercreator)
- [`EventSignOnModel`](#eventsignonmodel)
- [Attribute](#attribute-18)
- [Methoden](#methoden-20)
- [`__construct()`](#__construct-9)
- [`rules()`](#rules-6)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-5)
- [`getSignOnsByEventId($id_event)`](#getsignonsbyeventidid_event)
- [`@return` (`array`): Anmeldungen](#return-array--anmeldungen)
- [`getSignOnIdsByEventId($id_event)`](#getsignonidsbyeventidid_event)
- [`@return` (`array`): User IDs](#return-array--user-ids)
- [`setSignOnsByEventId($id_event)`](#setsignonsbyeventidid_event)
- [`save() : bool`](#save--bool)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-5)
- [`delete()`](#delete-1)
- [`update()`](#update)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-6)
- [`updateHostRating()`](#updatehostrating)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-7)
- [`updateAttendeeRating()`](#updateattendeerating)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-8)
- [`HasInterestModel`](#hasinterestmodel)
- [Attribute](#attribute-19)
- [Methoden](#methoden-21)
- [`__construct()`](#__construct-10)
- [`rules()`](#rules-7)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-6)
- [`fetchAllHasInterests()`](#fetchallhasinterests)
- [`fetchInterestsForUserID(int $userID)`](#fetchinterestsforuseridint-userid)
- [`getInterestsForUserID(int $UserID)`](#getinterestsforuseridint-userid)
- [`@return` (`array`): Interessen IDs](#return-array--interessen-ids)
- [`setInterestsForUserID(int $UserID, $interests)`](#setinterestsforuseridint-userid-interests)
- [`InterestModel`](#interestmodel)
- [Attribute](#attribute-20)
- [Methoden](#methoden-22)
- [`__construct()`](#__construct-11)
- [`rules()`](#rules-8)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-7)
- [`fetchAllInterests()`](#fetchallinterests)
- [`getInterestName(int $id_interest)`](#getinterestnameint-id_interest)
- [`@return` (`string`): Name der Interesse](#return-string--name-der-interesse)
- [`getInterestID(string $name)`](#getinterestidstring-name)
- [`@return` (`int`): ID der Interesse](#return-int--id-der-interesse)
- [`@return` (`int`): -1 falls der Interessenname nicht existiert](#return-int---1-falls-der-interessenname-nicht-existiert)
- [`LoginModel`](#loginmodel)
- [Attribute](#attribute-21)
- [Methoden](#methoden-23)
- [`__construct()`](#__construct-12)
- [`rules()`](#rules-9)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-8)
- [`login()`](#login-1)
- [`@return` (`user`): Userdaten bei Erfolg](#return-user--userdaten-bei-erfolg)
- [`@return` (`bool`): False bei Fehlschlag](#return-bool--false-bei-fehlschlag-1)
- [`MatchingInstanceModel`](#matchinginstancemodel)
- [Attribute](#attribute-22)
- [Methoden](#methoden-24)
- [`__construct(int $UserIDMyself)`](#__constructint-useridmyself)
- [`fetchAllMatchingInstancesForUser()`](#fetchallmatchinginstancesforuser)
- [`rules()`](#rules-10)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-9)
- [`addMatchingInstance(int $UserIDReceived, int $score)`](#addmatchinginstanceint-useridreceived-int-score)
- [`checkForPositiveMatchingScore(int $UserID)`](#checkforpositivematchingscoreint-userid)
- [`@return` (`bool`): True falls positiv](#return-bool--true-falls-positiv)
- [MatchModel](#matchmodel)
- [Attribute](#attribute-23)
- [Methoden](#methoden-25)
- [`__construct(int $id_myself)`](#__constructint-id_myself)
- [`rules()`](#rules-11)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-10)
- [`fetchMatches()`](#fetchmatches-1)
- [`isMatchedWith(int $id_user)`](#ismatchedwithint-id_user)
- [`@return` (`bool`): True falls ja](#return-bool--true-falls-ja)
- [`createMatch(int $id_user)`](#creatematchint-id_user)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-9)
- [`ModerationModel`](#moderationmodel)
- [Attribute](#attribute-24)
- [Methoden](#methoden-26)
- [`__construct()`](#__construct-13)
- [`rules()`](#rules-12)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-11)
- [`initReports($reportsQuery)`](#initreportsreportsquery)
- [`fetchAllReports()`](#fetchallreports)
- [`@return` (`array`): Meldungen](#return-array--meldungen)
- [`dismissReport($id_report)`](#dismissreportid_report)
- [`getReport($id_report)`](#getreportid_report)
- [`@return` (`report`): Meldung](#return-report--meldung)
- [`acceptReport($id_report)`](#acceptreportid_report)
- [`NotificationModel`](#notificationmodel-1)
- [Attribute](#attribute-25)
- [Methoden](#methoden-27)
- [`__construct(int $id_myself)`](#__constructint-id_myself-1)
- [`rules()`](#rules-13)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-12)
- [`fetchMatches()`](#fetchmatches-2)
- [`setNotificationToRead($id_user_match)`](#setnotificationtoreadid_user_match)
- [`getAcceptedEvents($id_user)`](#getacceptedeventsid_user-1)
- [`PWResetEmailModel`](#pwresetemailmodel)
- [Attribute](#attribute-26)
- [Methoden](#methoden-28)
- [`__construct()`](#__construct-14)
- [`rules()`](#rules-14)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-13)
- [`sendEmail()`](#sendemail)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-10)
- [`printVerifCode()`](#printverifcode)
- [`@return` (`bool`): True](#return-bool--true)
- [`saveVerificationCode()`](#saveverificationcode)
- [`PWResetModel`](#pwresetmodel)
- [Attribute](#attribute-27)
- [Methoden](#methoden-29)
- [`__construct()`](#__construct-15)
- [`rules()`](#rules-15)
- [`@return` (`array`): Regeln des Models](#return-array--regeln-des-models-14)
- [`resetPassword()`](#resetpassword)
- [`@return` (`bool`): True bei Erfolg](#return-bool--true-bei-erfolg-11)
- [`isVerifCodeSet()`](#isverifcodeset)
- [`@return` (`bool`): True falls ja](#return-bool--true-falls-ja-1)
- [`isVerifCodeCorrect(int $verifcodeInput)`](#isverifcodecorrectint-verifcodeinput)
- [`@return` (`bool`): True falls ja](#return-bool--true-falls-ja-2)
- [`loadVerifCode()`](#loadverifcode)
- [`RegisterModel`](#registermodel)
- [Attribute](#attribute-28)
- [Methoden](#methoden-30)
- [`__construct()`](#__construct-16)
- [`rules(): array`](#rules-array)
- [`@return` (`String`): Regeln des Models](#return-string-regeln-des-models)
- [`register()`](#register)
- [`@return` (`bool`): True bei Erfolg](#return-bool-true-bei-erfolg)
- [`ReportModel`](#reportmodel)
- [Attribute](#attribute-29)
- [Methoden](#methoden-31)
- [`rules() : array`](#rules--array)
- [`@return` (`String`): Regeln des Models](#return-string-regeln-des-models-1)
- [`save() : bool`](#save--bool-1)
- [`@return` (`bool`): True bei Erfolg](#return-bool-true-bei-erfolg-1)
- [`dismiss()`](#dismiss)
- [`accept()`](#accept)
- [`ShowProfileModel`](#showprofilemodel)
- [Attribute](#attribute-30)
- [Methoden](#methoden-32)
- [`__construct(int $id_user)`](#__constructint-id_user)
- [`rules() : array`](#rules--array-1)
- [`@return` (`String`): Regeln des Models](#return-string-regeln-des-models-2)
- [`getProfileDataByUserId (int $userID)`](#getprofiledatabyuserid-int-userid)
- [`@return` (`String`): Profiledaten des Users](#return-string-profiledaten-des-users)
- [`updateScoreHost()`](#updatescorehost)
- [`@return` (`bool`): True bei Erfolg](#return-bool-true-bei-erfolg-2)
- [`updateScoreAttendee()`](#updatescoreattendee)
- [`@return` (`bool`): True bei Erfolg](#return-bool-true-bei-erfolg-3)
- [`UserMatchModel`](#usermatchmodel)
- [Attribute](#attribute-31)
- [Methoden](#methoden-33)
- [`rules() : array`](#rules--array-2)
- [`__construct()`](#__construct-17)
- [`fetchAllUser(int $id_myself)`](#fetchalluserint-id_myself)
- [`@return` (`array`): Array mit allen Userdaten](#return-array-array-mit-allen-userdaten)
- [`fetchUserByID(int $id)`](#fetchuserbyidint-id)
- [`@return` (`String`): Userdaten des Users](#return-string-userdaten-des-users)
- [UserModel](#usermodel)
- [Attribute](#attribute-32)
- [Methoden](#methoden-34)
- [`rules() : array`](#rules--array-3)
- [`__construct()`](#__construct-18)
- [`getUserById($id_user) : UserModel`](#getuserbyidid_user--usermodel)
- [`@return` (`UserModel`): Gibt das UserModel zurück.](#return-usermodel-gibt-das-usermodel-zurück)
- [`getUserNameByID($id_user) : String`](#getusernamebyidid_user--string)
- [`@return` (`String`): Gibt den Vor- und Nachnamen des Users zurück.](#return-string-gibt-den-vor--und-nachnamen-des-users-zurück)
- [`delete()`](#delete-2)
- [VisitenkartenModal](#visitenkartenmodal)
- [Attribute](#attribute-33)
- [Methoden](#methoden-35)
- [`__construct(int $id_user)`](#__constructint-id_user-1)
- [`rules() : array`](#rules--array-4)
- [`getVisitenkartenByUserID(int $userID)`](#getvisitenkartenbyuseridint-userid)
- [`@return` (`String`): Gibt die Daten für eine Visitenkarte des Users zurück.](#return-string-gibt-die-daten-für-eine-visitenkarte-des-users-zurück)
- [Views](#views)
- [Notification](#notification)
- [`openVisitenkarten(id_user)`](#openvisitenkartenid_user)
- [`openEventDetails(event_id)`](#openeventdetailsevent_id)
- [`EventSignOff`](#eventsignoff)
- [`reportUser`](#reportuser)
- [`RatingHost(event_id)`](#ratinghostevent_id)
- [`RatingAttendee(event_id)`](#ratingattendeeevent_id)
- [Administrationssystem](#administrationssystem)
- [Controller](#controller-2)
- [`A_EventsController`](#a_eventscontroller)
- [Attribute](#attribute-34)
- [Methoden](#methoden-36)
- [`__construct()`](#__construct-19)
- [`home()`](#home-1)
- [`@return` (`String`): HTMl der EventsAdministrationsseite](#return-string-html-der-eventsadministrationsseite)
- [`API_getEventByID(Request $request`](#api_geteventbyidrequest-request)
- [`@return` (`JSON`) Eventobjekt](#return-json-eventobjekt)
- [`API_editEvent(Request $request)`](#api_editeventrequest-request)
- [`API_getAttendeesByEventId(Request $request)`](#api_getattendeesbyeventidrequest-request)
- [`@return` (`JSON`): Teilnehmer](#return-json-teilnehmer)
- [`API_toggleAttendeeAcceptance(Request $request)`](#api_toggleattendeeacceptancerequest-request)
- [`@return` (`JSON`): Aktualisierte Teilnahmeliste](#return-json-aktualisierte-teilnahmeliste)
- [`A_InterestsController`](#a_interestscontroller)
- [Attribute](#attribute-35)
- [Methoden](#methoden-37)
- [`__construct()`](#__construct-20)
- [`home()`](#home-2)
- [`@return` (`String`): HTML-Code der View](#return-string-html-code-der-view-5)
- [`API_getInterest(Request $request)`](#api_getinterestrequest-request)
- [`@return` (`JSON`)](#return-json)
- [`API_editInterest(Request $request)`](#api_editinterestrequest-request)
- [`API_addInterest(Request $request)`](#api_addinterestrequest-request)
- [`API_deleteInterest(Request $request`](#api_deleteinterestrequest-request)
- [`A_UsersController`](#a_userscontroller)
- [Attribute](#attribute-36)
- [Methoden](#methoden-38)
- [`__construct()`](#__construct-21)
- [`home()`](#home-3)
- [`API_getUserByID(Request $request)`](#api_getuserbyidrequest-request)
- [`@return` (`JSON`)](#return-json-1)
- [`API_editUser(Request $request)`](#api_edituserrequest-request)
- [`API_deleteUser(Request $request)`](#api_deleteuserrequest-request)
- [Models](#models-1)
- [`A_EventAdministrationModel`](#a_eventadministrationmodel)
- [Attribute](#attribute-37)
- [Methoden](#methoden-39)
- [`__construct()`](#__construct-22)
- [`getEvents()`](#getevents)
- [`@return` (`Array`): Alle Events als PDO Ergebnisse](#return-array-alle-events-als-pdo-ergebnisse)
- [`createEventModels($eventQuery)`](#createeventmodelseventquery)
- [`getEventById($id_event)`](#geteventbyidid_event)
- [`@return` (`A_EventModel`): Event-Modell](#return-a_eventmodel-event-modell)
- [`toggleAttendeeAcceptance($id_event, $id_user)`](#toggleattendeeacceptanceid_event-id_user)
- [`deleteAttendee($id_event, $id_user)`](#deleteattendeeid_event-id_user)
- [`A_EventModel`](#a_eventmodel)
- [Attribute](#attribute-38)
- [Methoden](#methoden-40)
- [`save()`](#save-1)
- [`@return` (`Boolean`): Erfolgsstatus](#return-boolean-erfolgsstatus)
- [`delete()`](#delete-3)
- [`fetchAndSetSignOns()`](#fetchandsetsignons-1)
- [`deleteSignOns()`](#deletesignons-1)
- [`A_EventSignOnModel`](#a_eventsignonmodel)
- [Attribute](#attribute-39)
- [Methoden](#methoden-41)
- [`getSignOnsByEventId($id_event)`](#getsignonsbyeventidid_event-1)
- [`@return` `(`Array`): PDO-Ergebnis mit Anmeldungen](#return-array-pdo-ergebnis-mit-anmeldungen)
- [`setSignOnsByEventId($id_event)`](#setsignonsbyeventidid_event-1)
- [`A_HasInterestModel`](#a_hasinterestmodel)
- [Attribute](#attribute-40)
- [Methoden](#methoden-42)
- [`__construct()`](#__construct-23)
- [`fetchAllHasInterests()`](#fetchallhasinterests-1)
- [`fetchInterestsForUserID($userID)`](#fetchinterestsforuseriduserid)
- [`getInterestsForUserID($UserID)`](#getinterestsforuseriduserid)
- [`@return` (`Array`): Array mit den Interessen-IDs.](#return-array-array-mit-den-interessen-ids)
- [`setInterestsForUserID($UserID, $interests)`](#setinterestsforuseriduserid-interests)
- [`deleteByInterestId($id_interest)`](#deletebyinterestidid_interest)
- [`A_InterestModel`](#a_interestmodel)
- [Attribute](#attribute-41)
- [Methoden](#methoden-43)
- [`__construct()`](#__construct-24)
- [`fetchAllInterests()`](#fetchallinterests-1)
- [`getInterestName($id_interest)`](#getinterestnameid_interest)
- [`@return` (`String`): Name der Interesse](#return-string-name-der-interesse)
- [`getInterestID($name)`](#getinterestidname)
- [`@return` (`Integer`): ID der Interesse oder `-1` wenn keine Interesse gefunden wurde.](#return-integer-id-der-interesse-oder--1-wenn-keine-interesse-gefunden-wurde)
- [`getInterestById($id_interest)`](#getinterestbyidid_interest)
- [`@return` (`Array`): Format: [`id_interest`, `name`]](#return-array-format-id_interest-name)
- [`save($id_interest)`](#saveid_interest)
- [`add($name)`](#addname)
- [`delete($id_interest)`](#deleteid_interest)
- [`A_UserAdministrationModel`](#a_useradministrationmodel)
- [Attribute](#attribute-42)
- [Methoden](#methoden-44)
- [`__construct()`](#__construct-25)
- [`getUsers()`](#getusers)
- [`@return` (`Array`): PDO-Ergebnis mit Usern](#return-array-pdo-ergebnis-mit-usern)
- [`createUserModels($userQuery)`](#createusermodelsuserquery)
- [`getUserById($id_user)`](#getuserbyidid_user)
- [`addInterestsToUsers()`](#addintereststousers)
- [`A_UserModelModel`](#a_usermodelmodel)
- [Attribute](#attribute-43)
- [Methoden](#methoden-45)
- [`save()`](#save-2)
- [`delete()`](#delete-4)
- [Views](#views-1)
- [Layouts](#layouts)
- [`main`](#main)
- [`EventsAdministration`](#eventsadministration)
- [JavaScript Funktionen](#javascript-funktionen)
- [`loadAttendeeList(id_event)`](#loadattendeelistid_event)
- [`loadEventList()`](#loadeventlist)
- [`deleteEvent(id_event)`](#deleteeventid_event)
- [Genutzte Schnittstellen](#genutzte-schnittstellen)
- [`landingpage`](#landingpage)
- [`InterestAdministration`](#interestadministration)
- [Genutzte Schnittstellen](#genutzte-schnittstellen-1)
- [`UserAdministration`](#useradministration)
- [Genutzte Schnittstellen](#genutzte-schnittstellen-2)
- [Nicht umgesetzte Funktionen](#nicht-umgesetzte-funktionen)
- [Fehlerdokumentation](#fehlerdokumentation)
- [Erweiterungsmöglichkeiten](#erweiterungsmöglichkeiten)
- [Genauere Datumsangaben bei den Events](#genauere-datumsangaben-bei-den-events)
- [Erweiterte Login-Möglichkeiten](#erweiterte-login-möglichkeiten)
- [Nachträgliche Eventbearbeitung](#nachträgliche-eventbearbeitung)
- [Erweiterte Moderations- bzw. Reportfunktionen](#erweiterte-moderations--bzw-reportfunktionen)
- [Nutzerfreundlicherer Bildupload](#nutzerfreundlicherer-bildupload)