Compare commits

..

134 Commits

Author SHA1 Message Date
Uwe Steinmann
a8f52db542 fix access on objects in container 2025-02-12 21:37:57 +01:00
Uwe Steinmann
15fc9bf312 add changes for 6.0.31 2025-02-12 21:15:50 +01:00
Uwe Steinmann
bef2fb0786 use json renderer instead of withJson() 2025-02-12 21:01:20 +01:00
Uwe Steinmann
1510acc606 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-12 20:56:53 +01:00
Uwe Steinmann
d27b762945 use Slim/Psr7/Stream 2025-02-12 20:56:07 +01:00
Uwe Steinmann
2c9e10b88f require slim/psr7 2025-02-12 20:54:46 +01:00
Uwe Steinmann
ddcc6d6841 use new json renderer 2025-02-12 20:54:08 +01:00
Uwe Steinmann
d9278b5600 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-12 13:21:19 +01:00
Uwe Steinmann
e88ae2cc44 add changes for 5.1.38 2025-02-12 13:21:03 +01:00
Uwe Steinmann
0d7f9e674a Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-12 13:19:55 +01:00
Uwe Steinmann
31ac9a8335 fix php syntax error 2025-02-12 13:19:32 +01:00
Uwe Steinmann
052fee8222 badges can have a type 2025-02-12 13:16:36 +01:00
Uwe Steinmann
12979afcbc Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-12 08:46:30 +01:00
Uwe Steinmann
6c5dd72b86 require php 8.2 2025-02-10 16:17:28 +01:00
Uwe Steinmann
a5999caca3 use setValueCell() and AdvancedValueBinder 2025-02-10 16:17:03 +01:00
Uwe Steinmann
35ad154ab4 return full version by endpoint 'version' 2025-02-10 07:58:38 +01:00
Uwe Steinmann
728d162bc2 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x, new version 6.0.31 2025-02-07 15:24:33 +01:00
Uwe Steinmann
42594884a5 new version 5.1.38 2025-02-07 15:23:54 +01:00
Uwe Steinmann
28e01b577a Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-07 12:07:18 +01:00
Uwe Steinmann
e9bdf8a0bb set comment in PUT uploadDocument 2025-02-07 12:06:53 +01:00
Uwe Steinmann
c620ec8f15 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-06 16:37:43 +01:00
Uwe Steinmann
d540ec8f2b use local composer.phar if exists 2025-02-06 16:36:45 +01:00
Uwe Steinmann
0a1f2ea418 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-06 15:20:59 +01:00
Uwe Steinmann
52669c8d35 add changes for 5.1.37 2025-02-06 15:20:37 +01:00
Uwe Steinmann
6c130b3f8c add extra log level for rest api logging 2025-02-06 15:19:45 +01:00
Uwe Steinmann
b646333c37 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-06 11:21:46 +01:00
Uwe Steinmann
8c589a60ba add endpoint GET /attributedefinitions/{id} 2025-02-06 11:19:25 +01:00
Uwe Steinmann
35d7d132d3 add BodyParsingMiddleware because PUT request don't have access on body data 2025-02-06 11:18:58 +01:00
Uwe Steinmann
c940162328 setting quota and homefolder returns the updated account 2025-02-06 11:18:01 +01:00
Uwe Steinmann
4e39c69224 remove old commented call of search() 2025-02-06 11:17:04 +01:00
Uwe Steinmann
3f0275e25d fix typo in messages 2025-02-06 11:16:27 +01:00
Uwe Steinmann
b9c083e08b doLogin does not need access on global 2025-02-06 11:15:59 +01:00
Uwe Steinmann
a4462cdb6a Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-04 18:20:26 +01:00
Uwe Steinmann
975bd1689e fix line indenting 2025-02-04 18:20:11 +01:00
Uwe Steinmann
1af377b268 remove trailing newline 2025-02-04 17:30:43 +01:00
Uwe Steinmann
6ddf3c3cfe Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-04 13:40:29 +01:00
Uwe Steinmann
4d44774a7f select options in extension configuration can retain order (only attributedefinitions) 2025-02-04 13:39:02 +01:00
Uwe Steinmann
c62abbcd06 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-04 11:05:17 +01:00
Uwe Steinmann
c815b0069d get $accessobject from view 2025-02-04 11:04:58 +01:00
Uwe Steinmann
5b611a425a Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-04 08:27:46 +01:00
Uwe Steinmann
a3ea05177a controll access on batch operations by advanced access rights 2025-02-04 08:27:05 +01:00
Uwe Steinmann
992afe8e7c Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-02-03 15:22:14 +01:00
Uwe Steinmann
ca29a27187 support export of folders in excel file 2025-02-03 15:21:14 +01:00
Uwe Steinmann
435c94f585 add export of folder list 2025-02-03 15:20:41 +01:00
Uwe Steinmann
665deb0595 update translation 2025-02-03 14:43:08 +01:00
Uwe Steinmann
b45bfc6035 add comment with info why seeddms core is still explicitly included 2025-02-03 12:18:15 +01:00
Uwe Steinmann
a2804d252a very old file which is no longer needed 2025-02-03 12:14:07 +01:00
Uwe Steinmann
6b325cb4df remove trailing white space 2025-02-03 12:11:39 +01:00
Uwe Steinmann
e3b6c2f5b6 remove no longer needed function _printMessage() 2025-02-03 12:10:38 +01:00
Uwe Steinmann
cd448c160b add visibility of methods 2025-02-03 12:10:18 +01:00
Uwe Steinmann
8cc6a417c8 add class variables _smtpForceFrom and _smtpLazySSL 2025-02-03 12:09:46 +01:00
Uwe Steinmann
c56d18299c remove no longer needed method _printMessage() 2025-02-03 12:09:10 +01:00
Uwe Steinmann
0abcfb4d12 remove trailing white space 2025-02-03 10:27:35 +01:00
Uwe Steinmann
eb64f09375 add class variable $user 2025-02-03 10:23:22 +01:00
Uwe Steinmann
07d9047b2e add class variables $filenames, $header, $extraheader 2025-02-03 10:22:27 +01:00
Uwe Steinmann
a6d67be34e add class variable $_force_from 2025-02-03 10:17:22 +01:00
Uwe Steinmann
712df50a9c fix checking if user is already in list of notifiers (sendReplaceContentMail) 2025-02-03 10:14:51 +01:00
Uwe Steinmann
ab729a3f21 fix stringToArray() 2025-02-03 09:52:39 +01:00
Uwe Steinmann
325498e63a fix evaluation of _ldapMailField 2025-02-03 09:52:10 +01:00
Uwe Steinmann
895dbf1b29 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-31 10:15:21 +01:00
Uwe Steinmann
4316b1afee fix definition of echo endpoint 2025-01-31 10:14:40 +01:00
Uwe Steinmann
327b1c4284 add some missing functions 2025-01-31 09:54:21 +01:00
Uwe Steinmann
325a180ff8 lots of formatting fixes 2025-01-31 09:53:58 +01:00
Uwe Steinmann
1ad8fbcb2a more info for debian users 2025-01-30 14:53:59 +01:00
Uwe Steinmann
675bcf66ac add warning about cleared environment when running php-fpm 2025-01-30 14:51:44 +01:00
Uwe Steinmann
f2e5faf80b use type: 'string' instead 'file' 2025-01-29 14:57:37 +01:00
Uwe Steinmann
2b0c3241ed Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-29 10:29:03 +01:00
Uwe Steinmann
aa6454fce9 add changes for 5.1.37 2025-01-29 10:25:55 +01:00
Uwe Steinmann
dd13504fef fix xss attack 2025-01-29 10:25:26 +01:00
Uwe Steinmann
a0df82c2e7 add example of PHP FPM handler 2025-01-29 10:24:52 +01:00
Uwe Steinmann
be1ebce45f fix errors 2025-01-29 10:23:57 +01:00
Uwe Steinmann
77df75a038 add changes for 5.1.37 2025-01-28 17:38:05 +01:00
Uwe Steinmann
612f297926 fix loading more entries at end of page 2025-01-28 17:37:09 +01:00
Uwe Steinmann
fe88895808 add changes for 6.0.30 2025-01-26 19:51:52 +01:00
Uwe Steinmann
ec6c4855fc send request receipt notification only if document is released 2025-01-25 12:42:08 +01:00
Uwe Steinmann
1033fee1b3 add method sendToAllReceiptMail() 2025-01-25 12:40:58 +01:00
Uwe Steinmann
ceddf4d5bf do not show content container if form has no visible fields 2025-01-24 11:32:08 +01:00
Uwe Steinmann
30682237e9 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-23 14:10:38 +01:00
Uwe Steinmann
d8f7d473cb do not log environment anymore 2025-01-23 14:10:15 +01:00
Uwe Steinmann
5f4b1dde54 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-17 14:09:12 +01:00
Uwe Steinmann
588c7fa798 rename file 2025-01-17 14:08:54 +01:00
Uwe Steinmann
05835e8d3d set title of sheet in export file, only export documents 2025-01-17 14:08:10 +01:00
Uwe Steinmann
adeae90695 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-17 13:49:17 +01:00
Uwe Steinmann
f024da6fc2 add examples on how to use the rest api 2025-01-17 13:48:46 +01:00
Uwe Steinmann
53cbe64222 add 'add' button before 'list' button 2025-01-17 13:12:22 +01:00
Uwe Steinmann
ee143ad5d4 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-16 09:17:18 +01:00
Uwe Steinmann
e9783c882d first column number is 1 not 0 2025-01-16 09:16:59 +01:00
Uwe Steinmann
3c2f8f6013 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2025-01-02 14:40:59 +01:00
Uwe Steinmann
ee6d2f15fc fix getting uploaded files 2025-01-02 14:40:49 +01:00
Uwe Steinmann
7cb75bf518 skip footer in mail with recent changes 2024-12-29 08:06:56 +01:00
Uwe Steinmann
d189443b29 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-12-26 08:37:57 +01:00
Uwe Steinmann
267c8c468b do not check cache in checkExtensionByName() 2024-12-26 08:37:33 +01:00
Uwe Steinmann
2576001ad1 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-12-23 16:17:25 +01:00
Uwe Steinmann
cad3258a98 array_diff must be array_intersect for excluding documents in certain folders 2024-12-23 16:16:36 +01:00
Uwe Steinmann
9f5528b7c2 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-12-20 17:06:45 +01:00
Uwe Steinmann
226d2f01f4 set $_excludeFoldersDashboard to empty array 2024-12-20 13:26:21 +01:00
Uwe Steinmann
5a5f5657a9 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-12-20 08:05:52 +01:00
Uwe Steinmann
682cb8904f rename showConfigFolder() to showConfigFolderNoTree() 2024-12-20 08:05:11 +01:00
Uwe Steinmann
05400afbcd require guzzlehttp/psr7 2024-12-20 08:04:15 +01:00
Uwe Steinmann
0abffe1f3d get missing parameters in countTasks() 2024-12-17 18:15:05 +01:00
Uwe Steinmann
ab5411c44f Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-12-17 17:54:59 +01:00
Uwe Steinmann
9762db9f26 fix passing version to addContent() 2024-12-17 17:44:20 +01:00
Uwe Steinmann
755f601d7b add attachment from dropfolder dir 2024-12-14 19:19:24 +01:00
Uwe Steinmann
774d17c3f9 suppress errors when loading html file 2024-12-11 15:58:11 +01:00
Uwe Steinmann
df5c81334e add changes for 5.1.37 2024-12-11 14:46:41 +01:00
Uwe Steinmann
b6dcff3fe3 upgrade from slim 3 to slim 4 2024-12-11 14:46:12 +01:00
Uwe Steinmann
abe6b94b3e propperly check if a fulltext service exists 2024-12-10 15:04:20 +01:00
Uwe Steinmann
a787d61404 add conversion for webp and avif images 2024-12-07 19:09:01 +01:00
Uwe Steinmann
5221f9756e new config option to exclude folders from dashboard 2024-11-27 19:11:00 +01:00
Uwe Steinmann
ae22f5aba6 fix typo in comment 2024-11-27 19:10:26 +01:00
Uwe Steinmann
2fb41d1f40 new method showConfigFolder() 2024-11-27 19:09:57 +01:00
Uwe Steinmann
4a3cdf24b5 fix typo in comment 2024-11-27 19:08:14 +01:00
Uwe Steinmann
8bb4f80032 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-18 10:03:58 +01:00
Uwe Steinmann
0161da6143 return id of owner when getting document/folder data 2024-11-18 10:03:32 +01:00
Uwe Steinmann
3113c59796 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-17 19:44:52 +01:00
Uwe Steinmann
26ca0d9c4d minor change of users/{id}/homefolder 2024-11-17 19:44:20 +01:00
Uwe Steinmann
faaf6d2fbb Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-17 10:38:07 +01:00
Uwe Steinmann
7da7d2e4a1 __getUserData() returns quota 2024-11-17 10:27:51 +01:00
Uwe Steinmann
7e4b4fd3ea add methods changeUserQuota, setFolderOwner, setFolderOwner 2024-11-17 10:23:45 +01:00
Uwe Steinmann
1307bb74cd Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-16 09:50:55 +01:00
Uwe Steinmann
b9d5c31211 move rrmdir() into own class in inc.Utils.php 2024-11-16 09:50:42 +01:00
Uwe Steinmann
e6c7ebaaec fixed wrong constraint in table tblUserSubstitutes 2024-11-14 14:34:47 +01:00
Uwe Steinmann
27110c06a9 Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-13 22:35:07 +01:00
Uwe Steinmann
f6f7fe0ab6 https status must be 400 instead of 200 in case of an error 2024-11-13 22:31:55 +01:00
Uwe Steinmann
f5db14dd74 pass propper parameter to hook cleanUpDocument 2024-11-13 22:31:13 +01:00
Uwe Steinmann
964bed081d check for function system() 2024-11-13 22:30:15 +01:00
Uwe Steinmann
bb0f34a05a fix title of page 2024-11-13 12:51:08 +01:00
Uwe Steinmann
cef5e73ba5 set parameter tasksinmenu 2024-11-11 10:48:21 +01:00
Uwe Steinmann
35fa11a7c2 remove code from seeddms 6 2024-11-11 10:47:51 +01:00
Uwe Steinmann
8afef96440 do not show expired documents in menu tasks 2024-11-11 09:48:40 +01:00
Uwe Steinmann
ea5d4651e5 fix merge errors 2024-11-11 09:36:11 +01:00
Uwe Steinmann
ca79b730ff Merge branch 'seeddms-5.1.x' into seeddms-6.0.x 2024-11-11 09:29:51 +01:00
Uwe Steinmann
bbfd144906 optimize counting tasks 2024-11-11 09:29:41 +01:00
Uwe Steinmann
9573d473e9 do not show chart by category if there are no categories 2024-11-07 13:52:43 +01:00
89 changed files with 2322 additions and 1022 deletions

View File

@ -1,8 +1,15 @@
--------------------------------------------------------------------------------
Changes in version 6.0.31
--------------------------------------------------------------------------------
- merge changes up to 5.1.38
- fix various restapi endpoints which hadn't been updated to slim4
--------------------------------------------------------------------------------
Changes in version 6.0.30
--------------------------------------------------------------------------------
- merge changes up to 5.1.37
- receipt comment can be disabled
- send request receipt notification only when document is released
--------------------------------------------------------------------------------
Changes in version 6.0.29
@ -301,9 +308,23 @@
- add document list which can be exported as an archive
- search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.38
--------------------------------------------------------------------------------
- require php 8.2
- fix php error in out/out.ReviewSummary.php
--------------------------------------------------------------------------------
Changes in version 5.1.37
--------------------------------------------------------------------------------
- do not show chart by category if there are no categories
- documents in certain folders can be excluded from dashboard, could be useful
for folders containing archived documents
- migrate from Slim 3 to Slim 4 (check for extension updates)
- fix reloading more entries in list of folders/documents at end of page if
maxItemsPerPage is set
- prevent xss attack
- log level for rest api can be set separately
--------------------------------------------------------------------------------
Changes in version 5.1.36

View File

@ -16,7 +16,7 @@
<propertyregex property="shortversion" subject="${version} kk" pattern="([56])\.([0-9]).*" replace="seeddms$1$2x" override="true"/>
<property name="majorversion" value="${version}" />
<propertyregex property="majorversion" subject="${version}" pattern="([56])\..*" replace="$1" override="true"/>
<property name="composer_version" value="2.2.22" />
<property name="composer_version" value="2.8.5" />
<property name="composer_extra_params" value="" />
<property name="composer_env" value="" />
<property name="mink_driver" value="chrome" />
@ -73,8 +73,13 @@
<then>
<httpget url="https://getcomposer.org/composer-2.phar" sslVerifyPeer="false" dir="${srcdir}" filename="composer.phar" />
</then>
<else>
<httpget url="https://getcomposer.org/download/${composer_version}/composer.phar" sslVerifyPeer="false" dir="${srcdir}" />
<else>
<if>
<not><available file="composer.phar" /></not>
<then>
<httpget url="https://getcomposer.org/download/${composer_version}/composer.phar" sslVerifyPeer="false" dir="${srcdir}" />
</then>
</if>
</else>
</if>
<echo message="Installing dependencies..." />

View File

@ -1,28 +1,32 @@
{
"config": {
"platform": {
"php": "7.4"
"php": "8.2"
}
},
"require": {
"robthree/twofactorauth": "^1.5",
"sabre/dav": "^4.",
"sabre/xml": "*",
"slim/slim": "^3.0",
"slim/slim": "^4.0",
"guzzlehttp/psr7": "*",
"erusev/parsedown": "*",
"erusev/parsedown-extra": "*",
"mibe/feedwriter": "^1.1",
"phpoffice/phpspreadsheet": "*",
"sabre/xml": "*",
"sabre/dav": "^4.",
"pear/log": "*",
"pear/mail": "*",
"pear/mail_mime": "*",
"pear/net_smtp": "*",
"pear/auth_sasl": "*",
"pear/db": "*",
"dragonmantank/cron-expression": "^3.1",
"alecrabbit/php-console-colour": "*",
"dragonmantank/cron-expression": "^3",
"zf1/zend-search-lucene": "*",
"symfony/http-foundation": "^5.4",
"php-di/php-di": "^6.4",
"slim/psr7": "^1.7",
"seeddms/core": "dev-master",
"seeddms/lucene": "dev-master",
"seeddms/preview": "dev-master",
@ -69,5 +73,4 @@
}
}
]
}

View File

@ -59,7 +59,7 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
$content = $this->callHook('updateDocument');
if($content === null) {
$filesize = SeedDMS_Core_File::fileSize($userfiletmp);
if($contentResult=$document->addContent($comment, $user, $userfiletmp, utf8_basename($userfilename), $filetype, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow, $initialdocumentstatus)) {
if($contentResult=$document->addContent($comment, $user, $userfiletmp, utf8_basename($userfilename), $filetype, $userfiletype, $reviewers, $approvers, 0, $attributes, $workflow, $initialdocumentstatus)) {
if ($this->hasParam('expires')) {
if($document->setExpires($this->getParam('expires'))) {

View File

@ -18,6 +18,14 @@ Please note, that when ever a command outputs anything to stderr,
this will considered as a failure of the command. Most command line
programs have a parameter (.e.g. `-q`) to suppress such an output.
If you run php-fpm you may encounter problems with charsets based on
UTF-8. Programms like `catdoc` read LANG from the environment to
set the correct encoding of the output. php-fpm often clears the
environment and programms like `catdoc` will not longer output any
UTF-8 chars. In such a case you may want to set `clear_env=no` in
php-fpm's configuration. On Debian this is done in the file
`/etc/php/<php version>/fpm/pool.d/www.conf`. Search for `clear_env`.
Conversion to text for fulltext search
=======================================

55
doc/README.Restapi.md Normal file
View File

@ -0,0 +1,55 @@
# How to access the Rest API
Below are various examples on how to access the Rest API. Some of them
start by calling the `login` endpoint which creates a cookie based
session which is stored in a local file named `cookies.txt`.
The authentication is done with the user `admin`. You may use any other
user as well.
You may as well pass `-H Authorization: <api key>` instead of `-b cookies.txt`
to `curl` after setting the api key in the configuration of your SeedDMS.
Of course, in that case you will not need the initial call of the `login`
endpoint.
The examples often use the `jq` programm for formating the returned
json data.
## Initial test
The `echo` endpoint does not require any authentication.
```
#!/bin/sh
BASEURL="https://your-domain/"
curl --silent -X GET ${BASEURL}restapi/index.php/echo/test | jq '.'
```
## Getting list of users
```
#!/bin/sh
BASEURL="https://your-domain/"
curl --silent -F "user=admin" -F "pass=admin" -b cookies.txt -c cookies.txt ${BASEURL}restapi/index.php/login | jq
curl --silent -b cookies.txt -X GET "${BASEURL}restapi/index.php/users" | jq '.'
```
## Getting meta data of a folder
```
#!/bin/sh
BASEURL="https://your-domain/"
curl --silent -H "Authorization: <api key>" -X GET "${BASEURL}restapi/index.php/folder/1" | jq '.'
```
## Notes
Make sure to encode the data properly when using restapi functions which uses
put. If you use curl with PHP, then encode the data as the following
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

View File

@ -48,18 +48,18 @@ class SeedDMS_Auth_Middleware_Session { /* {{{ */
*
* @return \Psr\Http\Message\ResponseInterface
*/
public function __invoke($request, $response, $next) {
public function __invoke($request, $handler) {
// $this->container has the DI
$dms = $this->container->dms;
$settings = $this->container->config;
$logger = $this->container->logger;
$dms = $this->container->get('dms');
$settings = $this->container->get('config');
$logger = $this->container->get('logger');
$userobj = null;
if ($this->container->has('userobj')) {
$userobj = $this->container->userobj;
$userobj = $this->container->get('userobj');
}
if ($userobj) {
$response = $next($request, $response);
$response = $handler->handle($request);
return $response;
}
@ -100,9 +100,9 @@ class SeedDMS_Auth_Middleware_Session { /* {{{ */
} else {
return $response->withStatus(403);
}
$this->container['userobj'] = $userobj;
$this->container->set('userobj', $userobj);
$response = $next($request, $response);
$response = $handler->handle($request);
return $response;
}
} /* }}} */

View File

@ -33,6 +33,11 @@ class SeedDMS_Calendar {
*/
protected $db;
/**
* Instanz of user
*/
protected $user;
public function __construct($db, $user) { /* {{{ */
$this->db = $db;
$this->user = $user;

View File

@ -35,7 +35,9 @@ class SeedDMS_ConversionServiceHtmlToText extends SeedDMS_ConversionServiceBase
public function convert($infile, $target = null, $params = array()) {
$d = new DOMDocument;
libxml_use_internal_errors(true);
$d->loadHTMLFile($infile);
libxml_clear_errors();
$body = $d->getElementsByTagName('body')->item(0);
$str = '';
foreach($body->childNodes as $childNode) {

View File

@ -94,6 +94,12 @@ class SeedDMS_ConversionServiceImageToImage extends SeedDMS_ConversionServiceBas
case 'image/gif':
$im = @imagecreatefromgif($infile);
break;
case 'image/webp':
$im = @imagecreatefromwebp($infile);
break;
case 'image/avif':
$im = @imagecreatefromavif($infile);
break;
}
if($im) {
$width = imagesx($im);

View File

@ -39,12 +39,48 @@ class SeedDMS_Download_Mgr {
*/
protected $items;
/**
* @var array $folder_items list of folder content items
* @access protected
*/
protected $folder_items;
/**
* @var array $extracols list of arrays with extra columns per item
* @access protected
*/
protected $extracols;
/**
* @var array $folder_extracols list of arrays with extra columns per folder item
* @access protected
*/
protected $folder_extracols;
/**
* @var array $header list of entries in header (first line)
* @access protected
*/
protected $header;
/**
* @var array $folder_header list of entries in header (first line)
* @access protected
*/
protected $folder_header;
/**
* @var array $extraheader list of extra entries in header
* @access protected
*/
protected $extraheader;
/**
* @var array $folder_extraheader list of extra entries in header
* @access protected
*/
protected $folder_extraheader;
/**
* @var array $rawcontents list of content used instead of document content
* @access protected
@ -55,21 +91,30 @@ class SeedDMS_Download_Mgr {
* @var array $filenames filename used in archive
* @access protected
*/
protected $filnames;
protected $filenames;
function __construct($tmpdir = '') {
$this->tmpdir = $tmpdir;
$this->items = array();
$this->folder_items = array();
$this->header = array(getMLText('download_header_document_no'), getMLText('download_header_document_name'), getMLText('download_header_filename'), getMLText('download_header_state'), getMLText('download_header_internal_version'), getMLText('download_header_reviewer'), getMLText('download_header_review_date'), getMLText('download_header_review_comment'), getMLText('download_header_review_state'), getMLText('download_header_approver'), getMLText('download_header_approval_date'), getMLText('download_header_approval_comment'), getMLText('download_header_approval_state'));
$this->folder_header = array(getMLText('download_header_folder_no'), getMLText('download_header_folder_name'));
$this->extracols = array();
$this->folder_extracols = array();
$this->rawcontents = array();
$this->extraheader = array();
$this->folder_extraheader = array();
$this->filenames = array();
}
public function addHeader($extraheader) { /* {{{ */
$this->extraheader = $extraheader;
} /* }}} */
public function addFolderHeader($extraheader) { /* {{{ */
$this->folder_extraheader = $extraheader;
} /* }}} */
public function addItem($item, $extracols=array(), $rawcontent='', $filename='') { /* {{{ */
$this->items[$item->getID()] = $item;
$this->extracols[$item->getID()] = $extracols;
@ -77,32 +122,40 @@ class SeedDMS_Download_Mgr {
$this->filenames[$item->getID()] = $filename;
} /* }}} */
public function addFolderItem($item, $extracols=array()) { /* {{{ */
$this->folder_items[$item->getID()] = $item;
$this->folder_extracols[$item->getID()] = $extracols;
} /* }}} */
public function createToc($file) { /* {{{ */
$items = $this->items;
$objPHPExcel = new PhpOffice\PhpSpreadsheet\Spreadsheet();
$objPHPExcel->setValueBinder(new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder());
$objPHPExcel->getProperties()->setCreator("SeedDMS")->setTitle("Metadata");
if($items = $this->items) {
$sheet = $objPHPExcel->setActiveSheetIndex(0);
$sheet->setTitle(getMLText('documents'));
$i = 1;
$col = 0;
$col = 1;
foreach($this->header as $h)
$sheet->setCellValueByColumnAndRow($col++, $i, $h);
$sheet->setCellValue([$col++, $i], $h);
foreach($this->extraheader as $h)
$sheet->setCellValueByColumnAndRow($col++, $i, $h);
$sheet->setCellValue([$col++, $i], $h);
$i++;
foreach($items as $item) {
if($item->isType('documentcontent')) {
$document = $item->getDocument();
$dms = $document->_dms;
$status = $item->getStatus();
$reviewStatus = $item->getReviewStatus();
$approvalStatus = $item->getApprovalStatus();
$col = 0;
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getID());
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getName());
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getID()."-".$item->getOriginalFileName());
$sheet->setCellValueByColumnAndRow($col++, $i, getOverallStatusText($status['status']));
$sheet->setCellValueByColumnAndRow($col++, $i, $item->getVersion());
$col = 1;
$sheet->setCellValue([$col++, $i], $document->getID());
$sheet->setCellValue([$col++, $i], $document->getName());
$sheet->setCellValue([$col++, $i], $document->getID()."-".$item->getOriginalFileName());
$sheet->setCellValue([$col++, $i], getOverallStatusText($status['status']));
$sheet->setCellValue([$col++, $i], $item->getVersion());
$l = $i;
$k = $i;
if($reviewStatus) {
@ -126,11 +179,11 @@ class SeedDMS_Download_Mgr {
break;
}
$tcol = $col;
$sheet->setCellValueByColumnAndRow($tcol++, $l, $reqName);
$sheet->setCellValueByColumnAndRow($tcol, $l, ($r['status']==1 || $r['status']==-1) ? \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel(new DateTime($r['date'])) : null);
$sheet->setCellValue([$tcol++, $l], $reqName);
$sheet->setCellValue([$tcol, $l], ($r['status']==1 || $r['status']==-1) ? \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel(new DateTime($r['date'])) : null);
$sheet->getStyleByColumnAndRow($tcol++, $l)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME);
$sheet->setCellValueByColumnAndRow($tcol++, $l, $r['comment']);
$sheet->setCellValueByColumnAndRow($tcol++, $l, getReviewStatusText($r["status"]));
$sheet->setCellValue([$tcol++, $l], $r['comment']);
$sheet->setCellValue([$tcol++, $l], getReviewStatusText($r["status"]));
$l++;
}
$l--;
@ -157,11 +210,11 @@ class SeedDMS_Download_Mgr {
break;
}
$tcol = $col;
$sheet->setCellValueByColumnAndRow($tcol++, $k, $reqName);
$sheet->setCellValueByColumnAndRow($tcol, $k, ($r['status']==1 || $r['status']==-1) ? \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel(new DateTime($r['date'])) : null);
$sheet->setCellValue([$tcol++, $k], $reqName);
$sheet->setCellValue([$tcol, $k], ($r['status']==1 || $r['status']==-1) ? \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel(new DateTime($r['date'])) : null);
$sheet->getStyleByColumnAndRow($tcol++, $k)->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME);
$sheet->setCellValueByColumnAndRow($tcol++, $k, $r['comment']);
$sheet->setCellValueByColumnAndRow($tcol++, $k, getApprovalStatusText($r["status"]));
$sheet->setCellValue([$tcol++, $k], $r['comment']);
$sheet->setCellValue([$tcol++, $k], getApprovalStatusText($r["status"]));
$k++;
}
$k--;
@ -169,11 +222,45 @@ class SeedDMS_Download_Mgr {
$col += 4;
if(isset($this->extracols[$item->getID()]) && $this->extracols[$item->getID()]) {
foreach($this->extracols[$item->getID()] as $column)
$sheet->setCellValueByColumnAndRow($col++, $i, is_array($column) ? implode("\n", $column) : $column );
$sheet->setCellValue([$col++, $i], is_array($column) ? implode("\n", $column) : $column );
}
$i = max($l, $k);
$i++;
}
}
}
if($items = $this->folder_items) {
if($this->items)
$sheet = $objPHPExcel->createSheet($i);
else
$sheet = $objPHPExcel->setActiveSheetIndex(0);
$sheet->setTitle(getMLText('folders'));
$i = 1;
$col = 1;
foreach($this->folder_header as $h)
$sheet->setCellValue([$col++, $i], $h);
foreach($this->folder_extraheader as $h)
$sheet->setCellValue([$col++, $i], $h);
$i++;
$items = $this->folder_items;
foreach($items as $item) {
if($item->isType('folder')) {
$folder = $item;
$dms = $folder->_dms;
$col = 1;
$sheet->setCellValue([$col++, $i], $folder->getID());
$sheet->setCellValue([$col++, $i], $folder->getName());
if(isset($this->folder_extracols[$item->getID()]) && $this->folder_extracols[$item->getID()]) {
foreach($this->folder_extracols[$item->getID()] as $column)
$sheet->setCellValue([$col++, $i], is_array($column) ? implode("\n", $column) : $column );
}
$i++;
}
}
}
$objWriter = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($objPHPExcel);
$objWriter->save($file);

View File

@ -46,6 +46,8 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
protected $from_address;
protected $force_from;
protected $lazy_ssl;
protected $debug;

View File

@ -406,7 +406,7 @@ class SeedDMS_Extension_Mgr {
*/
public function checkExtensionByName($extname, $extconf, $options=array()) { /* {{{ */
if(isset($this->configcache[$extname])) {
return $this->configcache[$extname];
// return $this->configcache[$extname];
}
$this->errmsgs = array();
@ -494,19 +494,6 @@ class SeedDMS_Extension_Mgr {
return $this->configcache[$extname];
} /* }}} */
static protected function rrmdir($dir) { /* {{{ */
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") self::rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
} /* }}} */
/**
* Update an extension
*
@ -522,7 +509,7 @@ class SeedDMS_Extension_Mgr {
$newdir = addDirSep($this->cachedir)."ext.new";
/* First remove a left over from a previous extension */
if(file_exists($newdir)) {
self::rrmdir($newdir);
SeedDMS_Utils::rrmdir($newdir);
}
if(!mkdir($newdir, 0755)) {
$this->errmsgs[] = "Cannot create temp. extension directory";
@ -542,7 +529,7 @@ class SeedDMS_Extension_Mgr {
/* Check if extension is complete and fullfills the constraints */
if(!self::checkExtensionByDir($newdir)) {
self::rrmdir($newdir);
SeedDMS_Utils::rrmdir($newdir);
return false;
}
@ -553,11 +540,11 @@ class SeedDMS_Extension_Mgr {
if(!is_dir($this->extdir)) {
if(!mkdir($this->extdir, 0755)) {
$this->errmsgs[] = "Cannot create extension directory";
self::rrmdir($newdir);
SeedDMS_Utils::rrmdir($newdir);
return false;
}
} elseif(is_dir($this->extdir ."/". $extname)) {
$this->rrmdir($this->extdir ."/". $extname);
SeedDMS_Utils::rrmdir($this->extdir ."/". $extname);
}
/* Move the temp. created ext directory to the final location */
/* rename() may fail if dirs are moved from one device to another.
@ -579,7 +566,7 @@ class SeedDMS_Extension_Mgr {
* has been copied.
*/
$this->errmsgs[] = "Cannot move temp. extension directory to final destination";
$this->rrmdir($this->extdir ."/". $extname);
SeedDMS_Utils::rrmdir($this->extdir ."/". $extname);
return false;
}

View File

@ -209,7 +209,7 @@ class SeedDMS_FulltextService {
if($this->index)
return $this->index;
if($this->services[0]) {
if($this->services) {
if($recreate)
$this->index = $this->services[0]['Indexer']::create($this->services[0]['Conf']);
else
@ -222,7 +222,7 @@ class SeedDMS_FulltextService {
public function Search() { /* {{{ */
if($this->search)
return $this->search;
if($this->services[0]) {
if($this->services) {
$this->search = new $this->services[0]['Search']($this->index);
return $this->search;
} else {

View File

@ -29,12 +29,12 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
var $settings;
protected function addUser($username, $info) {
$mailfield = !empty($settings->_ldapMailField) ? $settings->_ldapMailField : 'mail';
$mailfield = !empty($this->settings->_ldapMailField) ? $this->settings->_ldapMailField : 'mail';
return $this->dms->addUser($username, null, $info['cn'][0], isset($info[$mailfield]) ? $info[$mailfield][0] : '', $this->settings->_language, $this->settings->_theme, "User was added from LDAP");
}
protected function updateUser($user, $info) {
$mailfield = !empty($settings->_ldapMailField) ? $settings->_ldapMailField : 'mail';
$mailfield = !empty($this->settings->_ldapMailField) ? $this->settings->_ldapMailField : 'mail';
if(isset($info['cn'][0]) && ($info['cn'][0] != $user->getFullName())) {
$user->setFullName($info['cn'][0]);
}

View File

@ -573,7 +573,7 @@ class SeedDMS_NotificationService {
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($content->getUser(), $nl['users']))
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($content->getUser(), $notifyList['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
@ -1471,6 +1471,35 @@ class SeedDMS_NotificationService {
$this->toGroup($user, $recipient, $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
} /* }}} */
/**
* Send a request receipt notification to all recipients of the document content
*
* This method can be called when the status of a document content changes
* to 'released'. The recipients haven't been informed when the
* document content was created but not immediatly released.
*/
public function sendToAllReceiptMail($content, $user) { /* {{{ */
$dms = $content->getDMS();
$receiptStatus = $content->getReceiptStatus();
if (!empty($receiptStatus)) {
foreach ($receiptStatus as $r) {
if($r['status'] == 0) {
switch ($r["type"]) {
case 0: // Recipient is an individual.
if($recipient = $dms->getUser($r["required"]))
$this->sendAddReceiptMail($content, $user, $recipient);
break;
case 1: // Recipient is a group.
if($recipient = $dms->getGroup($r["required"]))
$this->sendAddReceiptMail($content, $user, $recipient);
break;
}
}
}
}
} /* }}} */
public function sendChangedDocumentOwnerMail($document, $user, $oldowner) { /* {{{ */
if($oldowner->getID() != $document->getOwner()->getID()) {
$notifyList = $document->getNotifyList();

View File

@ -265,8 +265,10 @@ class Settings { /* {{{ */
var $_allowChangeRevAppInProcess = false;
// enable/disable log system
var $_logFileEnable = true;
// enable/disable log system
// max log level
var $_logFileMaxLevel = 6; // PEAR_LOG_INFO
// max log level for restapi
var $_logFileRestApiMaxLevel = 6; // PEAR_LOG_INFO
// the log file rotation
var $_logFileRotation = "d";
// Enable file upload by fine-uploader (was 'jumploader')
@ -321,6 +323,8 @@ class Settings { /* {{{ */
var $_maxRecursiveCount = 10000;
// number of days in the past of the dashboard
var $_daysPastDashboard = 7;
// list of folders not considered for dashboard
var $_excludeFoldersDashboard = [];
// enable/disable help
var $_enableHelp = true;
// enable/disable language selection menu
@ -388,6 +392,10 @@ class Settings { /* {{{ */
var $_smtpPort = null;
// SMTP : send from
var $_smtpSendFrom = null;
// SMTP : force send from
var $_smtpForceFrom = false;
// SMTP : allow self signed certificates
var $_smtpLazySSL = false;
// SMTP : user
var $_smtpUser = null;
// SMTP : password
@ -504,7 +512,7 @@ class Settings { /* {{{ */
*
*/
function stringToArray($value) { /* {{{ */
return explode(";", $Value);
return explode(";", $value);
} /* }}} */
/**
@ -622,6 +630,8 @@ class Settings { /* {{{ */
$this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]);
$this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]);
$this->_daysPastDashboard = intval($tab["daysPastDashboard"]);
if(trim(strval($tab["excludeFoldersDashboard"])))
$this->_excludeFoldersDashboard = explode(',',strval($tab["excludeFoldersDashboard"]));
$this->_enableHelp = Settings::boolVal($tab["enableHelp"]);
$this->_enableLanguageSelector = Settings::boolVal($tab["enableLanguageSelector"]);
$this->_enableThemeSelector = Settings::boolVal($tab["enableThemeSelector"]);
@ -690,6 +700,7 @@ class Settings { /* {{{ */
$this->_proxyPassword = strval($tab["proxyPassword"]);
$this->_logFileEnable = Settings::boolVal($tab["logFileEnable"]);
$this->_logFileMaxLevel = strval($tab["logFileMaxLevel"]);
$this->_logFileRestApiMaxLevel = strval($tab["logFileRestApiMaxLevel"]);
$this->_logFileRotation = strval($tab["logFileRotation"]);
$this->_enableLargeFileUpload = Settings::boolVal($tab["enableLargeFileUpload"]);
$this->_partitionSize = strval($tab["partitionSize"]);
@ -1052,6 +1063,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount);
$this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount);
$this->setXMLAttributValue($node, "daysPastDashboard", $this->_daysPastDashboard);
$this->setXMLAttributValue($node, "excludeFoldersDashboard", implode(',', $this->_excludeFoldersDashboard));
$this->setXMLAttributValue($node, "enableHelp", $this->_enableHelp);
$this->setXMLAttributValue($node, "enableLanguageSelector", $this->_enableLanguageSelector);
$this->setXMLAttributValue($node, "enableThemeSelector", $this->_enableThemeSelector);
@ -1106,6 +1118,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "proxyPassword", $this->_proxyPassword);
$this->setXMLAttributValue($node, "logFileEnable", $this->_logFileEnable);
$this->setXMLAttributValue($node, "logFileMaxLevel", $this->_logFileMaxLevel);
$this->setXMLAttributValue($node, "logFileRestApiMaxLevel", $this->_logFileRestApiMaxLevel);
$this->setXMLAttributValue($node, "logFileRotation", $this->_logFileRotation);
$this->setXMLAttributValue($node, "enableLargeFileUpload", $this->_enableLargeFileUpload);
$this->setXMLAttributValue($node, "partitionSize", $this->_partitionSize);

View File

@ -45,7 +45,7 @@ class UI extends UI_Default {
* @param array $params parameter passed to constructor of view class
* @return object an object of a class implementing the view
*/
static function factory($theme, $class='', $params=array()) { /* {{{ */
static public function factory($theme, $class='', $params=array()) { /* {{{ */
global $settings, $dms, $user, $session, $extMgr, $request, $logger, $notifier;
if(!$class) {
$class = 'Bootstrap';
@ -179,7 +179,7 @@ class UI extends UI_Default {
return null;
} /* }}} */
static function getStyles() { /* {{{ */
static public function getStyles() { /* {{{ */
global $settings;
$themes = array();
@ -196,7 +196,7 @@ class UI extends UI_Default {
return $themes;
} /* }}} */
static function exitError($pagetitle, $error, $noexit=false, $plain=false) {
static public function exitError($pagetitle, $error, $noexit=false, $plain=false) {
global $theme, $dms, $user, $settings;
$view = UI::factory($theme, 'ErrorDlg');
$request = $view->getParam('request');

View File

@ -63,6 +63,8 @@ if (extension_loaded('gd') || extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/gif', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/webp', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/avif', 'image/png'))->setLogger($logger);
}
if (extension_loaded('imagick')) {

View File

@ -32,6 +32,10 @@
use Symfony\Component\HttpFoundation\Request;
/* Actually not needed anymore, but some old extension may still use
* S_RELEASED, S_REJECTED, etc. from SeedDMS_Core_Document. So we keep
* it for a while. Should be removed von 6.0.31 and 5.1.38 is released.
*/
if (!empty($settings->_coreDir)) {
require_once $settings->_coreDir . '/Core.php';
} else {

View File

@ -813,6 +813,7 @@ class SeedDMS_RecentChangesTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName;
$email->toIndividual('', $u, 'recentchanges_mail_subject', '', $params);

View File

@ -1256,6 +1256,34 @@ function getMandatoryApprovers($folder, $document, $user) { /* {{{ */
return $approvers;
} /* }}} */
/**
* Class with various utility methods
*
* This class will sooner or later comprise the functions above
*
*/
class SeedDMS_Utils { /* {{{ */
/**
* Recursively remove a directory on disc
*
* @param string $dir name of directory
*/
static public function rrmdir($dir) { /* {{{ */
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") self::rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
} /* }}} */
} /* }}} */
/**
* Class for creating encrypted api keys
*

View File

@ -20,7 +20,7 @@
class SeedDMS_Version { /* {{{ */
const _number = "6.0.30";
const _number = "6.0.31";
const _string = "SeedDMS";
function __construct() {

View File

@ -31,6 +31,9 @@
require "inc/inc.Settings.php";
use DI\ContainerBuilder;
use Slim\Factory\AppFactory;
if(true) {
require_once("inc/inc.Utils.php");
require_once("inc/inc.LogInit.php");
@ -39,7 +42,9 @@ if(true) {
require_once("inc/inc.Extension.php");
require_once("inc/inc.DBInit.php");
$c = new \Slim\Container(); //Create Your container
$containerBuilder = new \DI\ContainerBuilder();
$c = $containerBuilder->build();
/*
$c['notFoundHandler'] = function ($c) use ($settings, $dms) {
return function ($request, $response) use ($c, $settings, $dms) {
$uri = $request->getUri();
@ -62,25 +67,42 @@ if(true) {
->withHeader('Location', isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_httpRoot.$settings->_siteDefaultPage : $settings->_httpRoot."out/out.ViewFolder.php");
};
};
$app = new \Slim\App($c);
*/
AppFactory::setContainer($c);
$app = AppFactory::create();
/* put lots of data into the container, because if slim instanciates
* a class by itself (with the help from the DI container), it will
* pass the container to the constructor of the instanciated class.
*/
$container = $app->getContainer();
$container['dms'] = $dms;
$container['config'] = $settings;
$container['conversionmgr'] = $conversionmgr;
$container['logger'] = $logger;
$container['fulltextservice'] = $fulltextservice;
$container['notifier'] = $notifier;
$container['authenticator'] = $authenticator;
$container->set('dms', $dms);
$container->set('config', $settings);
$container->set('conversionmgr', $conversionmgr);
$container->set('logger', $logger);
$container->set('fulltextservice', $fulltextservice);
$container->set('notifier', $notifier);
$container->set('authenticator', $authenticator);
if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) {
if (method_exists($hookObj, 'addMiddleware')) {
$hookObj->addMiddleware($app);
}
}
}
$app->get('/', function($request, $response) {
return $response
->withHeader('Location', '/out/out.ViewFolder.php')
->withStatus(302);
});
if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) {
if (method_exists($hookObj, 'addRoute')) {
// FIXME: pass $app only just like initRestAPI. $app has a container
// which contains all other objects
$hookObj->addRoute(array('dms'=>$dms, 'app'=>$app, 'settings'=>$settings, 'conversionmgr'=>$conversionmgr, 'authenticator'=>$authenticator, 'fulltextservice'=>$fulltextservice, 'logger'=>$logger));
// } else {
// include("inc/inc.Authentication.php");
// if (method_exists($hookObj, 'addRouteAfterAuthentication')) {
// $hookObj->addRouteAfterAuthentication(array('dms'=>$dms, 'app'=>$app, 'settings'=>$settings, 'user'=>$user));
// }
}
}
}

View File

@ -100,7 +100,7 @@ CREATE TABLE `tblUserSubstitutes` (
PRIMARY KEY (`id`),
UNIQUE KEY `user` (`user`,`substitute`),
CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`substitute`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
);
-- --------------------------------------------------------

View File

@ -41,7 +41,7 @@ CREATE TABLE `tblUserSubstitutes` (
PRIMARY KEY (`id`),
UNIQUE (`user`, `substitute`),
CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE,
CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`substitute`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tblDocumentCheckOuts` (

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'توثيق ذو عاملين',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'معلومات عن توثيق ذو عاملين',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -553,6 +554,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1282,6 +1285,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند',
'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'ازالة الملفات المختارة',
'remove_review_log' => '',
@ -1464,6 +1468,7 @@ URL: [url]',
'select_category' => 'اضغط لاختيار قسم',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'اختيار مجموعة',
'select_groups' => 'اضغط لاختيار مجموعة',
'select_grp_approvers' => 'اضغط لاختيار مجموعة الموافقون',
@ -1511,7 +1516,9 @@ URL: [url]',
'service_name' => '',
'sessions' => 'صفوف',
'setDateFromFile' => 'وضع تاريخ من الملف',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'تحديد التاريخ من المجلد',
'setDateFromFolder_desc' => '',
'settings' => 'الإعدادات',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
@ -1609,6 +1616,8 @@ URL: [url]',
'settings_delete_install_folder' => 'مسح مثبت المجلد',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'تعطيل التحرير الذاتي',
'settings_disableSelfEdit_desc' => 'تعطيل التحرير الذاتي',
'settings_disable_install' => 'تعطيل التثبيت',
@ -1733,6 +1742,8 @@ URL: [url]',
'settings_encryptionKey' => 'مفتاح التشفير',
'settings_encryptionKey_desc' => 'مفتاح التشفير',
'settings_error' => 'خطأ',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'قم بتوسيع شجرة المجلد',
'settings_expandFolderTree_desc' => 'قم بتوسيع شجرة المجلد',
'settings_expandFolderTree_val0' => 'قم بتوسيع شجرة المجلد قيمة0',
@ -1791,6 +1802,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'تمكين سجل الملف',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'سجل ملف التناوب',
'settings_logFileRotation_desc' => 'سجل ملف التناوب',
'settings_loginFailure' => 'فشل في تسجيل الدخول',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -491,6 +492,8 @@ $text = array(
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1151,6 +1154,7 @@ $text = array(
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
@ -1306,6 +1310,7 @@ $text = array(
'select_category' => 'Изберете категория',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '',
'select_groups' => 'Кликни да избереш групи',
'select_grp_approvers' => 'Кликни да избереш група утвърждаващи',
@ -1353,7 +1358,9 @@ $text = array(
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Настройки',
'settings_activate_module' => 'Активирай модул',
'settings_activate_php_extension' => 'Активирай разширение на PHP',
@ -1451,6 +1458,8 @@ $text = array(
'settings_delete_install_folder' => 'Изтрийте ENABLE_INSTALL_TOOL в папка конфигурация, за да започнете да използвате системата',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Изключи собствено редактиране',
'settings_disableSelfEdit_desc' => 'Ако е включено, потребителите няма да могат да редактират своята информация',
'settings_disable_install' => 'Изтрийте ENABLE_INSTALL_TOOL ако е возможно',
@ -1575,6 +1584,8 @@ $text = array(
'settings_encryptionKey' => 'Кодиращ ключ',
'settings_encryptionKey_desc' => 'Този стринг се използва за създаване на уникален идентификатор, който добавен като невидимо поле към формуляр, предотвратява CSRF атаки.',
'settings_error' => 'Грешка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Разгърни дървото с папките',
'settings_expandFolderTree_desc' => 'Разгръщане на дървото с папките',
'settings_expandFolderTree_val0' => 'започвайки от сгънато дърво',
@ -1633,6 +1644,8 @@ $text = array(
'settings_logFileEnable_desc' => 'Включи/изключи лог',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Превъртане на лога',
'settings_logFileRotation_desc' => 'Превъртане на лога',
'settings_loginFailure' => 'Неуспешно влизане',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -496,6 +497,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1156,6 +1159,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
@ -1311,6 +1315,7 @@ URL: [url]',
'select_category' => 'Prem per seleccionar la categoria',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleccionar grup',
'select_groups' => '',
'select_grp_approvers' => '',
@ -1358,7 +1363,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Settings',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
@ -1456,6 +1463,8 @@ URL: [url]',
'settings_delete_install_folder' => '',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
'settings_disable_install' => '',
@ -1580,6 +1589,8 @@ URL: [url]',
'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '',
'settings_error' => 'Error',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '',
@ -1638,6 +1649,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Enable/disable log file',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => '',
'settings_loginFailure' => '',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'dvoufaktorové ověření',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Tento systém vyžaduje dvoufaktorové ověření. Na svém mobilním telefonu budete potřebovat Google Authenticator. Níže vidíte dva QR kódy. Správný je vaše současné tajemství. Vlevo můžete nastavit nové tajemství. Pokud nastavíte nové tajemství, ujistěte se, že jste jej znovu otestovali pomocí služby Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1328,6 +1331,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu',
'removeFolderFromDropFolder' => 'Odstranit složku po nahrání',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Odstranit označené soubory',
'remove_review_log' => '',
@ -1531,6 +1535,7 @@ URL: [url]',
'select_category' => 'Kliknutím vybrat kategorii',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Vybrat skupinu',
'select_groups' => 'Kliknutím vybrat skupiny',
'select_grp_approvers' => 'Kliknutím vybrat skupinu schvalovatele',
@ -1583,7 +1588,9 @@ Jméno: [username]
'service_name' => '',
'sessions' => 'seance',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Nastavení',
'settings_activate_module' => 'Aktivovat modul',
'settings_activate_php_extension' => 'Aktivovat PHP extension',
@ -1681,6 +1688,8 @@ Jméno: [username]
'settings_delete_install_folder' => 'Chcete-li použít SeedDMS, musíte v konfiguračním adresáři odstranit soubor ENABLE_INSTALL_TOOL',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Zakázat vlastní úpravy',
'settings_disableSelfEdit_desc' => 'Je-li zaškrtnuto, uživatel nemůže upravit svůj vlastní profil',
'settings_disable_install' => 'Pokud je to možné, smažte soubor ENABLE_INSTALL_TOOL',
@ -1805,6 +1814,8 @@ Jméno: [username]
'settings_encryptionKey' => 'Šifrovací klíč',
'settings_encryptionKey_desc' => 'Tento řetězec se používá k vytvoření jedinečného identifikátoru, který je přidán jako skryté pole formuláře, aby se zabránilo útokům CSRF.',
'settings_error' => 'Chyba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozbalit strom složek',
'settings_expandFolderTree_desc' => 'Rozbalení stromu složek',
'settings_expandFolderTree_val0' => 'začít se skrytým stromem',
@ -1863,6 +1874,8 @@ Jméno: [username]
'settings_logFileEnable_desc' => 'Povolení / zakázání souboru protokolu',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Otočení souboru protokolu',
'settings_logFileRotation_desc' => 'Otáčení souboru protokolu',
'settings_loginFailure' => 'Přihlášení selhalo',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (3418), dgrutsch (22)
// Translators: Admin (3433), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
'2_factor_auth_code' => '2ter Faktor',
'2_factor_auth_info' => 'Dieses System erfordert 2-Faktor-Authentifikation. Dazu brauchen Sie einen Authenticator auf Ihrem Mobiltelefon. Unten sehen Sie zwei QR-Codes. Der rechte Code beinhaltet Ihren aktuellen geheimen Schlüssel. Auf der linken Seite wird ein neuer Schlüssel angezeigt. Wenn Sie den neuen Schlüssel speichern, dann stellen Sie zuvor sicher, dass sie ihn mit Ihrem bevorzugten Authenticator (z.B. andOTP) zuvor eingescant haben.',
'2_fact_auth_current_secret' => 'Aktuelles Geheimnis',
'2_fact_auth_new_secret' => 'Neues Geheimnis',
@ -711,6 +712,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Dokumentenname',
'download_header_document_no' => 'Dokumenten-Nr.',
'download_header_filename' => 'Dateiname',
'download_header_folder_name' => 'Ordnername',
'download_header_folder_no' => 'Ordner-ID',
'download_header_internal_version' => 'Int. Version',
'download_header_reviewer' => 'Prüfer',
'download_header_review_comment' => 'Prüfkommentar',
@ -1617,6 +1620,7 @@ Benutzer: [username]<br />
URL: [url]</p>',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion',
'removeFolderFromDropFolder' => 'Ordner nach Import entfernen',
'removeFolderFromDropFolder_desc' => 'Schalten Sie dies ein, um den importierten Ordner im Ablageordner auf der Festplatte zu löschen.',
'remove_approval_log' => 'Einzelne Freigabe entfernen',
'remove_marked_files' => 'Markierte Dateien löschen',
'remove_review_log' => 'Einzelne Prüfung entfernen',
@ -1920,6 +1924,7 @@ URL: [url]</p>',
'select_category' => 'Klicken zur Auswahl einer Kategorie',
'select_created' => 'Klicken zur Auswahl des Erstellungsdatums',
'select_documents_for_process' => 'Dokumente auswählen',
'select_folder' => 'Ordner auswählen',
'select_group' => 'Gruppe auswählen',
'select_groups' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_approvers' => 'Klicken zur Auswahl einer Freigabegruppe',
@ -1974,7 +1979,9 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'service_name' => 'Service-Name',
'sessions' => 'Benutzer Online',
'setDateFromFile' => 'Datum von importierter Datei übernehmen',
'setDateFromFile_desc' => 'Übernimmt das Datum der zu importierenden Datei als Datum des Dokuments in SeedDMS',
'setDateFromFolder' => 'Datum von importierten Verzeichnis übernehmen',
'setDateFromFolder_desc' => 'Übernimmt das Datum des zu importierenden Ordners als Datum des Ordners in SeedDMS',
'settings' => 'Einstellungen',
'settings_activate_module' => 'Modul aktivieren',
'settings_activate_php_extension' => 'PHP-Erweiterung aktivieren',
@ -2072,6 +2079,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_delete_install_folder' => 'Um SeedDMS nutzen zu können, müssen Sie die Datei ENABLE_INSTALL_TOOL aus dem Konfigurationsverzeichnis löschen.',
'settings_disableChangePassword' => 'Kein Ändern des eigenen Passworts',
'settings_disableChangePassword_desc' => 'Anwählen, um das Ändern des eigenen Passworts zu unterbinden. Schalten Sie dies ein, wenn LDAP-Authentifizierung verwendet wird. Es verhindert, dass Benutzer ein Passwort in der Datenbank setzen und damit die LDAP-Authentifizierung umgehen.',
'settings_disableReceiptComment' => 'Kommentar für Empfangsbestätigung ausschalten',
'settings_disableReceiptComment_desc' => 'Wenn Sie dies einschalten wird bei der Empfangsbestätigung kein Kommentar abgefragt.',
'settings_disableSelfEdit' => 'Kein Ändern des eigenen Profils',
'settings_disableSelfEdit_desc' => 'Anwählen, um das Ändern des eigenen Profiles zu verhindern.',
'settings_disable_install' => 'Lösche ENABLE_INSTALL_TOOL wenn möglich',
@ -2196,6 +2205,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_encryptionKey' => 'Verschlüsselungs-Sequenz',
'settings_encryptionKey_desc' => 'Diese Zeichenkette wird verwendet um eine eindeutige Kennung zu erzeugen, die als verstecktes Feld in einem Formular untergebracht wird. Sie dient zur Verhinderung von CSRF-Attacken.',
'settings_error' => 'Fehler',
'settings_excludeFoldersDashboard' => 'Ordner nicht für das Dashboard berücksichtigen',
'settings_excludeFoldersDashboard_desc' => 'Diese Ordner werden bei der Ausgabe der Dokumente auf dem Dashboard nicht berücksichtigt. Das kann z.B. für archivierte Dokumente oder Dokumente im Mülleimer sinnvoll sein.',
'settings_expandFolderTree' => 'Dokumenten-Baum',
'settings_expandFolderTree_desc' => 'Auswählen, wie der Dokumenten-Baum nach der Anmeldung angezeigt wird.',
'settings_expandFolderTree_val0' => 'versteckt',
@ -2254,6 +2265,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_logFileEnable_desc' => 'Anwählen, um alle Aktionen in einer Log-Datei im Datenverzeichnis zu speichern.',
'settings_logFileMaxLevel' => 'Maximal Log-Level',
'settings_logFileMaxLevel_desc' => 'Alle Meldungen bis zu diesem Level werden protokolliert',
'settings_logFileRestApiMaxLevel' => 'Rest Api maximal Log-Level',
'settings_logFileRestApiMaxLevel_desc' => 'Alle Meldungen der Rest Api bis zu diesem Level werden protokolliert',
'settings_logFileRotation' => 'Rotation der Log-Datei',
'settings_logFileRotation_desc' => 'Zeitraum nachdem eine Rotation der Log-Datei durchgeführt wird',
'settings_loginFailure' => 'Anmeldefehlversuche',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -491,6 +492,8 @@ $text = array(
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1162,6 +1165,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
@ -1317,6 +1321,7 @@ URL: [url]',
'select_category' => 'Επιλογή κατηγορίας',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Επιλογή ομάδας',
'select_groups' => '',
'select_grp_approvers' => '',
@ -1364,7 +1369,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Ρυθμίσεις',
'settings_activate_module' => '',
'settings_activate_php_extension' => '',
@ -1462,6 +1469,8 @@ URL: [url]',
'settings_delete_install_folder' => '',
'settings_disableChangePassword' => 'Disable changing password',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
'settings_disable_install' => '',
@ -1586,6 +1595,8 @@ URL: [url]',
'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '',
'settings_error' => '',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '',
@ -1644,6 +1655,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '',
'settings_logFileRotation_desc' => '',
'settings_loginFailure' => '',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2517), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2531), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
'2_factor_auth_code' => '2nd factor',
'2_factor_auth_info' => 'This system enforces 2 factor authentication. You will need an Authenticator on your mobile phone. Below you see two QR codes. The right one is your current secret. On the left you can set a new secret. If you set a new secret make sure to rescan it with your preffered authenticator, e.g. andOTP.',
'2_fact_auth_current_secret' => 'Current secret',
'2_fact_auth_new_secret' => 'New secret',
@ -711,6 +712,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Document name',
'download_header_document_no' => 'Document no',
'download_header_filename' => 'File name',
'download_header_folder_name' => 'Folder name',
'download_header_folder_no' => 'Folder no.',
'download_header_internal_version' => 'Int. version',
'download_header_reviewer' => 'Reviewer',
'download_header_review_comment' => 'Review comment',
@ -1619,6 +1622,7 @@ User: [username]<br />
URL: [url]</p>',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Remove folder after import',
'removeFolderFromDropFolder_desc' => 'Enable this if you want the folder which was imported to be removed from the drop folder.',
'remove_approval_log' => 'Remove approval',
'remove_marked_files' => 'Remove marked files',
'remove_review_log' => 'Remove review',
@ -1922,6 +1926,7 @@ URL: [url]</p>',
'select_category' => 'Click to select category',
'select_created' => 'Click to select date of creation',
'select_documents_for_process' => 'Select documents',
'select_folder' => 'Select folder',
'select_group' => 'Select group',
'select_groups' => 'Click to select groups',
'select_grp_approvers' => 'Click to select group approver',
@ -1976,7 +1981,9 @@ If you did not receive a password, please use the password forgotten function on
'service_name' => 'Name of service',
'sessions' => 'Users online',
'setDateFromFile' => 'Take over date from imported file',
'setDateFromFile_desc' => 'Take over the date of the imported file as the date of the document in SeedDMS',
'setDateFromFolder' => 'Take over date from imported folder',
'setDateFromFolder_desc' => 'Take over the date of the imported directory as the date of the folder in SeedDMS',
'settings' => 'Settings',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
@ -2074,6 +2081,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_delete_install_folder' => 'In order to use SeedDMS, you must delete the file ENABLE_INSTALL_TOOL in the configuration directory',
'settings_disableChangePassword' => 'Disallow changing own password',
'settings_disableChangePassword_desc' => 'If checked the user cannot change his/her password. Turn this on if LDAP authentication is used. It prevents setting a database password and circumvent LDAP authentication.',
'settings_disableReceiptComment' => 'Disable comment for reception',
'settings_disableReceiptComment_desc' => 'Turning this on will disable comments for receptions.',
'settings_disableSelfEdit' => 'Disable Self Edit',
'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile',
'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible',
@ -2198,6 +2207,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_encryptionKey' => 'Encryption key',
'settings_encryptionKey_desc' => 'This string is used for creating a unique identifier being added as a hidden field to a form in order to prevent CSRF attacks.',
'settings_error' => 'Error',
'settings_excludeFoldersDashboard' => 'Exclude folders from dashboard',
'settings_excludeFoldersDashboard_desc' => 'This folders will not be checked for documents shown on the dashboard. This can be useful for archived documents or documents in the trash.',
'settings_expandFolderTree' => 'Expand Folder Tree',
'settings_expandFolderTree_desc' => 'Expand Folder Tree',
'settings_expandFolderTree_val0' => 'start with tree hidden',
@ -2256,6 +2267,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_logFileEnable_desc' => 'Enable/disable log file',
'settings_logFileMaxLevel' => 'Maximum log level',
'settings_logFileMaxLevel_desc' => 'All messages up to this level will be logged',
'settings_logFileRestApiMaxLevel' => 'Rest Api maximum log level',
'settings_logFileRestApiMaxLevel_desc' => 'All messages of the Rest Api up to this level will be logged',
'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => 'The log file rotation',
'settings_loginFailure' => 'Login failure',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Autenticación de doble factor',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -566,6 +567,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1305,6 +1308,7 @@ nURL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento',
'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Eliminar ficheros marcados',
'remove_review_log' => '',
@ -1487,6 +1491,7 @@ URL: [url]',
'select_category' => 'Haga Click para seleccionar categoría',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleccionar Grupo',
'select_groups' => 'Haga Click para seleccionar grupos',
'select_grp_approvers' => 'Haga Click para seleccionar grupo de aprobadores',
@ -1534,7 +1539,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => 'Obtiene la fecha del archivo importado',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Obtiene la fecha de la carpeta importada',
'setDateFromFolder_desc' => '',
'settings' => 'Configuración',
'settings_activate_module' => 'Activar módulo',
'settings_activate_php_extension' => 'Activar extensión PHP',
@ -1632,6 +1639,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Deshabilitar autoedición',
'settings_disableSelfEdit_desc' => 'Si está seleccionado el usuario no podrá editar su propio perfil',
'settings_disable_install' => 'Eliminar el archivo ENABLE_INSTALL_TOOL se es posible',
@ -1756,6 +1765,8 @@ URL: [url]',
'settings_encryptionKey' => 'Clave de cifrado',
'settings_encryptionKey_desc' => 'Esta cadena se utiliza para crear un identificador único añadido como campo oculto a formularios para prevenir ataques CSRF.',
'settings_error' => 'Error',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandir árbol de carpetas',
'settings_expandFolderTree_desc' => 'Expandir árbol de carpetas',
'settings_expandFolderTree_val0' => 'Comenzar con el árbol oculto',
@ -1814,6 +1825,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Habilitar/Deshabilitar archivo de registro',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotación del archivo de registro',
'settings_logFileRotation_desc' => 'Rotación del archivo de registro',
'settings_loginFailure' => 'Fallo de acceso',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Authentification forte',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Ce système requiert une authentification à deux facteurs. Cela nécessite linstallation de Google Authenticator sur votre téléphone mobile. Ci-dessous sont visibles deux QR codes. Celui de droite correspond à votre clé secrète actuelle. Celui de gauche permet de définir une nouvelle clé secrète. Lorsque vous définissez une nouvelle clé secrète, assurez-vous de la scanner avec Google Authenticator.',
'2_fact_auth_current_secret' => 'Clé secrète actuelle',
'2_fact_auth_new_secret' => 'Nouvelle clé secrète',
@ -681,6 +682,8 @@ URL : [url]</p>',
'download_header_document_name' => 'Nom du document',
'download_header_document_no' => 'N° du document',
'download_header_filename' => 'Nom du fichier',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Version interne',
'download_header_reviewer' => 'Examinateur',
'download_header_review_comment' => 'Commentaire de vérification',
@ -1572,6 +1575,7 @@ Utilisateur : [username]<br />
URL : [url]</p>',
'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument',
'removeFolderFromDropFolder' => 'Suppression du dossier après importation',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => 'Approbation retirée',
'remove_marked_files' => 'Supprimer les fichiers sélectionnés',
'remove_review_log' => 'Vérification retirée',
@ -1869,6 +1873,7 @@ URL : [url]</p>',
'select_category' => 'Cliquer pour choisir une catégorie',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Sélectionner un groupe',
'select_groups' => 'Cliquer pour choisir un groupe',
'select_grp_approvers' => 'Cliquer pour choisir un groupe d\'approbateur',
@ -1921,7 +1926,9 @@ Nom : [username]
'service_name' => '',
'sessions' => 'Utilisateurs en ligne',
'setDateFromFile' => 'Reprendre la date du fichier importé',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Reprendre la date du dossier importé',
'setDateFromFolder_desc' => '',
'settings' => 'Configuration',
'settings_activate_module' => 'Activez le module',
'settings_activate_php_extension' => 'Activez l\'extension PHP',
@ -2019,6 +2026,8 @@ Nom : [username]
'settings_delete_install_folder' => 'Pour utiliser SeedDMS, vous devez supprimer le fichier ENABLE_INSTALL_TOOL dans le répertoire de configuration',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Désactiver auto modification',
'settings_disableSelfEdit_desc' => 'Si coché, l\'utilisateur ne peut pas éditer son profil',
'settings_disable_install' => 'Si possible, supprimer le fichier ENABLE_INSTALL_TOOL',
@ -2143,6 +2152,8 @@ Nom : [username]
'settings_encryptionKey' => 'Clé de cryptage',
'settings_encryptionKey_desc' => 'Cette chaîne est utilisée pour créer un identifiant unique étant ajouté comme champ masqué à un formulaire afin de prévenir des attaques CSRF.',
'settings_error' => 'Erreur',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Dérouler l\'arborescence des dossiers',
'settings_expandFolderTree_desc' => 'Dérouler l\'arborescence des dossiers',
'settings_expandFolderTree_val0' => 'Démarrer avec l\'arborescence cachée',
@ -2201,6 +2212,8 @@ Nom : [username]
'settings_logFileEnable_desc' => 'Active/désactive le fichier journal',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotation fichier journal',
'settings_logFileRotation_desc' => 'Rotation fichier journal',
'settings_loginFailure' => 'Max. échecs de connexion',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2-faktorska autentikacija',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -565,6 +566,8 @@ Internet poveznica: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1301,6 +1304,7 @@ Internet poveznica: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Uklonjeni tok rada iz ove verzije dokumenta',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Ukloni označene datoteke',
'remove_review_log' => '',
@ -1500,6 +1504,7 @@ Internet poveznica: [url]',
'select_category' => 'Kliknite za odabir kategorije',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Izaberi grupu',
'select_groups' => 'Kliknite za odabir grupa',
'select_grp_approvers' => 'Kliknite za odabir validatora grupe',
@ -1547,7 +1552,9 @@ Internet poveznica: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Postavke',
'settings_activate_module' => 'Aktiviraj modul',
'settings_activate_php_extension' => 'Aktiviraj PHP ekstenziju',
@ -1645,6 +1652,8 @@ Internet poveznica: [url]',
'settings_delete_install_folder' => 'Da bi koristili ProsperaDMS, morate izbrisati datoteku ENABLE_INSTALL_TOOL u mapi konfiguracije',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Onemogućite samostalno uređivanje',
'settings_disableSelfEdit_desc' => 'Ako je označeno, korisnik ne može uređivati svoj vlastiti profil',
'settings_disable_install' => 'Ako je moguće, izbrišite datoteku ENABLE_INSTALL_TOOL',
@ -1769,6 +1778,8 @@ Internet poveznica: [url]',
'settings_encryptionKey' => 'Ključ za šifriranje',
'settings_encryptionKey_desc' => 'Ovaj string se koristi za izradu jedinstvenog identifikatora koji će biti dodan kao skriveno polje u formularu kako bi se spriječili CSRF napadi.',
'settings_error' => 'Greška',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Proširi stablo mape',
'settings_expandFolderTree_desc' => 'Proširi stablo mape',
'settings_expandFolderTree_val0' => 'započni sa skrivenim stablom',
@ -1827,6 +1838,8 @@ Internet poveznica: [url]',
'settings_logFileEnable_desc' => 'Omogući/onemogući log datoteku',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => 'The log file rotation',
'settings_loginFailure' => 'Neuspješna prijava',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Kétfaktoros azonosítás',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'A rendszernek két faktoros hitelesítése van. Szükséged lesz a Google Authenticator-ra a mobil telefonodon. Lejebb látható két QR kód. A jobb oldali a saját jelszavát, a baloldali egy új titkos jelszót tartalmaz. Ha új jelszót szeretne beállítani, szkennelje be újra a Goolge Authenticator-al.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -560,6 +561,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1296,6 +1299,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Megjelölt állományok eltávolítása',
'remove_review_log' => '',
@ -1477,6 +1481,7 @@ URL: [url]',
'select_category' => 'Kattintson a kategória kiválasztásához',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Csoport kiválasztása',
'select_groups' => 'Kattintson a csoportok kijelöléséhez',
'select_grp_approvers' => 'Kattintson a csoport jóváhagyó kijelöléséhez',
@ -1524,7 +1529,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Beállítások',
'settings_activate_module' => 'Modul aktiválása',
'settings_activate_php_extension' => 'PHP kiterjesztés aktiválása',
@ -1622,6 +1629,8 @@ URL: [url]',
'settings_delete_install_folder' => 'A SeedDMS használatához törölnie kell a konfigurációs könyvtárban található ENABLE_INSTALL_TOOL állományt.',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Saját adatok szerkesztésének tiltása',
'settings_disableSelfEdit_desc' => 'Ha be van jelölve a felhasználó nem szerkesztheti saját profilját',
'settings_disable_install' => 'Törölje az ENABLE_INSTALL_TOOL állományt, ha lehetséges',
@ -1746,6 +1755,8 @@ URL: [url]',
'settings_encryptionKey' => 'Titkosító kulcs',
'settings_encryptionKey_desc' => 'Ez a karaktersorozat használható egyedi azonosító létrehozásához amely rejtett mezőként lesz hozzáadva az űrlapokhoz a CSRF támadások megelőzésére.',
'settings_error' => 'Hiba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Mappa fastruktúra kibontása',
'settings_expandFolderTree_desc' => 'Mappa fastruktúra kibontása',
'settings_expandFolderTree_val0' => 'indulás rejtett fastruktúrával',
@ -1804,6 +1815,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Naplóállomány engedélyezése/tiltása',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Naplóállomány forgatása',
'settings_logFileRotation_desc' => 'A naplóállomány forgatása',
'settings_loginFailure' => 'Bejelentkezési hiba',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => 'Kunci rahasi saat ini',
'2_fact_auth_new_secret' => '',
@ -615,6 +616,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Nama dokumen',
'download_header_document_no' => 'Nomor Dokumen',
'download_header_filename' => 'Nama berkas',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Int. versi',
'download_header_reviewer' => 'Pengulas',
'download_header_review_comment' => '',
@ -1405,6 +1408,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Hapus folder setelah diimpor',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => 'Hapus persetujuan',
'remove_marked_files' => 'Hapus file yang ditandai',
'remove_review_log' => 'Hapus ulasan',
@ -1560,6 +1564,7 @@ URL: [url]',
'select_category' => 'Klik untuk memilih kategori',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Pilih group',
'select_groups' => 'Klik untuk memilih groups',
'select_grp_approvers' => 'Klik untuk memilih group approver',
@ -1614,7 +1619,9 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'service_name' => '',
'sessions' => 'Pengguna Online',
'setDateFromFile' => 'Ambil alih tanggal dari file yang diimpor',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Ambil alih tanggal dari folder yang diimpor',
'setDateFromFolder_desc' => '',
'settings' => 'Pengaturan',
'settings_activate_module' => 'Aktifkan modul',
'settings_activate_php_extension' => 'Aktifkan ekstensi PHP',
@ -1712,6 +1719,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_delete_install_folder' => 'Untuk menggunakan SeedDMS, Anda harus menghapus file ENABLE_INSTALL_TOOL di direktori konfigurasi',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => 'Jika dicentang, pengguna tidak dapat mengedit profilnya sendiri',
'settings_disable_install' => '',
@ -1836,6 +1845,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '',
'settings_error' => 'Galat',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '',
@ -1894,6 +1905,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_logFileEnable_desc' => '',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '',
'settings_logFileRotation_desc' => '',
'settings_loginFailure' => 'Gagal masuk',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Questo sistema usa autenticazione a due fattori. Sarà necessario il “Google Authenticator” sul tuo telephono cellulare. Qui potete vedere due codici QR. Quello di destra è il tuo segreto. è sulla sinistra chè un nuovo segreto. Se si imposta un nuovo segreto per assicurarsi si deve scansione con “Google Authenticator” di nuovo.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -570,6 +571,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1314,6 +1317,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento',
'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Rimuovi i files contrassegnati',
'remove_review_log' => '',
@ -1518,6 +1522,7 @@ URL: [url]',
'select_category' => 'Clicca per selezionare la categoria',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleziona gruppo',
'select_groups' => 'Clicca per selezionare i gruppi',
'select_grp_approvers' => 'Seleziona gruppo approvatore',
@ -1570,7 +1575,9 @@ Name: [username]
'service_name' => '',
'sessions' => 'Utenti online',
'setDateFromFile' => 'Prende la data dal file importato',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Prende la data dalla cartella importata',
'setDateFromFolder_desc' => '',
'settings' => 'Impostazioni',
'settings_activate_module' => 'Attivazione modulo',
'settings_activate_php_extension' => 'Attivazione estensione PHP',
@ -1668,6 +1675,8 @@ Name: [username]
'settings_delete_install_folder' => 'Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione.',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Disabilita auto-modifica',
'settings_disableSelfEdit_desc' => 'Se selezionato l\'utente non può modificare il proprio profilo',
'settings_disable_install' => 'Prova ad eliminare il file ENABLE_INSTALL_TOOL se possibile',
@ -1792,6 +1801,8 @@ Name: [username]
'settings_encryptionKey' => 'Chiave di criptazione',
'settings_encryptionKey_desc' => 'La chiave viene usata per creare un identificatore unico da aggiungere come campo nascosto ad un formulario per protezione da attacchi CSRF.',
'settings_error' => 'Errore',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Espandi l\'albero delle cartelle',
'settings_expandFolderTree_desc' => 'Espandi la struttura ad albero delle cartelle',
'settings_expandFolderTree_val0' => 'Inizia con l\'albero nascosto',
@ -1850,6 +1861,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Abilita/disabilita il file di registro',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotazione del file di registro',
'settings_logFileRotation_desc' => 'Abilita/disabilita la rotazione del file di registro',
'settings_loginFailure' => 'Login fallito',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '이중 인증',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -566,6 +567,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1295,6 +1298,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '마크 파일을 제거',
'remove_review_log' => '',
@ -1494,6 +1498,7 @@ URL : [url]',
'select_category' => '범주를 선택합니다',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '',
'select_groups' => '그룹을 선택합니다',
'select_grp_approvers' => '그룹 승인을 선택합니다',
@ -1541,7 +1546,9 @@ URL : [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => '설정',
'settings_activate_module' => '모듈 활성화',
'settings_activate_php_extension' => 'PHP 확장 활성화',
@ -1639,6 +1646,8 @@ URL : [url]',
'settings_delete_install_folder' => 'SeedDMS을 사용하려면 구성 디렉토리의 파일 ENABLE_INSTALL_TOOL을 삭제해야합니다',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '자체 수정 불가',
'settings_disableSelfEdit_desc' => '확인시 사용자가 자신의 프로필을 편집 할 수 없음',
'settings_disable_install' => 'ENABLE_INSTALL_TOOL 삭제',
@ -1763,6 +1772,8 @@ URL : [url]',
'settings_encryptionKey' => '암호화 키',
'settings_encryptionKey_desc' => '이 문자열은 CSRF 공격을 방지하기 위해 formular에 숨겨진 필드로 추가되는 고유 식별자를 만드는 데 사용된다.',
'settings_error' => '오류',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '폴더 트리 확장',
'settings_expandFolderTree_desc' => '폴더 트리 확장',
'settings_expandFolderTree_val0' => '숨겨진 Tree로 시작',
@ -1821,6 +1832,8 @@ URL : [url]',
'settings_logFileEnable_desc' => '로그 파일 활성 / 비활성화',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '로그 파일 회전',
'settings_logFileRotation_desc' => '로그 파일 회전',
'settings_loginFailure' => '로그인 실패',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'ການກວດສອບແບບ 2 ປັດໃຈ',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'ລະບົບນີ້ໄຊ້ການກວດສອບແບບ 02 ປັດໃຈ. ເຈົ້າຈະຕ້ອງມີ Google Authenticator ໃນໂທລະສັບມືຖືຂອງທ່ານ. ດ້ານລຸ່ມແມ່ນມີ QR Codes ສອງແບບ ທາງດ້ານຂວາຈະມີຄວາມເປັນສ່ວນຕົວຂອງເຈົ້າ, ສ່ວນດ້ານຊ້າຍຂອງເຈົ້າແມ່ນຈະສາມາດຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່. ຖ້າເຈົ້າຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່ຮຽບຮ້ອຍ ແລ້ວນັ້ນໃຫ້ແນ່ໃຈວ່າໄດ້ສະແກນອີກຄັ້ງດ້ວຍ Google Authenticator',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -563,6 +564,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1311,6 +1314,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ',
'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້',
'remove_review_log' => '',
@ -1515,6 +1519,7 @@ URL: [url]',
'select_category' => 'ຄິກເພື່ອເລືອກປະເພດ',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '',
'select_groups' => 'ຄິກເລືອກກຸ່ມ',
'select_grp_approvers' => 'ຄິກເພືອເລືອກຜູ້ອະນຸມັດກຸ່ມ',
@ -1567,7 +1572,9 @@ URL: [url]',
'service_name' => '',
'sessions' => 'ຜູ້ໄຊ້ອອນລາຍ',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'ການຕັ້ງຄ່າ',
'settings_activate_module' => 'ເປີດໄຊ້ງານໂມດູນ',
'settings_activate_php_extension' => 'ຂະຫຍາຍພື້ນທີການໄຊ້ງານຂອງ PHP',
@ -1665,6 +1672,8 @@ URL: [url]',
'settings_delete_install_folder' => 'ໃນການໄຊ້ SeedDMS, ເຈົ້າຈະຕ້ອງລົບໄຟລ ເປີດໄຊ້ງານ_ຕິດຕັ້ງ_ເຄື່ອງມືໃນການບໍລິຫານ ການກຳນົດຄ່າ',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'ແກ້ໄຂການປິດໄຊ້ງານດ້ວຍຕົວເອງ',
'settings_disableSelfEdit_desc' => 'ກວດຄືນເບິ່ງວ່າຍ້ອນຫຍັງຜູ້ນຳໄຊ້ຈື່ງບໍ່ສາມາດແກ້ໄຂໂປລໄຟລຂອງພວກເຂົາໄດ້',
'settings_disable_install' => 'ຖ້າເປັນໄປໄດ້ ລົບໄຟລເປີດໄຊ້ງານ-ຕິດຕັ້ງ-ເຄື່ອງມື ຖ້າເປັນໄປໄດ້',
@ -1789,6 +1798,8 @@ URL: [url]',
'settings_encryptionKey' => 'ກະແຈການເຂົ້າລະຫັດລັບ',
'settings_encryptionKey_desc' => 'ສະຕິງນີ້ໄຊ້ສຳຫຼັບສ້າງຕົວ',
'settings_error' => 'ຄວາມຜິດພາດ',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'ຂະຫຍານທີໂຟລເດີ',
'settings_expandFolderTree_desc' => 'ຂະຫຍານທີໂຟລເດີ',
'settings_expandFolderTree_val0' => 'ການເລີ່ມຕົ້ນດ້ວຍສາຂາຍ່ອຍ',
@ -1847,6 +1858,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'ເປີດ/ປິດ ໃຊ້ວຽກໄຟລບັນທຶກ',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'ການໝຸນແຟ້ມບັນທືກ',
'settings_logFileRotation_desc' => 'ການໝຸນແຟ້ມບັນທືກ',
'settings_loginFailure' => 'ຄວາມລົ້ມເຫຼວໃນການເຂົາເຖີງ',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2-trinns autentisering',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Dette systemet håndhever 2-faktor autentisering. Du trenger Google Authenticator på mobiltelefonen din. Nedenfor ser du to QR-koder. Den rette er din nåværende hemmelighet. På venstre side kan du angi en ny hemmelighet. Hvis du angir en ny hemmelighet, må du huske å skanne den på nytt med Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1326,6 +1329,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen',
'removeFolderFromDropFolder' => 'Fjern mappe etter import',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Fjern markerte filer',
'remove_review_log' => '',
@ -1530,6 +1534,7 @@ URL: [url]',
'select_category' => 'Klikk for å velge kategori',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Klikk for å velge gruppe',
'select_groups' => 'Klikk for å velge grupper',
'select_grp_approvers' => 'Klikk for å velge gruppe godkjennere',
@ -1580,7 +1585,9 @@ Bruker: [username]
'service_name' => '',
'sessions' => 'Brukere innlogget',
'setDateFromFile' => 'Overta dato fra importert fil',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Overta dato fra importert mappe',
'setDateFromFolder_desc' => '',
'settings' => 'Innstillinger',
'settings_activate_module' => 'Aktiver modul',
'settings_activate_php_extension' => 'Aktiver PHP-utvidelse',
@ -1678,6 +1685,8 @@ Bruker: [username]
'settings_delete_install_folder' => 'For å bruke SeedDMS, må du slette filen ENABLE_INSTALL_TOOL i konfigurasjonsmappen',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Deaktiver selvredigering',
'settings_disableSelfEdit_desc' => 'Hvis merket kan brukeren ikke redigere sin egen profil',
'settings_disable_install' => 'Slett filen ENABLE_INSTALL_TOOL hvis mulig',
@ -1802,6 +1811,8 @@ Bruker: [username]
'settings_encryptionKey' => 'Krypteringsnøkkel',
'settings_encryptionKey_desc' => 'Denne strengen brukes til å lage en unik identifikator som blir lagt til som et skjult felt til et skjema for å forhindre CSRF-angrep.',
'settings_error' => 'Feil',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Utvid mappetreet',
'settings_expandFolderTree_desc' => 'Utvid mappetreet',
'settings_expandFolderTree_val0' => 'starte med treet gjemt',
@ -1860,6 +1871,8 @@ Bruker: [username]
'settings_logFileEnable_desc' => 'Aktiver/deaktiver loggfil',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Loggfil rotasjon',
'settings_logFileRotation_desc' => 'Loggfil rotasjon',
'settings_loginFailure' => 'Påloggingsfeil',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2-factor-authenticatie',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Dit systeem werkt met 2-factor-authenticatie. U heeft de Google Authenticator nodig op uw mobiele telfoon. Hieronder staan 2 QR-codes. De rechter is uw huidige geheime code. Met de linker kunt u een nieuwe geheime code instellen. Denk erom de nieuwe code opnieuw te scannen met Googke Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -570,6 +571,8 @@ URL: [url]',
'download_header_document_name' => 'Naam document',
'download_header_document_no' => 'Document nr.',
'download_header_filename' => 'Filenaam',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Interne versie',
'download_header_reviewer' => 'Beoordelaar',
'download_header_review_comment' => 'Commentaar bij beoordeling',
@ -1324,6 +1327,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie',
'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd',
'remove_review_log' => '',
@ -1527,6 +1531,7 @@ URL: [url]',
'select_category' => 'klik om categorie te selecteren',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecteer groep',
'select_groups' => 'Klik om groep te selecteren',
'select_grp_approvers' => 'Klik om beoordelaars te selecteren',
@ -1579,7 +1584,9 @@ Name: [username]
'service_name' => '',
'sessions' => 'sessies',
'setDateFromFile' => 'Gebruik de datum van de geïmporteerde file',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Gebruik de datum van de geïmporteerde map',
'setDateFromFolder_desc' => '',
'settings' => 'Instellingen',
'settings_activate_module' => 'Activeer module',
'settings_activate_php_extension' => 'Activeer PHP uitbreiding',
@ -1677,6 +1684,8 @@ Name: [username]
'settings_delete_install_folder' => 'Om SeedDMS te kunnen gebruiken moet het bestand ENABLE_INSTALL_TOOL uit de configuratiemap verwijderd worden.',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Uitschakelen Eigenprofiel wijzigen',
'settings_disableSelfEdit_desc' => 'Indien aangevinkt kan de gebruiker zijn eigen profiel niet wijzigen.',
'settings_disable_install' => 'Verwijder het bestand ENABLE_INSTALL_TOOL indien mogelijk',
@ -1801,6 +1810,8 @@ Name: [username]
'settings_encryptionKey' => 'Sleutel voor encryptie',
'settings_encryptionKey_desc' => 'Deze string wordt gebruikt om een unieke identificatie als onzichtbaar veld aan een formulier toe te voegen om CSRF aanvallen tegen te gaan.',
'settings_error' => 'Fout',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Uitvouwen mappenstructuur',
'settings_expandFolderTree_desc' => 'Uitvouwen mappenstructuur',
'settings_expandFolderTree_val0' => 'begin met verborgen structuur',
@ -1859,6 +1870,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Inschakelen/uitschakelen logbestand',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotering Logbestand',
'settings_logFileRotation_desc' => 'Rotering Logbestand',
'settings_loginFailure' => 'Login-fout',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Uwierzytelnianie dwuetapowe',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Uwierzytelnianie dwuetapowe',
'2_fact_auth_current_secret' => 'Obecny poufny kod',
'2_fact_auth_new_secret' => 'Nowy poufny kod',
@ -553,6 +554,8 @@ URL: [url]',
'download_header_document_name' => 'Nazwa dokumentu',
'download_header_document_no' => 'Numer dokumentu',
'download_header_filename' => 'Nazwa pliku',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Wersja wewnętrzna',
'download_header_reviewer' => 'Recenzent',
'download_header_review_comment' => 'Komentarz recezenta',
@ -1290,6 +1293,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty przepływ dokumentu z wersji dokumentu',
'removeFolderFromDropFolder' => 'Usuń folder po imporcie',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Usuń zaznaczone pliki',
'remove_review_log' => '',
@ -1458,6 +1462,7 @@ URL: [url]',
'select_category' => 'Kliknij by wybrać kategorię',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Wybierz grupę',
'select_groups' => 'Kliknij by wybrać grupy',
'select_grp_approvers' => 'Kliknij by wybrać grupę zatwierdzającą',
@ -1510,7 +1515,9 @@ Name: [username]
'service_name' => '',
'sessions' => 'Sesja',
'setDateFromFile' => 'Przejmij datę z importowanego pliku',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Przejmij datę z importowanego folderu',
'setDateFromFolder_desc' => '',
'settings' => 'Ustawienia',
'settings_activate_module' => 'Aktywuj moduł',
'settings_activate_php_extension' => 'Aktywuj rozszerzenie PHP',
@ -1608,6 +1615,8 @@ Name: [username]
'settings_delete_install_folder' => 'Aby móc używać SeedDMS, musisz usunąć plik ENABLE_INSTALL_TOOL znajdujący się w katalogu konfiguracyjnym',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Wyłącz auto edycję',
'settings_disableSelfEdit_desc' => 'Jeśli zaznaczone, użytkownik nie może zmieniać własnych danych',
'settings_disable_install' => 'Usuń plik ENABLE_INSTALL_TOOL jeśli to możliwe',
@ -1732,6 +1741,8 @@ Name: [username]
'settings_encryptionKey' => 'Klucz szyfrujący',
'settings_encryptionKey_desc' => 'Ten ciąg znaków jest używany do tworzenia unikatowego identyfikatora dodawanego jako ukryte pole do formularza aby zapobiec atakom CSRF.',
'settings_error' => 'Błąd',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozwiń drzewo katalogów',
'settings_expandFolderTree_desc' => 'Rozwiń drzewo katalogów',
'settings_expandFolderTree_val0' => 'Rozpocznij z ukrytym drzewem',
@ -1790,6 +1801,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Włącz/Wyłącz plik dziennika',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotowanie pliku dziennika',
'settings_logFileRotation_desc' => 'Rotowanie pliku dziennika',
'settings_loginFailure' => 'Błędy logowania',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Autenticação de dois fatores',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Este sistema impõe a autenticação de 2 fatores. Você precisará do Google Authenticator no seu celular. Abaixo você vê dois códigos QR. O caminho certo é o seu atual segredo. À esquerda, você pode definir um novo segredo. Se você definir um novo segredo, verifique novamente com o Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1331,6 +1334,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento',
'removeFolderFromDropFolder' => 'Remover pasta após a importação',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Remover arquivos marcados',
'remove_review_log' => '',
@ -1534,6 +1538,7 @@ URL: [url]',
'select_category' => 'Clique para selecionar a categoria',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecione o grupo',
'select_groups' => 'Clique para selecionar os grupos',
'select_grp_approvers' => 'Clique para selecionar o grupo aprovador',
@ -1586,7 +1591,9 @@ Nome: [username]
'service_name' => '',
'sessions' => 'Online',
'setDateFromFile' => 'Assumir a data do arquivo importado',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Assumir a data da pasta importada',
'setDateFromFolder_desc' => '',
'settings' => 'Configurações',
'settings_activate_module' => 'Ativar módulo',
'settings_activate_php_extension' => 'Ativar extensão PHP',
@ -1684,6 +1691,8 @@ Nome: [username]
'settings_delete_install_folder' => 'Para utilizar Sistema GED, você deve excluir o arquivo ENABLE_INSTALL_TOOL do diretório de configuração',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Desativar Auto Editar',
'settings_disableSelfEdit_desc' => 'Se selecionado o usuário não poderá editar seu próprio perfil',
'settings_disable_install' => 'Elimine o arquivo ENABLE_INSTALL_TOOL se possível',
@ -1808,6 +1817,8 @@ Nome: [username]
'settings_encryptionKey' => 'Chave de criptografia',
'settings_encryptionKey_desc' => 'Esta cadeia é usada para a criação de um identificador único a ser adicionado como um campo oculto para formular, a fim de evitar ataques CSRF.',
'settings_error' => 'Erro',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandir a árvore de pastas',
'settings_expandFolderTree_desc' => 'Expanda a Árvore de Pastas',
'settings_expandFolderTree_val0' => 'começar com a árvore escondida',
@ -1866,6 +1877,8 @@ Nome: [username]
'settings_logFileEnable_desc' => 'Ativar/Dasativar arquivo log',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotação do Arquivo Log',
'settings_logFileRotation_desc' => 'A rotação de arquivo de log',
'settings_loginFailure' => 'Falha de login',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -565,6 +566,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1302,6 +1305,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Eliminați fișierele marcate',
'remove_review_log' => '',
@ -1501,6 +1505,7 @@ URL: [url]',
'select_category' => 'Click pentru a selecta categoria',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecteaza grupul',
'select_groups' => 'Click pentru a selecta grupuri',
'select_grp_approvers' => 'Click pentru a selecta grupul de aprobatori',
@ -1548,7 +1553,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Setări',
'settings_activate_module' => 'Activați modulul',
'settings_activate_php_extension' => 'Activați extensia PHP',
@ -1646,6 +1653,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Pentru a utiliza SeedDMS, trebuie să ștergeți fișierul ENABLE_INSTALL_TOOL din directorul de configurare',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Dezactivați Auto Editarea',
'settings_disableSelfEdit_desc' => 'Dacă este bifată, utilizatorul nu va putea să-și editeze profilul',
'settings_disable_install' => 'Ștergeți fișierul ENABLE_INSTALL_TOOL dacă este posibil',
@ -1770,6 +1779,8 @@ URL: [url]',
'settings_encryptionKey' => 'Cheia de criptare',
'settings_encryptionKey_desc' => 'Acest șir este utilizat pentru crearea unui identificator unic ce este adăugat ca un câmp ascuns pentru un formular, cu scopul de a preveni atacurile CSRF.',
'settings_error' => 'Eroare',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandați ierarhia Folderului',
'settings_expandFolderTree_desc' => 'Expandați ierarhia Folderului',
'settings_expandFolderTree_val0' => 'începeți cu ierarhia ascunsă',
@ -1828,6 +1839,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Activare/dezactivare log fișier',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotire Log fișiser',
'settings_logFileRotation_desc' => 'Rotirea Log-ului fișierului',
'settings_loginFailure' => 'Eșec Autentificare',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'Двухфакторная аутентификация',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Использовать усиленную проверку подлинности',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -565,6 +566,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1304,6 +1307,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Удалить выбранные файлы',
'remove_review_log' => '',
@ -1508,6 +1512,7 @@ URL: [url]',
'select_category' => 'Выберите категорию',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Выберите группу',
'select_groups' => 'Выберите группы',
'select_grp_approvers' => 'Выберите утверждающую группу',
@ -1555,7 +1560,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Настройки',
'settings_activate_module' => 'Активировать модуль',
'settings_activate_php_extension' => 'Активировать расширение PHP',
@ -1653,6 +1660,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Удалите ENABLE_INSTALL_TOOL в каталоге конфигурации, для того что бы начать использовать систему',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Отключить собственное редактирование',
'settings_disableSelfEdit_desc' => 'Если включено, пользователи не смогут изменять информацию о себе.',
'settings_disable_install' => 'Удалить ENABLE_INSTALL_TOOL, если возможно',
@ -1777,6 +1786,8 @@ URL: [url]',
'settings_encryptionKey' => 'Ключ шифрования',
'settings_encryptionKey_desc' => 'Строка используется для создания уникального идентификатора, добавляемого как скрытые поля к формулярам, для предотвращения CSRF-атак.',
'settings_error' => 'Ошибка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Разворачивать дерево каталогов',
'settings_expandFolderTree_desc' => 'Разворачивать дерево каталогов.',
'settings_expandFolderTree_val0' => 'Начинать со свёрнутого дерева',
@ -1835,6 +1846,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Включить/отключить журнал.',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Ротация журнала',
'settings_logFileRotation_desc' => 'Ротация файла журнала.',
'settings_loginFailure' => 'Не удалось войти',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2-faktorové overovanie',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'This system enforces 2 factor authentication. You will need the Google Authenticator on your mobile phone. Below you see two QR codes. The right one is your current secret. On the left you can set a new secret. If you set a new secret make sure to rescan it with Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1332,6 +1335,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Po importe odstrániť zložku',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Odstrániť označené súbory',
'remove_review_log' => '',
@ -1536,6 +1540,7 @@ URL: [url]',
'select_category' => 'Vyber kategóriu',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Vybrať skupinu',
'select_groups' => 'Kliknutím vyberte skupiny',
'select_grp_approvers' => 'Kliknutím vyberte schvaľovateľa skupiny',
@ -1588,7 +1593,9 @@ Meno: [username]
'service_name' => '',
'sessions' => 'Používatelia online',
'setDateFromFile' => 'Prebrať dátumy z importovaných súborov',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Prebrať dátumy z importovaných zložiek',
'setDateFromFolder_desc' => '',
'settings' => 'Nastavenia',
'settings_activate_module' => 'Aktivovať modul',
'settings_activate_php_extension' => 'Aktivovať PHP rozšírenie',
@ -1686,6 +1693,8 @@ Meno: [username]
'settings_delete_install_folder' => 'In order to use SeedDMS, you must delete the file ENABLE_INSTALL_TOOL in the configuration directory',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Disable Self Edit',
'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile',
'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible',
@ -1810,6 +1819,8 @@ Meno: [username]
'settings_encryptionKey' => 'Encryption key',
'settings_encryptionKey_desc' => 'This string is used for creating a unique identifier being added as a hidden field to a form in order to prevent CSRF attacks.',
'settings_error' => 'Chyba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozbaliť',
'settings_expandFolderTree_desc' => 'Rozbaliť strom zložiek',
'settings_expandFolderTree_val0' => 'začať so skrytou stromovou štruktúrou',
@ -1868,6 +1879,8 @@ Meno: [username]
'settings_logFileEnable_desc' => 'Povoliť/zakázať log súbor',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => 'The log file rotation',
'settings_loginFailure' => 'Prihlásenie zlyhalo',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2-faktors autentisering',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'För stöd av 2-faktors autentisering behöver du Google Authenticator installerad din mobiltelefon.
Nedan ser du två QR-koder. Den högra är din hemliga kod och till vänster kan du skapa en ny kod. Om du skapar en ny kod måste du skanna den nytt med Google Authenticator.',
'2_fact_auth_current_secret' => '',
@ -571,6 +572,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1305,6 +1308,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion',
'removeFolderFromDropFolder' => 'Radera katalog efter import',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Ta bort markerade filer',
'remove_review_log' => '',
@ -1509,6 +1513,7 @@ URL: [url]',
'select_category' => 'Klicka för att välja en kategori',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Välj grupp',
'select_groups' => 'Välj grupper',
'select_grp_approvers' => 'Välj en grupp som ska godkänna',
@ -1561,7 +1566,9 @@ Kommentar: [comment]',
'service_name' => '',
'sessions' => 'Användare online',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Inställningar',
'settings_activate_module' => 'Aktivera modul',
'settings_activate_php_extension' => 'Aktivera PHP-extension',
@ -1659,6 +1666,8 @@ Kommentar: [comment]',
'settings_delete_install_folder' => 'För att kunna använda LetoDMS måste du ta bort filen ENABLE_INSTALL_TOOL som finns i konfigurationsmappen.',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Inaktivera själveditering',
'settings_disableSelfEdit_desc' => 'Om ikryssad kan användare inte ändra sin egen profil.',
'settings_disable_install' => 'Ta bort filen ENABLE_INSTALL_TOOL, om det är möjligt.',
@ -1783,6 +1792,8 @@ Kommentar: [comment]',
'settings_encryptionKey' => 'Krypteringsnyckel',
'settings_encryptionKey_desc' => 'Denna sträng används för att generera en unik identifierare, som är inrymd som ett dolt fält i ett formulär. Det används för att förhindra CSRF-attacker.',
'settings_error' => 'Fel',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandera katalogträd',
'settings_expandFolderTree_desc' => 'Expandera katalogträd',
'settings_expandFolderTree_val0' => 'Börja med dolt träd',
@ -1841,6 +1852,8 @@ Kommentar: [comment]',
'settings_logFileEnable_desc' => 'Aktivera/Inaktivera loggfil',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Loggfils-rotation',
'settings_logFileRotation_desc' => 'Loggfils-rotation',
'settings_loginFailure' => 'Fel vid inloggning',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => 'İki faktörlü yetkilendirme',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -559,6 +560,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1296,6 +1299,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'İşaretli dosyaları sil',
'remove_review_log' => '',
@ -1478,6 +1482,7 @@ URL: [url]',
'select_category' => 'Kategori seçmek için tıklayın',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Grup Seç',
'select_groups' => 'Grup seçmek için tıklayın',
'select_grp_approvers' => 'Grup onaylayıcı seçmek için tıklayın',
@ -1525,7 +1530,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Ayarlar',
'settings_activate_module' => 'Modülü etkinleştir',
'settings_activate_php_extension' => 'PHP uzantısını etkinleştir',
@ -1623,6 +1630,8 @@ URL: [url]',
'settings_delete_install_folder' => 'SeedDMS kullanabilmeniz için konfigürasyon (conf) dizini içindeki ENABLE_INSTALL_TOOL dosyasını silmelisiniz',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Kendi kendine Düzenlemeyi Kapat',
'settings_disableSelfEdit_desc' => 'Seçilirse kullanıcı kendi profil ayarlarını değiştiremez.',
'settings_disable_install' => 'ENABLE_INSTALL_TOOL dosyasını silmeyi dene',
@ -1747,6 +1756,8 @@ URL: [url]',
'settings_encryptionKey' => 'Şifreleme anahtarı',
'settings_encryptionKey_desc' => 'Bu string, CSRF ataklarını önlemek için eşsiz id olarak kaydedilir.',
'settings_error' => 'Hata',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Klasör Ağacını Genişlet',
'settings_expandFolderTree_desc' => 'Klasör Ağacını Genişlet',
'settings_expandFolderTree_val0' => 'ağaç yapısı gizli olarak başlat',
@ -1805,6 +1816,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Log dosyasını etkinleştir/devredışı bırak',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log Dosyası rotasyonu',
'settings_logFileRotation_desc' => 'Log dosyasını seçeceğiniz zaman dilimine göre ayrı ayrı kaydet',
'settings_loginFailure' => 'Hatalı giriş sayısı',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -564,6 +565,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1303,6 +1306,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Видалити обрані файли',
'remove_review_log' => '',
@ -1500,6 +1504,7 @@ URL: [url]',
'select_category' => 'Оберіть категорію',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '',
'select_groups' => 'Оберіть групи',
'select_grp_approvers' => 'Оберіть групу затверджувачів',
@ -1547,7 +1552,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Налаштування',
'settings_activate_module' => 'Активувати модуль',
'settings_activate_php_extension' => 'Активувати розширення PHP',
@ -1645,6 +1652,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Видаліть ENABLE_INSTALL_TOOL в каталозі конфігурації для того, щоби почати використовувати систему',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Відключити власне редагування',
'settings_disableSelfEdit_desc' => 'Якщо ввімкнено, користувачі не зможуть змінювати інформацію про себе.',
'settings_disable_install' => 'Видалити ENABLE_INSTALL_TOOL, якщо можливо',
@ -1769,6 +1778,8 @@ URL: [url]',
'settings_encryptionKey' => 'Ключ шифрування',
'settings_encryptionKey_desc' => 'Рядок використовується для створення унікального ідентифікатора, який додається як приховане поле до формулярів, для запобігання CSRF-атак.',
'settings_error' => 'Помилка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Розгортати дерево каталогів',
'settings_expandFolderTree_desc' => 'Розгортати дерево каталогів.',
'settings_expandFolderTree_val0' => 'Починати із згорнутого дерева',
@ -1827,6 +1838,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Увімкнути/вимкнути протоколювання (лог).',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Ротація журналу (протоколу)',
'settings_logFileRotation_desc' => 'Ротація файлу журналу.',
'settings_loginFailure' => 'Не вдалося увійти',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '双重认证',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '该系统启用双重认证。您需要在手机上进行 Google 认证。下面你会看到两个 QR 码。正确的是你目前的密码。在左边你可以设置一个新的密码。如果您设置了新的密码,请重新扫描并通过 Google 认证。',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -559,6 +560,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1309,6 +1312,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流',
'removeFolderFromDropFolder' => '导入后删除文件夹',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '删除选中的文件',
'remove_review_log' => '',
@ -1483,6 +1487,7 @@ URL: [url]',
'select_category' => '选中分类',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '选择用户组',
'select_groups' => '点击选择组',
'select_grp_approvers' => '点击选择组审批组',
@ -1535,7 +1540,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '在线用户',
'setDateFromFile' => '导入文件接收日期',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '导入文件夹接收日期',
'setDateFromFolder_desc' => '',
'settings' => '设置',
'settings_activate_module' => '启用模块',
'settings_activate_php_extension' => '启用 PHP 扩展',
@ -1633,6 +1640,8 @@ URL: [url]',
'settings_delete_install_folder' => '在使用 DMS 前您必须先删除配置目录config下的 ENABLE_INSTALL_TOOL 文件',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '禁用自编辑',
'settings_disableSelfEdit_desc' => '若勾选,则用户不能编辑自己的档案信息',
'settings_disable_install' => '如有可能,则删除 ENABLE_INSTALL_TOOL 文件',
@ -1757,6 +1766,8 @@ URL: [url]',
'settings_encryptionKey' => '加密密钥',
'settings_encryptionKey_desc' => '这个字符串用于创建一个唯一的标识符并作为一个隐藏字段添加到表单中以防止CSRF攻击。',
'settings_error' => '错误',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '展开文件夹树',
'settings_expandFolderTree_desc' => '展开文件夹树',
'settings_expandFolderTree_val0' => '启动时隐藏树形结构',
@ -1815,6 +1826,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '启用 / 禁用日志文件',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '设置日志文件时间段',
'settings_logFileRotation_desc' => '日志文件时间段切换',
'settings_loginFailure' => '登录失败',

View File

@ -23,6 +23,7 @@
$text = array(
'2_factor_auth' => '2階段認證',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '此系統強制執行2階段身份驗證。您將需要在手機上使用Google Authenticator。在下面您可以看到兩個QR碼。正確的是您當前的秘密。在左側您可以設置一個新的秘密。如果您設置了新的機密請確保使用Google Authenticator重新掃描它。',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '',
'download_header_document_no' => '',
'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '',
'download_header_reviewer' => '',
'download_header_review_comment' => '',
@ -1330,6 +1333,7 @@ URL: [url]',
'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程',
'removeFolderFromDropFolder' => '導入後刪除文件夾',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '',
'remove_marked_files' => '刪除勾選的檔案',
'remove_review_log' => '',
@ -1534,6 +1538,7 @@ URL: [url]',
'select_category' => '選中分類',
'select_created' => '',
'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '選擇群',
'select_groups' => '點擊選擇組',
'select_grp_approvers' => '請點選審核人員群組',
@ -1586,7 +1591,9 @@ URL: [url]',
'service_name' => '',
'sessions' => '在線用戶',
'setDateFromFile' => '從導入的文件接管日期',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '從導入的文件夾接管日期',
'setDateFromFolder_desc' => '',
'settings' => '設置',
'settings_activate_module' => '激活模塊',
'settings_activate_php_extension' => '激活PHP擴展',
@ -1684,6 +1691,8 @@ URL: [url]',
'settings_delete_install_folder' => '為了使用SeedDMS必須在配置目錄中刪除文件ENABLE_INSTALL_TOOL',
'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '禁用自我編輯',
'settings_disableSelfEdit_desc' => '如果選中,則用戶無法編輯自己的個人資料',
'settings_disable_install' => '如果可能刪除文件ENABLE_INSTALL_TOOL',
@ -1808,6 +1817,8 @@ URL: [url]',
'settings_encryptionKey' => '加密金鑰',
'settings_encryptionKey_desc' => '該字符串用於創建唯一的標識符該標識符作為隱藏字段添加到表單中以防止CSRF攻擊。',
'settings_error' => '錯誤',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '展開文件樹',
'settings_expandFolderTree_desc' => '展開文件樹',
'settings_expandFolderTree_val0' => '從隱藏的樹開始',
@ -1866,6 +1877,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '啟用/禁用日誌文件',
'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '日誌文件輪換',
'settings_logFileRotation_desc' => '日誌文件輪換',
'settings_loginFailure' => '登錄失敗',

View File

@ -498,9 +498,20 @@ foreach($file_ary as $file) {
if($controller->hasHook('cleanUpDocument')) {
$controller->callHook('cleanUpDocument', $document, $file);
}
// Send notification to subscribers of folder.
if($notifier) {
// Send notification to subscribers of folder.
$notifier->sendNewDocumentMail($document, $user);
// Send notifcation to recipients of document
$content = $document->getLatestContent();
$status = $content->getStatus();
if ($status["status"] == S_RELEASED) {
if ($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendToAllReceiptMail($content, $user);
}
}
}
}
if($settings->_removeFromDropFolder) {
if(file_exists($userfiletmp)) {

View File

@ -51,6 +51,47 @@ if ($document->getAccessMode($user, 'addDocumentFile') < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
if($file_post['error'][$i] != 4) { // no file uploaded
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
$file_ary[$i]['source'] = 'upload';
}
}
return $file_ary;
}
if(!empty($_FILES['userfile'])) {
$file_ary = reArrayFiles($_FILES['userfile']);
} else {
$file_ary = array();
}
if($settings->_dropFolderDir) {
if(isset($_POST["dropfolderfileaddfileform"]) && $_POST["dropfolderfileaddfileform"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileaddfileform"];
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => $_POST["dropfolderfileaddfileform"],
'size' => filesize($fullfile),
'error' => 0,
'source' => 'dropfolder'
);
}
}
}
$prefix = 'userfile';
if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) {
$uuids = explode(';', $_POST[$prefix.'-fine-uploader-uuids']);
@ -60,34 +101,43 @@ if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-upload
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid;
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => isset($names[$i]) ? $names[$i] : $uuid,
'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
}
}
}
if(!$file_ary) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_failed"));
}
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
if ($_FILES["userfile"]["size"][$file_num]==0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize"));
foreach($file_ary as $file) {
if($file['error']==1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize"));
}
if ($maxuploadsize && $_FILES["userfile"]["size"][$file_num] > $maxuploadsize) {
UI::exitError(getMLText("folder_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize"));
}
if (is_uploaded_file($_FILES["userfile"]["tmp_name"][$file_num]) && $_FILES['userfile']['error'][$file_num] != 0){
if($file['error']!=0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_failed"));
}
if($_FILES["userfile"]["error"][$file_num]) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
if ($file["size"]==0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize"));
}
if ($maxuploadsize && $file["size"] > $maxuploadsize) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize"));
}
}
if(count($_FILES["userfile"]["tmp_name"]) == 1 && !empty($_POST['name']))
foreach($file_ary as $file) {
if(count($file_ary) == 1 && !empty($_POST['name']))
$name = $_POST["name"];
else
$name = $_FILES["userfile"]['name'][$file_num];
$name = $file['name'];
$comment = $_POST["comment"];
$version = (int) $_POST["version"];
$public = (isset($_POST["public"]) && $_POST["public"] == 'true') ? 1 : 0;
@ -99,9 +149,9 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
}
}
$userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num];
$userfiletype = $_FILES["userfile"]["type"][$file_num];
$userfilename = $_FILES["userfile"]["name"][$file_num];
$userfiletmp = $file["tmp_name"];
$userfiletype = $file["type"];
$userfilename = $file["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);

View File

@ -111,6 +111,13 @@ if(!$controller()) {
$notifier->sendSubmittedApprovalMail($latestContent, $user, $approvelog ? $approvelog[0] : false);
if($controller->oldstatus != $controller->newstatus)
$notifier->sendChangedDocumentStatusMail($latestContent, $user, $controller->oldstatus);
if ($controller->newstatus == S_RELEASED) {
if ($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendToAllReceiptMail($content, $user);
}
}
}
}
}

View File

@ -218,6 +218,3 @@ else if ($action == "removeattrvalue") {
}
header("Location:../out/out.AttributeMgr.php?attrdefid=".$attrdefid);
?>

View File

@ -28,16 +28,6 @@ include("../inc/inc.ClassSession.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
function _printMessage($heading, $message) {
UI::htmlStartPage($heading, "password");
UI::globalBanner();
UI::pageNavigation($heading);
UI::contentContainer($message."<p><a href=\"../out/out.Login.php\">" . getMLText("login") . "</a></p>\n");
UI::htmlEndPage();
return;
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('changepassword')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));

View File

@ -75,5 +75,3 @@ $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_documen
add_log_line();
header("Location:../out/out.ViewDocument.php?documentid=".$documentid);
?>

View File

@ -1,114 +0,0 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
UI::htmlStartPage("Create Document Folder Index");
UI::globalNavigation();
UI::pageNavigation("Create Document Folder Index");
UI::contentHeading("Indexing Documents...");
if (!$user->isAdmin()) {
UI::contentContainer("<p>Permission denied.</p>");
UI::htmlPageEnd();
exit;
}
function getTime() {
if (function_exists('microtime')) {
$tm = microtime();
$tm = explode(' ', $tm);
return (float) sprintf('%f', $tm[1] + $tm[0]);
}
return time();
}
// ------------------------------------- Suche starten --------------------------------------------
UI::contentContainerStart();
$startTime = getTime();
$results = array();
//searchInFolder($startFolder);
//
// Construct the SQL query that will be used to search the database.
//
// Create the keyword search string. This search spans up to three columns
// in the database: keywords, name and comment.
//
// The base query.
//
$searchQuery = "SELECT `tblDocuments`.* FROM `tblDocuments` ";
// Send the search query to the database.
$resArr = $db->getResultArray($searchQuery);
// Assemble the results into an array of MyDMS Document objects.
if (!is_bool($resArr) && count($resArr)>0) {
echo "<ol>";
foreach($resArr as $docArr) {
$doc = new SeedDMS_Core_Document($docArr["id"],
$docArr["name"],
$docArr["comment"],
$docArr["date"],
$docArr["expires"],
$docArr["owner"],
$docArr["folder"],
$docArr["inheritAccess"],
$docArr["defaultAccess"],
$docArr["lockUser"],
$docArr["keywords"],
$docArr["sequence"]);
// Make sure that the folder search path is also updated.
$folder = $doc->getFolder();
$path = $folder->getPath();
$flist = "";
foreach ($path as $f) {
$flist .= ":".$f->getID();
}
if (strlen($flist)>1) {
$flist .= ":";
}
$queryStr = "UPDATE tblDocuments SET folderList = '" . $flist . "' WHERE id = ". $doc->getID();
$db->getResult($queryStr);
echo "<li>Updating docID '".$doc->getID()."' -- '".$flist."'</li>";
}
echo "</ol>";
}
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);
echo "<p>";
printMLText("search_time", array("time" => $searchTime));
UI::contentContainerEnd();
UI::htmlEndPage();
?>

View File

@ -239,9 +239,10 @@ if($newfolder) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else {
if(isset($_GET['remove']) && $_GET["remove"]) {
$cmd = 'rm -rf '.$dirname;
$ret = null;
system($cmd, $ret);
SeedDMS_Utils::rrmdir($dirname);
// $cmd = 'rm -rf '.$dirname;
// $ret = null;
// system($cmd, $ret);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount))));
}

View File

@ -85,9 +85,16 @@ if ($overrideStatus != $overallStatus["status"]) {
if (!$content->setStatus($overrideStatus, $comment, $user)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} else {
// Send notification to subscribers.
if($notifier) {
if ($notifier) {
// Send notification to subscribers.
$notifier->sendChangedDocumentStatusMail($content, $user, $overallStatus["status"]);
// Send request for receipt notification
if ($overrideStatus == S_RELEASED) {
if ($settings->_enableNotificationAppRev) {
$notifier->sendToAllReceiptMail($content, $user);
}
}
}
}
}

View File

@ -31,15 +31,6 @@ include("../inc/inc.ClassUI.php");
include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc";
function _printMessage($heading, $message) {
UI::htmlStartPage($heading, "password");
UI::globalBanner();
UI::pageNavigation($heading);
UI::contentContainer($message."<p><a href=\"../out/out.Login.php\">" . getMLText("login") . "</a></p>\n");
UI::htmlEndPage();
return;
}
if (isset($_POST["email"])) {
$email = $_POST["email"];
}
@ -68,5 +59,3 @@ if($user) {
}
header('Location: ../out/out.PasswordSend.php');
exit;
?>

View File

@ -69,6 +69,8 @@ foreach ($docAccess["groups"] as $i=>$da) {
$accessIndex["g"][$da->getID()] = $da;
}
$status = $content->getStatus();
// Retrieve list of currently assigned recipients, along with
// their latest status.
$receiptStatus = $content->getReceiptStatus();
@ -137,10 +139,13 @@ foreach ($pIndRev as $p) {
// email error
break;
default:
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendAddReceiptMail($content, $user, $accessIndex["i"][$p]);
// Send an email notification to the new recipient only if the document
// is already released
if ($status["status"] == S_RELEASED) {
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendAddReceiptMail($content, $user, $accessIndex["i"][$p]);
}
}
}
break;
@ -218,10 +223,13 @@ foreach ($pGrpRev as $p) {
// email error
break;
default:
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendAddReceiptMail($content, $user, $accessIndex["g"][$p]);
// Send an email notification to the new recipient only if the document
// is already released
if ($status["status"] == S_RELEASED) {
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendAddReceiptMail($content, $user, $accessIndex["g"][$p]);
}
}
}
break;

View File

@ -150,6 +150,7 @@ if ($action == "saveSettings")
setBoolValue("enableRecursiveCount");
setIntValue("maxRecursiveCount");
setIntValue("daysPastDashboard");
setArrayValue("excludeFoldersDashboard");
setBoolValue("enableLanguageSelector");
setBoolValue("enableHelp");
setBoolValue("enableThemeSelector");

View File

@ -80,6 +80,3 @@ $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_transfe
add_log_line("?documentid=".$documentid);
header("Location:../out/out.ViewFolder.php?folderid=".$folder->getID());
?>

View File

@ -403,6 +403,15 @@ default:
$notifier->sendNewDocumentVersionMail($document, $user);
$notifier->sendChangedExpiryMail($document, $user, $oldexpires);
$status = $content->getStatus();
if ($status["status"] == S_RELEASED) {
if ($settings->_enableNotificationAppRev) {
if ($notifier) {
$notifier->sendToAllReceiptMail($content, $user);
}
}
}
}
if($settings->_removeFromDropFolder) {

View File

@ -25,6 +25,7 @@ if($view) {
$view->setParam('convertToPdf', $settings->_convertToPdf);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('dayspastdashboard', (int) $settings->_daysPastDashboard);
$view->setParam('excludedfolders', $settings->_excludeFoldersDashboard);
$view->setParam('accessobject', $accessop);
$view->setParam('xsendfile', $settings->_enableXsendfile);
$view($_GET);

View File

@ -31,7 +31,7 @@
*/
if (!isset($settings)) {
require_once "../inc/inc.Settings.php");
require_once "../inc/inc.Settings.php";
}
require_once "inc/inc.Utils.php";
require_once "inc/inc.LogInit.php";

View File

@ -715,7 +715,7 @@ if($fullsearch) {
$entries = array();
$fcount = 0;
if(!isset($_GET['action']) || $_GET['action'] != 'export') {
// if(!isset($_GET['action']) || $_GET['action'] != 'export') {
if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($user) >= M_READ) {
@ -724,7 +724,7 @@ if($fullsearch) {
}
}
}
}
// }
$dcount = 0;
if($resArr['docs']) {
foreach ($resArr['docs'] as $entry) {

View File

@ -40,6 +40,7 @@ if($view) {
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('xsendfile', $settings->_enableXsendfile);
$view->setParam('tasksinmenu', []);
$view($_GET);
exit;
}

View File

@ -2,7 +2,10 @@ RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<Files ~ "^swagger\.yaml">
# Apache module
SetHandler application/x-httpd-php
# PHP FPM on Debian
#SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET"

File diff suppressed because it is too large Load Diff

View File

@ -13,9 +13,6 @@ info:
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
servers:
- url:
description: Current host server
host: "<?php echo $_SERVER['HTTP_HOST']; ?>"
basePath: "<?php echo $settings->_httpRoot; ?>restapi/index.php"
tags:
@ -406,6 +403,92 @@ paths:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/users/{id}/quota:
put:
tags:
- "user"
summary: "Change quota of user by ID"
description: "Change the quota of a single user"
operationId: "changeUserQuota"
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
parameters:
- name: "id"
in: "path"
description: "ID of user"
required: true
type: "integer"
format: "int64"
- name: "quota"
in: "formData"
required: true
type: "integer"
format: "int64"
description: "New quota"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"400":
description: "Invalid parameter"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "User not found"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/users/{id}/homefolder/{folderid}:
put:
tags:
- "user"
summary: "Change quota of user by ID"
description: "Change the quota of a single user"
operationId: "changeUserHomefolder"
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
parameters:
- name: "id"
in: "path"
description: "ID of user"
required: true
type: "integer"
format: "int64"
- name: "folderid"
in: "path"
description: "ID of folder"
required: true
type: "integer"
format: "int64"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"400":
description: "Invalid parameter"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "User or folder not found"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/groups:
get:
tags:
@ -466,6 +549,161 @@ paths:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/groups/{id}:
get:
tags:
- "group"
summary: "Find group by ID"
description: "Returns a single group"
operationId: "getGroupById"
produces:
- "application/json"
parameters:
- name: "id"
in: "path"
description: "ID of group to return"
required: true
type: "integer"
format: "int64"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponseUser"
"404":
description: "Group not found"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
delete:
tags:
- "group"
summary: "Delete group by ID"
description: "Delete a single group"
operationId: "deleteGroupById"
produces:
- "application/json"
parameters:
- name: "id"
in: "path"
description: "ID of group to delete"
required: true
type: "integer"
format: "int64"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"500":
description: "Error deleting group"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "Group not found"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/groups/{id}/addUser:
put:
tags:
- "group"
summary: "Add user to group"
description: "Adds an existing user as a new member of a group"
operationId: "addUserToGroup"
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
parameters:
- name: "id"
in: "path"
description: "ID of group"
required: true
type: "integer"
format: "int64"
- name: "userid"
in: "formData"
description: "ID of user"
required: true
type: "integer"
format: "int64"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"400":
description: "Invalid parameter"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "User or group not found"
schema:
$ref: "#/definitions/ApiResponse"
"500":
description: "Internal error"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/groups/{id}/removeUser:
put:
tags:
- "group"
summary: "Remove user from group"
description: "Remove a user as a new member of a group"
operationId: "removeUserToGroup"
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
parameters:
- name: "id"
in: "path"
description: "ID of group"
required: true
type: "integer"
format: "int64"
- name: "userid"
in: "formData"
description: "ID of user"
required: true
type: "integer"
format: "int64"
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"400":
description: "Invalid parameter"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "User or group not found"
schema:
$ref: "#/definitions/ApiResponse"
"500":
description: "Internal error"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/document/{id}:
get:
tags:
@ -565,7 +803,8 @@ paths:
"200":
description: "preview image file"
schema:
type: "file"
type: "string"
format: "binary"
"403":
description: "No access"
schema:
@ -598,7 +837,8 @@ paths:
"200":
description: "content file"
schema:
type: "file"
type: "string"
format: "binary"
"403":
description: "No access"
schema:
@ -637,7 +877,8 @@ paths:
"200":
description: "attached file"
schema:
type: "file"
type: "string"
format: "binary"
"403":
description: "No access"
schema:
@ -676,7 +917,8 @@ paths:
"200":
description: "content file"
schema:
type: "file"
type: "string"
format: "binary"
"403":
description: "No access"
schema:
@ -1510,7 +1752,7 @@ paths:
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
- "multipart/form-data"
parameters:
- name: "id"
in: "path"
@ -1557,6 +1799,53 @@ paths:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/folder/{id}/owner/{userid}:
post:
tags:
- "folder"
summary: "Set owner of folder"
description: "Set owner of folder"
operationId: "setFolderOwner"
produces:
- "application/json"
consumes:
- "application/x-www-form-urlencoded"
parameters:
- name: "id"
in: "path"
description: "ID of folder."
type: "integer"
required: true
format: "int64"
- name: "userid"
in: "path"
description: "ID of user."
type: "integer"
required: true
format: "int64"
responses:
"201":
description: "successful operation"
schema:
$ref: "#/definitions/ApiResponse"
"400":
description: "No folder or user given"
schema:
$ref: "#/definitions/ApiResponse"
"403":
description: "No access"
schema:
$ref: "#/definitions/ApiResponse"
"404":
description: "Folder not found"
schema:
$ref: "#/definitions/ApiResponse"
"500":
description: "Internal error"
schema:
$ref: "#/definitions/ApiResponse"
security:
- api_key: []
/categories:
get:
tags:
@ -1782,15 +2071,21 @@ paths:
description: "Invalid status value"
security:
- api_key: []
/echo:
/echo/{data}:
get:
tags:
- "misc"
summary: "Return what was send in the body"
description: "Just returns the body content"
summary: "Return what was send in the path"
description: "Just returns the path"
operationId: "echoData"
produces:
- "application/json"
parameters:
- name: "data"
in: "path"
description: "Data to be echoed"
required: true
type: "string"
responses:
"200":
description: "successful operation"

View File

@ -35,11 +35,16 @@ class SeedDMS_View_AddFile extends SeedDMS_Theme_Style {
$enablelargefileupload = $this->params['enablelargefileupload'];
$partitionsize = $this->params['partitionsize'];
$maxuploadsize = $this->params['maxuploadsize'];
$dropfolderdir = $this->params['dropfolderdir'];
header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('js_form_error', 'js_form_errors'));
if($enablelargefileupload)
$this->printFineUploaderJs($this->params['settings']->_httpRoot.'op/op.UploadChunks.php', $partitionsize, $maxuploadsize);
if($dropfolderdir) {
$this->printDropFolderChooserJs("addfileform");
}
$this->printFileChooserJs();
?>
@ -58,14 +63,18 @@ $(document).ready( function() {
}
return false;
}, "<?php printMLText("js_no_file");?>");
$("#form1").validate({
$("#addfileform").validate({
debug: false,
ignore: ":hidden:not(.do_validate)",
<?php
if($enablelargefileupload) {
?>
submitHandler: function(form) {
userfileuploader.uploadStoredFiles();
/* fileuploader may not have any files if drop folder is used */
if(userfileuploader.getUploads().length)
userfileuploader.uploadStoredFiles();
else
form.submit();
},
<?php
}
@ -74,14 +83,18 @@ $(document).ready( function() {
<?php
if($enablelargefileupload) {
?>
fineuploaderuuids: {
fineuploader: [ userfileuploader ]
'userfile-fine-uploader-uuids': {
fineuploader: [ userfileuploader, $('#dropfolderfileaddfileform') ]
}
<?php
} else {
?>
'userfile[]': {
required: true
require_from_group: [1, ".fileupload-group"],
maxsize: <?= $maxuploadsize ?>
},
dropfolderfileaddfileform: {
require_from_group: [1, ".fileupload-group"]
}
<?php
}
@ -113,6 +126,7 @@ $(document).ready( function() {
$enablelargefileupload = $this->params['enablelargefileupload'];
$uploadedattachmentispublic = $this->params['uploadedattachmentispublic'];
$maxuploadsize = $this->params['maxuploadsize'];
$dropfolderdir = $this->params['dropfolderdir'];
$this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
@ -132,7 +146,7 @@ $(document).ready( function() {
?>
<form class="form-horizontal" action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="form1">
<form class="form-horizontal" action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="addfileform" id="addfileform">
<input type="hidden" name="documentid" value="<?php print $document->getId(); ?>">
<?php
$this->contentContainerStart();
@ -140,6 +154,12 @@ $(document).ready( function() {
getMLText("local_file"),
($enablelargefileupload ? $this->getFineUploaderHtml() : $this->getFileChooserHtml('userfile[]', false))
);
if($dropfolderdir) {
$this->formField(
getMLText("dropfolder_file"),
$this->getDropFolderChooserHtml("addfileform")
);
}
$options = array();
$options[] = array("", getMLText('document'));
$versions = $document->getContent();
@ -198,4 +218,3 @@ $(document).ready( function() {
} /* }}} */
}
?>

View File

@ -717,7 +717,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$content .= '>';
$content .= $menuitem['label'];
if(!empty($menuitem['badge']))
$content .= '<span class="badge'.($menuitem['badge'] > 0 ? ' badge-info' : '').' badge-right">'.$menuitem['badge']."</span>";
$content .= '<span class="badge'.(isset($menuitem['badge-type']) ? ' badge-'.$menuitem['badge-type'] : ($menuitem['badge'] > 0 ? ' badge-info' : '')).' badge-right">'.$menuitem['badge']."</span>";
$content .= ' </a>'."\n";
$content .= " </li>\n";
}
@ -1868,7 +1868,7 @@ $(document).ready(function() {
/**
* This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js
* If you extra functions to be called then define them in your own js code
* If you need extra functions to be called then define them in your own js code
*/
function printDocumentChooserJs($form, $formname='') { /* {{{ */
if(!$formname)
@ -1935,7 +1935,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
/**
* This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js
* If you extra functions to be called then define them in your own js code
* If you need extra functions to be called then define them in your own js code
*/
function printFolderChooserJs($form, $formname='') { /* {{{ */
if(!$formname)
@ -3416,7 +3416,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<br />";
foreach($categories as $category) {
$color = substr(md5($category->getName()), 0, 6);
$content .= "<span class=\"badge\" style=\"background-color: #".$color."; color: #".self::getContrastColor($color).";\">".$category->getName()."</span> ";
$content .= "<span class=\"badge\" style=\"background-color: #".$color."; color: #".self::getContrastColor($color).";\">".htmlspecialchars($category->getName())."</span> ";
}
}
if(!empty($extracontent['bottom_title']))

View File

@ -13,11 +13,6 @@
* @version Release: @package_version@
*/
/**
* Include parent class
*/
//require_once("class.Bootstrap.php");
/**
* Class which outputs the html page for Charts view
*
@ -229,8 +224,28 @@ $(document).ready( function() {
}
} /* }}} */
function show() { /* {{{ */
$this->dms = $this->params['dms'];
/**
* Check if it makes sense to show the chart
*
* e.g. it doesn't make sense to show the documents by category if
* there are no categories.
*
* @param string $type
* @return boolean
*/
private function showChart($type) { /* {{{ */
$dms = $this->params['dms'];
if($type == 'docspercategory') {
if($cats = $dms->getDocumentCategories())
return true;
else
return false;
}
return true;
} /* }}} */
public function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$data = $this->params['data'];
$type = $this->params['type'];
@ -251,7 +266,8 @@ $(document).ready( function() {
$this->contentHeading(getMLText("chart_selection"));
$this->contentContainerStart();
foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'sizepermonth','docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
if($this->showChart($atype))
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
}
$this->contentContainerEnd();
$this->columnEnd();

View File

@ -69,6 +69,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
@ -80,6 +81,11 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
echo $this->contentHeading(getMLText('new_documents'));
$documents = $dms->getLatestChanges('newdocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $i=>$doc) {
$fl = explode(':', $doc->getFolderList());
if(array_intersect($fl, $excludedfolders))
unset($documents[$i]);
}
if (count($documents) > 0) {
$this->printList($documents, $previewer);
}
@ -94,6 +100,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
@ -105,6 +112,11 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
echo $this->contentHeading(getMLText('updated_documents'));
$documents = $dms->getLatestChanges('updateddocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $i=>$doc) {
$fl = explode(':', $doc->getFolderList());
if(array_intersect($fl, $excludedfolders))
unset($documents[$i]);
}
if (count($documents) > 0) {
$this->printList($documents, $previewer);
}
@ -119,6 +131,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
@ -130,6 +143,11 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
echo $this->contentHeading(getMLText('status_change'));
$documents = $dms->getLatestChanges('statuschange', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $i=>$doc) {
$fl = explode(':', $doc->getFolderList());
if(array_intersect($fl, $excludedfolders))
unset($documents[$i]);
}
if (count($documents) > 0) {
$this->printList($documents, $previewer);
}
@ -156,7 +174,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile'];
$this->htmlStartPage(getMLText("calendar"));
$this->htmlStartPage(getMLText("dashboard"));
$this->globalNavigation();
$this->contentStart();

View File

@ -139,7 +139,7 @@ $(document).ready( function() {
if(!$nodocumentformfields || !in_array('categories', $nodocumentformfields)) {
$options = array();
foreach($categories as $category) {
$options[] = array($category->getID(), $category->getName(), in_array($category, $document->getCategories()));
$options[] = array($category->getID(), htmlspecialchars($category->getName()), in_array($category, $document->getCategories()));
}
$this->formField(
getMLText("categories"),

View File

@ -116,7 +116,7 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
$this->contentHeading(getMLText("missing_php_functions_and_classes"));
$missingfunc = [];
foreach(array('proc_open', 'openssl_cipher_iv_length') as $funcname) {
foreach(array('proc_open', 'openssl_cipher_iv_length', 'system') as $funcname) {
if(!function_exists($funcname)) {
$missingfunc[] = $funcname; //getMLText('func_'.$funcname."_missing")
}

View File

@ -117,7 +117,8 @@ $(document).ready(function() {
<form class="form-horizontal" method="post" action="../op/op.ReceiptDocument.php" id="form<?= $receipttype ?>" name="form<?= $receipttype ?>">
<?php echo createHiddenFieldWithKey('receiptdocument'); ?>
<?php
$this->contentContainerStart();
if (!$noreceiptcomment || $receiptreject)
$this->contentContainerStart();
if(!$noreceiptcomment) {
$this->formField(
getMLText("comment"),
@ -149,7 +150,8 @@ $(document).ready(function() {
} else {
echo '<input type="hidden" name="receiptStatus" value="1" />';
}
$this->contentContainerEnd();
if (!$noreceiptcomment || $receiptreject)
$this->contentContainerEnd();
$this->formSubmit(getMLText('submit_receipt'), $receipttype.'Receipt');
?>
<input type='hidden' name='receiptType' value='<?= $receipttype ?>'/>
@ -164,4 +166,3 @@ $(document).ready(function() {
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -619,11 +619,11 @@ $(document).ready( function() {
echo "</td>";
echo "<td>";
print "<div class=\"list-action\">";
print "<a class=\"addtask\" data-extension=\"".$extname."\" data-task=\"".$taskname."\" href=\"../out/out.SchedulerTaskMgr.php?extension=".$extname."&task=".$taskname."\" title=\"".getMLText("add_task")."\"><i class=\"fa fa-plus\"></i></a>";
$t = $scheduler->getTasksByExtension($extname, $taskname);
if($t) {
print "<a class=\"listtasks\" data-extension=\"".$extname."\" data-task=\"".$taskname."\" href=\"../out/out.SchedulerTaskMgr.php?extension=".$extname."&task=".$taskname."\" title=\"".getMLText("list_tasks")."\"><i class=\"fa fa-list\"></i></a>";
}
print "<a class=\"addtask\" data-extension=\"".$extname."\" data-task=\"".$taskname."\" href=\"../out/out.SchedulerTaskMgr.php?extension=".$extname."&task=".$taskname."\" title=\"".getMLText("add_task")."\"><i class=\"fa fa-plus\"></i></a>";
print "</div>";
echo "</td>";
echo "</tr>";

View File

@ -243,6 +243,16 @@ $(document).ready(function() {
}
}
}
if($extraheader = $this->callHook('extraDownloadFolderHeader'))
$downmgr->addFolderHeader($extraheader);
foreach($entries as $entry) {
if($entry->isType('folder')) {
if(empty($marks) || !empty($marks['F'.$entry->getId()])) {
$extracols = $this->callHook('extraDownloadFolderColumns', $entry);
$downmgr->addFolderItem($entry, $extracols);
}
}
}
$filename = tempnam(sys_get_temp_dir(), '');
if($includecontent) {
$downmgr->createArchive($filename);
@ -369,9 +379,9 @@ $(document).ready(function() {
}
}
if($removecategory) {
$this->setParam('batchmsg', getMLText('batch_remove_category_msg', ['count'=>$j, 'catname'=>$changecategory->getName()]));
$this->setParam('batchmsg', getMLText('batch_remove_category_msg', ['count'=>$j, 'catname'=>htmlspecialchars($changecategory->getName())]));
} else {
$this->setParam('batchmsg', getMLText('batch_add_category_msg', ['count'=>$j, 'catname'=>$changecategory->getName()]));
$this->setParam('batchmsg', getMLText('batch_add_category_msg', ['count'=>$j, 'catname'=>htmlspecialchars($changecategory->getName())]));
}
} else {
}
@ -452,6 +462,7 @@ $(document).ready(function() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$accessobject = $this->params['accessobject'];
$request = $this->params['request'];
$fullsearch = $this->params['fullsearch'];
$facetsearch = $this->params['facetsearch'];
@ -719,7 +730,7 @@ $(document).ready(function() {
$allcategories = $dms->getDocumentCategories();
if($allcategories) {
foreach($allcategories as $acategory) {
$options[] = array($acategory->getID(), $acategory->getName(), in_array($acategory->getId(), $tmpcatids));
$options[] = array($acategory->getID(), htmlspecialchars($acategory->getName()), in_array($acategory->getId(), $tmpcatids));
}
$this->formField(
getMLText("categories"),
@ -966,7 +977,7 @@ $(document).ready(function() {
$options = array();
$allcategories = $dms->getDocumentCategories();
foreach($allcategories as $acategory) {
$options[] = array($acategory->getID(), $acategory->getName(), in_array($acategory->getId(), $tmpcatids));
$options[] = array($acategory->getID(), htmlspecialchars($acategory->getName()), in_array($acategory->getId(), $tmpcatids));
}
$this->formField(
getMLText("category_filter"),
@ -1482,8 +1493,8 @@ $(document).ready(function() {
/* Batch operations {{{ */
if($settings->_batchOperations && $total)
$this->contentHeading(getMLText('batch_operation'));
if($totaldocs) {
if(in_array('export', $settings->_batchOperations)) {
if(($totaldocs || $totalfolders) && in_array('export', $settings->_batchOperations)) {
if($accessobject->check_view_access($this, array('action'=>'export'))) {
ob_start();
$this->formField(
getMLText("include_content"),
@ -1505,6 +1516,7 @@ $(document).ready(function() {
/* All other batch operations are only allowed for admins */
if($user->isAdmin()) {
if($total && in_array('change_owner', $settings->_batchOperations)) {
if($accessobject->check_view_access($this, array('action'=>'change_owner'))) {
ob_start();
$users = $dms->getAllUsers();
$options = array();
@ -1530,8 +1542,10 @@ $(document).ready(function() {
$content = ob_get_clean();
$this->printAccordion(getMLText('batch_change_owner'), $content);
}
}
if($totaldocs && in_array('add_reviewer', $settings->_batchOperations)) {
if($accessobject->check_view_access($this, array('action'=>'add_reviewer'))) {
ob_start();
$users = $dms->getAllUsers();
$options = array();
@ -1556,8 +1570,10 @@ $(document).ready(function() {
$content = ob_get_clean();
$this->printAccordion(getMLText('batch_add_reviewer'), $content);
}
}
if($totaldocs && in_array('add_approver', $settings->_batchOperations)) {
if($accessobject->check_view_access($this, array('action'=>'add_approver'))) {
ob_start();
$users = $dms->getAllUsers();
$options = array();
@ -1582,8 +1598,10 @@ $(document).ready(function() {
$content = ob_get_clean();
$this->printAccordion(getMLText('batch_add_approver'), $content);
}
}
if($totaldocs && in_array('change_category', $settings->_batchOperations)) {
if($accessobject->check_view_access($this, array('action'=>'change_category'))) {
ob_start();
$cats = $dms->getDocumentCategories();
if($cats) {
@ -1620,6 +1638,7 @@ $(document).ready(function() {
$this->printAccordion(getMLText('batch_change_category'), $content);
}
}
}
}
// }}}

View File

@ -258,6 +258,35 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
<?php
} /* }}} */
protected function showConfigFolderNoTree($title, $name, $allowempty=true, $multiple=true, $size=0) { /* {{{ */
$settings = $this->params['settings'];
$dms = $this->params['dms'];
?>
<tr title="<?= getMLText($title."_desc") ?>">
<td><?= getMLText($title) ?></td>
<td>
<?php
if(is_array($settings->{"_".$name}))
$selections = $settings->{"_".$name};
else
$selections = explode(',', $settings->{"_".$name});
echo "<select class=\"chzn-select-folder\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"".$name.($multiple ? "[]" : "")."\"".($multiple ? " multiple" : "").($size ? " size=\"".$size."\"" : "")." data-placeholder=\"".getMLText("select_folder")."\" style=\"width: 100%;\">";
if($allowempty)
echo "<option value=\"\"></option>";
foreach($selections as $selid) {
if ($f = $dms->getFolder($selid)) {
echo "<option value=\"".$selid."\"";
echo " selected";
echo ">".htmlspecialchars($f->getName())."</option>";
}
}
echo "</select>";
?>
</td>
</tr>
<?php
} /* }}} */
protected function showConfigGroup($title, $name, $allowempty=false, $multiple=false, $size=0) { /* {{{ */
$settings = $this->params['settings'];
$dms = $this->params['dms'];
@ -455,6 +484,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigCheckbox('settings_enableRecursiveCount', 'enableRecursiveCount'); ?>
<?php $this->showConfigText('settings_maxRecursiveCount', 'maxRecursiveCount'); ?>
<?php $this->showConfigText('settings_daysPastDashboard', 'daysPastDashboard'); ?>
<?php $this->showConfigFolderNoTree('settings_excludeFoldersDashboard', 'excludeFoldersDashboard'); ?>
<?php $this->showConfigCheckbox('settings_enableLanguageSelector', 'enableLanguageSelector'); ?>
<?php $this->showConfigCheckbox('settings_enableHelp', 'enableHelp'); ?>
<?php $this->showConfigCheckbox('settings_enableThemeSelector', 'enableThemeSelector'); ?>
@ -511,6 +541,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigText('settings_proxyUPassword', 'proxyPassword', 'password'); ?>
<?php $this->showConfigCheckbox('settings_logFileEnable', 'logFileEnable'); ?>
<?php $this->showConfigOption('settings_logFileMaxLevel', 'logFileMaxLevel', array(self::int2str(PEAR_LOG_EMERG)=>'settings_logLevelEmergency', self::int2str(PEAR_LOG_ALERT)=>'settings_logLevelAlert', self::int2str(PEAR_LOG_CRIT)=>'settings_logLevelCritical', self::int2str(PEAR_LOG_ERR)=>'settings_logLevelError', self::int2str(PEAR_LOG_WARNING)=>'settings_logLevelWarning', self::int2str(PEAR_LOG_NOTICE)=>'settings_logLevelNotice', self::int2str(PEAR_LOG_INFO)=>'settings_logLevelInfo', self::int2str(PEAR_LOG_DEBUG)=>'settings_logLevelDebug'), false, true); ?>
<?php $this->showConfigOption('settings_logFileRestApiMaxLevel', 'logFileRestApiMaxLevel', array(self::int2str(PEAR_LOG_EMERG)=>'settings_logLevelEmergency', self::int2str(PEAR_LOG_ALERT)=>'settings_logLevelAlert', self::int2str(PEAR_LOG_CRIT)=>'settings_logLevelCritical', self::int2str(PEAR_LOG_ERR)=>'settings_logLevelError', self::int2str(PEAR_LOG_WARNING)=>'settings_logLevelWarning', self::int2str(PEAR_LOG_NOTICE)=>'settings_logLevelNotice', self::int2str(PEAR_LOG_INFO)=>'settings_logLevelInfo', self::int2str(PEAR_LOG_DEBUG)=>'settings_logLevelDebug'), false, true); ?>
<?php $this->showConfigOption('settings_logFileRotation', 'logFileRotation', array('h'=>'hourly', 'd'=>'daily', 'm'=>'monthly'), false, true); ?>
<?php $this->showConfigCheckbox('settings_enableLargeFileUpload', 'enableLargeFileUpload'); ?>
<?php $this->showConfigText('settings_partitionSize', 'partitionSize'); ?>
@ -768,12 +799,22 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "attributedefinitions":
$objtype = empty($conf['objtype']) ? 0 : $conf['objtype'];
$attrtype = empty($conf['attrtype']) ? 0 : $conf['attrtype'];
$order = empty($conf['order']) ? '' : $conf['order'];
$recs = $dms->getAllAttributeDefinitions($objtype, $attrtype);
if($recs) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\" style=\"width: 100%;\">";
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "").($order ? " order=\"".$order."\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\" style=\"width: 100%;\">";
if($allowempty)
echo "<option value=\"\"></option>";
if($order == 'keep') {
foreach($selections as $selid) {
if($rec = $dms->getAttributeDefinition($selid)) {
echo "<option value=\"".$rec->getID()."\" selected data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
}
}
}
foreach($recs as $rec) {
if($order == 'keep' && in_array($rec->getID(), $selections))
continue;
echo "<option value=\"".$rec->getID()."\"";
if(in_array($rec->getID(), $selections))
echo " selected";

View File

@ -196,14 +196,9 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
} /* }}} */
/**
* Returns the html needed for the task list in the menu
* Returns the number of tasks
*
* This function renders the tasks in a way suitable to be
* used as a menu
*
* @param array $clipboard clipboard containing two arrays for both
* documents and folders.
* @return string html code
* @return array list of tasks an its number
*/
function countTasks() { /* {{{ */
$dms = $this->params['dms'];

View File

@ -156,12 +156,12 @@ function loadMoreObjects(element, limit, orderby) {
element.prop("disabled",true);
var folder = element.data('folder')
var offset = element.data('offset')
// var limit = element.data('limit')
url = seeddms_webroot+"out/out.ViewFolder.php?action=entries&folderid="+folder+"&offset="+offset+"&limit="+limit+"&orderby="+orderby;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
async: false,
success: function(data){
$('#viewfolder-table').append(data.html);
if(data.count <= 0) {
@ -176,7 +176,7 @@ function loadMoreObjects(element, limit, orderby) {
});
}
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
if($(window).scrollTop() + $(window).height() + 3 >= $(document).height()) {
loadMoreObjects($('#loadmore'), $('#loadmore').data('limit'), $('#loadmore').data('orderby'));
}
});

View File

@ -28,6 +28,12 @@ chzn_template_func = function (state) { /* {{{ */
return $newstate;
}; /* }}} */
function chzn_select_item(target, id) { /* {{{ */
var option = $(target).children('[value=' + id + ']');
option.detach();
$(target).append(option).change();
}; /* }}} */
function escapeHtml(text) { /* {{{ */
var map = {
'&': '&amp;',
@ -99,6 +105,11 @@ function initMost() { /* {{{ */
templateResult: chzn_template_func
}); /* }}} */
/* newly selected items will be appended to the end */
$('.chzn-select[order=keep]').on('select2:select', function (e) { /* {{{ */
chzn_select_item(e.target, e.params.data.id);
}); /* }}} */
$(".chzn-select-folder").select2({ /* {{{ */
theme: "bootstrap4",
width: 'resolve',
@ -1618,17 +1629,17 @@ $(document).ready(function() { /* {{{ */
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
type: 'GET',
dataType: "json",
data: {action: 'mytasks'},
data: {action: 'counttasks'},
success: function(data) {
if(data) {
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) ||
(typeof data.data.review != 'undefined' && review_count != data.data.review.length) ||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) {
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) ||
(typeof data.data.review != 'undefined' && review_count != data.data.review) ||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow)) {
// $("#menu-tasks").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500')
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0;
review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0;
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0;
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0;
review_count = typeof data.data.review != 'undefined' ? data.data.review : 0;
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0;
}
}
},

View File

@ -651,7 +651,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$content .= $menuitem['label'];
$content .= ' </a>'."\n";
if(!empty($menuitem['badge']))
$content .= '<span class="badge'.($menuitem['badge'] > 0 ? ' badge-primary' : ' badge-secondary').' badge-pill">'.$menuitem['badge']."</span>";
$content .= '<span class="badge'.(isset($menuitem['badge-type']) ? ' badge-'.$menuitem['badge-type'] : ($menuitem['badge'] > 0 ? ' badge-primary' : ' badge-secondary')).' badge-pill">'.$menuitem['badge']."</span>";
$content .= " </li>\n";
}
@ -1808,7 +1808,7 @@ $(document).ready(function() {
/**
* This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js
* If you extra functions to be called then define them in your own js code
* If you need extra functions to be called then define them in your own js code
*/
function printDocumentChooserJs($form, $formname='') { /* {{{ */
if(!$formname)
@ -1877,7 +1877,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
/**
* This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js
* If you extra functions to be called then define them in your own js code
* If you need extra functions to be called then define them in your own js code
*/
function printFolderChooserJs($form, $formname='') { /* {{{ */
if(!$formname)
@ -3389,7 +3389,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<br />";
foreach($categories as $category) {
$color = substr(md5($category->getName()), 0, 6);
$content .= "<span class=\"badge\" style=\"background-color: #".$color."; color: #".self::getContrastColor($color).";\">".$category->getName()."</span> ";
$content .= "<span class=\"badge\" style=\"background-color: #".$color."; color: #".self::getContrastColor($color).";\">".htmlspecialchars($category->getName())."</span> ";
}
}
if(!empty($extracontent['bottom_title']))

View File

@ -28,6 +28,12 @@ chzn_template_func = function (state) { /* {{{ */
return $newstate;
}; /* }}} */
function chzn_select_item(target, id) { /* {{{ */
var option = $(target).children('[value=' + id + ']');
option.detach();
$(target).append(option).change();
}; /* }}} */
function escapeHtml(text) { /* {{{ */
var map = {
'&': '&amp;',
@ -103,6 +109,11 @@ function initMost() { /* {{{ */
templateResult: chzn_template_func
}); /* }}} */
/* newly selected items will be appended to the end */
$('.chzn-select[order=keep]').on('select2:select', function (e) { /* {{{ */
chzn_select_item(e.target, e.params.data.id);
}); /* }}} */
$(".chzn-select-folder").select2({ /* {{{ */
theme: "bootstrap4",
width: 'resolve',
@ -384,7 +395,8 @@ $(document).ready( function() {
*/
$('body').on('click', '[data-toggle="modal"]', function(ev){ /* {{{ */
ev.preventDefault();
$($(this).data("target")+' .modal-body').load($(this).data("remote"));
if($(this).data("remote"))
$($(this).data("target")+' .modal-body').load($(this).data("remote"));
/* Also set the title */
if($(this).data("modal-title"))
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
@ -1683,7 +1695,8 @@ $(document).ready(function() { /* {{{ */
$(document).ready(function() { /* {{{ */
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function(){
$($(this).data("target")+' .modal-body').load($(this).attr('href'));
if($(this).attr("href"))
$($(this).data("target")+' .modal-body').load($(this).attr('href'));
});
}); /* }}} */
@ -1697,17 +1710,17 @@ $(document).ready(function() { /* {{{ */
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
type: 'GET',
dataType: "json",
data: {action: 'mytasks'},
data: {action: 'counttasks'},
success: function(data) {
if(data) {
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) ||
(typeof data.data.review != 'undefined' && review_count != data.data.review.length) ||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) {
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) ||
(typeof data.data.review != 'undefined' && review_count != data.data.review) ||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow)) {
// $("#menu-tasks").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500')
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0;
review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0;
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0;
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0;
review_count = typeof data.data.review != 'undefined' ? data.data.review : 0;
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0;
}
}
},