From 595ce3cbe71eae15256736cc9e544716047d9c85 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Sat, 29 Jun 2024 13:23:29 +0200
Subject: [PATCH 01/30] get_extension() returns extension for image/jpg
---
inc/inc.Utils.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/inc/inc.Utils.php b/inc/inc.Utils.php
index 315e2545f..4b484143a 100644
--- a/inc/inc.Utils.php
+++ b/inc/inc.Utils.php
@@ -726,6 +726,7 @@ function get_extension($mimetype) { /* {{{ */
case 'image/gif': return '.gif';
case 'image/ief': return '.ief';
case 'image/jpeg': return '.jpg';
+ case 'image/jpg': return '.jpg';
case 'image/pipeg': return '.jfif';
case 'image/tiff': return '.tif';
case 'image/x-cmu-raster': return '.ras';
From f3c4385115ddcf6a4e875707d5899c9dc6833052 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Sat, 29 Jun 2024 13:24:20 +0200
Subject: [PATCH 02/30] pass notifier to view
---
inc/inc.ClassController.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/inc/inc.ClassController.php b/inc/inc.ClassController.php
index fa414499e..4a37d9cbc 100644
--- a/inc/inc.ClassController.php
+++ b/inc/inc.ClassController.php
@@ -30,7 +30,7 @@ class Controller {
* @return object an object of a class implementing the view
*/
static function factory($class, $params=array()) { /* {{{ */
- global $settings, $session, $extMgr, $request, $logger;
+ global $settings, $session, $extMgr, $request, $logger, $notifier;
if(!$class) {
return null;
}
@@ -59,6 +59,7 @@ class Controller {
$controller->setParam('request', $request);
$controller->setParam('settings', $settings);
$controller->setParam('logger', $logger);
+ $controller->setParam('notifier', $notifier);
return $controller;
}
return null;
From 36a962e2a71612c8a5ff990c31f31a9c4dbe204e Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Sat, 29 Jun 2024 13:24:44 +0200
Subject: [PATCH 03/30] pass notifiert to view
---
inc/inc.ClassUI.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php
index 94bcdb5b1..222deca44 100644
--- a/inc/inc.ClassUI.php
+++ b/inc/inc.ClassUI.php
@@ -45,7 +45,7 @@ class UI extends UI_Default {
* @return object an object of a class implementing the view
*/
static function factory($theme, $class='', $params=array()) { /* {{{ */
- global $settings, $session, $extMgr, $request, $logger;
+ global $settings, $session, $extMgr, $request, $logger, $notifier;
if(!$class) {
$class = 'Bootstrap';
$class = 'Style';
@@ -134,6 +134,7 @@ class UI extends UI_Default {
$view->setParam('session', $session);
$view->setParam('request', $request);
$view->setParam('logger', $logger);
+ $view->setParam('notifier', $notifier);
// $view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID);
From 87e4e2eba0e5a889abc8910525f1a0d0299e1741 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 8 Jul 2024 17:11:31 +0200
Subject: [PATCH 04/30] pass null instead of '' as default translation of
subject
---
inc/inc.ClassEmailNotify.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/inc.ClassEmailNotify.php b/inc/inc.ClassEmailNotify.php
index 8983581e4..cedab0e1f 100644
--- a/inc/inc.ClassEmailNotify.php
+++ b/inc/inc.ClassEmailNotify.php
@@ -198,7 +198,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
$headers['Return-Path'] = $returnpath;
$headers['To'] = $to;
$preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8");
- $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, "", $lang), $preferences);
+ $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, null, $lang), $preferences);
$headers['Subject'] = substr($encoded_subject, strlen('Subject: '));
$headers['Date'] = date('r', time());
$headers['MIME-Version'] = "1.0";
From 48abf555d950d2c56e7f16479f5a2b51a5d85961 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 8 Jul 2024 17:13:47 +0200
Subject: [PATCH 05/30] lots of new phrases for sending test notifications
---
languages/ar_EG/lang.inc | 14 ++++++++++++++
languages/bg_BG/lang.inc | 14 ++++++++++++++
languages/ca_ES/lang.inc | 14 ++++++++++++++
languages/cs_CZ/lang.inc | 14 ++++++++++++++
languages/de_DE/lang.inc | 16 +++++++++++++++-
languages/el_GR/lang.inc | 14 ++++++++++++++
languages/en_GB/lang.inc | 16 +++++++++++++++-
languages/es_ES/lang.inc | 14 ++++++++++++++
languages/fr_FR/lang.inc | 14 ++++++++++++++
languages/hr_HR/lang.inc | 14 ++++++++++++++
languages/hu_HU/lang.inc | 14 ++++++++++++++
languages/id_ID/lang.inc | 14 ++++++++++++++
languages/it_IT/lang.inc | 14 ++++++++++++++
languages/ko_KR/lang.inc | 14 ++++++++++++++
languages/lo_LA/lang.inc | 14 ++++++++++++++
languages/nb_NO/lang.inc | 14 ++++++++++++++
languages/nl_NL/lang.inc | 14 ++++++++++++++
languages/pl_PL/lang.inc | 14 ++++++++++++++
languages/pt_BR/lang.inc | 14 ++++++++++++++
languages/ro_RO/lang.inc | 14 ++++++++++++++
languages/ru_RU/lang.inc | 14 ++++++++++++++
languages/sk_SK/lang.inc | 14 ++++++++++++++
languages/sv_SE/lang.inc | 14 ++++++++++++++
languages/tr_TR/lang.inc | 14 ++++++++++++++
languages/uk_UA/lang.inc | 14 ++++++++++++++
languages/zh_CN/lang.inc | 14 ++++++++++++++
languages/zh_TW/lang.inc | 14 ++++++++++++++
27 files changed, 380 insertions(+), 2 deletions(-)
diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc
index d7ae27e2b..f89d2c36f 100644
--- a/languages/ar_EG/lang.inc
+++ b/languages/ar_EG/lang.inc
@@ -283,6 +283,7 @@ URL: [url]',
'checkout_is_disabled' => 'السحب معطل',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'من فضلك اختر تعريف السمة',
@@ -304,6 +305,7 @@ URL: [url]',
'clear_cache' => 'مسح المحفوظات',
'clear_clipboard' => 'مسح الحافظة',
'clear_password' => 'مسح الرقم السري',
+'click_to_expand_filter_results' => '',
'clipboard' => 'لوحة القصاصات',
'close' => 'إغلاق',
'color' => '',
@@ -1093,6 +1095,17 @@ URL: [url]',
'nl_NL' => 'الهولندي',
'no' => 'لا',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'نوفمبر',
'now' => 'الان',
@@ -1479,6 +1492,7 @@ URL: [url]',
'send_login_data' => 'ارسل بيانات تسجيل الدخول',
'send_login_data_body' => 'ارسل محتوى بيانات تسجيل الدخول',
'send_login_data_subject' => 'ارسل موضوع بيانات تسجيل الدخول',
+'send_notification' => '',
'send_test_mail' => 'ارسل رسالة تجريبية',
'september' => 'سبتمبر',
'sequence' => 'تتابع',
diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc
index f5933d90a..a14674e6b 100644
--- a/languages/bg_BG/lang.inc
+++ b/languages/bg_BG/lang.inc
@@ -270,6 +270,7 @@ $text = array(
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Изберете attribute definition',
@@ -291,6 +292,7 @@ $text = array(
'clear_cache' => 'Изчистване на кеша',
'clear_clipboard' => '',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Клипборд',
'close' => 'Затвори',
'color' => '',
@@ -971,6 +973,17 @@ $text = array(
'nl_NL' => 'Холандски',
'no' => 'Не',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'ноември',
'now' => 'сега',
@@ -1321,6 +1334,7 @@ $text = array(
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => '',
'september' => 'септември',
'sequence' => 'Последователност',
diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc
index f76aaedfc..8a3c75f10 100644
--- a/languages/ca_ES/lang.inc
+++ b/languages/ca_ES/lang.inc
@@ -275,6 +275,7 @@ URL: [url]',
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => '',
@@ -296,6 +297,7 @@ URL: [url]',
'clear_cache' => 'Neteja memòria cau',
'clear_clipboard' => '',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Portapapers',
'close' => 'Tancar',
'color' => '',
@@ -976,6 +978,17 @@ URL: [url]',
'nl_NL' => 'Holandès',
'no' => 'No',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Novembre',
'now' => '',
@@ -1326,6 +1339,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => '',
'september' => 'Setembre',
'sequence' => 'Seqüència',
diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc
index 9e8aec22b..20fbd1219 100644
--- a/languages/cs_CZ/lang.inc
+++ b/languages/cs_CZ/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Kontrola dokumentů je zakázána v konfiguraci.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Zvolte definici atributů',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Vymazat vyrovnávací paměť',
'clear_clipboard' => 'Vyčistit schránku',
'clear_password' => 'Vymazat heslo',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Schránka',
'close' => 'Zavřít',
'color' => '',
@@ -1124,6 +1126,17 @@ URL: [url]',
'nl_NL' => 'Holandština',
'no' => 'Ne',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Listopad',
'now' => 'nyní',
@@ -1551,6 +1564,7 @@ Jméno: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - Přihlašovací údaje',
+'send_notification' => '',
'send_test_mail' => 'Poslat zkušební zprávu',
'september' => 'Září',
'sequence' => 'Posloupnost',
diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc
index 839fba5f5..57f4cc71f 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 (3381), dgrutsch (22)
+// Translators: Admin (3395), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@@ -328,6 +328,7 @@ URL: [url]
',
'checkout_is_disabled' => 'Auschecken von Dokumenten ist in der Konfiguration ausgeschaltet.',
'check_directory_layout' => 'Prüfe Verzeichnise',
'check_failed' => 'fehlgeschlagen',
+'check_notification_filter' => 'Prüfe Benachrichtigungsfilter',
'check_passed' => 'erfolgreich',
'check_secure_installation' => 'Prüfe auf sichere Installation',
'choose_attrdef' => 'Attributdefinition wählen',
@@ -349,6 +350,7 @@ URL: [url]',
'clear_cache' => 'Cache löschen',
'clear_clipboard' => 'Zwischenablage leeren',
'clear_password' => 'Passwort löschen',
+'click_to_expand_filter_results' => 'Klicken zum Ausklappen der Filterprüfung',
'clipboard' => 'Zwischenablage',
'close' => 'Schließen',
'color' => 'Farbe',
@@ -1357,6 +1359,17 @@ URL: [url]',
'nl_NL' => 'Niederländisch',
'no' => 'Nein',
'notification' => 'Beobachter',
+'notification_msg_tmpl' => 'Schablone',
+'notification_recvtype' => 'Empfängertyp',
+'notification_recv_any' => 'Jeder',
+'notification_recv_approver' => 'Freigeber',
+'notification_recv_notification' => 'Beobachter',
+'notification_recv_owner' => 'Besitzer',
+'notification_recv_reviewer' => 'Prüfer',
+'notification_recv_uploader' => 'Hochlader',
+'notification_recv_workflow' => 'Workflow',
+'notification_service_no_filter' => 'Dieser Benachrichtigungsdienst hat keinen Filter.',
+'notification_tmpl' => 'Schablone',
'not_subscribed' => 'Nicht abonniert',
'november' => 'November',
'now' => 'sofort',
@@ -1942,6 +1955,7 @@ Name: [username]
Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Vergessen-Funktion auf der Anmeldeseite, um ein neues Passwort zu setzen.',
'send_login_data_subject' => '[sitename]: [login] - Ihre Login-Daten',
+'send_notification' => 'Benachrichtigung verschicken',
'send_test_mail' => 'Sende Test-E-mail',
'september' => 'September',
'sequence' => 'Reihenfolge',
diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc
index c0f860bd0..fc9eab65f 100644
--- a/languages/el_GR/lang.inc
+++ b/languages/el_GR/lang.inc
@@ -270,6 +270,7 @@ $text = array(
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => '',
@@ -291,6 +292,7 @@ $text = array(
'clear_cache' => 'Εκκαθάριση στιγμιαίας μνήμης',
'clear_clipboard' => '',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Πρόχειρο',
'close' => 'Κλέισιμο',
'color' => '',
@@ -982,6 +984,17 @@ URL: [url]',
'nl_NL' => 'Δανέζικα',
'no' => 'Όχι',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Νοέμβριος',
'now' => 'τώρα',
@@ -1332,6 +1345,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => '',
'september' => 'Σεπτέμβριος',
'sequence' => 'Σειρά',
diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc
index d009d034b..b36bdd435 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 (2481), archonwang (3), dgrutsch (9), netixw (14)
+// Translators: Admin (2495), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@@ -328,6 +328,7 @@ URL: [url]',
'checkout_is_disabled' => 'Check out of documents is disabled in the configuration.',
'check_directory_layout' => 'Check directory layout',
'check_failed' => 'failed',
+'check_notification_filter' => 'Check notification filter',
'check_passed' => 'passed',
'check_secure_installation' => 'Check for a secure installation',
'choose_attrdef' => 'Please choose attribute definition',
@@ -349,6 +350,7 @@ URL: [url]',
'clear_cache' => 'Clear cache',
'clear_clipboard' => 'Clear clipboard',
'clear_password' => 'Clear password',
+'click_to_expand_filter_results' => 'Click to expand filter check',
'clipboard' => 'Clipboard',
'close' => 'Close',
'color' => 'Color',
@@ -1359,6 +1361,17 @@ URL: [url]',
'nl_NL' => 'Dutch',
'no' => 'No',
'notification' => 'Notification',
+'notification_msg_tmpl' => 'Template',
+'notification_recvtype' => 'Type of receiver',
+'notification_recv_any' => 'Any',
+'notification_recv_approver' => 'Approver',
+'notification_recv_notification' => 'Notifier',
+'notification_recv_owner' => 'Owner',
+'notification_recv_reviewer' => 'Reviewer',
+'notification_recv_uploader' => 'Uploader',
+'notification_recv_workflow' => 'Workflow',
+'notification_service_no_filter' => 'This notification services does not have a filter.',
+'notification_tmpl' => 'Template',
'not_subscribed' => 'Not subscribed',
'november' => 'November',
'now' => 'now',
@@ -1944,6 +1957,7 @@ Name: [username]
If you did not receive a password, please use the password forgotten function on the login page to set a new password.',
'send_login_data_subject' => '[sitename]: [login] - Your login data',
+'send_notification' => 'Send notification',
'send_test_mail' => 'Send test mail',
'september' => 'September',
'sequence' => 'Sequence',
diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc
index 0934f21e7..d92b7285b 100644
--- a/languages/es_ES/lang.inc
+++ b/languages/es_ES/lang.inc
@@ -290,6 +290,7 @@ URL: [url]',
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Por favor, seleccione definición de atributo',
@@ -311,6 +312,7 @@ URL: [url]',
'clear_cache' => 'Borrar cache',
'clear_clipboard' => 'Limpiar portapapeles',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Portapapeles',
'close' => 'Cerrar',
'color' => '',
@@ -1108,6 +1110,17 @@ URL: [url]',
'nl_NL' => 'Holandes',
'no' => 'No',
'notification' => 'Notificación',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Noviembre',
'now' => 'ahora',
@@ -1502,6 +1515,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Enviar correo de prueba',
'september' => 'Septiembre',
'sequence' => 'Secuencia',
diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc
index 3a490dbfe..be04c5b8a 100644
--- a/languages/fr_FR/lang.inc
+++ b/languages/fr_FR/lang.inc
@@ -319,6 +319,7 @@ URL : [url]',
'checkout_is_disabled' => 'Le blocage (check-out) de documents est désactivé dans la configuration.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Choisissez une définition d\'attribut',
@@ -340,6 +341,7 @@ URL : [url]',
'clear_cache' => 'Vider le cache',
'clear_clipboard' => 'Vider le presse-papier',
'clear_password' => 'Sans mot de passe',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Presse-papier',
'close' => 'Fermer',
'color' => 'Couleur',
@@ -1314,6 +1316,17 @@ URL : [url]',
'nl_NL' => 'Danois',
'no' => 'Non',
'notification' => 'Notification',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => 'Non inscrit',
'november' => 'Novembre',
'now' => 'Maintenant',
@@ -1889,6 +1902,7 @@ Nom : [username]
[comment]',
'send_login_data_subject' => '[sitename] : [login] - Vos informations de connexion',
+'send_notification' => '',
'send_test_mail' => 'Envoyer un e-mail test',
'september' => 'Septembre',
'sequence' => 'Position dans le dossier',
diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc
index 67a010e70..239320f31 100644
--- a/languages/hr_HR/lang.inc
+++ b/languages/hr_HR/lang.inc
@@ -295,6 +295,7 @@ Internet poveznica: [url]',
'checkout_is_disabled' => 'Odjava dokumenata je onemogućena u konfiguraciji.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Molim odaberite definiciju atributa',
@@ -316,6 +317,7 @@ Internet poveznica: [url]',
'clear_cache' => 'Obriši keš',
'clear_clipboard' => 'Očistite međuspremnik',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Međuspremnik',
'close' => 'Zatvori',
'color' => '',
@@ -1104,6 +1106,17 @@ Internet poveznica: [url]',
'nl_NL' => 'Nizozemski',
'no' => 'Ne',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Studeni',
'now' => 'sada',
@@ -1515,6 +1528,7 @@ Internet poveznica: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => '',
'september' => 'Rujan',
'sequence' => 'Redoslijed',
diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc
index 4a1a9ee3d..96ed73b58 100644
--- a/languages/hu_HU/lang.inc
+++ b/languages/hu_HU/lang.inc
@@ -290,6 +290,7 @@ URL: [url]',
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Kérem válasszon jellemző meghatározást',
@@ -311,6 +312,7 @@ URL: [url]',
'clear_cache' => 'Gyorsítótár törlése',
'clear_clipboard' => 'Vágólap törlése',
'clear_password' => 'jelszó törlése',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Vágólap',
'close' => 'Bezár',
'color' => '',
@@ -1099,6 +1101,17 @@ URL: [url]',
'nl_NL' => 'Holland',
'no' => 'Nem',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'November',
'now' => 'most',
@@ -1492,6 +1505,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Teszt e-mail küldése',
'september' => 'September',
'sequence' => 'Sorrend',
diff --git a/languages/id_ID/lang.inc b/languages/id_ID/lang.inc
index 031773441..08301f618 100644
--- a/languages/id_ID/lang.inc
+++ b/languages/id_ID/lang.inc
@@ -299,6 +299,7 @@ URL: [url]',
'checkout_is_disabled' => 'Check out dokumen dinonaktifkan dalam konfigurasi',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Harap memilih definisi label',
@@ -320,6 +321,7 @@ URL: [url]',
'clear_cache' => 'Hapus cache',
'clear_clipboard' => 'Hapus Papan klip',
'clear_password' => 'Hapus kata sandi',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Papan klip',
'close' => 'Tutup',
'color' => 'Warna',
@@ -1192,6 +1194,17 @@ URL: [url]',
'nl_NL' => 'Belanda',
'no' => 'Tidak',
'notification' => 'Notifikasi',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => 'Tidak berlangganan',
'november' => 'November',
'now' => 'sekarang',
@@ -1582,6 +1595,7 @@ Nama: [username]
Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di halaman login untuk mengatur kata sandi baru.',
'send_login_data_subject' => '[sitename]: [login] - Data login anda',
+'send_notification' => '',
'send_test_mail' => 'Kirim surel percobaan',
'september' => 'September',
'sequence' => 'Urutan',
diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc
index e3fd4dbf9..1441cae0e 100644
--- a/languages/it_IT/lang.inc
+++ b/languages/it_IT/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Approvazione dei documenti disabilitata',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Seleziona l\'Attributo',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Pulisci cache',
'clear_clipboard' => 'Cancella appunti',
'clear_password' => 'Cancella la password',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Appunti',
'close' => 'Chiudi',
'color' => '',
@@ -1106,6 +1108,17 @@ URL: [url]',
'nl_NL' => 'Olandese',
'no' => 'No',
'notification' => 'Notifica',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Novembre',
'now' => 'Adesso',
@@ -1538,6 +1551,7 @@ Name: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - I tuoi dati di login',
+'send_notification' => '',
'send_test_mail' => 'Invia messagio di prova',
'september' => 'Settembre',
'sequence' => 'Posizione',
diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc
index ccddc7c19..71e52bd64 100644
--- a/languages/ko_KR/lang.inc
+++ b/languages/ko_KR/lang.inc
@@ -297,6 +297,7 @@ URL: [url]',
'checkout_is_disabled' => '체크아웃된 문서는 설정에서 비활성화됩니다.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => '속성의 정의를 선택하세요',
@@ -318,6 +319,7 @@ URL: [url]',
'clear_cache' => '캐시 비우기',
'clear_clipboard' => '클립 보드 제거',
'clear_password' => '암호 비우기',
+'click_to_expand_filter_results' => '',
'clipboard' => '클립보드',
'close' => '닫기',
'color' => '',
@@ -1106,6 +1108,17 @@ URL [url]',
'nl_NL' => '네덜란드',
'no' => '아니오',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => '11월',
'now' => '지금',
@@ -1509,6 +1522,7 @@ URL : [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => '테스트 메일',
'september' => '9월',
'sequence' => '순서',
diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc
index 320d9969c..8a501b79d 100644
--- a/languages/lo_LA/lang.inc
+++ b/languages/lo_LA/lang.inc
@@ -293,6 +293,7 @@ URL: [url]',
'checkout_is_disabled' => 'ໃນການກຳນົດຄ່າເຊັກເອົາເອກະສານໄດ້ຖືກປິດໄຊ້ງານ',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'ກະລຸນາເລືອກນິຍາມແອັດທິບິວ',
@@ -314,6 +315,7 @@ URL: [url]',
'clear_cache' => 'ລ້າງແຄຣ',
'clear_clipboard' => 'ລ້າງຄິບບອສ',
'clear_password' => 'ລ້າງລະຫັດ',
+'click_to_expand_filter_results' => '',
'clipboard' => 'ຄິບບອດ',
'close' => 'ປຶດ',
'color' => '',
@@ -1103,6 +1105,17 @@ URL: [url]',
'nl_NL' => 'ດັສ',
'no' => 'ບໍ່',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'ເດືອນພະຈິກ',
'now' => 'ຕອນນີ້',
@@ -1535,6 +1548,7 @@ URL: [url]',
[comment]',
'send_login_data_subject' => '[sitename]:[login] - ຂໍ້ມູນການເຂົ້າສູ້ລະບົບຂອງເຈົ້າ',
+'send_notification' => '',
'send_test_mail' => 'ສົ່ງອີເມວທົດສອບ',
'september' => 'ເດືອນກັນຍາ',
'sequence' => 'ລຳດັບ',
diff --git a/languages/nb_NO/lang.inc b/languages/nb_NO/lang.inc
index 6efad18c9..3f70a4374 100644
--- a/languages/nb_NO/lang.inc
+++ b/languages/nb_NO/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Sjekk ut av dokumentene er deaktivert i konfigurasjonen.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Velg egenskaps definition',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Tøm cache',
'clear_clipboard' => 'Tøm utklippstavle',
'clear_password' => 'Slett passord',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Utklippstavle',
'close' => 'Lukk',
'color' => '',
@@ -1124,6 +1126,17 @@ URL: [url]',
'nl_NL' => 'Nederland',
'no' => 'Nei',
'notification' => 'Melding',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'November',
'now' => 'nå',
@@ -1548,6 +1561,7 @@ Loginn: [login]
Bruker: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - Dine innloggingsdata',
+'send_notification' => '',
'send_test_mail' => 'Send test mail',
'september' => 'September',
'sequence' => 'Sekvens',
diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc
index 084a39eac..493703249 100644
--- a/languages/nl_NL/lang.inc
+++ b/languages/nl_NL/lang.inc
@@ -288,6 +288,7 @@ URL: [url]',
'checkout_is_disabled' => 'Checkout is niet mogelijk',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Kies een attribuutdefinitie',
@@ -309,6 +310,7 @@ URL: [url]',
'clear_cache' => 'Cache leegmaken',
'clear_clipboard' => 'Vrijgeven klembord',
'clear_password' => 'Verwijder het wachtwoord',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Klembord',
'close' => 'Sluiten',
'color' => '',
@@ -1116,6 +1118,17 @@ URL: [url]',
'nl_NL' => 'Nederlands',
'no' => 'Nee',
'notification' => 'Bericht',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'november',
'now' => 'nu',
@@ -1547,6 +1560,7 @@ Name: [username]
[comment]',
'send_login_data_subject' => 'Onderwerp',
+'send_notification' => '',
'send_test_mail' => 'Testmail versturen',
'september' => 'september',
'sequence' => 'Volgorde',
diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc
index f81f3298f..74533c5b5 100644
--- a/languages/pl_PL/lang.inc
+++ b/languages/pl_PL/lang.inc
@@ -283,6 +283,7 @@ URL: [url]',
'checkout_is_disabled' => 'Wyewidencjonowywanie dokumentów jest wyłączone w konfiguracji.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Proszę wybrać definicję atrybutu',
@@ -304,6 +305,7 @@ URL: [url]',
'clear_cache' => 'Wyczyść cache',
'clear_clipboard' => 'Oczyść schowek',
'clear_password' => 'Wyczyść hasło',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Schowek',
'close' => 'Zamknij',
'color' => 'Kolor',
@@ -1093,6 +1095,17 @@ URL: [url]',
'nl_NL' => 'holenderski',
'no' => 'Nie',
'notification' => 'Powiadomienie',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Listopad',
'now' => 'teraz',
@@ -1478,6 +1491,7 @@ Name: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - Twoje dane logowania',
+'send_notification' => '',
'send_test_mail' => 'Wyślij wiadomość testową',
'september' => 'Wrzesień',
'sequence' => 'Kolejność',
diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc
index aa48c8128..e9b9a991a 100644
--- a/languages/pt_BR/lang.inc
+++ b/languages/pt_BR/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'A retirada de documentos está desativada na configuração.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Por favor escolha a definição de atributo',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Limpar o Cache',
'clear_clipboard' => 'Limpar área de transferência',
'clear_password' => 'Limpar senha',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Área de transferência',
'close' => 'Fechar',
'color' => '',
@@ -1123,6 +1125,17 @@ URL: [url]',
'nl_NL' => 'Holandês',
'no' => 'Não',
'notification' => 'Notificação',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Novembro',
'now' => 'agora',
@@ -1554,6 +1567,7 @@ Nome: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - Suas informações para login',
+'send_notification' => '',
'send_test_mail' => 'Enviar email de teste',
'september' => 'Setembro',
'sequence' => 'Sequência',
diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc
index f525cf9b0..5dd34f0a2 100644
--- a/languages/ro_RO/lang.inc
+++ b/languages/ro_RO/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Verificarea documentelor este dezactivata in configurari.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Vă rugăm să alegeți definiția atributului',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Sterge cache',
'clear_clipboard' => 'Goleste clipboard',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Clipboard',
'close' => 'Inchide',
'color' => '',
@@ -1105,6 +1107,17 @@ URL: [url]',
'nl_NL' => 'Olandeză',
'no' => 'Nu',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Noiembrie',
'now' => 'nou',
@@ -1516,6 +1529,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Trimite e-mail de test',
'september' => 'Septembrie',
'sequence' => 'Poziție',
diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc
index 184d0bd21..9862259a0 100644
--- a/languages/ru_RU/lang.inc
+++ b/languages/ru_RU/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Загрузка отключена.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Выберите атрибут',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Очистить кэш',
'clear_clipboard' => 'Очистить буфер обмена',
'clear_password' => 'Сбросить пароль',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Буфер обмена',
'close' => 'Закрыть',
'color' => '',
@@ -1104,6 +1106,17 @@ URL: [url]',
'nl_NL' => 'Dutch',
'no' => 'Нет',
'notification' => 'Уведомление',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Ноябрь',
'now' => 'сейчас',
@@ -1523,6 +1536,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Отправить тестовое сообщение',
'september' => 'Сентябрь',
'sequence' => 'Позиция',
diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc
index 33d0db9ac..0770d1d8f 100644
--- a/languages/sk_SK/lang.inc
+++ b/languages/sk_SK/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Kontrola dokumentov je zakázaná v konfigurácii.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Vyberte prosím definíciu atribútu',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Vyčistiť pamäť cache',
'clear_clipboard' => 'Vymazať schránku',
'clear_password' => 'Vymazať heslo',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Schránka',
'close' => 'Zavrieť',
'color' => '',
@@ -1124,6 +1126,17 @@ URL: [url]',
'nl_NL' => 'Holandština',
'no' => 'Nie',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'November',
'now' => 'teraz',
@@ -1556,6 +1569,7 @@ Meno: [username]
[comment]',
'send_login_data_subject' => '[sitename]: [login] - Vaše prihlasovacie údaje',
+'send_notification' => '',
'send_test_mail' => 'Poslať testovací E-mail',
'september' => 'September',
'sequence' => 'Postupnosť',
diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc
index 60ddfdf5e..f47b98153 100644
--- a/languages/sv_SE/lang.inc
+++ b/languages/sv_SE/lang.inc
@@ -296,6 +296,7 @@ URL: [url]',
'checkout_is_disabled' => 'Utcheckning av dokument är invaktiverad i systemets inställningar.',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Välj attributdefinition',
@@ -317,6 +318,7 @@ URL: [url]',
'clear_cache' => 'Rensa cache',
'clear_clipboard' => 'Rensa urklipp',
'clear_password' => 'Ta bort lösenord',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Urklipp',
'close' => 'Stäng',
'color' => '',
@@ -1111,6 +1113,17 @@ URL: [url]',
'nl_NL' => 'Holländska',
'no' => 'Nej',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'November',
'now' => 'nu',
@@ -1529,6 +1542,7 @@ Namn: [username]
Kommentar: [comment]',
'send_login_data_subject' => '[sitename]: [login] - Dina inloggningsuppgifter',
+'send_notification' => '',
'send_test_mail' => 'Skicka testmail',
'september' => 'September',
'sequence' => 'Position',
diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc
index 7b6123467..db37ad551 100644
--- a/languages/tr_TR/lang.inc
+++ b/languages/tr_TR/lang.inc
@@ -290,6 +290,7 @@ URL: [url]',
'checkout_is_disabled' => '',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Lütfen nitelik tanımını seçiniz',
@@ -311,6 +312,7 @@ URL: [url]',
'clear_cache' => 'Ön belleği temizle',
'clear_clipboard' => 'Panoyu temizle',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Pano',
'close' => 'Kapat',
'color' => '',
@@ -1097,6 +1099,17 @@ URL: [url]',
'nl_NL' => 'Hollandaca',
'no' => 'Hayır',
'notification' => 'Notlar',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Kasım',
'now' => 'şimdi',
@@ -1493,6 +1506,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Test maili gönder',
'september' => 'Eylül',
'sequence' => 'Sıralama',
diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc
index b1c7f664b..cf4aae837 100644
--- a/languages/uk_UA/lang.inc
+++ b/languages/uk_UA/lang.inc
@@ -295,6 +295,7 @@ URL: [url]',
'checkout_is_disabled' => 'Завантаження відключене',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => 'Оберіть атрибут',
@@ -316,6 +317,7 @@ URL: [url]',
'clear_cache' => 'Очистити кеш',
'clear_clipboard' => 'Очистити буфер обміну',
'clear_password' => '',
+'click_to_expand_filter_results' => '',
'clipboard' => 'Буфер обміну',
'close' => 'Закрити',
'color' => '',
@@ -1103,6 +1105,17 @@ URL: [url]',
'nl_NL' => 'Dutch',
'no' => 'Ні',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => 'Листопад',
'now' => 'зараз',
@@ -1515,6 +1528,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
+'send_notification' => '',
'send_test_mail' => 'Надіслати тестове повідомлення',
'september' => 'Вересень',
'sequence' => 'Позиція',
diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc
index f30e33587..1694824fb 100644
--- a/languages/zh_CN/lang.inc
+++ b/languages/zh_CN/lang.inc
@@ -287,6 +287,7 @@ URL: [url]',
'checkout_is_disabled' => '不允许签出',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => '请选择属性',
@@ -308,6 +309,7 @@ URL: [url]',
'clear_cache' => '清除缓存',
'clear_clipboard' => '清除粘贴板',
'clear_password' => '清除密码',
+'click_to_expand_filter_results' => '',
'clipboard' => '剪切板',
'close' => '关闭',
'color' => '',
@@ -1107,6 +1109,17 @@ URL: [url]',
'nl_NL' => '荷兰语',
'no' => '否',
'notification' => '',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => '十一月',
'now' => '现在',
@@ -1503,6 +1516,7 @@ URL: [url]',
[comment]',
'send_login_data_subject' => '[sitename]: [login] - 您的登录数据',
+'send_notification' => '',
'send_test_mail' => '发送测试邮件',
'september' => '九 月',
'sequence' => '次序',
diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc
index 3b17ffa30..16389fe9a 100644
--- a/languages/zh_TW/lang.inc
+++ b/languages/zh_TW/lang.inc
@@ -295,6 +295,7 @@ $text = array(
'checkout_is_disabled' => '在配置中禁用了簽出文件功能。',
'check_directory_layout' => '',
'check_failed' => '',
+'check_notification_filter' => '',
'check_passed' => '',
'check_secure_installation' => '',
'choose_attrdef' => '請選擇屬性',
@@ -316,6 +317,7 @@ $text = array(
'clear_cache' => '清除緩存',
'clear_clipboard' => '清除剪貼簿',
'clear_password' => '清除密碼',
+'click_to_expand_filter_results' => '',
'clipboard' => '剪貼簿',
'close' => '關閉',
'color' => '',
@@ -1124,6 +1126,17 @@ URL: [url]',
'nl_NL' => '荷蘭語',
'no' => '否',
'notification' => '通知',
+'notification_msg_tmpl' => '',
+'notification_recvtype' => '',
+'notification_recv_any' => '',
+'notification_recv_approver' => '',
+'notification_recv_notification' => '',
+'notification_recv_owner' => '',
+'notification_recv_reviewer' => '',
+'notification_recv_uploader' => '',
+'notification_recv_workflow' => '',
+'notification_service_no_filter' => '',
+'notification_tmpl' => '',
'not_subscribed' => '',
'november' => '十一月',
'now' => '現在',
@@ -1554,6 +1567,7 @@ URL: [url]',
[comment]',
'send_login_data_subject' => '[sitename]: [login] - 您的登入資料',
+'send_notification' => '',
'send_test_mail' => '寄送測試信件',
'september' => '九 月',
'sequence' => '次序',
From cc892ee72a63931c1da026be392b9687dfa53579 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 8 Jul 2024 17:15:04 +0200
Subject: [PATCH 06/30] =?UTF-8?q?add=20page=20for=20=D1=95ending=20test=20?=
=?UTF-8?q?notifications?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
op/op.SendNotification.php | 78 ++++++
out/out.SendNotification.php | 60 +++++
views/bootstrap/class.Bootstrap.php | 2 +
views/bootstrap/class.SendNotification.php | 278 +++++++++++++++++++++
views/bootstrap4/class.Bootstrap4.php | 2 +
5 files changed, 420 insertions(+)
create mode 100644 op/op.SendNotification.php
create mode 100644 out/out.SendNotification.php
create mode 100644 views/bootstrap/class.SendNotification.php
diff --git a/op/op.SendNotification.php b/op/op.SendNotification.php
new file mode 100644
index 000000000..0fbd3b076
--- /dev/null
+++ b/op/op.SendNotification.php
@@ -0,0 +1,78 @@
+$dms, 'user'=>$user));
+$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings);
+if (!$accessop->check_controller_access($controller, $_GET)) {
+ header('Content-Type: application/json');
+ echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied')));
+ exit;
+}
+
+/* Check if the form data comes from a trusted request */
+if(!checkFormKey('sendnotification', 'GET')) {
+ header('Content-Type: application/json');
+ echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token')));
+ exit;
+}
+
+if (!isset($_GET["userid"]) || !is_numeric($_GET["userid"]) || intval($_GET["userid"])<1) {
+ header('Content-Type: application/json');
+ echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_user_id')));
+}
+$userid = $_GET["userid"];
+$newuser = $dms->getUser($userid);
+
+if (!is_object($newuser)) {
+ header('Content-Type: application/json');
+ echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_user_id')));
+ exit;
+}
+
+$recvtype = 1;
+if (isset($_GET["recvtype"])) {
+ $recvtype = (int) $_GET["recvtype"];
+}
+$template = 'send_notification';
+if (isset($_GET["template"])) {
+ $template = $_GET["template"];
+}
+
+if($notifier) {
+ header('Content-Type: application/json');
+ if($notifier->toIndividual($user, $newuser, $template.'_email_subject', $template.'_email_body', [], $recvtype)) {
+ echo json_encode(array('success'=>true, 'message'=>getMLText('splash_send_notification')));
+ } else {
+ echo json_encode(array('success'=>false, 'message'=>getMLText('error_send_notification')));
+ }
+}
+
diff --git a/out/out.SendNotification.php b/out/out.SendNotification.php
new file mode 100644
index 000000000..b44176930
--- /dev/null
+++ b/out/out.SendNotification.php
@@ -0,0 +1,60 @@
+$dms, 'user'=>$user));
+$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings);
+if (!$settings->_enableDebugMode) {
+ UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
+}
+if (!$accessop->check_view_access($view, $_GET)) {
+ UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
+}
+
+$seluser = null;
+if(!empty($_GET['userid'])) {
+ $userid = (int) $_GET['userid'];
+ $seluser = $dms->getUser($userid);
+} else {
+ $seluser = $user;
+}
+
+$allusers = $dms->getAllUsers($settings->_sortUsersInList);
+
+if($view) {
+ $view->setParam('settings', $settings);
+ $view->setParam('accessobject', $accessop);
+ $view->setParam('notifier', $notifier);
+ $view->setParam('allusers', $allusers);
+ $view->setParam('seluser', $seluser);
+ $view($_GET);
+ exit;
+}
+
+
diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php
index 84aadda4c..659724051 100644
--- a/views/bootstrap/class.Bootstrap.php
+++ b/views/bootstrap/class.Bootstrap.php
@@ -969,6 +969,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['debug']['children']['hooks'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Hooks.php", 'label'=>getMLText('list_hooks'));
if ($accessobject->check_view_access('NotificationServices'))
$menuitems['debug']['children']['notification_services'] = array('link'=>$this->params['settings']->_httpRoot."out/out.NotificationServices.php", 'label'=>getMLText('list_notification_services'));
+ if ($accessobject->check_view_access('SendNotification'))
+ $menuitems['debug']['children']['send_notification'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SendNotification.php", 'label'=>getMLText('send_notification'));
if ($accessobject->check_view_access('ConversionServices'))
$menuitems['debug']['children']['conversion_services'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ConversionServices.php", 'label'=>getMLText('list_conversion_services'));
}
diff --git a/views/bootstrap/class.SendNotification.php b/views/bootstrap/class.SendNotification.php
new file mode 100644
index 000000000..91f2de1e3
--- /dev/null
+++ b/views/bootstrap/class.SendNotification.php
@@ -0,0 +1,278 @@
+
+ * @copyright Copyright (C) 2002-2005 Markus Westphal,
+ * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
+ * 2010-2024 Uwe Steinmann
+ * @version Release: @package_version@
+ */
+
+/**
+ * Class which outputs the html page for sending a notification
+ *
+ * @category DMS
+ * @package SeedDMS
+ * @author Uwe Steinmann
+ * @copyright Copyright (C) 2016 Uwe Steinmann
+ * @version Release: @package_version@
+ */
+class SeedDMS_View_SendNotification extends SeedDMS_Theme_Style {
+
+ var $subjects;
+
+ var $recvtypes;
+
+ public function __construct($params, $theme) { /* {{{ */
+ parent::__construct($params, $theme);
+ $this->subjects = array();
+ $this->subjects[] = 'review_request';
+ $this->subjects[] = 'approval_request';
+ $this->subjects[] = 'new_document';
+ $this->subjects[] = 'document_updated';
+ $this->subjects[] = 'document_deleted';
+ $this->subjects[] = 'version_deleted';
+ $this->subjects[] = 'new_subfolder';
+ $this->subjects[] = 'folder_deleted';
+ $this->subjects[] = 'new_file';
+ $this->subjects[] = 'replace_content';
+ $this->subjects[] = 'remove_file';
+ $this->subjects[] = 'document_attribute_changed';
+ $this->subjects[] = 'document_attribute_added';
+ $this->subjects[] = 'folder_attribute_changed';
+ $this->subjects[] = 'folder_attribute_added';
+ $this->subjects[] = 'document_comment_changed';
+ $this->subjects[] = 'folder_comment_changed';
+ $this->subjects[] = 'version_comment_changed';
+ $this->subjects[] = 'document_renamed';
+ $this->subjects[] = 'folder_renamed';
+ $this->subjects[] = 'document_moved';
+ $this->subjects[] = 'folder_moved';
+ $this->subjects[] = 'document_transfered';
+ $this->subjects[] = 'document_status_changed';
+ $this->subjects[] = 'document_notify_added';
+ $this->subjects[] = 'folder_notify_added';
+ $this->subjects[] = 'document_notify_deleted';
+ $this->subjects[] = 'folder_notify_deleted';
+ $this->subjects[] = 'review_submit';
+ $this->subjects[] = 'approval_submit';
+ $this->subjects[] = 'review_deletion';
+ $this->subjects[] = 'approval_deletion';
+ $this->subjects[] = 'review_request';
+ $this->subjects[] = 'approval_request';
+ $this->subjects[] = 'document_ownership_changed';
+ $this->subjects[] = 'folder_ownership_changed';
+ $this->subjects[] = 'document_access_permission_changed';
+ $this->subjects[] = 'folder_access_permission_changed';
+ $this->subjects[] = 'transition_triggered';
+ $this->subjects[] = 'request_workflow_action';
+ $this->subjects[] = 'rewind_workflow';
+ $this->subjects[] = 'rewind_workflow';
+
+ $this->recvtypes = array();
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_ANY, getMLText('notification_recv_any'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_NOTIFICATION, getMLText('notification_recv_notification'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_OWNER, getMLText('notification_recv_owner'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_REVIEWER, getMLText('notification_recv_reviewer'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_APPROVER, getMLText('notification_recv_approver'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_WORKFLOW, getMLText('notification_recv_workflow'));
+ $this->recvtypes[] = array(SeedDMS_NotificationService::RECV_UPLOADER, getMLText('notification_recv_uploader'));
+ } /* }}} */
+
+ public function js() { /* {{{ */
+ header('Content-Type: application/javascript; charset=UTF-8');
+?>
+$(document).ready( function() {
+ $('body').on('click', '#send_notification', function(ev){
+ ev.preventDefault();
+ var data = $('#form1').serializeArray().reduce(function(obj, item) {
+ obj[item.name] = item.value;
+ return obj;
+ }, {});
+ $.get("../op/op.SendNotification.php", $('#form1').serialize()+"&formtoken== createFormKey('sendnotification'); ?>", function(response) {
+ noty({
+ text: response.message,
+ type: response.success === true ? 'success' : 'error',
+ dismissQueue: true,
+ layout: 'topRight',
+ theme: 'defaultTheme',
+ timeout: 1500,
+ });
+ });
+ });
+});
+params['dms'];
+ $user = $this->params['user'];
+ $notifier = $this->params['notifier'];
+ $allusers = $this->params['allusers'];
+ $seluser = $this->params['seluser'];
+
+ $services = $notifier->getServices();
+ foreach($services as $name => $service) {
+ $this->contentHeading($name);
+ if(is_callable([$service, 'filter'])) {
+ $content = '';
+ $content .= "";
+ $content .= "".getMLText('notification_msg_tmpl')."/".getMLText('notification_recvtype')." | ";
+ array_shift($this->recvtypes);
+ foreach($this->recvtypes as $recvtype) {
+ $content .= "".$recvtype[1]." | ";
+ }
+ $content .= "
";
+ foreach($this->subjects as $subject) {
+ $content .= "".$subject." | ";
+ foreach($this->recvtypes as $recvtype) {
+ if($service->filter($user, $seluser, $subject.'_email_subject', $subject.'_email_body', [], $recvtype[0])) {
+ $content .= " | ";
+ } else {
+ $content .= " | ";
+ }
+ }
+ $content .= "
";
+ }
+ $content .= "
";
+ $this->printAccordion(getMLText('click_to_expand_filter_results'), $content);
+ } else {
+ $this->infoMsg(getMLText('notification_service_no_filter'));
+ }
+ }
+
+ } /* }}} */
+
+ public function show() { /* {{{ */
+ $dms = $this->params['dms'];
+ $user = $this->params['user'];
+ $notifier = $this->params['notifier'];
+ $allusers = $this->params['allusers'];
+ $seluser = $this->params['seluser'];
+
+ $this->htmlStartPage(getMLText("admin_tools"));
+ $this->globalNavigation();
+ $this->contentStart();
+ $this->pageNavigation(getMLText("admin_tools"), "admin_tools");
+ $this->contentHeading(getMLText("send_notification"));
+
+ $this->rowStart();
+ $this->columnStart(4);
+?>
+
+columnEnd();
+ $this->columnStart(8);
+?>
+
+columnEnd();
+ $this->rowEnd();
+ $this->contentEnd();
+ $this->htmlEndPage();
+ } /* }}} */
+}
+
+
diff --git a/views/bootstrap4/class.Bootstrap4.php b/views/bootstrap4/class.Bootstrap4.php
index 3de05af2c..7d78aeffc 100644
--- a/views/bootstrap4/class.Bootstrap4.php
+++ b/views/bootstrap4/class.Bootstrap4.php
@@ -957,6 +957,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['debug']['children']['hooks'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Hooks.php", 'label'=>getMLText('list_hooks'));
if ($accessobject->check_view_access('NotificationServices'))
$menuitems['debug']['children']['notification_services'] = array('link'=>$this->params['settings']->_httpRoot."out/out.NotificationServices.php", 'label'=>getMLText('list_notification_services'));
+ if ($accessobject->check_view_access('SendNotification'))
+ $menuitems['debug']['children']['send_notification'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SendNotification.php", 'label'=>getMLText('send_notification'));
if ($accessobject->check_view_access('ConversionServices'))
$menuitems['debug']['children']['conversion_services'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ConversionServices.php", 'label'=>getMLText('list_conversion_services'));
}
From b12cd07c5add9d52bc46c799f715ce0c24163144 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 8 Jul 2024 17:16:31 +0200
Subject: [PATCH 07/30] add changes for 5.1.36
---
CHANGELOG | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG b/CHANGELOG
index b9ff64c01..7ee607f82 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
--------------------------------------------------------------------------------
Changes in version 5.1.36
--------------------------------------------------------------------------------
+- add new page for send test notification
--------------------------------------------------------------------------------
Changes in version 5.1.35
From 8854ae5543432196e23d79bc5b62988387605c6c Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 11 Jul 2024 19:48:13 +0200
Subject: [PATCH 08/30] remove deprecated function formatted_size()
---
inc/inc.Utils.php | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/inc/inc.Utils.php b/inc/inc.Utils.php
index 4b484143a..c8dd2184d 100644
--- a/inc/inc.Utils.php
+++ b/inc/inc.Utils.php
@@ -18,14 +18,6 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-/* deprecated! use SeedDMS_Core_File::format_filesize() instead */
-function formatted_size($size_bytes) { /* {{{ */
- if ($size_bytes>1000000000) return number_format($size_bytes/1000000000,1,".","")." GBytes";
- else if ($size_bytes>1000000) return number_format($size_bytes/1000000,1,".","")." MBytes";
- else if ($size_bytes>1000) return number_format($size_bytes/1000,1,".","")." KBytes";
- return number_format($size_bytes,0,"","")." Bytes";
-} /* }}} */
-
/* Date picker needs a different syntax for date formats using
* yyyy for %Y
* yy for %y
@@ -753,6 +745,7 @@ function get_extension($mimetype) { /* {{{ */
case 'application/x-gzip': return '.gz';
case 'application/x-rar': return '.rar';
case 'application/x-compressed-tar': return '.tgz';
+ case 'application/x-xopp': return '.xopp';
case 'application/pdf': return '.pdf';
case 'application/dxf': return '.dxf';
case 'application/msword': return '.doc';
From 9e6573ecc7eef394e2b211fc456d39a0379e3815 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 11 Jul 2024 19:48:57 +0200
Subject: [PATCH 09/30] add conversion for application/x-xopp
---
doc/README.Converters | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/doc/README.Converters b/doc/README.Converters
index fc4d18eb2..5f278412e 100644
--- a/doc/README.Converters
+++ b/doc/README.Converters
@@ -78,6 +78,14 @@ message/rfc822
text/plain
iconv -c -f utf-8 -t latin1 '%f' | a2ps -1 -q -a1 -R -B -o - - | ps2pdf - -
+application/x-xopp
+
+ xournalpp -p "%o" "%f"
+
+ Converting from application/x-xopp to pdf only works if the xopp file
+ does not use a pdf document as a background, because this pdf is not
+ stored in the xopp fіle.
+
Conversion to png for preview images
=====================================
@@ -150,3 +158,10 @@ video/mp4
audio/mpeg
sox "%f" -n spectrogram -x 600 -Y 550 -r -l -o - | convert -resize %wx png:- "png:%o"
+
+application/x-xopp
+ xournalpp -i "%o" --export-png-width=%w "%f"
+
+ Converting from application/x-xopp to png only works if the xopp file
+ does not use a pdf document as a background, because this pdf is not
+ stored in the xopp fіle.
From 5202240f2ff8fe189a9281cee07551e18adb47f3 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 31 Jul 2024 11:17:05 +0200
Subject: [PATCH 10/30] create Access Operation for view
---
out/out.EditFolder.php | 2 --
1 file changed, 2 deletions(-)
diff --git a/out/out.EditFolder.php b/out/out.EditFolder.php
index 2ebba2de3..516ed85f8 100644
--- a/out/out.EditFolder.php
+++ b/out/out.EditFolder.php
@@ -46,8 +46,6 @@ if ($folder->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))),getMLText("access_denied"));
}
-$accessop = new SeedDMS_AccessOperation($dms, $folder, $user, $settings);
-
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_folder, SeedDMS_Core_AttributeDefinition::objtype_all));
if($view) {
From 0e8d2ea1652e17f88de410fd1c39da0312ad1b9b Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 31 Jul 2024 11:20:09 +0200
Subject: [PATCH 11/30] remove empty line
---
views/bootstrap4/class.Bootstrap4.php | 1 -
1 file changed, 1 deletion(-)
diff --git a/views/bootstrap4/class.Bootstrap4.php b/views/bootstrap4/class.Bootstrap4.php
index 7d78aeffc..78b26c177 100644
--- a/views/bootstrap4/class.Bootstrap4.php
+++ b/views/bootstrap4/class.Bootstrap4.php
@@ -2348,7 +2348,6 @@ $(document).ready(function() {
} else {
$tree[] = $node;
}
-
} else {
if($root = $this->params['dms']->getFolder($this->params['rootfolderid']))
$tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>false, 'is_folder'=>true));
From 3a6e03d306b31410352a16dbc601432e0cc76c44 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 31 Jul 2024 11:20:22 +0200
Subject: [PATCH 12/30] add changes of 5.1.36
---
CHANGELOG | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG b/CHANGELOG
index 7ee607f82..260f928e0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,7 @@
Changes in version 5.1.36
--------------------------------------------------------------------------------
- add new page for send test notification
+- remove deprecated function formatted_size()
--------------------------------------------------------------------------------
Changes in version 5.1.35
From a7e91725571f8cb18b49a3b536f5bbc775104817 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 12 Aug 2024 08:33:35 +0200
Subject: [PATCH 13/30] fix fold marks
---
op/op.Download.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/op/op.Download.php b/op/op.Download.php
index 221fe4a42..d5ae4d213 100644
--- a/op/op.Download.php
+++ b/op/op.Download.php
@@ -223,7 +223,8 @@ elseif (isset($_GET["dumpname"])) { /* {{{ */
header("Cache-Control: must-revalidate");
sendFile($backupdir .$filename );
-} elseif (isset($_GET["reviewlogid"])) {
+} /* }}} */
+elseif (isset($_GET["reviewlogid"])) { /* {{{ */
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
From 13d9717f741c476c01a63756a232fc504b56905f Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 12 Aug 2024 09:48:32 +0200
Subject: [PATCH 14/30] use new method getRealChecksum() and getRealMimeType()
---
views/bootstrap/class.ViewDocument.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php
index 8c970d388..698923c57 100644
--- a/views/bootstrap/class.ViewDocument.php
+++ b/views/bootstrap/class.ViewDocument.php
@@ -343,7 +343,7 @@ $(document).ready( function() {
if($file->getName() != $file->getOriginalFileName())
print "".htmlspecialchars($file->getOriginalFileName())."\n";
if ($file_exists) {
- $realmimetype = SeedDMS_Core_File::mimetype($dms->contentDir . $file->getPath());
+ $realmimetype = $file->getRealMimeType();
print "".SeedDMS_Core_File::format_filesize(filesize($dms->contentDir . $file->getPath())) ." bytes, ".htmlspecialchars($file->getMimeType())."";
} else print "".htmlspecialchars($file->getMimeType())." - ".getMLText("document_deleted")."";
@@ -747,7 +747,7 @@ $(document).ready( function() {
print "". SeedDMS_Core_File::format_filesize($latestContent->getFileSize()) .", ";
print htmlspecialchars($latestContent->getMimeType());
if($user->isAdmin()) {
- $realmimetype = SeedDMS_Core_File::mimetype($dms->contentDir . $latestContent->getPath());
+ $realmimetype = $latestContent->getRealMimeType();
if($realmimetype != $latestContent->getMimeType())
echo " getId()."\" data-param3=\"formtoken=".createFormKey('setmimetype')."\" title=\"".htmlspecialchars($realmimetype)."\"> ";
}
@@ -1012,7 +1012,7 @@ $(document).ready( function() {
exit;
}
- $checksum = SeedDMS_Core_File::checksum($dms->contentDir.$latestContent->getPath());
+ $checksum = $latestContent->getRealChecksum($latestContent);
if($checksum != $latestContent->getChecksum()) {
$this->errorMsg(getMLText('wrong_checksum'));
}
From 154ec361ed9f288c9005dd87af284ec94288f619 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 12 Aug 2024 09:49:06 +0200
Subject: [PATCH 15/30] get new method getRealMimeType()
---
op/op.Ajax.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/op/op.Ajax.php b/op/op.Ajax.php
index 0432a19f1..34dbb484b 100644
--- a/op/op.Ajax.php
+++ b/op/op.Ajax.php
@@ -659,7 +659,7 @@ switch($command) {
if($content) {
$document = $content->getDocument();
if ($document->getAccessMode($user) >= M_READWRITE) {
- $realmimetype = SeedDMS_Core_File::mimetype($dms->contentDir . $content->getPath());
+ $realmimetype = $content->getRealMimeType();
if (!$content->setMimeType($realmimetype)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error setting mimetype', 'data'=>''));
From 2d721e542e4871a86d3de35c6939989b3a4e0e00 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 12 Aug 2024 10:25:23 +0200
Subject: [PATCH 16/30] add function formatFileSize()
---
views/bootstrap/styles/application.js | 32 ++++++++++++++++++++++++++
views/bootstrap4/styles/application.js | 32 ++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
diff --git a/views/bootstrap/styles/application.js b/views/bootstrap/styles/application.js
index d463d1779..de2fe8996 100644
--- a/views/bootstrap/styles/application.js
+++ b/views/bootstrap/styles/application.js
@@ -38,6 +38,38 @@ function escapeHtml(text) {
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}
+/**
+ * Format bytes as human-readable text.
+ *
+ * @param bytes Number of bytes.
+ * @param si True to use metric (SI) units, aka powers of 1000. False to use
+ * binary (IEC), aka powers of 1024.
+ * @param dp Number of decimal places to display.
+ *
+ * @return Formatted string.
+ */
+function formatFileSize(bytes, si=false, dp=1) {
+ const thresh = si ? 1000 : 1024;
+
+ if (Math.abs(bytes) < thresh) {
+ return bytes + ' B';
+ }
+
+ const units = si
+ ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
+ : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
+ let u = -1;
+ const r = 10**dp;
+
+ do {
+ bytes /= thresh;
+ ++u;
+ } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
+
+
+ return bytes.toFixed(dp) + ' ' + units[u];
+}
+
function treeFolderSelected(formid, nodeid, nodename) {
$('#'+formid).val(nodeid);
$('#choosefoldersearch'+formid).val(nodename);
diff --git a/views/bootstrap4/styles/application.js b/views/bootstrap4/styles/application.js
index 4f22e48e0..244fa391c 100644
--- a/views/bootstrap4/styles/application.js
+++ b/views/bootstrap4/styles/application.js
@@ -38,6 +38,38 @@ function escapeHtml(text) {
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}
+/**
+ * Format bytes as human-readable text.
+ *
+ * @param bytes Number of bytes.
+ * @param si True to use metric (SI) units, aka powers of 1000. False to use
+ * binary (IEC), aka powers of 1024.
+ * @param dp Number of decimal places to display.
+ *
+ * @return Formatted string.
+ */
+function formatFileSize(bytes, si=false, dp=1) {
+ const thresh = si ? 1000 : 1024;
+
+ if (Math.abs(bytes) < thresh) {
+ return bytes + ' B';
+ }
+
+ const units = si
+ ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
+ : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
+ let u = -1;
+ const r = 10**dp;
+
+ do {
+ bytes /= thresh;
+ ++u;
+ } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
+
+
+ return bytes.toFixed(dp) + ' ' + units[u];
+}
+
function treeFolderSelected(formid, nodeid, nodename) {
$('#'+formid).val(nodeid);
$('#choosefoldersearch'+formid).val(nodename);
From 7f94f38ed289f0b1c1f2932df0ab62e0c400758b Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 12 Aug 2024 10:25:54 +0200
Subject: [PATCH 17/30] add chart to short increase of disk space over time
---
views/bootstrap/class.Charts.php | 45 +++++++++++++++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/views/bootstrap/class.Charts.php b/views/bootstrap/class.Charts.php
index b379f17e4..7cc076860 100644
--- a/views/bootstrap/class.Charts.php
+++ b/views/bootstrap/class.Charts.php
@@ -90,6 +90,48 @@ if(in_array($type, array('docspermonth'))) {
}
});
+ var data = [
+$rec) {
+ $key = mktime(12, 0, 0, substr($rec['key'], 5, 2), 1, substr($rec['key'], 0, 4)) * 1000;
+ echo '["'.$rec['key'].'",'.$rec['total'].'],'."\n";
+ }
+ }
+?>
+ ];
+ $.plot("#chart", [data], {
+ xaxis: {
+ mode: "categories",
+ tickLength: 0,
+ },
+ series: {
+ bars: {
+ show: true,
+ align: "center",
+ barWidth: 0.8,
+ },
+ },
+ grid: {
+ hoverable: true,
+ clickable: true
+ }
+ });
+
+ $("#chart").bind("plothover", function (event, pos, item) {
+ if(item) {
+ var x = item.datapoint[0];//.toFixed(2),
+ y = item.datapoint[1];//.toFixed(2);
+ $("#tooltip").html(item.series.xaxis.ticks[x].label + ": " + formatFileSize(y, false, 2))
+ .css({top: pos.pageY-35, left: pos.pageX+5})
+ .fadeIn(200);
+ } else {
+ $("#tooltip").hide();
+ }
+ });
+
var data = [
@@ -208,7 +250,7 @@ $(document).ready( function() {
$this->columnStart(3);
$this->contentHeading(getMLText("chart_selection"));
$this->contentContainerStart();
- foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
+ foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'sizepermonth','docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
echo "\n";
}
$this->contentContainerEnd();
@@ -265,6 +307,7 @@ $(document).ready( function() {
}
break;
case 'sizeperuser':
+ case 'sizepermonth':
foreach($data as $item) {
echo "".htmlspecialchars($item['key'])." | ".SeedDMS_Core_File::format_filesize((int) $item['total'])." |
";
$total += $item['total'];
From 6fc30510cd646ee40d928105570d2eb87347b832 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Thu, 15 Aug 2024 13:35:25 +0200
Subject: [PATCH 18/30] actually exclude files set with --exclude
---
utils/importfs.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/importfs.php b/utils/importfs.php
index ede4570d7..68cf1ebd2 100644
--- a/utils/importfs.php
+++ b/utils/importfs.php
@@ -233,7 +233,7 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
$sequence = 1;
while(false !== ($entry = $d->read())) {
$path = $dirname.'/'.$entry;
- if($entry != '.' && $entry != '..' && $entry != '.svn') {
+ if(!in_array($entry, $excludefiles)) {
if(is_file($path)) {
$name = utf8_basename($path);
$filetmp = $path;
From 54c7c491378762093dac61baf874cddfa19ae2ae Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Fri, 16 Aug 2024 11:29:03 +0200
Subject: [PATCH 19/30] add help for checkboxes, add checkbox to add base
folder
---
views/bootstrap/class.ImportFS.php | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/views/bootstrap/class.ImportFS.php b/views/bootstrap/class.ImportFS.php
index a3f7bbd7c..6f0d3c583 100644
--- a/views/bootstrap/class.ImportFS.php
+++ b/views/bootstrap/class.ImportFS.php
@@ -63,6 +63,17 @@ class SeedDMS_View_ImportFS extends SeedDMS_Theme_Style {
getMLText("dropfolder_metadata"),
$this->getDropFolderChooserHtml("form2", "", 0, 1)
);
+ $this->formField(
+ getMLText("createSubFolderForImportedFiles"),
+ array(
+ 'element'=>'input',
+ 'type'=>'checkbox',
+ 'name'=>'createfolder',
+ 'value'=>'1',
+ ), array(
+ 'help'=>getMLText('createSubFolderForImportedFiles_desc'),
+ )
+ );
$this->formField(
getMLText("removeFolderFromDropFolder"),
array(
@@ -70,6 +81,8 @@ class SeedDMS_View_ImportFS extends SeedDMS_Theme_Style {
'type'=>'checkbox',
'name'=>'remove',
'value'=>'1'
+ ), array(
+ 'help'=>getMLText('removeFolderFromDropFolder_desc'),
)
);
$this->formField(
@@ -79,6 +92,8 @@ class SeedDMS_View_ImportFS extends SeedDMS_Theme_Style {
'type'=>'checkbox',
'name'=>'setfiledate',
'value'=>'1'
+ ), array(
+ 'help'=>getMLText('setDateFromFile_desc'),
)
);
$this->formField(
@@ -88,6 +103,8 @@ class SeedDMS_View_ImportFS extends SeedDMS_Theme_Style {
'type'=>'checkbox',
'name'=>'setfolderdate',
'value'=>'1'
+ ), array(
+ 'help'=>getMLText('setDateFromFolder_desc'),
)
);
$this->contentContainerEnd();
From 165a5ef31e7f13d0dfd4240fee8d494921ee22bd Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Fri, 16 Aug 2024 11:29:30 +0200
Subject: [PATCH 20/30] base folder can be skipped
---
op/op.ImportFS.php | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php
index 260b2c487..a260ce351 100644
--- a/op/op.ImportFS.php
+++ b/op/op.ImportFS.php
@@ -90,7 +90,7 @@ if(!empty($_GET["dropfolderfileform2"])) {
$colmap[$i] = array("getCategoryData", $colname);
} elseif(in_array($colname, array('owner'))) {
$colmap[$i] = array("getUserData", $colname);
- } elseif(in_array($colname, array('filename', 'category', 'name', 'comment'))) {
+ } elseif(in_array($colname, array('filename', 'keywords', 'name', 'comment'))) {
$colmap[$i] = array("getBaseData", $colname);
} elseif(substr($colname, 0, 5) == 'attr:') {
$kk = explode(':', $colname, 2);
@@ -211,10 +211,19 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
} /* }}} */
$foldercount = $doccount = 0;
-if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
- if($setfolderdate) {
- $newfolder->setDate(filemtime($dirname));
+if($_GET['createfolder']) {
+ if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
+ if($setfolderdate) {
+ $newfolder->setDate(filemtime($dirname));
+ }
+ } else {
+ $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
}
+} else {
+ $newfolder = $folder;
+}
+
+if($newfolder) {
if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate, $metadata))
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else {
@@ -225,8 +234,6 @@ if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount))));
}
-} else {
- $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
}
header("Location:../out/out.ViewFolder.php?folderid=".$newfolder->getID());
From 7a322702afd0ab1ecc0b444ab4d4c63c05c1982a Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 19 Aug 2024 20:03:12 +0200
Subject: [PATCH 21/30] add another converter for pdf to png using pdftocairo
---
doc/README.Converters | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/doc/README.Converters b/doc/README.Converters
index 5f278412e..e2cdebf72 100644
--- a/doc/README.Converters
+++ b/doc/README.Converters
@@ -119,7 +119,12 @@ application/pdf
convert -density 100 -resize %wx '%f[0]' 'png:%o'
- mutool draw -F png -w %w -q -N -o %o %f 1
+ mutool draw -F png -w %w -q -N -o '%o' '%f' 1
+
+ pdftocairo '%f' -png -singlefile -scale-to-x %w -scale-to-y -1 - > '%o'
+
+ pdftocairo needs to output to stdout because the output file name passed
+ to pdftocairo will be suffixed with png
application/postscript
convert -density 100 -resize %wx '%f[0]' 'png:%o'
From 7e326443077277074b6f3e64703da5ffa270f769 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Mon, 19 Aug 2024 20:03:48 +0200
Subject: [PATCH 22/30] set 'referer' in View to HTTP_REFERER
---
inc/inc.ClassUI.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php
index 222deca44..16730f2f5 100644
--- a/inc/inc.ClassUI.php
+++ b/inc/inc.ClassUI.php
@@ -127,6 +127,7 @@ class UI extends UI_Default {
$params['settings'] = $settings;
$view = new $classname($params, $theme);
/* Set some configuration parameters */
+ $view->setParam('referer', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
$view->setParam('refferer', $_SERVER['REQUEST_URI']);
$view->setParam('absbaseprefix', $settings->_httpRoot.$httpbasedir);
$view->setParam('theme', $theme);
From 3618a72313144fed23c17f32db85f766bbd2af9b Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 21 Aug 2024 16:43:09 +0200
Subject: [PATCH 23/30] fix setting attributes
---
op/op.ImportFS.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php
index a260ce351..ad4a4d084 100644
--- a/op/op.ImportFS.php
+++ b/op/op.ImportFS.php
@@ -61,7 +61,7 @@ function getAttributeData($attrdef, $coldata, $objdata) { /* {{{ */
function getCategoryData($colname, $coldata, $objdata) { /* {{{ */
global $catids;
$kk = explode(',', $coldata);
- $objdata['category'][] = array();
+ $objdata['category'] = array();
foreach($kk as $k) {
if(isset($catids[$k]))
$objdata['category'][] = $catids[$k];
From 83f0cfff8d63e9d81c6787298531be1fa3a8e645 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 21 Aug 2024 16:43:54 +0200
Subject: [PATCH 24/30] remove old code
---
op/op.ImportFS.php | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php
index ad4a4d084..2d88c203d 100644
--- a/op/op.ImportFS.php
+++ b/op/op.ImportFS.php
@@ -100,7 +100,7 @@ if(!empty($_GET["dropfolderfileform2"])) {
}
}
}
-// echo "";print_r($colmap);echo "
";
+// echo "";var_dump($colmap);echo "
";exit;
if(count($colmap) > 1) {
$nameprefix = dirname($dirname).'/';
$allcats = $dms->getDocumentCategories();
@@ -113,8 +113,6 @@ if(!empty($_GET["dropfolderfileform2"])) {
$userids[$muser->getLogin()] = $muser;
while(!feof($fp)) {
if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
- $mi = $nameprefix.$data[$colmap['filename']];
-// $metadata[$mi] = array('category'=>array());
$md = array();
$md['attributes'] = array();
foreach($data as $i=>$coldata) {
@@ -130,7 +128,6 @@ if(!empty($_GET["dropfolderfileform2"])) {
}
}
//echo "";print_r($metadata);echo "
";
-//exit;
$setfiledate = false;
if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) {
From 65299463f4ca53f8f61322452299154c68503f0f Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Wed, 21 Aug 2024 16:44:19 +0200
Subject: [PATCH 25/30] do some logging
---
op/op.ImportFS.php | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php
index 2d88c203d..d5f3f90c2 100644
--- a/op/op.ImportFS.php
+++ b/op/op.ImportFS.php
@@ -140,7 +140,7 @@ if(isset($_GET['setfolderdate']) && $_GET["setfolderdate"]) {
}
function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadata) { /* {{{ */
- global $user, $doccount, $foldercount;
+ global $user, $doccount, $foldercount, $logger;
$d = dir($dirname);
$sequence = 1;
@@ -169,7 +169,9 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
$comment = !empty($metadata[$path]['comment']) ? $metadata[$path]['comment'] : '';
$owner = !empty($metadata[$path]['owner']) ? $metadata[$path]['owner'] : $user;
- echo $mimetype." - ".$filetype." - ".$path."
\n";
+// echo $mimetype." - ".$filetype." - ".$path."
\n";
+ if($logger)
+ $logger->log('ImportFS: importing \''.$path.'\' '.(!empty($metadata[$path]['attributes']) ? 'with' : 'without').' metadata', PEAR_LOG_INFO);
if($res = $folder->addDocument($docname, $comment, $expires, $owner, $keywords,
!empty($metadata[$path]['category']) ? $metadata[$path]['category'] : array(), $filetmp, $name,
$filetype, $mimetype, $sequence, $reviewers,
@@ -182,10 +184,11 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
$lc = $newdoc->getLatestContent();
$lc->setDate(filemtime($path));
}
+ if($logger)
+ $logger->log('ImportFS: imported \''.$path.'\' as document '.$res[0]->getId(), PEAR_LOG_INFO);
} else {
- echo "Error importing ".$path."
";
- echo "".print_r($res, true)."
";
-// return false;
+ if($logger)
+ $logger->log('ImportFS: importing \''.$path.'\' failed.', PEAR_LOG_ERR);
}
set_time_limit(30);
} elseif(is_dir($path)) {
@@ -195,10 +198,13 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
if($setfolderdate) {
$newfolder->setDate(filemtime($path));
}
+ if($logger)
+ $logger->log('ImportFS: creating folder \''.$path.'\' as folder '.$newfolder->getId(), PEAR_LOG_INFO);
if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate, $metadata))
return false;
} else {
-// return false;
+ if($logger)
+ $logger->log('ImportFS: creating folder \''.$path.'\' failed.', PEAR_LOG_ERR);
}
}
$sequence++;
@@ -208,19 +214,27 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
} /* }}} */
$foldercount = $doccount = 0;
-if($_GET['createfolder']) {
+if(!empty($_GET['createfolder'])) {
if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
if($setfolderdate) {
$newfolder->setDate(filemtime($dirname));
}
+ if($logger)
+ $logger->log('ImportFS: creating folder \''.$_GET["dropfolderfileform1"].'\' as folder '.$newfolder->getId(), PEAR_LOG_INFO);
} else {
- $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
+ if($logger)
+ $logger->log('ImportFS: creating folder \''.$_GET["dropfolderfileform1"].'\' failed.', PEAR_LOG_ERR);
}
} else {
$newfolder = $folder;
}
if($newfolder) {
+ if($logger) {
+ $logger->log('ImportFS: importing into folder '.$newfolder->getId(), PEAR_LOG_INFO);
+ if($metadata)
+ $logger->log('ImportFS: using metadata for '.count($metadata).' files from file \''.$metadatafile.'\'', PEAR_LOG_INFO);
+ }
if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate, $metadata))
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else {
@@ -231,6 +245,8 @@ if($newfolder) {
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount))));
}
+} else {
+ $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
}
header("Location:../out/out.ViewFolder.php?folderid=".$newfolder->getID());
From 34743e31775b87c3187ab515ef6b857bab6f9923 Mon Sep 17 00:00:00 2001
From: Uwe Steinmann
Date: Sat, 31 Aug 2024 12:24:31 +0200
Subject: [PATCH 26/30] fix error in attributes of select menus
---
views/bootstrap/class.Settings.php | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php
index 8bc7d2024..330ac5baa 100644
--- a/views/bootstrap/class.Settings.php
+++ b/views/bootstrap/class.Settings.php
@@ -222,7 +222,7 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
$selections = $settings->{"_".$name};
else
$selections = explode(',', $settings->{"_".$name});
- echo "