<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)