From a024a0fbebf970b24f1b6e83ecc3d3ce59e240ee Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 5 Feb 2026 07:34:53 +0100
Subject: [PATCH 1/3] add browser detection on info page
---
composer-dist.json | 3 ++-
composer.json | 5 +++--
languages/ar_EG/lang.inc | 6 ++++++
languages/bg_BG/lang.inc | 6 ++++++
languages/ca_ES/lang.inc | 6 ++++++
languages/cs_CZ/lang.inc | 6 ++++++
languages/de_DE/lang.inc | 8 +++++++-
languages/el_GR/lang.inc | 6 ++++++
languages/en_GB/lang.inc | 8 +++++++-
languages/es_ES/lang.inc | 6 ++++++
languages/fr_FR/lang.inc | 6 ++++++
languages/hr_HR/lang.inc | 6 ++++++
languages/hu_HU/lang.inc | 6 ++++++
languages/id_ID/lang.inc | 6 ++++++
languages/it_IT/lang.inc | 6 ++++++
languages/ko_KR/lang.inc | 6 ++++++
languages/lo_LA/lang.inc | 6 ++++++
languages/nb_NO/lang.inc | 6 ++++++
languages/nl_NL/lang.inc | 6 ++++++
languages/pl_PL/lang.inc | 6 ++++++
languages/pt_BR/lang.inc | 6 ++++++
languages/ro_RO/lang.inc | 6 ++++++
languages/ru_RU/lang.inc | 6 ++++++
languages/sk_SK/lang.inc | 6 ++++++
languages/sv_SE/lang.inc | 6 ++++++
languages/tr_TR/lang.inc | 6 ++++++
languages/uk_UA/lang.inc | 6 ++++++
languages/zh_CN/lang.inc | 6 ++++++
languages/zh_TW/lang.inc | 6 ++++++
views/bootstrap/class.Info.php | 11 +++++++++++
30 files changed, 180 insertions(+), 5 deletions(-)
diff --git a/composer-dist.json b/composer-dist.json
index e1a5fa567..a2925215a 100644
--- a/composer-dist.json
+++ b/composer-dist.json
@@ -73,7 +73,8 @@
"twig/twig": "^3.0",
"league/commonmark": "^2.7",
"symfony/process": "^7.3",
- "symfony/http-client": "^7.4"
+ "symfony/http-client": "^7.4",
+ "whichbrowser/parser": "^2.1"
},
"require-dev": {
"composer/composer": "dev-main"
diff --git a/composer.json b/composer.json
index 402d1181e..8a1f87f1a 100644
--- a/composer.json
+++ b/composer.json
@@ -76,7 +76,8 @@
"twig/twig": "^3.0",
"league/commonmark": "^2.7",
"symfony/process": "^7.3",
- "symfony/http-client": "^7.4"
+ "symfony/http-client": "^7.4",
+ "whichbrowser/parser": "^2.1"
},
"require-dev": {
"composer/composer": "dev-main",
@@ -84,7 +85,7 @@
"behat/mink-selenium2-driver": "^1",
"dmore/chrome-mink-driver": "^2",
"friendsofphp/php-cs-fixer": "^3",
- "phpunit/phpunit": "9.5.9",
+ "phpunit/phpunit": "^9",
"squizlabs/php_codesniffer": "^4",
"phpstan/phpstan": "^2.1",
"pear/archive_tar": "*"
diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc
index f89eae8f3..e18913390 100644
--- a/languages/ar_EG/lang.inc
+++ b/languages/ar_EG/lang.inc
@@ -238,6 +238,10 @@ URL: [url]',
'between' => 'بين',
'bg_BG' => 'بلغارية',
'browse' => 'تصفح',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'الكاتالونية',
'calendar' => 'التقويم',
'calendar_events_mail_subject' => '',
@@ -661,6 +665,7 @@ URL: [url]',
'error_rm_workflow' => 'خطأ في ازالة سير العمل',
'error_rm_workflow_action' => 'خطأ في ازالة دور سير العمل',
'error_rm_workflow_state' => 'خطأ في ازالة حالة سير العمل',
+'error_send_notification' => '',
'error_toogle_permission' => 'خطأ في تفعيل طلب السماح',
'error_transfer_document' => 'خطأ في تحويل المستند',
'error_trigger_workflow' => 'خطأ في تفعيل سير العمل',
@@ -2163,6 +2168,7 @@ URL: [url]',
'splash_saved_file' => 'ملف محفظ',
'splash_send_download_link' => 'ارسال رابط التنزيل',
'splash_send_login_data' => 'ارسل بيانات تسجيل الدخول',
+'splash_send_notification' => '',
'splash_set_default_access' => 'حدد الدخول الإفتراضي',
'splash_settings_saved' => 'تم حفظ الإعدادات',
'splash_substituted_user' => 'مستخدم احتياطي',
diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc
index e457a256e..9ce5a2af0 100644
--- a/languages/bg_BG/lang.inc
+++ b/languages/bg_BG/lang.inc
@@ -225,6 +225,10 @@ $text = array(
'between' => 'между',
'bg_BG' => 'Български',
'browse' => 'Преглеждане',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Каталунски',
'calendar' => 'Календар',
'calendar_events_mail_subject' => '',
@@ -599,6 +603,7 @@ $text = array(
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2005,6 +2010,7 @@ $text = array(
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => '',
'splash_substituted_user' => '',
diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc
index 3ed0c2c07..81a6226ad 100644
--- a/languages/ca_ES/lang.inc
+++ b/languages/ca_ES/lang.inc
@@ -230,6 +230,10 @@ URL: [url]',
'between' => 'entre',
'bg_BG' => 'Búlgar',
'browse' => 'Navega',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Català',
'calendar' => 'Calendari',
'calendar_events_mail_subject' => '',
@@ -604,6 +608,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2010,6 +2015,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => '',
'splash_substituted_user' => '',
diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc
index 5a4b39f8e..b6b421aa5 100644
--- a/languages/cs_CZ/lang.inc
+++ b/languages/cs_CZ/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'mezi',
'bg_BG' => 'Bulharština',
'browse' => 'Prohlížet',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalánština',
'calendar' => 'Kalendář',
'calendar_events_mail_subject' => '',
@@ -685,6 +689,7 @@ URL: [url]',
'error_rm_workflow' => 'Chyba při odstraňování workflow',
'error_rm_workflow_action' => 'Chyba pří odstraňování akce workflow',
'error_rm_workflow_state' => 'Chyba pří odstraňování stavu workflow',
+'error_send_notification' => '',
'error_toogle_permission' => 'Chyba při změně oprávnění',
'error_transfer_document' => 'Chyba při přenosu dokumentu',
'error_trigger_workflow' => 'Chyba při spouštění přechodu workflow',
@@ -2235,6 +2240,7 @@ Jméno: [username]
'splash_saved_file' => 'Verze byla uložena',
'splash_send_download_link' => 'Odkaz ke stažení byl odeslán emailem.',
'splash_send_login_data' => 'Přihlašovací údaje byly odeslány',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Výchozí nastavení přístupových práv',
'splash_settings_saved' => 'Nastavení uloženo',
'splash_substituted_user' => 'Zaměněný uživatel',
diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc
index 4d6cd9450..a49feb318 100644
--- a/languages/de_DE/lang.inc
+++ b/languages/de_DE/lang.inc
@@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
-// Translators: Admin (3578), dgrutsch (22)
+// Translators: Admin (3584), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@@ -283,6 +283,10 @@ URL: [url]
',
'between' => 'zwischen',
'bg_BG' => 'Bulgarisch',
'browse' => 'Durchsuchen',
+'browser_info' => 'Informationen zum Browser',
+'browser_info_browser' => 'Browser',
+'browser_info_engine' => 'Engine',
+'browser_info_os' => 'Betriebssystem',
'ca_ES' => 'Katalanisch',
'calendar' => 'Kalender',
'calendar_events_mail_subject' => 'Anstehende Ereignisse',
@@ -819,6 +823,7 @@ URL: [url]',
'error_rm_workflow' => 'Fehler beim Löschen des Workflows',
'error_rm_workflow_action' => 'Fehler beim Löschen der Workflow-Aktion',
'error_rm_workflow_state' => 'Fehler beim Löschen des Workflows-Status',
+'error_send_notification' => 'Fehler beim Verschicken der Benachrichtigung',
'error_toogle_permission' => 'Fehler beim Ändern der Berechtigung',
'error_transfer_document' => 'Fehler beim Übertragen des Dokuments',
'error_trigger_workflow' => 'Fehler beim Auslösen der Transitions des Workflows',
@@ -2626,6 +2631,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_saved_file' => 'Version gespeichert',
'splash_send_download_link' => 'Download-Link per E-Mail verschickt.',
'splash_send_login_data' => 'Login-Daten verschickt',
+'splash_send_notification' => 'Benachrichtigung verschickt',
'splash_set_default_access' => 'Default-Zugriffsrecht gesetzt',
'splash_settings_saved' => 'Einstellungen gesichert',
'splash_substituted_user' => 'Benutzer gewechselt',
diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc
index 6853aff13..3572ea64d 100644
--- a/languages/el_GR/lang.inc
+++ b/languages/el_GR/lang.inc
@@ -225,6 +225,10 @@ $text = array(
'between' => 'μεταξύ',
'bg_BG' => 'Βουλγάρικα',
'browse' => '',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Καταλανικά',
'calendar' => 'Ημερολόγιο',
'calendar_events_mail_subject' => '',
@@ -599,6 +603,7 @@ $text = array(
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2016,6 +2021,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => '',
'splash_substituted_user' => '',
diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc
index 7e62a16a4..72450a0ab 100644
--- a/languages/en_GB/lang.inc
+++ b/languages/en_GB/lang.inc
@@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
-// Translators: Admin (2646), archonwang (3), dgrutsch (9), netixw (14)
+// Translators: Admin (2651), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@@ -283,6 +283,10 @@ URL: [url]',
'between' => 'between',
'bg_BG' => 'Bulgarian',
'browse' => 'Browse',
+'browser_info' => 'Information about browser',
+'browser_info_browser' => 'Browser',
+'browser_info_engine' => 'Engine',
+'browser_info_os' => 'Operating system',
'ca_ES' => 'Catalan',
'calendar' => 'Calendar',
'calendar_events_mail_subject' => 'Upcomming events',
@@ -819,6 +823,7 @@ URL: [url]',
'error_rm_workflow' => 'Error when removing workflow',
'error_rm_workflow_action' => 'Error when removing workflow action',
'error_rm_workflow_state' => 'Error when removing workflow state',
+'error_send_notification' => '',
'error_toogle_permission' => 'Error while changing permission',
'error_transfer_document' => 'Error while transfering document',
'error_trigger_workflow' => 'Error while triggering transition of workflow',
@@ -2628,6 +2633,7 @@ If you did not receive a password, please use the password forgotten function on
'splash_saved_file' => 'Version saved',
'splash_send_download_link' => 'Download link sent by email.',
'splash_send_login_data' => 'Login data sent',
+'splash_send_notification' => 'Notification sent',
'splash_set_default_access' => 'Default access right set',
'splash_settings_saved' => 'Settings saved',
'splash_substituted_user' => 'Substituted user',
diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc
index 827cb625a..85597767f 100644
--- a/languages/es_ES/lang.inc
+++ b/languages/es_ES/lang.inc
@@ -245,6 +245,10 @@ URL: [url]',
'between' => 'entre',
'bg_BG' => 'Búlgaro',
'browse' => 'Listar',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catala',
'calendar' => 'Calendario',
'calendar_events_mail_subject' => '',
@@ -674,6 +678,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2186,6 +2191,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Configuración guardada',
'splash_substituted_user' => 'Usuario sustituido',
diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc
index 4c5ce8bbe..b00e3953b 100644
--- a/languages/fr_FR/lang.inc
+++ b/languages/fr_FR/lang.inc
@@ -274,6 +274,10 @@ URL : [url]',
'between' => 'entre',
'bg_BG' => 'Bulgare',
'browse' => 'Parcourir',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalan',
'calendar' => 'Agenda',
'calendar_events_mail_subject' => '',
@@ -789,6 +793,7 @@ URL : [url]',
'error_rm_workflow' => 'Erreur lors de la suppression du workflow',
'error_rm_workflow_action' => 'Erreur lors de la suppression de l’action de workflow',
'error_rm_workflow_state' => 'Erreur lors de la suppression de l’état de workflow',
+'error_send_notification' => '',
'error_toogle_permission' => 'Erreur lors de la modification de permission',
'error_transfer_document' => 'Erreur lors du transfert du document',
'error_trigger_workflow' => 'Erreur lors du déclenchement de la transition du workflow',
@@ -2573,6 +2578,7 @@ Nom : [username]
'splash_saved_file' => 'Version enregistrée',
'splash_send_download_link' => 'Lien de téléchargement envoyé par e-mail',
'splash_send_login_data' => 'Informations de connexion envoyées',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Droits d’accès par défaut définis',
'splash_settings_saved' => 'Configuration sauvegardée',
'splash_substituted_user' => 'Utilisateur de substitution',
diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc
index 78d5fb09c..5504e6aeb 100644
--- a/languages/hr_HR/lang.inc
+++ b/languages/hr_HR/lang.inc
@@ -250,6 +250,10 @@ Internet poveznica: [url]',
'between' => 'između',
'bg_BG' => 'Bugarski',
'browse' => 'Pretraži',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalonski',
'calendar' => 'Kalendar',
'calendar_events_mail_subject' => 'događaji u kalendaru predmet pošte',
@@ -673,6 +677,7 @@ Internet poveznica: [url]',
'error_rm_workflow' => 'error rm tijek rada',
'error_rm_workflow_action' => 'error rm radnja tijeka rada',
'error_rm_workflow_state' => 'error rm stanje tijeka rada',
+'error_send_notification' => '',
'error_toogle_permission' => 'pogreška prebaci dopuštenje',
'error_transfer_document' => 'isprava o prijenosu pogreške',
'error_trigger_workflow' => 'tijek rada pokretača pogreške',
@@ -2199,6 +2204,7 @@ Internet poveznica: [url]',
'splash_saved_file' => 'splash spremljena datoteka',
'splash_send_download_link' => 'splash poslati vezu za preuzimanje',
'splash_send_login_data' => 'splash poslati podatke za prijavu',
+'splash_send_notification' => '',
'splash_set_default_access' => 'splash postaviti zadani pristup',
'splash_settings_saved' => 'Postavke pohranjene',
'splash_substituted_user' => 'Zamjenski korisnik',
diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc
index 16e00b94a..ce6ced652 100644
--- a/languages/hu_HU/lang.inc
+++ b/languages/hu_HU/lang.inc
@@ -245,6 +245,10 @@ URL: [url]',
'between' => 'között',
'bg_BG' => 'Bulgár',
'browse' => 'Tallózás',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalán',
'calendar' => 'Naptár',
'calendar_events_mail_subject' => '',
@@ -668,6 +672,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2176,6 +2181,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Beállítások elmentve',
'splash_substituted_user' => 'Helyettesített felhasználó',
diff --git a/languages/id_ID/lang.inc b/languages/id_ID/lang.inc
index 8cf77fe6a..4838539c3 100644
--- a/languages/id_ID/lang.inc
+++ b/languages/id_ID/lang.inc
@@ -254,6 +254,10 @@ URL: [url]',
'between' => '',
'bg_BG' => 'Bulgaria',
'browse' => 'Jelajahi',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalan',
'calendar' => 'Kalender',
'calendar_events_mail_subject' => '',
@@ -723,6 +727,7 @@ URL: [url]',
'error_rm_workflow' => 'Kesalahan saat menghapus alur kerja',
'error_rm_workflow_action' => 'Kesalahan saat menghapus tindakan alur kerja',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => 'Kesalahan saat mengubah izin',
'error_transfer_document' => 'Kesalahan saat mentransfer dokumen',
'error_trigger_workflow' => 'Kesalahan saat memicu transisi alur kerja',
@@ -2266,6 +2271,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_saved_file' => 'Versi disimpan',
'splash_send_download_link' => 'Tautan unduhan dikirim melalui email.',
'splash_send_login_data' => 'Data akses dikirim',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Pengaturan disimpan',
'splash_substituted_user' => '',
diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc
index 1e2f76e18..ea1eb2bcc 100644
--- a/languages/it_IT/lang.inc
+++ b/languages/it_IT/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'tra',
'bg_BG' => 'Bulgaro',
'browse' => 'Scegli file',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalano',
'calendar' => 'Calendario',
'calendar_events_mail_subject' => '',
@@ -678,6 +682,7 @@ URL: [url]',
'error_rm_workflow' => 'Errore durante la rimozione del flusso di lavoro',
'error_rm_workflow_action' => 'Errore durante la rimozione dell\'azione del flusso di lavoro',
'error_rm_workflow_state' => 'Errore durante la rimozione dello stato del flusso di lavoro',
+'error_send_notification' => '',
'error_toogle_permission' => 'Errore durante la modifica permessi',
'error_transfer_document' => 'Errore durante il trasferimento del documento',
'error_trigger_workflow' => 'Errore durante l\'esecuzione di una transizione del flusso di lavoro',
@@ -2222,6 +2227,7 @@ Name: [username]
'splash_saved_file' => 'Versione salvata',
'splash_send_download_link' => 'Collegamento di scaricamento inviato via email.',
'splash_send_login_data' => 'Dati di login inviati',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Imposta accesso predefinito',
'splash_settings_saved' => 'Impostazioni salvate',
'splash_substituted_user' => 'Utente sostituito',
diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc
index 88cdf6e47..cb91f3c8e 100644
--- a/languages/ko_KR/lang.inc
+++ b/languages/ko_KR/lang.inc
@@ -252,6 +252,10 @@ URL: [url]',
'between' => '사이',
'bg_BG' => '불가리아',
'browse' => '검색',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => '카탈로니아어',
'calendar' => '달력',
'calendar_events_mail_subject' => '',
@@ -674,6 +678,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2193,6 +2198,7 @@ URL : [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => '설정 저장',
'splash_substituted_user' => '전환된 사용자',
diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc
index b0153f53d..7c4534b7d 100644
--- a/languages/lo_LA/lang.inc
+++ b/languages/lo_LA/lang.inc
@@ -248,6 +248,10 @@ URL: [url]',
'between' => 'ລະຫວ່າງ',
'bg_BG' => 'ບັດແກເຣີຍ',
'browse' => 'ໝວດ',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'ຄາຕາລັນ',
'calendar' => 'ປະຕຶທຶນ',
'calendar_events_mail_subject' => '',
@@ -671,6 +675,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => 'ເກິດຂໍ້ຜິດພາດໃນຂະນະປ່ຽນສິດ',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2219,6 +2224,7 @@ URL: [url]',
'splash_saved_file' => 'ບັນທຶກເວີຊັນແລ້ວ',
'splash_send_download_link' => 'ດາວໂຫລດລິງທີ່ສົ່ງດ້ວຍອີເມວ',
'splash_send_login_data' => 'ສົ່ງຂໍ້ຄວາມເຂົ້າສູ້ລະບົບແລ້ວ',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'ການຕັ້ງຄ່າທີ່ບັນທຶກໄວ້',
'splash_substituted_user' => 'ຜູ້ນຳໄຊ້ທີຖືກແທນທີ',
diff --git a/languages/nb_NO/lang.inc b/languages/nb_NO/lang.inc
index 12c4edeb9..0bd89b2da 100644
--- a/languages/nb_NO/lang.inc
+++ b/languages/nb_NO/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'mellom',
'bg_BG' => 'Bulgaria',
'browse' => 'Bla',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalonia',
'calendar' => 'Kalender',
'calendar_events_mail_subject' => '',
@@ -685,6 +689,7 @@ URL: [url]',
'error_rm_workflow' => 'Feil ved fjerning av arbeidsflyt',
'error_rm_workflow_action' => 'Feil ved fjerning av arbeidsflythandling',
'error_rm_workflow_state' => 'Feil ved fjerning av arbeidsflyttilstand',
+'error_send_notification' => '',
'error_toogle_permission' => 'Feil under endring av tillatelse',
'error_transfer_document' => 'Feil under overføring av dokument',
'error_trigger_workflow' => 'Feil under utløsning av arbeidsflyt',
@@ -2232,6 +2237,7 @@ Bruker: [username]
'splash_saved_file' => 'Versjon lagret',
'splash_send_download_link' => 'Nedlastingslenke sendt via e-post.',
'splash_send_login_data' => 'Påloggingsdata sendt',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Standard adgangsrett satt',
'splash_settings_saved' => 'Instillinger lagret',
'splash_substituted_user' => 'Erstatt bruker',
diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc
index f5e974e52..0caad5d20 100644
--- a/languages/nl_NL/lang.inc
+++ b/languages/nl_NL/lang.inc
@@ -243,6 +243,10 @@ URL: [url]',
'between' => 'tussen',
'bg_BG' => 'Bulgaars',
'browse' => 'Browse',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalaans',
'calendar' => 'Kalender',
'calendar_events_mail_subject' => '',
@@ -678,6 +682,7 @@ URL: [url]',
'error_rm_workflow' => 'Fout bij het verwijderen van de workflow',
'error_rm_workflow_action' => 'Fout bij het verwijderen van een handeling uit de workflow',
'error_rm_workflow_state' => 'Fout bij het verwijderen van de workflow-status',
+'error_send_notification' => '',
'error_toogle_permission' => 'Fout bij wijzigen van permissie',
'error_transfer_document' => 'Fout bij het overdragen van document',
'error_trigger_workflow' => 'Fout bij het triggeren van de workflow',
@@ -2231,6 +2236,7 @@ Name: [username]
'splash_saved_file' => 'Bestand opgeslagen',
'splash_send_download_link' => 'Download-link verzonden',
'splash_send_login_data' => 'Login-gegevens verzonden',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Stel default-toegangsrechten in',
'splash_settings_saved' => 'Instellingen opgeslagen',
'splash_substituted_user' => 'Invallers gebruiker',
diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc
index 2f98d0517..70eb7090f 100644
--- a/languages/pl_PL/lang.inc
+++ b/languages/pl_PL/lang.inc
@@ -282,6 +282,10 @@ URL: [url]',
'between' => 'między',
'bg_BG' => 'bułgarski',
'browse' => 'Przeglądaj',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'kataloński',
'calendar' => 'Kalendarz',
'calendar_events_mail_subject' => 'Nadchodzące wydarzenia',
@@ -803,6 +807,7 @@ URL: [url]',
'error_rm_workflow' => 'Błąd podczas usuwania przepływu pracy',
'error_rm_workflow_action' => 'Błąd podczas usuwania akcji przepływu pracy',
'error_rm_workflow_state' => 'Błąd podczas usuwania stanu przepływu pracy',
+'error_send_notification' => '',
'error_toogle_permission' => 'Błąd podczas zmiany uprawnień',
'error_transfer_document' => 'Błąd podczas przesyłania dokumentu',
'error_trigger_workflow' => 'Błąd podczas wyzwalania przejęcia przepływu pracy',
@@ -2403,6 +2408,7 @@ Name: [username]
'splash_saved_file' => 'Wersja zapisana',
'splash_send_download_link' => 'Link do pobrania wysłany e-mail\'em.',
'splash_send_login_data' => 'Dane do logowania zostały wysłane',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Domyślny zestaw praw dostępu',
'splash_settings_saved' => 'Zmiany zapisano',
'splash_substituted_user' => 'Zmieniono Użytkownika',
diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc
index 5d5f7466a..1369f2d26 100644
--- a/languages/pt_BR/lang.inc
+++ b/languages/pt_BR/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'entre',
'bg_BG' => 'Bulgaro',
'browse' => 'Procurar',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalão',
'calendar' => 'Calendário',
'calendar_events_mail_subject' => '',
@@ -685,6 +689,7 @@ URL: [url]',
'error_rm_workflow' => 'Erro ao remover o fluxo de trabalho',
'error_rm_workflow_action' => 'Erro ao remover a ação do fluxo de trabalho',
'error_rm_workflow_state' => 'Erro ao remover o estado do fluxo de trabalho',
+'error_send_notification' => '',
'error_toogle_permission' => 'Erro ao alterar a permissão',
'error_transfer_document' => 'Erro ao transferir documento',
'error_trigger_workflow' => 'Erro ao acionar a transição do fluxo de trabalho',
@@ -2238,6 +2243,7 @@ Nome: [username]
'splash_saved_file' => 'Versão salva',
'splash_send_download_link' => 'Link de download enviado por e-mail.',
'splash_send_login_data' => 'Dados de login enviados',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Conjunto de direitos de acesso padrão',
'splash_settings_saved' => 'Configurações salvas',
'splash_substituted_user' => 'Usuário substituido',
diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc
index 788ac2a08..b4e51457a 100644
--- a/languages/ro_RO/lang.inc
+++ b/languages/ro_RO/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'între',
'bg_BG' => 'Bulgară',
'browse' => 'Browse',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalana',
'calendar' => 'Calendar',
'calendar_events_mail_subject' => '',
@@ -673,6 +677,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2200,6 +2205,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Setări salvate',
'splash_substituted_user' => 'Utilizator substituit',
diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc
index bb5a05597..1bdb017f0 100644
--- a/languages/ru_RU/lang.inc
+++ b/languages/ru_RU/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'между',
'bg_BG' => 'Болгарский',
'browse' => 'Выбрать',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalan',
'calendar' => 'Календарь',
'calendar_events_mail_subject' => '',
@@ -673,6 +677,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => 'Ошибка смены разрешения',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2207,6 +2212,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Настройки сохранены',
'splash_substituted_user' => 'Пользователь переключён',
diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc
index e6eb25b8c..4bdc9cf7b 100644
--- a/languages/sk_SK/lang.inc
+++ b/languages/sk_SK/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'medzi',
'bg_BG' => 'Bulharsky',
'browse' => 'Prehľadávať',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalánština',
'calendar' => 'Kalendár',
'calendar_events_mail_subject' => '',
@@ -685,6 +689,7 @@ URL: [url]',
'error_rm_workflow' => 'Nastala chyba pri odstránovaní workflow',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => 'Chyba pri zmene povolenia',
'error_transfer_document' => 'Chyba pri transfere dokumentu',
'error_trigger_workflow' => '',
@@ -2240,6 +2245,7 @@ Meno: [username]
'splash_saved_file' => 'Verzia bola uložená',
'splash_send_download_link' => 'Download link sent by email.',
'splash_send_login_data' => 'Login data sent',
+'splash_send_notification' => '',
'splash_set_default_access' => 'Default access right set',
'splash_settings_saved' => 'Nastavenia boli uložené',
'splash_substituted_user' => 'Substituted user',
diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc
index b4ffe2674..9cc099bf1 100644
--- a/languages/sv_SE/lang.inc
+++ b/languages/sv_SE/lang.inc
@@ -251,6 +251,10 @@ URL: [url]',
'between' => 'mellan',
'bg_BG' => 'Bulgariska',
'browse' => 'Bläddra',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalonska',
'calendar' => 'Kalender',
'calendar_events_mail_subject' => '',
@@ -679,6 +683,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => 'Fel vid förändring av behörighet',
'error_transfer_document' => 'Fel vid förflyttning av dokument',
'error_trigger_workflow' => '',
@@ -2213,6 +2218,7 @@ Kommentar: [comment]',
'splash_saved_file' => 'Version sparad',
'splash_send_download_link' => 'Nedladdningslänk skickad via e-post.',
'splash_send_login_data' => 'Inloggningsuppgifter skickade',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Inställningar sparat',
'splash_substituted_user' => 'Bytt användare',
diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc
index 31c621eb5..2a4db1227 100644
--- a/languages/tr_TR/lang.inc
+++ b/languages/tr_TR/lang.inc
@@ -245,6 +245,10 @@ URL: [url]',
'between' => 'arasında',
'bg_BG' => 'Bulgarca',
'browse' => 'Tara',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Katalanca',
'calendar' => 'Takvim',
'calendar_events_mail_subject' => '',
@@ -667,6 +671,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2177,6 +2182,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Ayarlar kaydedildi',
'splash_substituted_user' => 'Yerine geçilen kullanıcı',
diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc
index 0c255ae71..923886858 100644
--- a/languages/uk_UA/lang.inc
+++ b/languages/uk_UA/lang.inc
@@ -250,6 +250,10 @@ URL: [url]',
'between' => 'між',
'bg_BG' => 'Bulgarian',
'browse' => 'Вибрати',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => 'Catalan',
'calendar' => 'Календар',
'calendar_events_mail_subject' => '',
@@ -672,6 +676,7 @@ URL: [url]',
'error_rm_workflow' => '',
'error_rm_workflow_action' => '',
'error_rm_workflow_state' => '',
+'error_send_notification' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'error_trigger_workflow' => '',
@@ -2199,6 +2204,7 @@ URL: [url]',
'splash_saved_file' => '',
'splash_send_download_link' => '',
'splash_send_login_data' => '',
+'splash_send_notification' => '',
'splash_set_default_access' => '',
'splash_settings_saved' => 'Налаштування збережено',
'splash_substituted_user' => 'Користувача переключено',
diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc
index c4a4308ee..2b3fb7857 100644
--- a/languages/zh_CN/lang.inc
+++ b/languages/zh_CN/lang.inc
@@ -242,6 +242,10 @@ URL: [url]',
'between' => '时间段',
'bg_BG' => '保加利亚语',
'browse' => '浏览',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => '加泰罗尼亚语',
'calendar' => '日历',
'calendar_events_mail_subject' => '',
@@ -673,6 +677,7 @@ URL: [url]',
'error_rm_workflow' => '删除工作流时报错',
'error_rm_workflow_action' => '删除工作流报错',
'error_rm_workflow_state' => '删除工作流状态时报错',
+'error_send_notification' => '',
'error_toogle_permission' => '修改权限时报错',
'error_transfer_document' => '转换文档时报错',
'error_trigger_workflow' => '出发工作流转换时报错',
@@ -2187,6 +2192,7 @@ URL: [url]',
'splash_saved_file' => '版本已保存',
'splash_send_download_link' => '下载链接已通过邮件发送。',
'splash_send_login_data' => '登录数据已发送',
+'splash_send_notification' => '',
'splash_set_default_access' => '默认访问权限设置',
'splash_settings_saved' => '设置已保存',
'splash_substituted_user' => '切换用户',
diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc
index 47293d4b3..d4ba24234 100644
--- a/languages/zh_TW/lang.inc
+++ b/languages/zh_TW/lang.inc
@@ -250,6 +250,10 @@ $text = array(
'between' => '時間段',
'bg_BG' => '保加利亞語',
'browse' => '瀏覽',
+'browser_info' => '',
+'browser_info_browser' => '',
+'browser_info_engine' => '',
+'browser_info_os' => '',
'ca_ES' => '加泰羅尼亞語',
'calendar' => '日曆',
'calendar_events_mail_subject' => '',
@@ -685,6 +689,7 @@ URL: [url]',
'error_rm_workflow' => '刪除工作流程時出錯',
'error_rm_workflow_action' => '刪除工作流程操作時出錯',
'error_rm_workflow_state' => '刪除工作流程狀態時出錯',
+'error_send_notification' => '',
'error_toogle_permission' => '更改權限時出錯',
'error_transfer_document' => '傳送文件時發生錯誤',
'error_trigger_workflow' => '觸發工作流程轉換時出錯',
@@ -2238,6 +2243,7 @@ URL: [url]',
'splash_saved_file' => '版本已儲存',
'splash_send_download_link' => '寄送下載連結的信件',
'splash_send_login_data' => '登入紀錄已寄送',
+'splash_send_notification' => '',
'splash_set_default_access' => '默認訪問權限集',
'splash_settings_saved' => '設定儲存',
'splash_substituted_user' => '替代用戶',
diff --git a/views/bootstrap/class.Info.php b/views/bootstrap/class.Info.php
index c91e0ee36..2387c15bc 100644
--- a/views/bootstrap/class.Info.php
+++ b/views/bootstrap/class.Info.php
@@ -69,6 +69,17 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
}
echo "\n\n";
+ $result = new WhichBrowser\Parser($_SERVER['HTTP_USER_AGENT']);
+ $this->contentHeading(getMLText("browser_info"));
+ echo "\n";
+ echo "\n\n";
+ echo "| ".getMLText("name")." | | \n";
+ echo "
\n\n\n";
+ echo "| ".getMLText('browser_info_browser')." | ".$result->browser->toString()." |
\n";
+ echo "| ".getMLText('browser_info_engine')." | ".$result->engine->toString()." |
\n";
+ echo "| ".getMLText('browser_info_os')." | ".$result->os->toString()." |
\n";
+ echo "\n
\n";
+
if($user->isAdmin()) {
$this->contentHeading(getMLText("extension_info"));
echo "\n";
From 9352af2958ca079517df5eccf029fb34fa43c279 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 5 Feb 2026 07:35:40 +0100
Subject: [PATCH 2/3] add changes for 5.1.45
---
CHANGELOG | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG b/CHANGELOG
index 6ce12c44d..b1211b947 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -14,6 +14,7 @@
- parse changelog and readme of extension as markdown
- fix incorrect base path for url routing, which broke some extensions
- migrate extension after enabling it with console tool
+- add browser detection on info page
--------------------------------------------------------------------------------
Changes in version 5.1.44
From fc6c855b697deb08b1c535cfe377fcaec0420587 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 5 Feb 2026 07:44:38 +0100
Subject: [PATCH 3/3] remove some table headers as they are obvious
---
views/bootstrap/class.Info.php | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/views/bootstrap/class.Info.php b/views/bootstrap/class.Info.php
index 2387c15bc..43bc638c6 100644
--- a/views/bootstrap/class.Info.php
+++ b/views/bootstrap/class.Info.php
@@ -56,9 +56,10 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
$this->columnStart(6);
$this->contentHeading(getMLText("seeddms_info"));
echo "\n";
- echo "\n\n";
- echo "| ".getMLText("name")." | | \n";
- echo "
\n\n\n";
+// echo "\n\n";
+// echo "| ".getMLText("name")." | | \n";
+// echo "
\n\n";
+ echo "\n";
$dbversion = $dms->getDBVersion();
echo "| ".getMLText('seeddms_version')." | ".$version->version()." |
\n";
if($user->isAdmin()) {
@@ -72,9 +73,10 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
$result = new WhichBrowser\Parser($_SERVER['HTTP_USER_AGENT']);
$this->contentHeading(getMLText("browser_info"));
echo "\n";
- echo "\n\n";
- echo "| ".getMLText("name")." | | \n";
- echo "
\n\n\n";
+// echo "\n\n";
+// echo "| ".getMLText("name")." | | \n";
+// echo "
\n\n";
+ echo "\n";
echo "| ".getMLText('browser_info_browser')." | ".$result->browser->toString()." |
\n";
echo "| ".getMLText('browser_info_engine')." | ".$result->engine->toString()." |
\n";
echo "| ".getMLText('browser_info_os')." | ".$result->os->toString()." |
\n";
@@ -112,9 +114,10 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
if($user->isAdmin()) {
$this->contentHeading(getMLText("php_info"));
echo "\n";
- echo "\n\n";
- echo "| ".getMLText("name")." | | \n";
- echo "
\n\n\n";
+// echo "\n\n";
+// echo "| ".getMLText("name")." | | \n";
+// echo "
\n\n";
+ echo "\n";
echo "| PHP | ".phpversion()." |
\n";
echo "| Path to php.ini | ".php_ini_loaded_file()." |
\n";
echo "| Timezone | ".date_default_timezone_get()." (Current date/time on server is ".getLongReadableDate(time()).") |
\n";