Commit Graph

1021 Commits

Author SHA1 Message Date
Uwe Steinmann
33ad98bdfd replace $notifier-> by $this-> 2021-08-30 16:02:22 +02:00
Uwe Steinmann
45b51cb043 send notification to owner 2021-08-30 16:01:54 +02:00
Uwe Steinmann
0ac0ca5760 remove duplicate of sendRequestWorkflowActionMail() 2021-08-30 16:00:51 +02:00
Uwe Steinmann
b66e87b72d fix sending of notification mails to groups 2021-08-25 15:05:35 +02:00
Uwe Steinmann
6a8382747b start new version 5.1.24 2021-08-20 10:42:44 +02:00
Uwe Steinmann
0f79234012 show versions if database version doesn't match seeddms version 2021-08-05 08:41:16 +02:00
Uwe Steinmann
817433638b doNotCheckVersion must be doNotCheckDBVersion 2021-08-05 08:40:49 +02:00
Uwe Steinmann
401452767e get dir of config file even if config file is set in environment 2021-08-04 14:19:11 +02:00
Uwe Steinmann
cc9835e3a6 add pear dir to include path 2021-07-23 13:39:59 +02:00
Uwe Steinmann
6a72b3c0fa extra _extraPath if not empty, add rootDir.'../pear' to include path 2021-07-23 12:08:26 +02:00
Uwe Steinmann
e29976bf25 check for more php modules and > 7.2.5 2021-07-23 12:07:30 +02:00
Uwe Steinmann
f1358317ea remove all old methods not longer used 2021-07-21 15:45:24 +02:00
Uwe Steinmann
e0a12590da callHook merges strings and arrays returned from hook 2021-07-08 14:14:13 +02:00
Uwe Steinmann
8a7fb230da fix hasHook() which still had some old code 2021-07-08 11:05:27 +02:00
Uwe Steinmann
8b2b2a12e2 propperly update expire of cookie (do not take enableLargeFileUpload into account) 2021-07-07 09:46:29 +02:00
Uwe Steinmann
132cbf336a rename check_access to check_view_access, first param of html_url is no longer optional 2021-07-07 08:25:26 +02:00
Uwe Steinmann
378993782b do not create relative link 2021-07-06 18:15:00 +02:00
Uwe Steinmann
496c70c024 add methods check_access(), html_url(), html_link() backported from 6.0.x 2021-07-06 09:31:11 +02:00
Uwe Steinmann
6fccfd1d18 use _httpRoot for imagepath 2021-07-05 16:29:30 +02:00
Uwe Steinmann
00bbfff34d make $settings already in constructor of view class available 2021-07-05 16:28:51 +02:00
Uwe Steinmann
d6419d38ef add new config var enableRemoveRevApp 2021-07-01 12:14:55 +02:00
Uwe Steinmann
47aebfdb14 do not strip .php from uri in add_log_line() 2021-06-28 09:27:40 +02:00
Uwe Steinmann
cb383eb70b do not strip .php from uri in add_log_line() 2021-06-28 09:25:58 +02:00
Uwe Steinmann
ece38b9d22 store undelUserIds as array in settings class 2021-06-26 11:57:02 +02:00
Uwe Steinmann
61a5dbc2b9 check if latest content exists 2021-06-25 09:02:39 +02:00
Uwe Steinmann
ff9385bf1e change behaviour of mayEditComment and mayEditAttributes 2021-06-25 08:54:05 +02:00
Uwe Steinmann
97414a0971 just read hiddenConfFields but do not save 2021-06-24 22:32:04 +02:00
Uwe Steinmann
1c839fd26b pass depth of iterator to callback function 2021-06-24 09:26:17 +02:00
Uwe Steinmann
932835ef03 add field in configuration for hidden other fields in settings form 2021-06-23 16:27:09 +02:00
Uwe Steinmann
0d5ba3bc1e pass $logger to migrate() 2021-06-07 21:15:18 +02:00
Uwe Steinmann
3003d6d0d3 check for non empty workflow state 2021-06-01 10:50:55 +02:00
Uwe Steinmann
b12dbd8e02 move sending notification mail into Notification service 2021-05-21 09:14:55 +02:00
Uwe Steinmann
aa8f6250b3 move sending notification emails into notification service 2021-05-19 21:19:32 +02:00
Uwe Steinmann
5028f37acc move notification emails into notification service 2021-05-19 20:41:50 +02:00
Uwe Steinmann
acf85728c3 move sending notification mail into Notification Service 2021-05-19 16:18:03 +02:00
Uwe Steinmann
92ff13afc6 move notification mail into notification service 2021-05-19 15:13:49 +02:00
Uwe Steinmann
0852d10df4 add version to document update mail, add stub for remove version mail 2021-05-19 08:32:38 +02:00
Uwe Steinmann
97c001acbe move notification mail into notification service 2021-05-18 17:39:14 +02:00
Uwe Steinmann
040793034b move notification mail into class NotificationService 2021-05-18 17:07:14 +02:00
Uwe Steinmann
3422e5a906 move sending notification mail in class NotificationService 2021-05-18 16:58:16 +02:00
Uwe Steinmann
abd52ea219 set version in sendChangedVersionCommentMail() 2021-05-17 07:01:03 +02:00
Uwe Steinmann
33c6436c16 move more emails into class NotificationService 2021-05-15 22:46:46 +02:00
Uwe Steinmann
7f417157f8 move sending mails into NotificationService 2021-05-15 12:17:07 +02:00
Uwe Steinmann
d6a296c071 add more methods for sending mails 2021-05-15 07:38:46 +02:00
Uwe Steinmann
c6a7460533 add missing case in getAttributeValidationError() 2021-05-15 07:37:21 +02:00
Uwe Steinmann
ca52671bac add method sendNewDocumentMail(), settings can be passed to construct 2021-05-14 21:55:48 +02:00
Uwe Steinmann
e40fcf1c2c add method sendNewDocumentMail(), settings can be passed to construct 2021-05-14 21:55:00 +02:00
Uwe Steinmann
c0120b0a1d do not call get_magic_quotes_gpc() anymore 2021-05-11 21:18:15 +02:00
Uwe Steinmann
bc4a1b5dac propperly check for translation of html body (Closes: #510) 2021-05-10 09:01:20 +02:00
Uwe Steinmann
543890e4eb add class SeedDMS_JwtToken 2021-05-07 13:22:57 +02:00
Uwe Steinmann
13001867be pass accessobject to exitError view 2021-04-30 14:48:13 +02:00
Uwe Steinmann
53af7e3173 add methods cmp_user_login() and cmp_user_fullname() 2021-04-30 07:57:27 +02:00
Uwe Steinmann
ffdc648292 use same way to check for hooks in hasHook() and callHook() 2021-04-23 09:56:25 +02:00
Uwe Steinmann
3d15736772 read property viewAliasName 2021-04-23 06:55:10 +02:00
Uwe Steinmann
6484094809 add missing file 2021-04-19 15:54:41 +02:00
Uwe Steinmann
91e4351ccc include inc.ClassAccessOperation.php 2021-04-18 19:40:13 +02:00
Uwe Steinmann
314a35b2d8 backport check_view_access and check_controller_access for smoother migration 2021-04-18 13:01:11 +02:00
Uwe Steinmann
6c0b544446 do not use session id in form key if not logged in 2021-04-18 07:02:53 +02:00
Uwe Steinmann
888d75953e use require_once for style classes, set 'theme' in view 2021-04-18 07:02:01 +02:00
Uwe Steinmann
ac85cfe26d fall back to bootstrap file, include theme style 2021-04-15 10:31:37 +02:00
Uwe Steinmann
5efc5802b7 start version 5.1.23 2021-04-13 08:39:07 +02:00
Uwe Steinmann
2ad4d1aac3 fixed Accept-Ranges and Content-Length when requesting partial content 2021-04-06 22:04:02 +02:00
Uwe Steinmann
67ab1e23e5 ensure the encryption key is alwasy set 2021-04-06 11:15:47 +02:00
Uwe Steinmann
20586c021d add new methods getMandatoryReviewers() and getMandatoryApprovers() 2021-02-24 13:22:03 +01:00
Uwe Steinmann
f9c6139bda do not add html part if body doesn't exists 2021-02-24 06:15:53 +01:00
Uwe Steinmann
d0f011827b propperly set html body 2021-02-23 11:49:55 +01:00
Uwe Steinmann
7c69ac348b fix setting body from param array 2021-02-23 08:43:03 +01:00
Uwe Steinmann
686a6b3ab7 add support for sending html mails 2021-02-21 11:50:42 +01:00
Uwe Steinmann
12ae492f54 move creating notification service into extra file 2021-02-16 21:47:07 +01:00
Uwe Steinmann
a495d315e5 use global $logger 2021-02-04 10:50:38 +01:00
Uwe Steinmann
15a4d3195b pass logger to contructor of SeedDMS_ExtBase 2021-02-04 10:41:16 +01:00
Uwe Steinmann
5f7ab50965 fix sending notifiations to list 2021-02-02 21:54:29 +01:00
Uwe Steinmann
83d54c3a36 do not send mail if receiver mail address is '' 2021-02-02 21:53:49 +01:00
Uwe Steinmann
cf9f159829 log recvtype 2021-02-01 13:42:16 +01:00
Uwe Steinmann
5f280ed7a2 fix wording of log message 2021-01-29 10:53:12 +01:00
Uwe Steinmann
eb29006e50 remove toGroup() and toList() 2021-01-29 10:51:01 +01:00
Uwe Steinmann
3a9bec69af log filtered out notifications 2021-01-29 10:34:01 +01:00
Uwe Steinmann
ae2eebd562 use new method SeedDMS_Core_User->isType() 2021-01-29 10:33:35 +01:00
Uwe Steinmann
8e2682dcf0 add type of receiver, do not call toList and toGroup anymore 2021-01-29 08:57:37 +01:00
Uwe Steinmann
e6790f6b2f add comment that toGroup and toList are deprecated 2021-01-29 08:56:01 +01:00
Uwe Steinmann
fdde3e29c5 pass logger to Authentication Service 2021-01-28 21:09:11 +01:00
Uwe Steinmann
d0c1b16332 pass logger to constructor, introduce type of receiver 2021-01-28 21:08:33 +01:00
Uwe Steinmann
4ad9638e33 toList() returns error 2021-01-28 21:07:04 +01:00
Uwe Steinmann
c4d00fb650 add method getTheme() 2021-01-13 09:05:19 +01:00
Uwe Steinmann
cb03dacf45 pass dms to SeedDMS_ExtBase 2021-01-12 22:07:01 +01:00
Uwe Steinmann
d8b8719d6b add method migrate() which calls the methode migrate() in the extension 2021-01-11 07:58:02 +01:00
Uwe Steinmann
4bc32501b8 some more documentation, use appropriate variable name 2021-01-08 10:06:42 +01:00
Uwe Steinmann
9bacd79374 start version 5.1.22 2021-01-08 09:23:04 +01:00
Uwe Steinmann
3b0eafd5aa sendFile() can handle partial downloads 2020-12-23 06:20:58 +01:00
Uwe Steinmann
405f1796e4 call each notification service 2020-12-18 14:36:51 +01:00
Uwe Steinmann
61a68f8325 check if home folder shall be used as root folder 2020-12-18 10:08:30 +01:00
Uwe Steinmann
4708e8b393 add new config var _useHomeAsRootFolder 2020-12-18 08:06:01 +01:00
Uwe Steinmann
d624b3c9ef parameter of getReadableDate() is optional, add makeTsFromDate() 2020-12-17 13:40:04 +01:00
Uwe Steinmann
b9ad6e250f add function getConvertDateFormat() 2020-12-17 11:42:20 +01:00
Uwe Steinmann
2cc6ca95e9 allow edit attributes in S_DRAFT_APP 2020-12-17 09:41:48 +01:00
Uwe Steinmann
a3be420b88 use class_parents() instead of get_class_parent() 2020-12-15 20:20:37 +01:00
Uwe Steinmann
bcb83d6942 set $nocontent to false when indexing a folder 2020-12-12 16:28:47 +01:00
Uwe Steinmann
f70973e80d translate phrases in getPeriodOfTime() 2020-12-07 20:43:27 +01:00
Uwe Steinmann
f2d5b160c5 add function getPeriodOfTime() and isAjax() 2020-12-07 10:24:30 +01:00
Uwe Steinmann
363ce485e3 get[Long]ReadableDate() takes argument as 'yyyy-mm-dd hh:ii:ss' 2020-12-01 18:33:30 +01:00
Uwe Steinmann
6bb4218e44 initial support customizable date format 2020-12-01 18:25:22 +01:00
Uwe Steinmann
532d5964d9 call filter function before notification
can be used to filter out certain notifications
2020-12-01 18:21:18 +01:00
Uwe Steinmann
e2db558de7 override theme even if autologin is turned on 2020-11-16 16:55:56 +01:00
Uwe Steinmann
768ea3544c theme in configuration can override theme of each user 2020-11-09 15:14:09 +01:00
Uwe Steinmann
2bac73f4c8 set max_execution_time only if not php-cli 2020-10-15 15:34:15 +02:00
Uwe Steinmann
bad5be893d check env var SEEDDMS_CONFIG_FILE for config file 2020-09-30 11:02:58 +02:00
Uwe Steinmann
acab20fe24 add documentation for Indexer() 2020-09-29 16:42:09 +02:00
Uwe Steinmann
1fda490bbe pass a config array to search engine, search returns hits and total count 2020-09-29 16:42:09 +02:00
Uwe Steinmann
4bdb3c7061 put fulltext search into central service 2020-09-29 16:42:09 +02:00
Uwe Steinmann
3a183a452a put fulltext index into service 2020-09-29 16:42:09 +02:00
Uwe Steinmann
73b957281f start version 5.1.21 2020-09-29 16:37:50 +02:00
Uwe Steinmann
6fedb19490 header and footer of body can be skipped 2020-09-27 10:34:10 +02:00
Uwe Steinmann
656cc5843f keep .htaccess file when downloading an extension 2020-09-24 11:55:40 +02:00
Uwe Steinmann
f0d5821bd1 add new function createNonce() 2020-09-15 12:13:51 +02:00
Uwe Steinmann
c6d0a1d345 allow inline editing on document details page 2020-09-07 16:20:37 +02:00
Uwe Steinmann
fef827a7db start new version 5.1.20 2020-09-03 14:17:23 +02:00
Uwe Steinmann
4a3b7ebe71 use SeedDMS_Extension_Mgr::cmpVersion() for sorting extensions 2020-08-14 11:11:12 +02:00
Uwe Steinmann
d15f742a46 sort versions of extension propperly 2020-08-14 08:48:09 +02:00
Uwe Steinmann
0cd7a621f4 remove space in log message 2020-08-05 18:42:44 +02:00
Uwe Steinmann
b6ac58eb3d add some documentation and new class SeedDMS_FolderTree 2020-08-01 13:47:49 +02:00
Uwe Steinmann
9c2dae9d44 use new functions seed_pass_hash() and seed_pass_verify() 2020-07-30 10:57:29 +02:00
Uwe Steinmann
05dcde6096 add seed_pass_hash() and seed_pass_verify() 2020-07-30 10:55:13 +02:00
Uwe Steinmann
a605ba6c67 start new version 5.1.19 2020-07-28 11:54:57 +02:00
Uwe Steinmann
e7940f1917 pass settings to contructor of extension object 2020-06-25 08:56:06 +02:00
Uwe Steinmann
d2584c7f34 save indexconf into settings 2020-06-24 21:16:00 +02:00
Uwe Steinmann
7725a0b03b add configuration for authentication by key in rest api 2020-06-17 11:19:02 +02:00
Uwe Steinmann
fd7cca239a ignore all files/directories starting with '.' when zipіng an extension 2020-06-17 11:17:09 +02:00
Uwe Steinmann
c70f1cc6f8 start new version 5.1.18 2020-05-28 11:51:55 +02:00
Uwe Steinmann
1d99c05b20 fix check for edit version 2020-05-28 07:59:57 +02:00
Uwe Steinmann
5d5a7da2d0 return to old setcookie() because the new parameter $options requires php 7.3 2020-05-26 14:51:58 +02:00
Uwe Steinmann
3b0037649d pass options of cookie as array 2020-05-25 15:48:19 +02:00
Uwe Steinmann
b4b635e96a use getDMS() instead of accessing _dms in folder or document object 2020-05-18 18:29:19 +02:00
Uwe Steinmann
94725ac0a4 do not treat empty extension list as a error 2020-05-14 11:41:03 +02:00
Uwe Steinmann
2e25da5719 add method hasParam() 2020-05-12 12:02:03 +02:00
Uwe Steinmann
39a3e0dea3 obey maxUploadSize whenever a file is uploaded 2020-05-07 14:03:00 +02:00
Uwe Steinmann
3aec4761c9 start new version 5.1.17 2020-05-04 14:04:30 +02:00
Uwe Steinmann
560827ffdd pass configuration to init() of extension 2020-04-21 11:55:22 +02:00
Uwe Steinmann
dcfefa5801 remove cloѕing php tag 2020-04-20 10:18:51 +02:00
Uwe Steinmann
f5c2add12c dependency on seeddms can be array of version ranges 2020-03-25 08:07:00 +01:00
Uwe Steinmann
25b979d9ef start new version 5.1.16 2020-03-04 17:51:25 +01:00
Uwe Steinmann
02dd7989fb add new method getExtensionFromRepository(), support for proxy 2020-03-02 09:16:45 +01:00
Uwe Steinmann
6454f466cf pass proxy parameters to construction of Extension Mgr 2020-03-02 09:16:03 +01:00
Uwe Steinmann
cbf6afa6d2 load/save proxy paramters 2020-03-02 09:15:25 +01:00
Uwe Steinmann
ae2b7d4631 add debug mode 2020-02-27 17:58:31 +01:00
Uwe Steinmann
41fd2514b6 do not call unzip but use ZipArchive instead 2020-02-26 21:08:03 +01:00
Uwe Steinmann
4675c785db set configuration for http proxy 2020-02-21 10:01:09 +01:00
Uwe Steinmann
6bf6a4b582 start new version 5.1.15 2020-02-17 12:57:48 +01:00
Uwe Steinmann
8f041cb072 add cmpVersion() function, make _number and _banner const 2020-02-06 12:02:02 +01:00
Uwe Steinmann
c5a78839df add getToken() for generating a random string 2020-02-06 11:32:27 +01:00
Uwe Steinmann
c08cd6a183 fix typo 2020-01-28 09:36:48 +01:00
Uwe Steinmann
b59f906f27 fis saving of disable flag of extensions 2020-01-14 08:31:43 +01:00
Uwe Steinmann
8ae2874367 do not use global var EXT_CONF anymore 2020-01-03 10:21:58 +01:00
Uwe Steinmann
189e6da70e better checking for correct version
had to be modified because extensions are new disabled in the
settings.xml
2020-01-01 09:24:22 +01:00
Uwe Steinmann
b3ffdd3b7d extension are disabled in the settings
the configuration of the extension will no longer work for disabling an
extension
2019-12-20 17:20:15 +01:00
Uwe Steinmann
cb9ce2a42f add methods for enabling/disabling an extension 2019-12-20 17:18:08 +01:00
Uwe Steinmann
c332e0393b add new config variable noDocumentFormFields
used for hiding some fields like comment, keywords, categories, ...
2019-12-19 09:03:59 +01:00
Uwe Steinmann
167c8a41e3 allow 4 arguments passed to hook 2019-12-13 14:27:58 +01:00
Uwe Steinmann
55cd7b9759 add getAttributeValidationError()
it just returns the key of the error message and the parameters
2019-12-13 09:06:36 +01:00
Uwe Steinmann
f453cac8d2 add method for zipping files instead of using zip command 2019-12-10 15:59:53 +01:00
Uwe Steinmann
5fdae931b1 use getBaseUrl() 2019-11-28 10:22:47 +01:00
Uwe Steinmann
89c0ca9b88 new function getBaseUrl()
returns the protocol and host part of the url where seeddms is
available
2019-11-28 10:00:52 +01:00
Uwe Steinmann
33b0691b0b allow mimetype to specify documents which can be edited online 2019-11-21 10:51:17 +01:00
Uwe Steinmann
154c3c2118 set 'onepage' in factory 2019-11-20 19:22:23 +01:00
Uwe Steinmann
84550836c8 started new version 5.1.14 2019-11-20 17:17:51 +01:00
Uwe Steinmann
3c26142744 onePageMode can be turned on/off 2019-10-28 12:06:41 +01:00
Uwe Steinmann
38f2759c5f extension config vars are only save to settings.xml if a value is set
previously even empty values has been saved, they just needed to be
defined in the extension configuration. This may break extensions which
do not check if a config var is set.
2019-10-23 09:08:53 +02:00
Uwe Steinmann
459883748e remove left overs from last installation, check if renaming succeeded 2019-10-11 16:29:53 +02:00
Uwe Steinmann
31697278d1 check for hook attached to parent class in hasHook() 2019-10-01 14:06:00 +02:00
Uwe Steinmann
d12b41a958 use new method SeedDMS_Core_Document::isType() 2019-09-06 14:54:11 +02:00
Uwe Steinmann
4767bf69d0 new version 5.1.13 2019-08-08 09:37:33 +02:00
Uwe Steinmann
788d51cb6f better checking for configured class file 2019-08-08 09:12:41 +02:00
Uwe Steinmann
67f4ca35ee run hook preRun and postRun before and after the view 2019-08-08 09:11:47 +02:00
Uwe Steinmann
a6e4202132 check for decorators in extensions, new way to add views
read the comments in the file
2019-08-08 09:10:45 +02:00
Uwe Steinmann
89e526a5e2 use new method SeedDMS_Core_[Folder|Document]::isType() 2019-08-08 09:08:27 +02:00
Uwe Steinmann
a02afe4e64 run hook preRun, postRun before and after controller, check for hooks of parent class 2019-08-08 09:07:38 +02:00
Uwe Steinmann
7576bee235 use new method SeedDMS_Core_[Document|Folder]::isType() 2019-08-08 09:05:40 +02:00
Uwe Steinmann
e79e9de1cf add new class SeedDMS_CSRF for creating time base tokens (currently not used) 2019-07-12 16:40:38 +02:00
Uwe Steinmann
b1a895fb27 new config options for disallowing duplicate subfolder names 2019-07-01 10:50:40 +02:00
Uwe Steinmann
3d9e752694 new optional parameter $attachments for toIndividual() 2019-07-01 09:56:19 +02:00
Uwe Steinmann
c17bd81148 replace placeholders in email header and footer 2019-06-28 10:46:20 +02:00
Uwe Steinmann
ee57a4b25b require at least 5.6.38, do not check for Log.php anymore 2019-06-24 12:36:55 +02:00
Uwe Steinmann
eccbc5ebd6 start new version 5.1.12 2019-06-24 11:55:24 +02:00
Uwe Steinmann
f8841e670e start new version 5.1.11 2019-05-02 16:56:00 +02:00
Uwe Steinmann
bcfde858d8 new parameter xsendfile 2019-01-18 13:08:21 +01:00
Uwe Steinmann
869a82d4a8 better handling of return values of hooks 2019-01-17 18:30:10 +01:00
Uwe Steinmann
b9269541c9 add missing space in log message when calling add_log_line() with msg 2019-01-14 10:11:21 +01:00
Uwe Steinmann
c3ca1cb1f9 save result of last hook into class variable 2019-01-11 15:07:20 +01:00
Uwe Steinmann
73e1df3ad8 make it work with slim notfound handler 2019-01-09 09:19:46 +01:00
Uwe Steinmann
e490c1a0f2 check if loading the settings.xml succeeded 2018-11-27 12:17:51 +01:00
Uwe Steinmann
69daeae02b do not include class file more then once if factory is called again 2018-11-23 21:38:23 +01:00
Uwe Steinmann
ee7b09d3fb include autoloader for pkginst 2018-11-23 21:01:55 +01:00
Uwe Steinmann
ff07a141e8 do not set php vars SMTP, smtp_port, sendmail_from anymore 2018-11-21 08:29:58 +01:00
Uwe Steinmann
b7e1cb869c take out ancient document conversion code 2018-11-21 08:27:59 +01:00
Uwe Steinmann
53a742b082 start new version 5.1.10 2018-11-16 08:16:45 +01:00
Uwe Steinmann
bc0a9d87a6 set date field as requested in #334 2018-11-12 11:02:21 +01:00
Uwe Steinmann
0173de81cf use 'Send from' settings wheneve it is set, allow to turn on debugging 2018-11-09 17:22:55 +01:00
Uwe Steinmann
2f8fd33f8e do not redirect to ForcePassword page if out.Logout.php was opened (Closes #421) 2018-11-08 16:38:32 +01:00
Uwe Steinmann
9db82f71c2 better error handling if repository doesn't deliver an extension list 2018-11-07 20:52:52 +01:00
Uwe Steinmann
e465502811 pass $user to ErrorDlg view 2018-10-11 11:30:15 +02:00
Uwe Steinmann
1375b4bf42 add hook for sending mail (Closes #419) 2018-10-02 22:27:07 +02:00