403 | Unauthorized
+Access to this resource has been denied
+Either you do not have the necessary permissions or the resource does not exist anymore.
+Please check back later. Thank you!
+diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b89914..45d0842 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # CHANGELOG +## v8.0.1 + +* Readded the `nfclogin` button to the login page +* Fixed failed require for `statusMessages.arbeit.inc.php` + +## v8.0 + +* Reworked the whole web UI, some elements may have not been migrated yet. +* Plugin Hub now integrates the Navigation Bar + +## v7.13.1.1 + +* Added colors to status messages +* Security fixes + ## v7.13.1 * Fixed issues with LDAP authentication diff --git a/README.md b/README.md index 89f8afb..aa8b019 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # TimeTrack - small enterprise time recording TimeTrack aims to be an easy-to-use time recording software for small enterprises. -It's a fork from TimeTrack Oval, v6.2 (license-based model, within cloud & more features) ## Features diff --git a/VERSION b/VERSION index 15958dd..5210382 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.13.1 \ No newline at end of file +8.0.1 \ No newline at end of file diff --git a/api/v1/class/i18n/suite/footer/snippets_DE.json b/api/v1/class/i18n/suite/footer/snippets_DE.json new file mode 100644 index 0000000..e24aea8 --- /dev/null +++ b/api/v1/class/i18n/suite/footer/snippets_DE.json @@ -0,0 +1,4 @@ +{ + "privacy": "Datenschutz", + "support": "Support" +} \ No newline at end of file diff --git a/api/v1/class/i18n/suite/footer/snippets_EN.json b/api/v1/class/i18n/suite/footer/snippets_EN.json new file mode 100644 index 0000000..f3bec5e --- /dev/null +++ b/api/v1/class/i18n/suite/footer/snippets_EN.json @@ -0,0 +1,4 @@ +{ + "privacy": "Privacy", + "support": "Support" +} \ No newline at end of file diff --git a/api/v1/class/i18n/suite/footer/snippets_NL.json b/api/v1/class/i18n/suite/footer/snippets_NL.json new file mode 100644 index 0000000..c37fefd --- /dev/null +++ b/api/v1/class/i18n/suite/footer/snippets_NL.json @@ -0,0 +1,4 @@ +{ + "privacy": "Privacyverklaring", + "support": "Ondersteuning" +} \ No newline at end of file diff --git a/api/v1/class/i18n/suite/privacy/snippets_DE.json b/api/v1/class/i18n/suite/privacy/snippets_DE.json new file mode 100644 index 0000000..698e98c --- /dev/null +++ b/api/v1/class/i18n/suite/privacy/snippets_DE.json @@ -0,0 +1,10 @@ +{ + "h1": "Datenschutzerklärung", + "intro": "Diese Anwendung verarbeitet personenbezogene Daten ausschließlich im Rahmen der Funktionsweise von TimeTrack.", + "data_collected": "Erhobene Daten: Vorname, Nachname, E-Mail-Adresse, Passwort (gehasht). Bei Verwendung von LDAP erfolgt die Authentifizierung über den verbundenen Verzeichnisdienst.", + "email_usage": "TimeTrack kann E-Mails an Benutzer versenden, z. B. für Benachrichtigungen oder zur Passwortzurücksetzung.", + "plugins": "Installierte Plugins können auf bestimmte Daten zugreifen, wenn dies für ihre Funktion erforderlich ist. Die Weitergabe erfolgt ohne gesonderte Nachfrage.", + "locality": "TimeTrack ist eine lokal installierte Open-Source-Anwendung. Alle Daten verbleiben auf dem lokalen System, sofern nicht explizit anderweitig konfiguriert.", + "contact": "Kontakt", + "contact_note": "Bei Fragen oder Anliegen zur Verarbeitung Ihrer personenbezogenen Daten können Sie sich jederzeit an uns wenden. Email:" +} diff --git a/api/v1/class/i18n/suite/privacy/snippets_EN.json b/api/v1/class/i18n/suite/privacy/snippets_EN.json new file mode 100644 index 0000000..158a541 --- /dev/null +++ b/api/v1/class/i18n/suite/privacy/snippets_EN.json @@ -0,0 +1,10 @@ +{ + "h1": "Privacy Policy", + "intro": "This application processes personal data strictly within the functional scope of TimeTrack.", + "data_collected": "Data collected: First name, last name, email address, password (hashed). If LDAP is used, authentication is handled via the connected directory service.", + "email_usage": "TimeTrack may send emails to users, e.g., for notifications or password resets.", + "plugins": "Installed plugins may access certain data when necessary for their function. This transfer occurs without additional confirmation.", + "locality": "TimeTrack is a locally installed open-source application. All data remains on the local system unless explicitly configured otherwise.", + "contact": "Contact", + "contact_note": "If you have any questions or concerns regarding the processing of your personal data, you can contact us at any time. Email:" +} diff --git a/api/v1/class/i18n/suite/privacy/snippets_NL.json b/api/v1/class/i18n/suite/privacy/snippets_NL.json new file mode 100644 index 0000000..2163dce --- /dev/null +++ b/api/v1/class/i18n/suite/privacy/snippets_NL.json @@ -0,0 +1,10 @@ +{ + "h1": "Privacybeleid", + "intro": "Deze applicatie verwerkt persoonsgegevens uitsluitend binnen de functionele werking van TimeTrack.", + "data_collected": "Verzamelde gegevens: Voornaam, achternaam, e-mailadres, wachtwoord (gehasht). Bij gebruik van LDAP wordt authenticatie afgehandeld via de gekoppelde directoryservice.", + "email_usage": "TimeTrack kan e-mails naar gebruikers verzenden, bijvoorbeeld voor meldingen of het opnieuw instellen van wachtwoorden.", + "plugins": "Geïnstalleerde plugins kunnen toegang hebben tot bepaalde gegevens indien dit nodig is voor hun werking. Deze overdracht vindt plaats zonder verdere bevestiging.", + "locality": "TimeTrack is een lokaal geïnstalleerde open-source applicatie. Alle gegevens blijven op het lokale systeem, tenzij anders geconfigureerd.", + "contact": "Contact", + "contact_note": "Als u vragen of zorgen heeft over de verwerking van uw persoonsgegevens, kunt u te allen tijde contact met ons opnemen. E-mail:" +} diff --git a/api/v1/class/i18n/suite/status/snippets_DE.json b/api/v1/class/i18n/suite/status/snippets_DE.json index 88d7532..14ec08d 100644 --- a/api/v1/class/i18n/suite/status/snippets_DE.json +++ b/api/v1/class/i18n/suite/status/snippets_DE.json @@ -1,30 +1,30 @@ { - "worktime_deleted": "[BLUE]Hinweis: Arbeitszeit erfolgreich gelöscht![/BLUE]", - "logged_out": "[BLUE]Hinweis: Erfolgreich ausgeloggt![/BLUE]", - "error_sickness": "[RED]Fehler: Deine Krankheit konnte nicht gespeichert werden. Bitte kontaktiere deinen Administrator![/RED]", - "error_vacation": "[RED]Fehler: Deine Urlaub konnte nicht gespeichert werden. Bitte kontaktiere deinen Administrator![/RED]", - "vacation_added": "[GREEN]Hinweis: Dein Urlaub wurde erfolgreich gespeichert![/GREEN]", - "sickness_added": "[BLUE]Hinweis: Deine Krankheit wurde erfolgreich gespeichert![/BLUE]", - "notifications_entry_deleted": "Hinweis: Benachrichtigungeneintrag gelöscht![/BLUE]", - "noperms": "[YELLOW]Hinweis: Fehlende Berechtigungen[/YELLOW]", - "user_deleted": "[BLUE]Hinweis: Benutzer erfolgreich gelöscht![/BLUE]", - "created_user": "[GREEN]Hinweis: Benutzer erfolgreich erstellt![/GREEN]", - "worktime_added": "[GREEN]Hinweis: Arbeitszeit erfolgreich hinzugefügt![/GREEN]", - "password_changed": "[YELLOW]Hinweis: Dein Passwort wurde erfolgreich geändert. Bitte melde dich erneut an.[/YELLOW]", - "password_change_failed": "[RED]Fehler: Dein Passwort konnte nicht geändert werden, bitte kontaktiere den Support.[/RED]", - "password_reset": "[YELLOW]Hinweis: Es wurde eine E-Mail verschickt, damit du dein Passwort zurücksetzen kannst.[/YELLOW]", - "nodata": "[RED]Fehler: Es wurde kein Benutzername oder Passwort eingegeben.[/RED]", - "wrongdata": "[RED]Fehler: Falsche Anmeldedaten.[/RED]", - "worktime_review": "[GREEN]Hinweis: Arbeitszeit erfolgreich auf Prüfung gestellt![/GREEN]", - "worktime_review_unlock": "[GREEN]Hinweis: Prüfung erfolgreich aufgehoben für Arbeitszeit![/GREEN]", - "worktime_easymode_start": "[GREEN]Hinweis: Deine Schicht wurde erfolgreich gestartet![/GREEN]", - "worktime_easymode_end": "[GREEN]Hinweis: Deine Schicht wurde erfolgreich beendet![/GREEN]", - "worktime_easymode_pause_start": "[GREEN]Hinweis: Deine Pause wurde erfolgreich gestartet![/GREEN]", - "worktime_easymode_pause_end": "[GREEN]Hinweis: Deine Pause wurde erfolgreich beendet![/GREEN]", - "easymode_toggled": "[GREEN]Hinweis: Der Modus wurde erfolgreich gewechselt![GREEN]", - "error": "[RED]Hinweis: Ein Fehler ist aufgetreten. Bitte überprüfe den Log, falls möglich.[/RED]", - "statemismatch": "[RED]Fehler: Sicherheitsfehler[/RED]", - "ldapauth": "[RED]Fehler: Die Authentifizierung über LDAP ist fehlgeschlagen.[/RED]", - "ldapcreated": "[YELLOW]Hinweis: Bitte melde dich erneut an. Dein Benutzerkonto wurde nun erstellt. (LDAP allowed self-login)[/YELLOW]", - "notification_not_found": "[RED]Fehler: Benachrichtigung nicht gefunden.[/RED]" + "worktime_deleted": "Hinweis: Arbeitszeit erfolgreich gelöscht!", + "logged_out": "Hinweis: Erfolgreich ausgeloggt!", + "error_sickness": "Fehler: Deine Krankheit konnte nicht gespeichert werden. Bitte kontaktiere deinen Administrator!", + "error_vacation": "Fehler: Deine Urlaub konnte nicht gespeichert werden. Bitte kontaktiere deinen Administrator!", + "vacation_added": "Hinweis: Dein Urlaub wurde erfolgreich gespeichert!", + "sickness_added": "Hinweis: Deine Krankheit wurde erfolgreich gespeichert!", + "notifications_entry_deleted": "Hinweis: Benachrichtigungeneintrag gelöscht!", + "noperms": "Hinweis: Fehlende Berechtigungen", + "user_deleted": "Hinweis: Benutzer erfolgreich gelöscht!", + "created_user": "Hinweis: Benutzer erfolgreich erstellt!", + "worktime_added": "Hinweis: Arbeitszeit erfolgreich hinzugefügt!", + "password_changed": "Hinweis: Dein Passwort wurde erfolgreich geändert. Bitte melde dich erneut an.", + "password_change_failed": "Fehler: Dein Passwort konnte nicht geändert werden, bitte kontaktiere den Support.", + "password_reset": "Hinweis: Es wurde eine E-Mail verschickt, damit du dein Passwort zurücksetzen kannst.", + "nodata": "Fehler: Es wurde kein Benutzername oder Passwort eingegeben.", + "wrongdata": "Fehler: Falsche Anmeldedaten.", + "worktime_review": "Hinweis: Arbeitszeit erfolgreich auf Prüfung gestellt!", + "worktime_review_unlock": "Hinweis: Prüfung erfolgreich aufgehoben für Arbeitszeit!", + "worktime_easymode_start": "Hinweis: Deine Schicht wurde erfolgreich gestartet!", + "worktime_easymode_end": "Hinweis: Deine Schicht wurde erfolgreich beendet!", + "worktime_easymode_pause_start": "Hinweis: Deine Pause wurde erfolgreich gestartet!", + "worktime_easymode_pause_end": "Hinweis: Deine Pause wurde erfolgreich beendet!", + "easymode_toggled": "Hinweis: Der Modus wurde erfolgreich gewechselt!", + "error": "Hinweis: Ein Fehler ist aufgetreten. Bitte überprüfe den Log, falls möglich.", + "statemismatch": "Fehler: Sicherheitsfehler", + "ldapauth": "Fehler: Die Authentifizierung über LDAP ist fehlgeschlagen.", + "ldapcreated": "Hinweis: Bitte melde dich erneut an. Dein Benutzerkonto wurde nun erstellt. (LDAP allowed self-login)", + "notification_not_found": "Fehler: Benachrichtigung nicht gefunden." } diff --git a/api/v1/class/i18n/suite/status/snippets_EN.json b/api/v1/class/i18n/suite/status/snippets_EN.json index c86c7c7..baf04cf 100644 --- a/api/v1/class/i18n/suite/status/snippets_EN.json +++ b/api/v1/class/i18n/suite/status/snippets_EN.json @@ -1,30 +1,30 @@ { - "worktime_deleted": "[BLUE]Note: Work time successfully deleted![/BLUE]", - "logged_out": "[BLUE]Note: Successfully logged out![/BLUE]", - "error_sickness": "[RED]Error: Your sickness could not be saved. Please contact your administrator![/RED]", - "error_vacation": "[RED]Error: Your vacation could not be saved. Please contact your administrator![/RED]", - "vacation_added": "[GREEN]Note: Your vacation has been saved successfully![/GREEN]", - "sickness_added": "[BLUE]Note: Your sickness has been saved successfully![/BLUE]", - "notifications_entry_deleted": "Note: Notification entry deleted![/BLUE]", - "noperms": "[YELLOW]Note: Missing permissions[/YELLOW]", - "user_deleted": "[BLUE]Note: User successfully deleted![/BLUE]", - "created_user": "[GREEN]Note: User successfully created![/GREEN]", - "worktime_added": "[GREEN]Note: Work time successfully added![/GREEN]", - "password_changed": "[YELLOW]Note: Your password has been changed successfully. Please log in again.[/YELLOW]", - "password_change_failed": "[RED]Error: Your password could not be changed, please contact support.[/RED]", - "password_reset": "[YELLOW]Note: An email has been sent so you can reset your password.[/YELLOW]", - "nodata": "[RED]Error: No username or password entered.[/RED]", - "wrongdata": "[RED]Error: Incorrect login credentials.[/RED]", - "worktime_review": "[GREEN]Note: Work time successfully submitted for review![/GREEN]", - "worktime_review_unlock": "[GREEN]Note: Review successfully removed for work time![/GREEN]", - "worktime_easymode_start": "[GREEN]Note: Your shift has started successfully![/GREEN]", - "worktime_easymode_end": "[GREEN]Note: Your shift has ended successfully![/GREEN]", - "worktime_easymode_pause_start": "[GREEN]Note: Your break has started successfully![/GREEN]", - "worktime_easymode_pause_end": "[GREEN]Note: Your break has ended successfully![/GREEN]", - "easymode_toggled": "[GREEN]Note: Mode successfully toggled![GREEN]", - "error": "[RED]Note: An error has occurred. Please check the log if possible.[/RED]", - "statemismatch": "[RED]Error: Security error[/RED]", - "ldapauth": "[RED]Error: LDAP authentication failed.[/RED]", - "ldapcreated": "[YELLOW]Note: Please log in again. Your user account has now been created. (LDAP allowed self-login)[/YELLOW]", - "notification_not_found": "[RED]Error: Notification not found.[/RED]" + "worktime_deleted": "Note: Work time successfully deleted!", + "logged_out": "Note: Successfully logged out!", + "error_sickness": "Error: Your sickness could not be saved. Please contact your administrator!", + "error_vacation": "Error: Your vacation could not be saved. Please contact your administrator!", + "vacation_added": "Note: Your vacation has been saved successfully!", + "sickness_added": "Note: Your sickness has been saved successfully!", + "notifications_entry_deleted": "Note: Notification entry deleted!", + "noperms": "Note: Missing permissions", + "user_deleted": "Note: User successfully deleted!", + "created_user": "Note: User successfully created!", + "worktime_added": "Note: Work time successfully added!", + "password_changed": "Note: Your password has been changed successfully. Please log in again.", + "password_change_failed": "Error: Your password could not be changed, please contact support.", + "password_reset": "Note: An email has been sent so you can reset your password.", + "nodata": "Error: No username or password entered.", + "wrongdata": "Error: Incorrect login credentials.", + "worktime_review": "Note: Work time successfully submitted for review!", + "worktime_review_unlock": "Note: Review successfully removed for work time!", + "worktime_easymode_start": "Note: Your shift has started successfully!", + "worktime_easymode_end": "Note: Your shift has ended successfully!", + "worktime_easymode_pause_start": "Note: Your break has started successfully!", + "worktime_easymode_pause_end": "Note: Your break has ended successfully!", + "easymode_toggled": "Note: Mode successfully toggled!", + "error": "Note: An error has occurred. Please check the log if possible.", + "statemismatch": "Error: Security error", + "ldapauth": "Error: LDAP authentication failed.", + "ldapcreated": "Note: Please log in again. Your user account has now been created. (LDAP allowed self-login)", + "notification_not_found": "Error: Notification not found." } diff --git a/api/v1/class/i18n/suite/status/snippets_NL.json b/api/v1/class/i18n/suite/status/snippets_NL.json index 5276d6b..8dee092 100644 --- a/api/v1/class/i18n/suite/status/snippets_NL.json +++ b/api/v1/class/i18n/suite/status/snippets_NL.json @@ -1,30 +1,30 @@ { - "worktime_deleted": "[BLUE]Opmerking: Werkuren succesvol verwijderd![/BLUE]", - "logged_out": "[BLUE]Opmerking: Succesvol uitgelogd![/BLUE]", - "error_sickness": "[RED]Fout: Je ziekte kon niet worden opgeslagen. Neem contact op met je beheerder![/RED]", - "error_vacation": "[RED]Fout: Je vakantie kon niet worden opgeslagen. Neem contact op met je beheerder![/RED]", - "vacation_added": "[GREEN]Opmerking: Je vakantie is succesvol opgeslagen![/GREEN]", - "sickness_added": "[BLUE]Opmerking: Je ziekte is succesvol opgeslagen![/BLUE]", - "notifications_entry_deleted": "Opmerking: Notificatie-item verwijderd![/BLUE]", - "noperms": "[YELLOW]Opmerking: Onvoldoende rechten[/YELLOW]", - "user_deleted": "[BLUE]Opmerking: Gebruiker succesvol verwijderd![/BLUE]", - "created_user": "[GREEN]Opmerking: Gebruiker succesvol aangemaakt![/GREEN]", - "worktime_added": "[GREEN]Opmerking: Werkuren succesvol toegevoegd![/GREEN]", - "password_changed": "[YELLOW]Opmerking: Je wachtwoord is succesvol gewijzigd. Log opnieuw in.[/YELLOW]", - "password_change_failed": "[RED]Fout: Je wachtwoord kon niet worden gewijzigd, neem contact op met support.[/RED]", - "password_reset": "[YELLOW]Opmerking: Er is een e-mail verstuurd om je wachtwoord te resetten.[/YELLOW]", - "nodata": "[RED]Fout: Geen gebruikersnaam of wachtwoord ingevoerd.[/RED]", - "wrongdata": "[RED]Fout: Onjuiste inloggegevens.[/RED]", - "worktime_review": "[GREEN]Opmerking: Werkuren succesvol ter controle ingediend![/GREEN]", - "worktime_review_unlock": "[GREEN]Opmerking: Controle succesvol opgeheven voor werkuren![/GREEN]", - "worktime_easymode_start": "[GREEN]Opmerking: Je dienst is succesvol gestart![/GREEN]", - "worktime_easymode_end": "[GREEN]Opmerking: Je dienst is succesvol beëindigd![/GREEN]", - "worktime_easymode_pause_start": "[GREEN]Opmerking: Je pauze is succesvol gestart![/GREEN]", - "worktime_easymode_pause_end": "[GREEN]Opmerking: Je pauze is succesvol beëindigd![/GREEN]", - "easymode_toggled": "[GREEN]Opmerking: Modus succesvol gewijzigd![GREEN]", - "error": "[RED]Opmerking: Er is een fout opgetreden. Controleer het logbestand indien mogelijk.[/RED]", - "statemismatch": "[RED]Fout: Beveiligingsfout[/RED]", - "ldapauth": "[RED]Fout: LDAP-authenticatie mislukt.[/RED]", - "ldapcreated": "[YELLOW]Opmerking: Log opnieuw in. Je account is nu aangemaakt. (LDAP self-login toegestaan)[/YELLOW]", - "notification_not_found": "[RED]Fout: Notificatie niet gevonden.[/RED]" + "worktime_deleted": "Opmerking: Werkuren succesvol verwijderd!", + "logged_out": "Opmerking: Succesvol uitgelogd!", + "error_sickness": "Fout: Je ziekte kon niet worden opgeslagen. Neem contact op met je beheerder!", + "error_vacation": "Fout: Je vakantie kon niet worden opgeslagen. Neem contact op met je beheerder!", + "vacation_added": "Opmerking: Je vakantie is succesvol opgeslagen!", + "sickness_added": "Opmerking: Je ziekte is succesvol opgeslagen!", + "notifications_entry_deleted": "Opmerking: Notificatie-item verwijderd!", + "noperms": "Opmerking: Onvoldoende rechten", + "user_deleted": "Opmerking: Gebruiker succesvol verwijderd!", + "created_user": "Opmerking: Gebruiker succesvol aangemaakt!", + "worktime_added": "Opmerking: Werkuren succesvol toegevoegd!", + "password_changed": "Opmerking: Je wachtwoord is succesvol gewijzigd. Log opnieuw in.", + "password_change_failed": "Fout: Je wachtwoord kon niet worden gewijzigd, neem contact op met support.", + "password_reset": "Opmerking: Er is een e-mail verstuurd om je wachtwoord te resetten.", + "nodata": "Fout: Geen gebruikersnaam of wachtwoord ingevoerd.", + "wrongdata": "Fout: Onjuiste inloggegevens.", + "worktime_review": "Opmerking: Werkuren succesvol ter controle ingediend!", + "worktime_review_unlock": "Opmerking: Controle succesvol opgeheven voor werkuren!", + "worktime_easymode_start": "Opmerking: Je dienst is succesvol gestart!", + "worktime_easymode_end": "Opmerking: Je dienst is succesvol beëindigd!", + "worktime_easymode_pause_start": "Opmerking: Je pauze is succesvol gestart!", + "worktime_easymode_pause_end": "Opmerking: Je pauze is succesvol beëindigd!", + "easymode_toggled": "Opmerking: Modus succesvol gewijzigd!", + "error": "Opmerking: Er is een fout opgetreden. Controleer het logbestand indien mogelijk.", + "statemismatch": "Fout: Beveiligingsfout", + "ldapauth": "Fout: LDAP-authenticatie mislukt.", + "ldapcreated": "Opmerking: Log opnieuw in. Je account is nu aangemaakt. (LDAP self-login toegestaan)", + "notification_not_found": "Fout: Notificatie niet gevonden." } diff --git a/api/v1/class/mode/mode.arbeit.inc.php b/api/v1/class/mode/mode.arbeit.inc.php index cd575c7..ee6e749 100644 --- a/api/v1/class/mode/mode.arbeit.inc.php +++ b/api/v1/class/mode/mode.arbeit.inc.php @@ -1,13 +1,15 @@ $value){ + foreach (Arbeitszeit::get_all_types() as $type => $value) { $data .= ""; } return $data; } - private static function get_normal_mode_html(){ + private static function get_normal_mode_html() + { $nodes = new Nodes; - if($nodes->checkNode("mode.inc", "get_normal_mode_html") == false){ + if ($nodes->checkNode("mode.inc", "get_normal_mode_html") == false) { return; } $i18n = new i18n; $loc = $i18n->loadLanguage(null, "mode/easymode"); $t = self::compute_html_worktime_types(); - $data = <<< DATA -
- - + $data = << + + + + + + + - DATA; return $data; } - private static function get_easymode_html(){ + private static function get_easymode_html() + { $nodes = new Nodes; - if($nodes->checkNode("mode.inc", "get_easymode_html") == false){ + if ($nodes->checkNode("mode.inc", "get_easymode_html") == false) { return; } $i18n = new i18n; @@ -88,86 +132,96 @@ private static function get_easymode_html(){ $worktime = Arbeitszeit::get_worktime_by_id($active); - if($active === false){ + if ($active === false) { Exceptions::error_rep("No or multiple active easymode worktime entry found. Checking for multiple entries..."); - if(Arbeitszeit::fix_easymode_worktime($_SESSION["username"])){ + if (Arbeitszeit::fix_easymode_worktime($_SESSION["username"])) { self::get_easymode_html(); } - $data = <<< DATA + $data = <<An error occurred while checking for active easymode entries. Either a connection error to the database or you have multiple entries marked as active. If the problem persists, contact the system administrator!Error-Code: DEM-CHK_FAIL_EM_ENY_AC
DATA; goto skip_to_output; - } elseif(!$worktime && $active === true){ + } elseif (!$worktime && $active === true) { Exceptions::error_rep("An error occurred while checking for active easymode entries. Please ask your administrator to remove the current active worktime entry! | Active worktime: " . $worktime); - $data = <<< DATA + $data = <<An error occurred while checking for active easymode entries. Please ask your administrator to remove the current active worktime entry! DATA; - - } elseif($active == -1){ - $data = <<< DATA -{$loc["easymode_enabled_note"]}
- -{$loc["easymode_enabled_note"]}
+ + +{$loc["v_note"]}
+ + + + -{$loc["note_ps"]}
- ID: {$active} - -{$loc["note_pe"]}
- ID: {$active} - -{$loc["note_ps"]}
+ ID: {$active} + + + + +DATA; + } elseif ($worktimedata["pause_end"] == null) { + $data = << +{$loc["note_pe"]}
+ ID: {$active} + + + + +DATA; } else { - $data = <<< DATA -{$loc["note_se"]}
- ID: {$active} - -{$loc["note_se"]}
+ ID: {$active} + + + + DATA; } } diff --git a/api/v1/class/notifications/notifications.arbeit.inc.php b/api/v1/class/notifications/notifications.arbeit.inc.php index 479e9e9..906d515 100644 --- a/api/v1/class/notifications/notifications.arbeit.inc.php +++ b/api/v1/class/notifications/notifications.arbeit.inc.php @@ -125,10 +125,13 @@ public function get_notifications_html(){ $id = $row["id"]; $html = <<< DATA -$location: $note | $date - $time
-Either you do not have the necessary permissions or the resource does not exist anymore.
+Please check back later. Thank you!
+Either you do not have the permissions to access the resource or it simply does not exist (anymore).
-Please check back later, thank you!
-Error Code: = htmlspecialchars($code); ?>
+Message: = htmlspecialchars($error); ?>
+Stack Trace:
++= htmlspecialchars($stack ?? "No trace available."); ?> ++
Message:
-Trace (if available):
- -- - -
This service is currently not available due to scheduled maintenance or an unexpected issue.
+Please check back later – thank you for your patience!
+This service is currently not available either to a maintenance or a system failure
-Please check back later, thank you!
-= $language["pw_reset_note"] ?? "Please enter your new password below." ?>
+ + +