Merge branch 'seeddms-6.0.x'

This commit is contained in:
Uwe Steinmann 2025-05-22 17:50:22 +02:00
commit a825bb43fb
112 changed files with 5336 additions and 2738 deletions

View File

@ -1,8 +1,28 @@
--------------------------------------------------------------------------------
Changes in version 6.0.33
--------------------------------------------------------------------------------
- merge changes up to 5.1.40
--------------------------------------------------------------------------------
Changes in version 6.0.32
--------------------------------------------------------------------------------
- merge changes up to 5.1.39
- fix setting attributes (user, group, document, folder) when checking in
a new document version
- validate setting revision date
--------------------------------------------------------------------------------
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 Changes in version 6.0.30
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- merge changes up to 5.1.37 - merge changes up to 5.1.37
- receipt comment can be disabled - receipt comment can be disabled
- send request receipt notification only when document is released
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 6.0.29 Changes in version 6.0.29
@ -301,9 +321,52 @@
- add document list which can be exported as an archive - add document list which can be exported as an archive
- search results can be exported - search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.40
--------------------------------------------------------------------------------
- fix saving user data when language selection is turned of (Closes: #568)
- add much better support for new storage drivers
- fix possible xss attacks
- saver way to collect plugin configuration
- fix update of postgres database
- add hook displayPreviewThumb
- add searching for mimetype in database
- list of expired documents can be filtered by user
- use quoted printable encoding instead of base64 for email subjects
--------------------------------------------------------------------------------
Changes in version 5.1.39
--------------------------------------------------------------------------------
- show quota on chart page when listing total document size per user
- turn off legend for chart sizepermonth
- do not add group manager as mandatory approver/reviewer if logged in
user is the manager itself
- fixed setting group approvers from previous document version
- very experimental support of memcached for accelerating some database
operations (do not use in production)
- prevent malicious manipulation of referer when setting language
- fix setting attributes of type user, group, document, folder when updating
a document
- objects can be removed from clipboard
- call hooks for document/folder list in attribute manager
--------------------------------------------------------------------------------
Changes in version 5.1.38
--------------------------------------------------------------------------------
- require php 8.2
- fix php error in out/out.ReviewSummary.php
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 5.1.37 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 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"/> <propertyregex property="shortversion" subject="${version} kk" pattern="([56])\.([0-9]).*" replace="seeddms$1$2x" override="true"/>
<property name="majorversion" value="${version}" /> <property name="majorversion" value="${version}" />
<propertyregex property="majorversion" subject="${version}" pattern="([56])\..*" replace="$1" override="true"/> <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_extra_params" value="" />
<property name="composer_env" value="" /> <property name="composer_env" value="" />
<property name="mink_driver" value="chrome" /> <property name="mink_driver" value="chrome" />
@ -74,7 +74,12 @@
<httpget url="https://getcomposer.org/composer-2.phar" sslVerifyPeer="false" dir="${srcdir}" filename="composer.phar" /> <httpget url="https://getcomposer.org/composer-2.phar" sslVerifyPeer="false" dir="${srcdir}" filename="composer.phar" />
</then> </then>
<else> <else>
<if>
<not><available file="composer.phar" /></not>
<then>
<httpget url="https://getcomposer.org/download/${composer_version}/composer.phar" sslVerifyPeer="false" dir="${srcdir}" /> <httpget url="https://getcomposer.org/download/${composer_version}/composer.phar" sslVerifyPeer="false" dir="${srcdir}" />
</then>
</if>
</else> </else>
</if> </if>
<echo message="Installing dependencies..." /> <echo message="Installing dependencies..." />

View File

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

View File

@ -232,6 +232,7 @@ class SeedDMS_Controller_Login extends SeedDMS_Controller_Common {
} }
} }
if(!is_object($user))
$user = $authenticator->authenticate($login, $pwd); $user = $authenticator->authenticate($login, $pwd);
if(0) { if(0) {

View File

@ -59,7 +59,7 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
$content = $this->callHook('updateDocument'); $content = $this->callHook('updateDocument');
if($content === null) { if($content === null) {
$filesize = SeedDMS_Core_File::fileSize($userfiletmp); $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 ($this->hasParam('expires')) {
if($document->setExpires($this->getParam('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 this will considered as a failure of the command. Most command line
programs have a parameter (.e.g. `-q`) to suppress such an output. 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 Conversion to text for fulltext search
======================================= =======================================
@ -41,6 +49,9 @@ application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/msword application/msword
catdoc %s catdoc %s
application/vnd.oasis.opendocument.text
odt2txt %s
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx2csv -d tab %s xlsx2csv -d tab %s

View File

@ -8,13 +8,13 @@ SeedDMS is a web-based application written in PHP. It uses MySQL,
SQLite3 or PostgreSQL to manage the documents that were uploaded into SQLite3 or PostgreSQL to manage the documents that were uploaded into
the application. Be aware that PostgreSQL is not very well tested. the application. Be aware that PostgreSQL is not very well tested.
Make sure you have PHP >= 7.4 and MySQL 5 or higher installed. SeedDMS Make sure you have PHP >= 8.2 and MySQL 5 or higher installed. SeedDMS
will work with PHP running in CGI-mode as well as running as a module under will work with PHP running in CGI-mode as well as running as a module under
apache. apache.
Here is a detailed list of requirements: Here is a detailed list of requirements:
1. A web server with at least php 7.4 1. A web server with at least php 8.2
2. A mysql database, unless you use SQLite 2. A mysql database, unless you use SQLite
3. The php installation must have support for `pdo_mysql`, `pdo_pgsql` or `pdo_sqlite`, 3. The php installation must have support for `pdo_mysql`, `pdo_pgsql` or `pdo_sqlite`,
`php_gd2`, `php_mbstring`, `php_xml` `php_gd2`, `php_mbstring`, `php_xml`

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

@ -81,6 +81,7 @@ class SeedDMS_AccessOperation {
'CategoryChooser', 'CategoryChooser',
'ChangePassword', 'ChangePassword',
'CheckInDocument', 'CheckInDocument',
'CheckOutDocument',
'Clipboard', 'Clipboard',
'Dashboard', 'Dashboard',
'DocumentAccess', 'DocumentAccess',

View File

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

View File

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

View File

@ -75,7 +75,7 @@ class SeedDMS_Controller_Common {
if(method_exists($this, $action)) { if(method_exists($this, $action)) {
$refl = new ReflectionMethod($this, $action); $refl = new ReflectionMethod($this, $action);
if($refl->isPublic()) if($refl->isPublic())
return $this->{$action}(); $ret = $this->{$action}();
else { else {
echo "Action '".$action."' not public"; echo "Action '".$action."' not public";
return false; return false;
@ -85,11 +85,12 @@ class SeedDMS_Controller_Common {
return false; return false;
} }
} else } else
return $this->run(); $ret = $this->run();
} else { } else {
return false; return false;
} }
$this->callHook('postRun', get_class($this), $action ? $action : 'run'); $this->callHook('postRun', get_class($this), $action ? $action : 'run');
return $ret;
} }
public function setParams($params) { public function setParams($params) {

View File

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

View File

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

View File

@ -39,12 +39,48 @@ class SeedDMS_Download_Mgr {
*/ */
protected $items; 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 * @var array $extracols list of arrays with extra columns per item
* @access protected * @access protected
*/ */
protected $extracols; 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 * @var array $rawcontents list of content used instead of document content
* @access protected * @access protected
@ -55,21 +91,50 @@ class SeedDMS_Download_Mgr {
* @var array $filenames filename used in archive * @var array $filenames filename used in archive
* @access protected * @access protected
*/ */
protected $filnames; protected $filenames;
/**
* @var boolean $skipdefaultcols skip default columns, will only export extracols
* @access protected
*/
protected $skipdefaultcols;
function __construct($tmpdir = '') { function __construct($tmpdir = '') {
$this->tmpdir = $tmpdir; $this->tmpdir = $tmpdir;
$this->items = array(); $this->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_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'));
$this->header[] = getMLText('download_header_reviewer');
$this->header[] = getMLText('download_header_review_date');
$this->header[] = getMLText('download_header_review_comment');
$this->header[] = getMLText('download_header_review_state');
$this->header[] = getMLText('download_header_approver');
$this->header[] = getMLText('download_header_approval_date');
$this->header[] = getMLText('download_header_approval_comment');
$this->header[] = getMLText('download_header_approval_state');
$this->folder_header = array(getMLText('download_header_folder_no'), getMLText('download_header_folder_name'));
$this->extracols = array(); $this->extracols = array();
$this->folder_extracols = array();
$this->rawcontents = array(); $this->rawcontents = array();
$this->extraheader = array(); $this->extraheader = array();
$this->folder_extraheader = array();
$this->filenames = array();
$this->includereviewers = false;
$this->includeapprovers = false;
} }
public function skipDefaultCols($v) { /* {{{ */
$this->skipdefaultcols = (bool) $v;
} /* }}} */
public function addHeader($extraheader) { /* {{{ */ public function addHeader($extraheader) { /* {{{ */
$this->extraheader = $extraheader; $this->extraheader = $extraheader;
} /* }}} */ } /* }}} */
public function addFolderHeader($extraheader) { /* {{{ */
$this->folder_extraheader = $extraheader;
} /* }}} */
public function addItem($item, $extracols=array(), $rawcontent='', $filename='') { /* {{{ */ public function addItem($item, $extracols=array(), $rawcontent='', $filename='') { /* {{{ */
$this->items[$item->getID()] = $item; $this->items[$item->getID()] = $item;
$this->extracols[$item->getID()] = $extracols; $this->extracols[$item->getID()] = $extracols;
@ -77,34 +142,44 @@ class SeedDMS_Download_Mgr {
$this->filenames[$item->getID()] = $filename; $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) { /* {{{ */ public function createToc($file) { /* {{{ */
$items = $this->items;
$objPHPExcel = new PhpOffice\PhpSpreadsheet\Spreadsheet(); $objPHPExcel = new PhpOffice\PhpSpreadsheet\Spreadsheet();
$objPHPExcel->setValueBinder(new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder());
$objPHPExcel->getProperties()->setCreator("SeedDMS")->setTitle("Metadata"); $objPHPExcel->getProperties()->setCreator("SeedDMS")->setTitle("Metadata");
if($items = $this->items) {
$sheet = $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->setActiveSheetIndex(0);
$sheet->setTitle(getMLText('documents'));
$i = 1; $i = 1;
$col = 0; $col = 1;
if(!$this->skipdefaultcols)
foreach($this->header as $h) foreach($this->header as $h)
$sheet->setCellValueByColumnAndRow($col++, $i, $h); $sheet->setCellValue([$col++, $i], $h);
foreach($this->extraheader as $h) foreach($this->extraheader as $h)
$sheet->setCellValueByColumnAndRow($col++, $i, $h); $sheet->setCellValue([$col++, $i], $h);
$i++; $i++;
foreach($items as $item) { foreach($items as $item) {
if($item->isType('documentcontent')) {
$document = $item->getDocument(); $document = $item->getDocument();
$dms = $document->_dms; $dms = $document->_dms;
$status = $item->getStatus(); $status = $item->getStatus();
$reviewStatus = $item->getReviewStatus(); $reviewStatus = $item->getReviewStatus();
$approvalStatus = $item->getApprovalStatus(); $approvalStatus = $item->getApprovalStatus();
$col = 0; $col = 1;
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getID()); $l = $i; // Number of reviewers
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getName()); $k = $i; // Number of approvers
$sheet->setCellValueByColumnAndRow($col++, $i, $document->getID()."-".$item->getOriginalFileName()); if(!$this->skipdefaultcols) {
$sheet->setCellValueByColumnAndRow($col++, $i, getOverallStatusText($status['status'])); $sheet->setCellValue([$col++, $i], $document->getID());
$sheet->setCellValueByColumnAndRow($col++, $i, $item->getVersion()); $sheet->setCellValue([$col++, $i], $document->getName());
$l = $i; $sheet->setCellValue([$col++, $i], $document->getID()."-".$item->getOriginalFileName());
$k = $i; $sheet->setCellValue([$col++, $i], getOverallStatusText($status['status']));
$sheet->setCellValue([$col++, $i], $item->getVersion());
if($reviewStatus) { if($reviewStatus) {
foreach ($reviewStatus as $r) { foreach ($reviewStatus as $r) {
switch ($r["type"]) { switch ($r["type"]) {
@ -126,11 +201,11 @@ class SeedDMS_Download_Mgr {
break; break;
} }
$tcol = $col; $tcol = $col;
$sheet->setCellValueByColumnAndRow($tcol++, $l, $reqName); $sheet->setCellValue([$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], ($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->getStyle([$tcol++, $l])->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME);
$sheet->setCellValueByColumnAndRow($tcol++, $l, $r['comment']); $sheet->setCellValue([$tcol++, $l], $r['comment']);
$sheet->setCellValueByColumnAndRow($tcol++, $l, getReviewStatusText($r["status"])); $sheet->setCellValue([$tcol++, $l], getReviewStatusText($r["status"]));
$l++; $l++;
} }
$l--; $l--;
@ -157,23 +232,61 @@ class SeedDMS_Download_Mgr {
break; break;
} }
$tcol = $col; $tcol = $col;
$sheet->setCellValueByColumnAndRow($tcol++, $k, $reqName); $sheet->setCellValue([$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], ($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->getStyle([$tcol++, $k])->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME);
$sheet->setCellValueByColumnAndRow($tcol++, $k, $r['comment']); $sheet->setCellValue([$tcol++, $k], $r['comment']);
$sheet->setCellValueByColumnAndRow($tcol++, $k, getApprovalStatusText($r["status"])); $sheet->setCellValue([$tcol++, $k], getApprovalStatusText($r["status"]));
$k++; $k++;
} }
$k--; $k--;
} }
$col += 4; $col += 4;
}
if(isset($this->extracols[$item->getID()]) && $this->extracols[$item->getID()]) { if(isset($this->extracols[$item->getID()]) && $this->extracols[$item->getID()]) {
foreach($this->extracols[$item->getID()] as $column) 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 = max($l, $k);
$i++; $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;
if(!$this->skipdefaultcols)
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;
if(!$this->skipdefaultcols) {
$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 = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($objPHPExcel);
$objWriter->save($file); $objWriter->save($file);

View File

@ -46,6 +46,8 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
protected $from_address; protected $from_address;
protected $force_from;
protected $lazy_ssl; protected $lazy_ssl;
protected $debug; protected $debug;
@ -203,7 +205,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
if($returnpath) if($returnpath)
$headers['Return-Path'] = $returnpath; $headers['Return-Path'] = $returnpath;
$headers['To'] = $to; $headers['To'] = $to;
$preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8"); $preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8", "scheme"=>"Q");
$encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, null, $lang), $preferences); $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, null, $lang), $preferences);
$headers['Subject'] = substr($encoded_subject, strlen('Subject: ')); $headers['Subject'] = substr($encoded_subject, strlen('Subject: '));
$headers['Date'] = date('r', time()); $headers['Date'] = date('r', time());

View File

@ -210,13 +210,19 @@ class SeedDMS_Extension_Mgr {
$fp = @fopen(self::getExtensionsConfFile(), "w"); $fp = @fopen(self::getExtensionsConfFile(), "w");
if($fp) { if($fp) {
if($extensions) { if($extensions) {
$EXT_CONF = [];
foreach($extensions as $_ext) { foreach($extensions as $_ext) {
if(file_exists($this->extdir . "/" . $_ext . "/conf.php")) { if(file_exists($this->extdir . "/" . $_ext . "/conf.php")) {
$content = file_get_contents($this->extdir . "/" . $_ext . "/conf.php"); include $this->extdir . "/" . $_ext . "/conf.php";
fwrite($fp, $content); // $content = file_get_contents($this->extdir . "/" . $_ext . "/conf.php");
// fwrite($fp, $content);
} }
} }
} }
// fclose($fp);
// $fp = @fopen(self::getExtensionsConfFile(), "w");
fwrite($fp, '<?php
$EXT_CONF = '.var_export($EXT_CONF, true).';');
fclose($fp); fclose($fp);
return true; return true;
} else { } else {
@ -406,7 +412,7 @@ class SeedDMS_Extension_Mgr {
*/ */
public function checkExtensionByName($extname, $extconf, $options=array()) { /* {{{ */ public function checkExtensionByName($extname, $extconf, $options=array()) { /* {{{ */
if(isset($this->configcache[$extname])) { if(isset($this->configcache[$extname])) {
return $this->configcache[$extname]; // return $this->configcache[$extname];
} }
$this->errmsgs = array(); $this->errmsgs = array();
@ -494,19 +500,6 @@ class SeedDMS_Extension_Mgr {
return $this->configcache[$extname]; 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 * Update an extension
* *
@ -522,7 +515,7 @@ class SeedDMS_Extension_Mgr {
$newdir = addDirSep($this->cachedir)."ext.new"; $newdir = addDirSep($this->cachedir)."ext.new";
/* First remove a left over from a previous extension */ /* First remove a left over from a previous extension */
if(file_exists($newdir)) { if(file_exists($newdir)) {
self::rrmdir($newdir); SeedDMS_Utils::rrmdir($newdir);
} }
if(!mkdir($newdir, 0755)) { if(!mkdir($newdir, 0755)) {
$this->errmsgs[] = "Cannot create temp. extension directory"; $this->errmsgs[] = "Cannot create temp. extension directory";
@ -542,7 +535,7 @@ class SeedDMS_Extension_Mgr {
/* Check if extension is complete and fullfills the constraints */ /* Check if extension is complete and fullfills the constraints */
if(!self::checkExtensionByDir($newdir)) { if(!self::checkExtensionByDir($newdir)) {
self::rrmdir($newdir); SeedDMS_Utils::rrmdir($newdir);
return false; return false;
} }
@ -553,11 +546,11 @@ class SeedDMS_Extension_Mgr {
if(!is_dir($this->extdir)) { if(!is_dir($this->extdir)) {
if(!mkdir($this->extdir, 0755)) { if(!mkdir($this->extdir, 0755)) {
$this->errmsgs[] = "Cannot create extension directory"; $this->errmsgs[] = "Cannot create extension directory";
self::rrmdir($newdir); SeedDMS_Utils::rrmdir($newdir);
return false; return false;
} }
} elseif(is_dir($this->extdir ."/". $extname)) { } 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 */ /* Move the temp. created ext directory to the final location */
/* rename() may fail if dirs are moved from one device to another. /* rename() may fail if dirs are moved from one device to another.
@ -579,7 +572,7 @@ class SeedDMS_Extension_Mgr {
* has been copied. * has been copied.
*/ */
$this->errmsgs[] = "Cannot move temp. extension directory to final destination"; $this->errmsgs[] = "Cannot move temp. extension directory to final destination";
$this->rrmdir($this->extdir ."/". $extname); SeedDMS_Utils::rrmdir($this->extdir ."/". $extname);
return false; return false;
} }

View File

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

View File

@ -29,12 +29,12 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
var $settings; var $settings;
protected function addUser($username, $info) { 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"); 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) { 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())) { if(isset($info['cn'][0]) && ($info['cn'][0] != $user->getFullName())) {
$user->setFullName($info['cn'][0]); $user->setFullName($info['cn'][0]);
} }

View File

@ -573,7 +573,7 @@ class SeedDMS_NotificationService {
* the currently logged in user is not the * the currently logged in user is not the
* owner and the owner is not already in the list of notifiers. * 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); $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); $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) { /* {{{ */ public function sendChangedDocumentOwnerMail($document, $user, $oldowner) { /* {{{ */
if($oldowner->getID() != $document->getOwner()->getID()) { if($oldowner->getID() != $document->getOwner()->getID()) {
$notifyList = $document->getNotifyList(); $notifyList = $document->getNotifyList();

View File

@ -286,6 +286,24 @@ class SeedDMS_Session {
return (array) $this->data['clipboard']; return (array) $this->data['clipboard'];
} /* }}} */ } /* }}} */
/**
* Check if object is on clipboard
*
* @param object $object Document or folder
*/
function isOnClipboard($object) { /* {{{ */
/* id is only set if load() was called before */
if($this->id) {
$dms = $object->getDMS();
if($object->isType('document')) {
return in_array($object->getID(), $this->data['clipboard']['docs']);
} elseif($object->isType('folder')) {
return in_array($object->getID(), $this->data['clipboard']['folders']);
}
}
return false;
} /* }}} */
/** /**
* Add to clipboard of session * Add to clipboard of session
* *

View File

@ -152,6 +152,8 @@ class Settings { /* {{{ */
var $_batchOperations = array(); // or 'all', 'change_owner', etc. var $_batchOperations = array(); // or 'all', 'change_owner', etc.
// jump straight to the document if it is the only hit of a search // jump straight to the document if it is the only hit of a search
var $_showSingleSearchHit = true; var $_showSingleSearchHit = true;
// enable/disable use of memcached
var $_enableMemcached = false;
// contentOffsetDirTo // contentOffsetDirTo
var $_contentOffsetDir = "1048576"; var $_contentOffsetDir = "1048576";
// Maximum number of sub-directories per parent directory // Maximum number of sub-directories per parent directory
@ -265,8 +267,10 @@ class Settings { /* {{{ */
var $_allowChangeRevAppInProcess = false; var $_allowChangeRevAppInProcess = false;
// enable/disable log system // enable/disable log system
var $_logFileEnable = true; var $_logFileEnable = true;
// enable/disable log system // max log level
var $_logFileMaxLevel = 6; // PEAR_LOG_INFO var $_logFileMaxLevel = 6; // PEAR_LOG_INFO
// max log level for restapi
var $_logFileRestApiMaxLevel = 6; // PEAR_LOG_INFO
// the log file rotation // the log file rotation
var $_logFileRotation = "d"; var $_logFileRotation = "d";
// Enable file upload by fine-uploader (was 'jumploader') // Enable file upload by fine-uploader (was 'jumploader')
@ -321,6 +325,8 @@ class Settings { /* {{{ */
var $_maxRecursiveCount = 10000; var $_maxRecursiveCount = 10000;
// number of days in the past of the dashboard // number of days in the past of the dashboard
var $_daysPastDashboard = 7; var $_daysPastDashboard = 7;
// list of folders not considered for dashboard
var $_excludeFoldersDashboard = [];
// enable/disable help // enable/disable help
var $_enableHelp = true; var $_enableHelp = true;
// enable/disable language selection menu // enable/disable language selection menu
@ -388,6 +394,10 @@ class Settings { /* {{{ */
var $_smtpPort = null; var $_smtpPort = null;
// SMTP : send from // SMTP : send from
var $_smtpSendFrom = null; var $_smtpSendFrom = null;
// SMTP : force send from
var $_smtpForceFrom = false;
// SMTP : allow self signed certificates
var $_smtpLazySSL = false;
// SMTP : user // SMTP : user
var $_smtpUser = null; var $_smtpUser = null;
// SMTP : password // SMTP : password
@ -504,7 +514,7 @@ class Settings { /* {{{ */
* *
*/ */
function stringToArray($value) { /* {{{ */ function stringToArray($value) { /* {{{ */
return explode(";", $Value); return explode(";", $value);
} /* }}} */ } /* }}} */
/** /**
@ -622,6 +632,8 @@ class Settings { /* {{{ */
$this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]); $this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]);
$this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]); $this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]);
$this->_daysPastDashboard = intval($tab["daysPastDashboard"]); $this->_daysPastDashboard = intval($tab["daysPastDashboard"]);
if(trim(strval($tab["excludeFoldersDashboard"])))
$this->_excludeFoldersDashboard = explode(',',strval($tab["excludeFoldersDashboard"]));
$this->_enableHelp = Settings::boolVal($tab["enableHelp"]); $this->_enableHelp = Settings::boolVal($tab["enableHelp"]);
$this->_enableLanguageSelector = Settings::boolVal($tab["enableLanguageSelector"]); $this->_enableLanguageSelector = Settings::boolVal($tab["enableLanguageSelector"]);
$this->_enableThemeSelector = Settings::boolVal($tab["enableThemeSelector"]); $this->_enableThemeSelector = Settings::boolVal($tab["enableThemeSelector"]);
@ -690,11 +702,13 @@ class Settings { /* {{{ */
$this->_proxyPassword = strval($tab["proxyPassword"]); $this->_proxyPassword = strval($tab["proxyPassword"]);
$this->_logFileEnable = Settings::boolVal($tab["logFileEnable"]); $this->_logFileEnable = Settings::boolVal($tab["logFileEnable"]);
$this->_logFileMaxLevel = strval($tab["logFileMaxLevel"]); $this->_logFileMaxLevel = strval($tab["logFileMaxLevel"]);
$this->_logFileRestApiMaxLevel = strval($tab["logFileRestApiMaxLevel"]);
$this->_logFileRotation = strval($tab["logFileRotation"]); $this->_logFileRotation = strval($tab["logFileRotation"]);
$this->_enableLargeFileUpload = Settings::boolVal($tab["enableLargeFileUpload"]); $this->_enableLargeFileUpload = Settings::boolVal($tab["enableLargeFileUpload"]);
$this->_partitionSize = strval($tab["partitionSize"]); $this->_partitionSize = strval($tab["partitionSize"]);
$this->_maxUploadSize = strval($tab["maxUploadSize"]); $this->_maxUploadSize = strval($tab["maxUploadSize"]);
$this->_enableXsendfile = Settings::boolVal($tab["enableXsendfile"]); $this->_enableXsendfile = Settings::boolVal($tab["enableXsendfile"]);
$this->_enableMemcached = Settings::boolVal($tab["enableMemcached"]);
// XML Path: /configuration/system/authentication // XML Path: /configuration/system/authentication
$node = $xml->xpath('/configuration/system/authentication'); $node = $xml->xpath('/configuration/system/authentication');
@ -1000,6 +1014,8 @@ class Settings { /* {{{ */
if (is_null($configFilePath)) if (is_null($configFilePath))
$configFilePath = $this->_configFilePath; $configFilePath = $this->_configFilePath;
// copy($configFilePath, $configFilePath.'.'.time());
// Load // Load
$xml = simplexml_load_string(file_get_contents($configFilePath)); $xml = simplexml_load_string(file_get_contents($configFilePath));
$this->getXMLNode($xml, '/', 'configuration'); $this->getXMLNode($xml, '/', 'configuration');
@ -1052,6 +1068,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount); $this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount);
$this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount); $this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount);
$this->setXMLAttributValue($node, "daysPastDashboard", $this->_daysPastDashboard); $this->setXMLAttributValue($node, "daysPastDashboard", $this->_daysPastDashboard);
$this->setXMLAttributValue($node, "excludeFoldersDashboard", implode(',', $this->_excludeFoldersDashboard));
$this->setXMLAttributValue($node, "enableHelp", $this->_enableHelp); $this->setXMLAttributValue($node, "enableHelp", $this->_enableHelp);
$this->setXMLAttributValue($node, "enableLanguageSelector", $this->_enableLanguageSelector); $this->setXMLAttributValue($node, "enableLanguageSelector", $this->_enableLanguageSelector);
$this->setXMLAttributValue($node, "enableThemeSelector", $this->_enableThemeSelector); $this->setXMLAttributValue($node, "enableThemeSelector", $this->_enableThemeSelector);
@ -1106,11 +1123,13 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "proxyPassword", $this->_proxyPassword); $this->setXMLAttributValue($node, "proxyPassword", $this->_proxyPassword);
$this->setXMLAttributValue($node, "logFileEnable", $this->_logFileEnable); $this->setXMLAttributValue($node, "logFileEnable", $this->_logFileEnable);
$this->setXMLAttributValue($node, "logFileMaxLevel", $this->_logFileMaxLevel); $this->setXMLAttributValue($node, "logFileMaxLevel", $this->_logFileMaxLevel);
$this->setXMLAttributValue($node, "logFileRestApiMaxLevel", $this->_logFileRestApiMaxLevel);
$this->setXMLAttributValue($node, "logFileRotation", $this->_logFileRotation); $this->setXMLAttributValue($node, "logFileRotation", $this->_logFileRotation);
$this->setXMLAttributValue($node, "enableLargeFileUpload", $this->_enableLargeFileUpload); $this->setXMLAttributValue($node, "enableLargeFileUpload", $this->_enableLargeFileUpload);
$this->setXMLAttributValue($node, "partitionSize", $this->_partitionSize); $this->setXMLAttributValue($node, "partitionSize", $this->_partitionSize);
$this->setXMLAttributValue($node, "maxUploadSize", $this->_maxUploadSize); $this->setXMLAttributValue($node, "maxUploadSize", $this->_maxUploadSize);
$this->setXMLAttributValue($node, "enableXsendfile", $this->_enableXsendfile); $this->setXMLAttributValue($node, "enableXsendfile", $this->_enableXsendfile);
$this->setXMLAttributValue($node, "enableMemcached", $this->_enableMemcached);
// XML Path: /configuration/system/authentication // XML Path: /configuration/system/authentication
$node = $this->getXMLNode($xml, '/configuration/system', 'authentication'); $node = $this->getXMLNode($xml, '/configuration/system', 'authentication');

View File

@ -45,8 +45,8 @@ class UI extends UI_Default {
* @param array $params parameter passed to constructor of view class * @param array $params parameter passed to constructor of view class
* @return object an object of a class implementing the view * @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; global $settings, $dms, $user, $session, $extMgr, $request, $logger, $notifier, $fulltextservice;
if(!$class) { if(!$class) {
$class = 'Bootstrap'; $class = 'Bootstrap';
$class = 'Style'; $class = 'Style';
@ -138,6 +138,7 @@ class UI extends UI_Default {
$view->setParam('request', $request); $view->setParam('request', $request);
$view->setParam('logger', $logger); $view->setParam('logger', $logger);
$view->setParam('notifier', $notifier); $view->setParam('notifier', $notifier);
$view->setParam('fulltextservice', $fulltextservice);
// $view->setParam('settings', $settings); // $view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName); $view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID); $view->setParam('rootfolderid', $settings->_rootFolderID);
@ -179,7 +180,7 @@ class UI extends UI_Default {
return null; return null;
} /* }}} */ } /* }}} */
static function getStyles() { /* {{{ */ static public function getStyles() { /* {{{ */
global $settings; global $settings;
$themes = array(); $themes = array();
@ -196,7 +197,7 @@ class UI extends UI_Default {
return $themes; 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; global $theme, $dms, $user, $settings;
$view = UI::factory($theme, 'ErrorDlg'); $view = UI::factory($theme, 'ErrorDlg');
$request = $view->getParam('request'); $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/png', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', '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/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')) { if (extension_loaded('imagick')) {

View File

@ -56,7 +56,7 @@ if(isset($GLOBALS['SEEDDMS_HOOKS']['initStorage'])) {
$dms = new SeedDMS_Core_DMS($db, $storage ? $storage : $settings->_contentDir.$settings->_contentOffsetDir); $dms = new SeedDMS_Core_DMS($db, $storage ? $storage : $settings->_contentDir.$settings->_contentOffsetDir);
if(extension_loaded('memcached')) { if($settings->_enableMemcached && extension_loaded('memcached')) {
$memcache = new Memcached('seeddms'); $memcache = new Memcached('seeddms');
$memcache->addServers(array( $memcache->addServers(array(
array('localhost',11211), array('localhost',11211),

View File

@ -32,6 +32,10 @@
use Symfony\Component\HttpFoundation\Request; 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)) { if (!empty($settings->_coreDir)) {
require_once $settings->_coreDir . '/Core.php'; require_once $settings->_coreDir . '/Core.php';
} else { } else {

View File

@ -53,11 +53,12 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params['count'] = count($docs); $params['count'] = count($docs);
$params['__body__'] = $body; $params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml; $params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$email->toIndividual('', $u, 'expired_docs_mail_subject', '', $params); $email->toIndividual('', $u, 'expired_docs_mail_subject', '', $params);
$logger->log('Task \'expired_docs\': Sending reminder \'expired_docs_mail_subject\' to user \''.$u->getLogin().'\'', PEAR_LOG_INFO); $logger->log('Task \'expired_docs\': Sending reminder \'expired_docs_mail_subject\' to user \''.$u->getLogin().'\' ('.(count($docs)).' documents)', PEAR_LOG_INFO);
} else { } else {
$logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$u->getLogin().'\'', PEAR_LOG_INFO); $logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$u->getLogin().'\' ('.(count($docs)).' documents)', PEAR_LOG_INFO);
} }
} }
} }
@ -79,12 +80,13 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params['count'] = count($docs); $params['count'] = count($docs);
$params['__body__'] = $body; $params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml; $params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$email->toIndividual('', $taskparams['email'], 'expired_docs_mail_subject', '', $params); $email->toIndividual('', $taskparams['email'], 'expired_docs_mail_subject', '', $params);
$logger->log('Task \'expired_docs\': Sending reminder \'expired_docs_mail_subject\' to user \''.$taskparams['email'].'\'', PEAR_LOG_INFO); $logger->log('Task \'expired_docs\': Sending reminder \'expired_docs_mail_subject\' to user \''.$taskparams['email'].'\' ('.(count($docs)).' documents)', PEAR_LOG_INFO);
} else { } else {
$logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$taskparams['email'].'\'', PEAR_LOG_INFO); $logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$taskparams['email'].'\' ('.(count($docs)).' documents)', PEAR_LOG_INFO);
} }
} }
} else { } else {
@ -613,6 +615,7 @@ class SeedDMS_CalendarTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params['count'] = count($events); $params['count'] = count($events);
$params['__body__'] = $body; $params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml; $params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$email->toIndividual('', $auser, 'calendar_events_mail_subject', '', $params); $email->toIndividual('', $auser, 'calendar_events_mail_subject', '', $params);
@ -714,6 +717,7 @@ class SeedDMS_StatisticTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params = array(); $params = array();
$params['__body__'] = $body; $params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml; $params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$email->toIndividual('', $auser, 'statistics_mail_subject', '', $params); $email->toIndividual('', $auser, 'statistics_mail_subject', '', $params);
@ -813,6 +817,7 @@ class SeedDMS_RecentChangesTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$params['__body__'] = $body; $params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml; $params['__body_html__'] = $bodyhtml;
$params['__skip_footer__'] = true;
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$email->toIndividual('', $u, 'recentchanges_mail_subject', '', $params); $email->toIndividual('', $u, 'recentchanges_mail_subject', '', $params);

View File

@ -1100,6 +1100,8 @@ function getMandatoryReviewers($folder, $document, $user) { /* {{{ */
foreach($groups as $group) { foreach($groups as $group) {
$managers = $group->getManagers(); $managers = $group->getManagers();
foreach($managers as $manager) { foreach($managers as $manager) {
/* Do not add myself, if I'm the manager of the group */
if($manager->getId() != $user->getId())
$revi[] = $manager->getId(); $revi[] = $manager->getId();
} }
} }
@ -1195,6 +1197,8 @@ function getMandatoryApprovers($folder, $document, $user) { /* {{{ */
foreach($groups as $group) { foreach($groups as $group) {
$managers = $group->getManagers(); $managers = $group->getManagers();
foreach($managers as $manager) { foreach($managers as $manager) {
/* Do not add myself, if I'm the manager of the group */
if($manager->getId() != $user->getId())
$appi[] = $manager->getId(); $appi[] = $manager->getId();
} }
} }
@ -1256,6 +1260,34 @@ function getMandatoryApprovers($folder, $document, $user) { /* {{{ */
return $approvers; 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 * Class for creating encrypted api keys
* *
@ -1388,3 +1420,659 @@ class SeedDMS_FolderTree { /* {{{ */
} /* }}} */ } /* }}} */
} /* }}} */ } /* }}} */
class SeedDMS_Search { /* {{{ */
protected $dms;
protected $user;
protected $fulltextservice;
protected $settings;
public $searchparams;
protected $dcount;
protected $fcount;
protected $totalPages;
protected $entries;
protected $terms;
protected $searchTime;
public function __construct($dms, $user, $fulltextservice, $settings) {
$this->dms = $dms;
$this->user = $user;
$this->fulltextservice = $fulltextservice;
$this->settings = $settings;
$this->searchparams = [];
$this->dcount = 0;
$this->fcount = 0;
$this->totalPages = 0;
$this->entries = array();
$this->terms = array();
$this->searchTime = 0;
}
protected function getTime() { /* {{{ */
if (function_exists('microtime')) {
$tm = microtime();
$tm = explode(' ', $tm);
return (float) sprintf('%f', $tm[1] + $tm[0]);
}
return time();
} /* }}} */
public function createSearchFromQuery($get) { /* {{{ */
$dms = $this->dms;
/* Creation date {{{ */
$createstartts = null;
$createstartdate = null;
$createendts = null;
$createenddate = null;
$created['from'] = null;
$created['to'] = null;
if(!empty($get["created"]["from"])) {
$createstartts = makeTsFromDate($get["created"]["from"]);
$createstartdate = array('year'=>(int)date('Y', $createstartts), 'month'=>(int)date('m', $createstartts), 'day'=>(int)date('d', $createstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($createstartdate['month'], $createstartdate['day'], $createstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
$created['from'] = $createstartts;
}
if(!empty($get["created"]["to"])) {
$createendts = makeTsFromDate($get["created"]["to"]);
$createenddate = array('year'=>(int)date('Y', $createendts), 'month'=>(int)date('m', $createendts), 'day'=>(int)date('d', $createendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($createenddate['month'], $createenddate['day'], $createenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
$created['to'] = $createendts;
}
$this->searchparams['created'] = $created;
/* }}} */
/* Modification date {{{ */
$modifystartts = null;
$modifystartdate = null;
$modifyendts = null;
$modifyenddate = null;
$modified['from'] = null;
$modified['to'] = null;
if(!empty($get["modified"]["from"])) {
$modifystartts = makeTsFromDate($get["modified"]["from"]);
$modifystartdate = array('year'=>(int)date('Y', $modifystartts), 'month'=>(int)date('m', $modifystartts), 'day'=>(int)date('d', $modifystartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($modifystartdate['month'], $modifystartdate['day'], $modifystartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end"));
}
$modified['from'] = $modifystartts;
}
if(!empty($get["modified"]["to"])) {
$modifyendts = makeTsFromDate($get["modified"]["to"]);
$modifyenddate = array('year'=>(int)date('Y', $modifyendts), 'month'=>(int)date('m', $modifyendts), 'day'=>(int)date('d', $modifyendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($modifyenddate['month'], $modifyenddate['day'], $modifyenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end"));
}
$modified['to'] = $modifyendts;
}
$this->searchparams['modified'] = $modified;
/* }}} */
/* Filesize {{{ */
$filesizestart = 0;
$filesizeend = 0;
$filesize['from'] = null;
$filesize['to'] = null;
if(!empty($get["filesize"]["from"])) {
$filesizestart = $get["filesize"]["from"];
$filesize['from'] = $get["filesize"]["from"];
}
if(!empty($get["filesize"]["to"])) {
$filesizeend = $get["filesize"]["to"];
$filesize['to'] = $get["filesize"]["to"];
}
$this->searchparams['filesize'] = $filesize;
/* }}} */
// Check to see if the search has been restricted to a particular
// document owner.
// $get['owner'] can be a name of an array of names or ids {{{
$owner = [];
$ownernames = []; // Needed by fulltext search
$ownerobjs = []; // Needed by database search
if(!empty($get["owner"])) {
$owner = $get['owner'];
if (!is_array($get['owner'])) {
if(is_numeric($get['owner']))
$o = $dms->getUser($get['owner']);
else
$o = $dms->getUserByLogin($get['owner']);
if($o) {
$ownernames[] = $o->getLogin();
$ownerobjs[] = $o;
}
} else {
foreach($get["owner"] as $l) {
if($l) {
if(is_numeric($l))
$o = $dms->getUser($l);
else
$o = $dms->getUserByLogin($l);
if($o) {
$ownernames[] = $o->getLogin();
$ownerobjs[] = $o;
}
}
}
}
}
$this->searchparams['ownernames'] = $ownernames;
$this->searchparams['ownerobjs'] = $ownerobjs;
/* }}} */
// category {{{
$categories = array();
$categorynames = array();
$category = array();
if(isset($get['category']) && $get['category']) {
$category = $get['category'];
foreach($get['category'] as $catid) {
if($catid) {
if(is_numeric($catid)) {
if($cat = $dms->getDocumentCategory($catid)) {
$categories[] = $cat;
$categorynames[] = $cat->getName();
}
} else {
$categorynames[] = $catid;
}
}
}
}
$this->searchparams['categorynames'] = $categorynames;
$this->searchparams['categories'] = $categories;
/* }}} */
if (isset($get["orderby"]) && is_string($get["orderby"])) {
$orderby = $get["orderby"];
} else {
$orderby = "";
}
$this->searchparams['orderby'] = $orderby;
$limit = (isset($get["limit"]) && is_numeric($get["limit"])) ? (int) $get['limit'] : 20;
$this->searchparams['limit'] = $limit;
$fullsearch = ((!isset($get["fullsearch"]) && $this->settings->_defaultSearchMethod == 'fulltext') || !empty($get["fullsearch"])) && $this->settings->_enableFullSearch;
$this->searchparams['fullsearch'] = $fullsearch;
$facetsearch = !empty($get["facetsearch"]) && $this->settings->_enableFullSearch;
$this->searchparams['facetsearch'] = $facetsearch;
if (isset($get["query"]) && is_string($get["query"])) {
$query = $get["query"];
} else {
$query = "";
}
$this->searchparams['query'] = $query;
// Check to see if the search has been restricted to a particular
// mimetype. {{{
$mimetype = [];
if (isset($get["mimetype"])) {
if (!is_array($get['mimetype'])) {
if(!empty($get['mimetype']))
$mimetype[] = $get['mimetype'];
} else {
foreach($get["mimetype"] as $l) {
if($l)
$mimetype[] = $l;
}
}
}
$this->searchparams['mimetype'] = $mimetype;
/* }}} */
// status
$status = isset($get['status']) ? $get['status'] : array();
$this->searchparams['status'] = $status;
// Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages.
//
// This requires that a page number variable be used to track which page the
// user is interested in, and an extra clause on the select statement.
//
// Default page to display is always one.
$pageNumber=1;
if (isset($get["pg"])) {
if (is_numeric($get["pg"]) && $get["pg"]>0) {
$pageNumber = (int) $get["pg"];
}
elseif (!strcasecmp($get["pg"], "all")) {
$pageNumber = "all";
}
}
$this->searchparams['pageNumber'] = $pageNumber;
if($fullsearch) {
// Search in Fulltext {{{
// record_type
if(isset($get['record_type']))
$record_type = $get['record_type'];
else
$record_type = array();
$this->searchparams['record_type'] = $record_type;
if (isset($get["attributes"]))
$attributes = $get["attributes"];
else
$attributes = array();
foreach($attributes as $an=>&$av) {
if(substr($an, 0, 5) == 'attr_') {
$tmp = explode('_', $an);
if($attrdef = $dms->getAttributeDefinition($tmp[1])) {
switch($attrdef->getType()) {
/* Turn dates into timestamps */
case SeedDMS_Core_AttributeDefinition::type_date:
foreach(['from', 'to'] as $kk)
if(!empty($av[$kk])) {
if(!is_numeric($av[$kk])) {
$av[$kk] = makeTsFromDate($av[$kk]);
}
}
break;
}
}
}
}
$this->searchparams['attributes'] = $attributes;
/* Create $order array for fulltext search */
$order = ['by'=>'', 'dir'=>''];
switch($orderby) {
case 'dd':
$order = ['by'=>'created', 'dir'=>'desc'];
break;
case 'd':
$order = ['by'=>'created', 'dir'=>'asc'];
break;
case 'nd':
$order = ['by'=>'title', 'dir'=>'desc'];
break;
case 'n':
$order = ['by'=>'title', 'dir'=>'asc'];
break;
case 'id':
$order = ['by'=>'id', 'dir'=>'desc'];
break;
case 'i':
$order = ['by'=>'id', 'dir'=>'asc'];
break;
default:
$order = ['by'=>'', 'dir'=>''];
}
$this->searchparams['order'] = $order;
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.
$startFolder = null;
if (isset($get["folderfullsearchid"]) && is_numeric($get["folderfullsearchid"]) && $get["folderfullsearchid"]>0) {
$targetid = $get["folderfullsearchid"];
$startFolder = $this->dms->getFolder($targetid);
if (!is_object($startFolder)) {
UI::exitError(getMLText("search"),getMLText("invalid_folder_id"));
}
}
$this->searchparams['startFolder'] = $startFolder;
$rootFolder = $this->dms->getFolder($this->settings->_rootFolderID);
$this->searchparams['rootFolder'] = $rootFolder;
// }}}
} else {
// Search in Database {{{
/* Select if only documents (0x01), only folders (0x02) or both (0x03)
* are found
*/
$resultmode = 0x03;
if (isset($get["resultmode"]) && is_numeric($get["resultmode"])) {
$resultmode = $get['resultmode'];
}
$this->searchparams['resultmode'] = $resultmode;
$mode = "AND";
if (isset($get["mode"]) && is_numeric($get["mode"]) && $get["mode"]==0) {
$mode = "OR";
}
$this->searchparams['mode'] = $mode;
$searchin = array();
if (isset($get['searchin']) && is_array($get["searchin"])) {
foreach ($get["searchin"] as $si) {
if (isset($si) && is_numeric($si)) {
switch ($si) {
case 1: // keywords
case 2: // name
case 3: // comment
case 4: // attributes
case 5: // id
$searchin[$si] = $si;
break;
}
}
}
}
// if none is checkd search all
if (count($searchin)==0) $searchin=array(1, 2, 3, 4, 5);
$this->searchparams['searchin'] = $searchin;
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.
if (isset($get["targetid"]) && is_numeric($get["targetid"]) && $get["targetid"]>0) {
$targetid = $get["targetid"];
$startFolder = $this->dms->getFolder($targetid);
}
else {
$startFolder = $this->dms->getRootFolder();
}
if (!is_object($startFolder)) {
UI::exitError(getMLText("search"),getMLText("invalid_folder_id"));
}
$this->searchparams['startFolder'] = $startFolder;
/* Revision date {{{ */
$revisionstartts = null;
$revisionstartdate = array();
$revisionendts = null;
$revisionenddate = array();
$revised['from'] = null;
$revised['to'] = null;
if(!empty($get["revisiondatestart"])) {
$revisionstartts = makeTsFromDate($get["revisiondatestart"]);
$revisionstartdate = array('year'=>(int)date('Y', $revisionstartts), 'month'=>(int)date('m', $revisionstartts), 'day'=>(int)date('d', $revisionstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($revisionstartdate['month'], $revisionstartdate['day'], $revisionstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_start"));
}
$revised['from'] = $revisionstartts;
}
$this->searchparams['revisionstartdate'] = $revisionstartdate;
if(!empty($get["revisiondateend"])) {
$revisionendts = makeTsFromDate($get["revisiondateend"]);
$revisionenddate = array('year'=>(int)date('Y', $revisionendts), 'month'=>(int)date('m', $revisionendts), 'day'=>(int)date('d', $revisionendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($revisionenddate['month'], $revisionenddate['day'], $revisionenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_end"));
}
$revised['to'] = $revisionendts;
}
$this->searchparams['revisionenddate'] = $revisionenddate;
/* }}} */
/* Status date {{{ */
$statusstartdate = array();
$statusenddate = array();
if(!empty($get["statusdatestart"])) {
$statusstartts = makeTsFromDate($get["statusdatestart"]);
$statusstartdate = array('year'=>(int)date('Y', $statusstartts), 'month'=>(int)date('m', $statusstartts), 'day'=>(int)date('d', $statusstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
}
$this->searchparams['statusstartdate'] = $statusstartdate;
if ($statusstartdate && !checkdate($statusstartdate['month'], $statusstartdate['day'], $statusstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_status_date_start"));
}
$this->searchparams['statusstartdate'] = $statusstartdate;
if(!empty($get["statusdateend"])) {
$statusendts = makeTsFromDate($get["statusdateend"]);
$statusenddate = array('year'=>(int)date('Y', $statusendts), 'month'=>(int)date('m', $statusendts), 'day'=>(int)date('d', $statusendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
}
if ($statusenddate && !checkdate($statusenddate['month'], $statusenddate['day'], $statusenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_status_date_end"));
}
$this->searchparams['statusenddate'] = $statusenddate;
/* }}} */
/* Expiration date {{{ */
$expstartdate = array();
$expenddate = array();
if(!empty($get["expirationstart"])) {
$expstartts = makeTsFromDate($get["expirationstart"]);
$expstartdate = array('year'=>(int)date('Y', $expstartts), 'month'=>(int)date('m', $expstartts), 'day'=>(int)date('d', $expstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($expstartdate['month'], $expstartdate['day'], $expstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start"));
}
}
$this->searchparams['expstartdate'] = $expstartdate;
if(!empty($get["expirationend"])) {
$expendts = makeTsFromDate($get["expirationend"]);
$expenddate = array('year'=>(int)date('Y', $expendts), 'month'=>(int)date('m', $expendts), 'day'=>(int)date('d', $expendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($expenddate['month'], $expenddate['day'], $expenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end"));
}
}
$this->searchparams['expenddate'] = $expenddate;
/* }}} */
$reception = array();
if (isset($get["reception"])){
$reception = $get["reception"];
}
$this->searchparams['reception'] = $reception;
/* Do not search for folders if result shall be filtered by status.
* If this is not done, unexplainable results will be delivered.
* e.g. a search for expired documents of a given user will list
* also all folders of that user because the status doesn't apply
* to folders.
*/
// if($status)
// $resultmode = 0x01;
if (isset($get["attributes"]))
$attributes = $get["attributes"];
else
$attributes = array();
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $this->dms->getAttributeDefinition($attrdefid);
if($attribute) {
if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date) {
if(is_array($attribute)) {
if(!empty($attributes[$attrdefid]['from']))
$attributes[$attrdefid]['from'] = date('Y-m-d', makeTsFromDate($attribute['from']));
if(!empty($attributes[$attrdefid]['to']))
$attributes[$attrdefid]['to'] = date('Y-m-d', makeTsFromDate($attribute['to']));
} else {
$attributes[$attrdefid] = date('Y-m-d', makeTsFromDate($attribute));
}
}
}
}
$this->searchparams['attributes'] = $attributes;
// }}}
}
return $this->searchparams;
} /* }}} */
public function setSearchParam($name, $value) {
$this->searchparams[$name] = $value;
}
public function search() { /* {{{ */
if($this->searchparams['fullsearch']) {
if($this->settings->_fullSearchEngine == 'lucene') {
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
}
$startTime = $this->getTime();
$total = 0;
$index = $this->fulltextservice->Indexer();
if($index) {
if(!empty($this->settings->_suggestTerms) && !empty($get['query'])) {
$st = preg_split("/[\s,]+/", trim($get['query']));
if($lastterm = end($st))
$this->terms = $index->terms($lastterm, $this->settings->_suggestTerms);
}
$limit = $this->searchparams['limit'];
$lucenesearch = $this->fulltextservice->Search();
$searchresult = $lucenesearch->search($this->searchparams['query'],
array(
'record_type'=>$this->searchparams['record_type'],
'owner'=>$this->searchparams['ownernames'],
'status'=>$this->searchparams['status'],
'category'=>$this->searchparams['categorynames'],
'user'=>$this->user->isAdmin() ? [] : [$this->user->getLogin()],
'mimetype'=>$this->searchparams['mimetype'],
'startFolder'=>$this->searchparams['startFolder'],
'rootFolder'=>$this->searchparams['rootFolder'],
'created_start'=>$this->searchparams['created']['from'],
'created_end'=>$this->searchparams['created']['to'],
'modified_start'=>$this->searchparams['modified']['from'],
'modified_end'=>$this->searchparams['modified']['to'],
'filesize_start'=>$this->searchparams['filesize']['from'],
'filesize_end'=>$this->searchparams['filesize']['to'],
'attributes'=>$this->searchparams['attributes']
), ($this->searchparams['pageNumber'] == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($this->searchparams['pageNumber']-1))), $this->searchparams['order']);
if($searchresult !== false) {
$entries = array();
$facets = $searchresult['facets'];
$stats = $searchresult['stats'] ?? null;
$dcount = 0;
$fcount = 0;
if($searchresult['hits']) {
foreach($searchresult['hits'] as $hit) {
if($hit['document_id'][0] == 'D') {
if($tmp = $this->dms->getDocument(substr($hit['document_id'], 1))) {
// if($tmp->getAccessMode($user) >= M_READ) {
$tmp->verifyLastestContentExpriry();
$entries[] = $tmp;
$dcount++;
// }
}
} elseif($hit['document_id'][0] == 'F') {
if($tmp = $this->dms->getFolder(substr($hit['document_id'], 1))) {
// if($tmp->getAccessMode($user) >= M_READ) {
$entries[] = $tmp;
$fcount++;
// }
}
}
}
if(isset($facets['record_type'])) {
$fcount = isset($facets['record_type']['folder']) ? $facets['record_type']['folder'] : 0;
$dcount = isset($facets['record_type']['document']) ? $facets['record_type']['document'] : 0 ;
}
}
$this->fcount = $fcount;
$this->dcount = $dcount;
$this->stats = $stats;
$this->entries = $entries;
$this->facets = $facets;
$totalPages = 0;
if($limit > 0) {
if($searchresult['count'] > $limit) {
$totalPages = (int) ($searchresult['count']/$limit);
if($searchresult['count']%$limit)
$totalPages++;
} else {
$totalPages = 1;
}
}
$this->total = $searchresult['count'];
$this->totalPages = $totalPages;
}
$searchTime = $this->getTime() - $startTime;
$this->searchTime = round($searchTime, 2);
}
} else {
// ---------------- Start searching -----------------------------------------
$startTime = $this->getTime();
$resArr = $this->dms->search(array(
'query'=>$this->searchparams['query'],
'limit'=>0,
'offset'=>0,
'logicalmode'=>$this->searchparams['mode'],
'searchin'=>$this->searchparams['searchin'],
'startFolder'=>$this->searchparams['startFolder'],
'owner'=>$this->searchparams['ownerobjs'],
'status'=>$this->searchparams['status'],
'mimetype'=>$this->searchparams['mimetype'],
'creationstartdate'=>$this->searchparams['created']['from'],
'creationenddate'=>$this->searchparams['created']['to'],
'modificationstartdate'=>$this->searchparams['modified']['from'],
'modificationenddate'=>$this->searchparams['modified']['to'],
'filesizestart'=>$this->searchparams['filesize']['from'],
'filesizeend'=>$this->searchparams['filesize']['to'],
'categories'=>$this->searchparams['categories'],
'attributes'=>$this->searchparams['attributes'],
'mode'=>$this->searchparams['resultmode'],
'expirationstartdate'=>$this->searchparams['expstartdate'],
'expirationenddate'=>$this->searchparams['expenddate'],
'revisionstartdate'=>$this->searchparams['revisionstartdate'],
'revisionenddate'=>$this->searchparams['revisionenddate'],
'reception'=>$this->searchparams['reception'],
'statusstartdate'=>$this->searchparams['statusstartdate'],
'statusenddate'=>$this->searchparams['statusenddate'],
'orderby'=>$this->searchparams['orderby']
));
$this->total = $resArr['totalDocs'] + $resArr['totalFolders'];
$searchTime = $this->getTime() - $startTime;
$this->searchTime = round($searchTime, 2);
$entries = array();
$fcount = 0;
if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($this->user) >= M_READ) {
$entries[] = $entry;
$fcount++;
}
}
}
$this->fcount = $fcount;
$dcount = 0;
if($resArr['docs']) {
foreach ($resArr['docs'] as $entry) {
if ($entry->getAccessMode($this->user) >= M_READ) {
if($entry->getLatestContent()) {
$entry->verifyLastestContentExpriry();
$entries[] = $entry;
$dcount++;
}
}
}
}
$limit = $this->searchparams['limit'];
$this->dcount = $dcount;
$totalPages = 0;
if($limit > 0) {
$totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit)
$totalPages++;
}
if($this->searchparams['pageNumber'] != 'all')
$this->entries = array_slice($entries, ($this->searchparams['pageNumber']-1)*$limit, $limit);
$this->totalPages = $totalPages;
$this->facets = array();
$this->stats = array();
}
} /* }}} */
public function getFolderCount() {
return $this->fcount;
}
public function getDocumentCount() {
return $this->dcount;
}
public function getTotal() {
return $this->total;
}
} /* }}} */

View File

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

View File

@ -31,6 +31,9 @@
require "inc/inc.Settings.php"; require "inc/inc.Settings.php";
use DI\ContainerBuilder;
use Slim\Factory\AppFactory;
if(true) { if(true) {
require_once("inc/inc.Utils.php"); require_once("inc/inc.Utils.php");
require_once("inc/inc.LogInit.php"); require_once("inc/inc.LogInit.php");
@ -39,66 +42,51 @@ if(true) {
require_once("inc/inc.Extension.php"); require_once("inc/inc.Extension.php");
require_once("inc/inc.DBInit.php"); require_once("inc/inc.DBInit.php");
$c = new \Slim\Container(); //Create Your container $containerBuilder = new \DI\ContainerBuilder();
$c['notFoundHandler'] = function ($c) use ($settings, $dms) { $c = $containerBuilder->build();
return function ($request, $response) use ($c, $settings, $dms) { AppFactory::setContainer($c);
$uri = $request->getUri(); $app = AppFactory::create();
if($uri->getBasePath())
$file = $uri->getPath(); /* put lots of data into the container, because if slim instanciates
else * a class by itself (with the help from the DI container), it will
$file = substr($uri->getPath(), 1); * pass the container to the constructor of the instanciated class.
if(file_exists($file) && is_file($file)) { */
$_SERVER['SCRIPT_FILENAME'] = basename($file);
// include($file);
exit;
}
if($request->isXhr()) {
exit;
}
// print_r($request->getUri());
// exit;
return $c['response']
->withStatus(302)
->withHeader('Location', isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_httpRoot.$settings->_siteDefaultPage : $settings->_httpRoot."out/out.ViewFolder.php");
};
};
$app = new \Slim\App($c);
$container = $app->getContainer(); $container = $app->getContainer();
$container['dms'] = $dms; $container->set('dms', $dms);
$container['config'] = $settings; $container->set('config', $settings);
$container['conversionmgr'] = $conversionmgr; $container->set('conversionmgr', $conversionmgr);
$container['logger'] = $logger; $container->set('logger', $logger);
$container['fulltextservice'] = $fulltextservice; $container->set('fulltextservice', $fulltextservice);
$container['notifier'] = $notifier; $container->set('notifier', $notifier);
$container['authenticator'] = $authenticator; $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->addErrorMiddleware(false, true, true);
if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) { if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) { foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) {
if (method_exists($hookObj, 'addRoute')) { 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)); $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));
// }
} }
} }
} }
/* /* Catch all route */
$app->get('/out/[{path:.*}]', function($request, $response, $path = null) use ($app) { $app->get('/{path:.*}', function($request, $response) use ($settings) {
$uri = $request->getUri(); return $response
if($uri->getBasePath()) ->withHeader('Location', $settings->_httpRoot.'out/out.ViewFolder.php')
$file = $uri->getPath(); ->withStatus(302);
else
$file = substr($uri->getPath(), 1);
if(file_exists($file) && is_file($file)) {
$_SERVER['SCRIPT_FILENAME'] = basename($file);
include($file);
exit;
}
}); });
*/
$app->run(); $app->run();
} else { } else {

View File

@ -435,7 +435,18 @@ if (!$db) {
} }
$errorMsg = ''; $errorMsg = '';
$res = $db->query('select * from tblVersion'); switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'sqlite':
$sql = 'select * from `tblVersion`';
break;
case 'pgsql':
$sql = 'select * from "tblVersion"';
break;
}
$res = $db->query($sql);
$recs = $res->fetchAll(PDO::FETCH_ASSOC); $recs = $res->fetchAll(PDO::FETCH_ASSOC);
if(!empty($recs)) { if(!empty($recs)) {
$rec = $recs[0]; $rec = $recs[0];

View File

@ -100,7 +100,7 @@ CREATE TABLE `tblUserSubstitutes` (
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `user` (`user`,`substitute`), UNIQUE KEY `user` (`user`,`substitute`),
CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, 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`), PRIMARY KEY (`id`),
UNIQUE (`user`, `substitute`), UNIQUE (`user`, `substitute`),
CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, 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; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tblDocumentCheckOuts` ( CREATE TABLE `tblDocumentCheckOuts` (

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'توثيق ذو عاملين', '2_factor_auth' => 'توثيق ذو عاملين',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'معلومات عن توثيق ذو عاملين', '2_factor_auth_info' => 'معلومات عن توثيق ذو عاملين',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -553,6 +554,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -683,6 +686,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'إرشيف أطول', 'extension_archive' => 'إرشيف أطول',
'extension_changelog' => 'سجل التعديلات', 'extension_changelog' => 'سجل التعديلات',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'تحميل الإضافات', 'extension_loading' => 'تحميل الإضافات',
@ -1137,6 +1142,7 @@ URL: [url]',
'no_groups' => 'لايوجد مجموعات', 'no_groups' => 'لايوجد مجموعات',
'no_group_members' => 'هذه المجموعة لايوجد بها اعضاء', 'no_group_members' => 'هذه المجموعة لايوجد بها اعضاء',
'no_linked_files' => 'لايوجد ملفات مرتبطة', 'no_linked_files' => 'لايوجد ملفات مرتبطة',
'no_mimetype' => '',
'no_previous_versions' => 'لايوجد اصدارات سابقة', 'no_previous_versions' => 'لايوجد اصدارات سابقة',
'no_receipt_needed' => 'لا يحتاج لأي مستلم', 'no_receipt_needed' => 'لا يحتاج لأي مستلم',
'no_review_needed' => 'لايوجد مراجعات في الانتظار', 'no_review_needed' => 'لايوجد مراجعات في الانتظار',
@ -1282,7 +1288,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند', 'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند',
'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة', 'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'ازالة الملفات المختارة', 'remove_marked_files' => 'ازالة الملفات المختارة',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1464,6 +1472,7 @@ URL: [url]',
'select_category' => 'اضغط لاختيار قسم', 'select_category' => 'اضغط لاختيار قسم',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'اختيار مجموعة', 'select_group' => 'اختيار مجموعة',
'select_groups' => 'اضغط لاختيار مجموعة', 'select_groups' => 'اضغط لاختيار مجموعة',
'select_grp_approvers' => 'اضغط لاختيار مجموعة الموافقون', 'select_grp_approvers' => 'اضغط لاختيار مجموعة الموافقون',
@ -1511,7 +1520,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => 'صفوف', 'sessions' => 'صفوف',
'setDateFromFile' => 'وضع تاريخ من الملف', 'setDateFromFile' => 'وضع تاريخ من الملف',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'تحديد التاريخ من المجلد', 'setDateFromFolder' => 'تحديد التاريخ من المجلد',
'setDateFromFolder_desc' => '',
'settings' => 'الإعدادات', 'settings' => 'الإعدادات',
'settings_activate_module' => 'Activate module', 'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension', 'settings_activate_php_extension' => 'Activate PHP extension',
@ -1609,6 +1620,8 @@ URL: [url]',
'settings_delete_install_folder' => 'مسح مثبت المجلد', 'settings_delete_install_folder' => 'مسح مثبت المجلد',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'تعطيل التحرير الذاتي', 'settings_disableSelfEdit' => 'تعطيل التحرير الذاتي',
'settings_disableSelfEdit_desc' => 'تعطيل التحرير الذاتي', 'settings_disableSelfEdit_desc' => 'تعطيل التحرير الذاتي',
'settings_disable_install' => 'تعطيل التثبيت', 'settings_disable_install' => 'تعطيل التثبيت',
@ -1674,6 +1687,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'تمكين تحميل الملفات الكبيرة', 'settings_enableLargeFileUpload_desc' => 'تمكين تحميل الملفات الكبيرة',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'تمكين مهام القائمة', 'settings_enableMenuTasks' => 'تمكين مهام القائمة',
'settings_enableMenuTasks_desc' => 'تمكين مهام القائمة', 'settings_enableMenuTasks_desc' => 'تمكين مهام القائمة',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1733,6 +1748,8 @@ URL: [url]',
'settings_encryptionKey' => 'مفتاح التشفير', 'settings_encryptionKey' => 'مفتاح التشفير',
'settings_encryptionKey_desc' => 'مفتاح التشفير', 'settings_encryptionKey_desc' => 'مفتاح التشفير',
'settings_error' => 'خطأ', 'settings_error' => 'خطأ',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'قم بتوسيع شجرة المجلد', 'settings_expandFolderTree' => 'قم بتوسيع شجرة المجلد',
'settings_expandFolderTree_desc' => 'قم بتوسيع شجرة المجلد', 'settings_expandFolderTree_desc' => 'قم بتوسيع شجرة المجلد',
'settings_expandFolderTree_val0' => 'قم بتوسيع شجرة المجلد قيمة0', 'settings_expandFolderTree_val0' => 'قم بتوسيع شجرة المجلد قيمة0',
@ -1791,6 +1808,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'تمكين سجل الملف', 'settings_logFileEnable_desc' => 'تمكين سجل الملف',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'سجل ملف التناوب', 'settings_logFileRotation' => 'سجل ملف التناوب',
'settings_logFileRotation_desc' => 'سجل ملف التناوب', 'settings_logFileRotation_desc' => 'سجل ملف التناوب',
'settings_loginFailure' => 'فشل في تسجيل الدخول', 'settings_loginFailure' => 'فشل في تسجيل الدخول',
@ -1988,6 +2007,7 @@ URL: [url]',
'sign_out' => 'تسجيل الخروج', 'sign_out' => 'تسجيل الخروج',
'sign_out_user' => 'تسجيل خروج مستخدم', 'sign_out_user' => 'تسجيل خروج مستخدم',
'site_brand' => 'مجلس النواب اللبناني', 'site_brand' => 'مجلس النواب اللبناني',
'skip_default_export_cols' => '',
'sk_SK' => 'السلوفاكية', 'sk_SK' => 'السلوفاكية',
'sort_by_date' => 'رتب حسب التاريخ', 'sort_by_date' => 'رتب حسب التاريخ',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2117,6 +2137,7 @@ URL: [url]',
'status_revision_sleeping' => 'مراجعة الوضع في حالة النوم', 'status_revision_sleeping' => 'مراجعة الوضع في حالة النوم',
'status_revisor_removed' => 'تم ازالة حالة المراجع', 'status_revisor_removed' => 'تم ازالة حالة المراجع',
'status_unknown' => 'مجهول', 'status_unknown' => 'مجهول',
'storage' => '',
'storage_size' => 'حجم التخزين', 'storage_size' => 'حجم التخزين',
'subfolder_duplicate_name' => 'اسم مجلد فرعي مكرر', 'subfolder_duplicate_name' => 'اسم مجلد فرعي مكرر',
'submit_2_fact_auth' => 'قدم ثنائي عامل التوثيق', 'submit_2_fact_auth' => 'قدم ثنائي عامل التوثيق',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -491,6 +492,8 @@ $text = array(
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -617,6 +620,8 @@ $text = array(
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1015,6 +1020,7 @@ $text = array(
'no_groups' => 'Няма групи', 'no_groups' => 'Няма групи',
'no_group_members' => 'Групата няма членове', 'no_group_members' => 'Групата няма членове',
'no_linked_files' => 'Няма свързани файлове', 'no_linked_files' => 'Няма свързани файлове',
'no_mimetype' => '',
'no_previous_versions' => 'Няма други версии', 'no_previous_versions' => 'Няма други версии',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'Рецензия не е нужна', 'no_review_needed' => 'Рецензия не е нужна',
@ -1151,7 +1157,9 @@ $text = array(
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1306,6 +1314,7 @@ $text = array(
'select_category' => 'Изберете категория', 'select_category' => 'Изберете категория',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '', 'select_group' => '',
'select_groups' => 'Кликни да избереш групи', 'select_groups' => 'Кликни да избереш групи',
'select_grp_approvers' => 'Кликни да избереш група утвърждаващи', 'select_grp_approvers' => 'Кликни да избереш група утвърждаващи',
@ -1353,7 +1362,9 @@ $text = array(
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Настройки', 'settings' => 'Настройки',
'settings_activate_module' => 'Активирай модул', 'settings_activate_module' => 'Активирай модул',
'settings_activate_php_extension' => 'Активирай разширение на PHP', 'settings_activate_php_extension' => 'Активирай разширение на PHP',
@ -1451,6 +1462,8 @@ $text = array(
'settings_delete_install_folder' => 'Изтрийте ENABLE_INSTALL_TOOL в папка конфигурация, за да започнете да използвате системата', 'settings_delete_install_folder' => 'Изтрийте ENABLE_INSTALL_TOOL в папка конфигурация, за да започнете да използвате системата',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Изключи собствено редактиране', 'settings_disableSelfEdit' => 'Изключи собствено редактиране',
'settings_disableSelfEdit_desc' => 'Ако е включено, потребителите няма да могат да редактират своята информация', 'settings_disableSelfEdit_desc' => 'Ако е включено, потребителите няма да могат да редактират своята информация',
'settings_disable_install' => 'Изтрийте ENABLE_INSTALL_TOOL ако е возможно', 'settings_disable_install' => 'Изтрийте ENABLE_INSTALL_TOOL ако е возможно',
@ -1516,6 +1529,8 @@ $text = array(
'settings_enableLargeFileUpload_desc' => 'Ако е включено, качване на файлове е дустъпно и чрез джава-аплет, именован jumploader, без лимит за размер на файла. Това също ще позволи да се качват няколко файла наведнъж.', 'settings_enableLargeFileUpload_desc' => 'Ако е включено, качване на файлове е дустъпно и чрез джава-аплет, именован jumploader, без лимит за размер на файла. Това също ще позволи да се качват няколко файла наведнъж.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '', 'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1575,6 +1590,8 @@ $text = array(
'settings_encryptionKey' => 'Кодиращ ключ', 'settings_encryptionKey' => 'Кодиращ ключ',
'settings_encryptionKey_desc' => 'Този стринг се използва за създаване на уникален идентификатор, който добавен като невидимо поле към формуляр, предотвратява CSRF атаки.', 'settings_encryptionKey_desc' => 'Този стринг се използва за създаване на уникален идентификатор, който добавен като невидимо поле към формуляр, предотвратява CSRF атаки.',
'settings_error' => 'Грешка', 'settings_error' => 'Грешка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Разгърни дървото с папките', 'settings_expandFolderTree' => 'Разгърни дървото с папките',
'settings_expandFolderTree_desc' => 'Разгръщане на дървото с папките', 'settings_expandFolderTree_desc' => 'Разгръщане на дървото с папките',
'settings_expandFolderTree_val0' => 'започвайки от сгънато дърво', 'settings_expandFolderTree_val0' => 'започвайки от сгънато дърво',
@ -1633,6 +1650,8 @@ $text = array(
'settings_logFileEnable_desc' => 'Включи/изключи лог', 'settings_logFileEnable_desc' => 'Включи/изключи лог',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Превъртане на лога', 'settings_logFileRotation' => 'Превъртане на лога',
'settings_logFileRotation_desc' => 'Превъртане на лога', 'settings_logFileRotation_desc' => 'Превъртане на лога',
'settings_loginFailure' => 'Неуспешно влизане', 'settings_loginFailure' => 'Неуспешно влизане',
@ -1830,6 +1849,7 @@ $text = array(
'sign_out' => 'изход', 'sign_out' => 'изход',
'sign_out_user' => '', 'sign_out_user' => '',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Словашки', 'sk_SK' => 'Словашки',
'sort_by_date' => 'Сортирай по дата"', 'sort_by_date' => 'Сортирай по дата"',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -1959,6 +1979,7 @@ $text = array(
'status_revision_sleeping' => '', 'status_revision_sleeping' => '',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Неизвестен', 'status_unknown' => 'Неизвестен',
'storage' => '',
'storage_size' => 'Размер на хранилището', 'storage_size' => 'Размер на хранилището',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -496,6 +497,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -622,6 +625,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1020,6 +1025,7 @@ URL: [url]',
'no_groups' => 'No hi ha grups', 'no_groups' => 'No hi ha grups',
'no_group_members' => 'Aquest grup no té membres', 'no_group_members' => 'Aquest grup no té membres',
'no_linked_files' => 'No hi ha fitxers enllaçats', 'no_linked_files' => 'No hi ha fitxers enllaçats',
'no_mimetype' => '',
'no_previous_versions' => 'No s\'han trobat altres versions', 'no_previous_versions' => 'No s\'han trobat altres versions',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'No hi ha revisions pendents.', 'no_review_needed' => 'No hi ha revisions pendents.',
@ -1156,7 +1162,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació', 'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1311,6 +1319,7 @@ URL: [url]',
'select_category' => 'Prem per seleccionar la categoria', 'select_category' => 'Prem per seleccionar la categoria',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleccionar grup', 'select_group' => 'Seleccionar grup',
'select_groups' => '', 'select_groups' => '',
'select_grp_approvers' => '', 'select_grp_approvers' => '',
@ -1358,7 +1367,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Settings', 'settings' => 'Settings',
'settings_activate_module' => 'Activate module', 'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension', 'settings_activate_php_extension' => 'Activate PHP extension',
@ -1456,6 +1467,8 @@ URL: [url]',
'settings_delete_install_folder' => '', 'settings_delete_install_folder' => '',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '', 'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '', 'settings_disableSelfEdit_desc' => '',
'settings_disable_install' => '', 'settings_disable_install' => '',
@ -1521,6 +1534,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => '', 'settings_enableLargeFileUpload_desc' => '',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '', 'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1580,6 +1595,8 @@ URL: [url]',
'settings_encryptionKey' => '', 'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '', 'settings_encryptionKey_desc' => '',
'settings_error' => 'Error', 'settings_error' => 'Error',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '', 'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '', 'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val0' => '',
@ -1638,6 +1655,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Enable/disable log file', 'settings_logFileEnable_desc' => 'Enable/disable log file',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log File Rotation', 'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => '', 'settings_logFileRotation_desc' => '',
'settings_loginFailure' => '', 'settings_loginFailure' => '',
@ -1835,6 +1854,7 @@ URL: [url]',
'sign_out' => 'desconnectar', 'sign_out' => 'desconnectar',
'sign_out_user' => '', 'sign_out_user' => '',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Eslovac', 'sk_SK' => 'Eslovac',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -1964,6 +1984,7 @@ URL: [url]',
'status_revision_sleeping' => '', 'status_revision_sleeping' => '',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Desconegut', 'status_unknown' => 'Desconegut',
'storage' => '',
'storage_size' => 'Storage size', 'storage_size' => 'Storage size',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'dvoufaktorové ověření', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -707,6 +710,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Rozšíření', 'extension_archive' => 'Rozšíření',
'extension_changelog' => 'Changelog', 'extension_changelog' => 'Changelog',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Načítání rozšíření', 'extension_loading' => 'Načítání rozšíření',
@ -1168,6 +1173,7 @@ URL: [url]',
'no_groups' => 'Žádné skupiny', 'no_groups' => 'Žádné skupiny',
'no_group_members' => 'Tato skupina nemá žádné členy', 'no_group_members' => 'Tato skupina nemá žádné členy',
'no_linked_files' => 'Žádné propojené soubory', 'no_linked_files' => 'Žádné propojené soubory',
'no_mimetype' => '',
'no_previous_versions' => 'Nebyly nalezeny žádné jiné verze', 'no_previous_versions' => 'Nebyly nalezeny žádné jiné verze',
'no_receipt_needed' => 'Nejsou žádné dokumenty, které by vyžadovaly potvrzení o přijetí.', 'no_receipt_needed' => 'Nejsou žádné dokumenty, které by vyžadovaly potvrzení o přijetí.',
'no_review_needed' => 'Nic nečeká k recenzi.', 'no_review_needed' => 'Nic nečeká k recenzi.',
@ -1328,7 +1334,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu', 'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu',
'removeFolderFromDropFolder' => 'Odstranit složku po nahrání', 'removeFolderFromDropFolder' => 'Odstranit složku po nahrání',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Odstranit označené soubory', 'remove_marked_files' => 'Odstranit označené soubory',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1531,6 +1539,7 @@ URL: [url]',
'select_category' => 'Kliknutím vybrat kategorii', 'select_category' => 'Kliknutím vybrat kategorii',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Vybrat skupinu', 'select_group' => 'Vybrat skupinu',
'select_groups' => 'Kliknutím vybrat skupiny', 'select_groups' => 'Kliknutím vybrat skupiny',
'select_grp_approvers' => 'Kliknutím vybrat skupinu schvalovatele', 'select_grp_approvers' => 'Kliknutím vybrat skupinu schvalovatele',
@ -1583,7 +1592,9 @@ Jméno: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'seance', 'sessions' => 'seance',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Nastavení', 'settings' => 'Nastavení',
'settings_activate_module' => 'Aktivovat modul', 'settings_activate_module' => 'Aktivovat modul',
'settings_activate_php_extension' => 'Aktivovat PHP extension', 'settings_activate_php_extension' => 'Aktivovat PHP extension',
@ -1681,6 +1692,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_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' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Zakázat vlastní úpravy', 'settings_disableSelfEdit' => 'Zakázat vlastní úpravy',
'settings_disableSelfEdit_desc' => 'Je-li zaškrtnuto, uživatel nemůže upravit svůj vlastní profil', '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', 'settings_disable_install' => 'Pokud je to možné, smažte soubor ENABLE_INSTALL_TOOL',
@ -1746,6 +1759,8 @@ Jméno: [username]
'settings_enableLargeFileUpload_desc' => 'Je-li nastaveno, nahrávání souborů je také k dispozici prostřednictvím java appletu s názvem jumploader bez omezení velikosti souboru nastaveného prohlížečem. Umožňuje také nahrát několik souborů v jednom kroku.', 'settings_enableLargeFileUpload_desc' => 'Je-li nastaveno, nahrávání souborů je také k dispozici prostřednictvím java appletu s názvem jumploader bez omezení velikosti souboru nastaveného prohlížečem. Umožňuje také nahrát několik souborů v jednom kroku.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Povolit seznam úkolů v nabídce', 'settings_enableMenuTasks' => 'Povolit seznam úkolů v nabídce',
'settings_enableMenuTasks_desc' => 'Aktivovat / Zakázat položku nabídky, která obsahuje všechny úkoly pro uživatele. Obsahuje dokumenty, které musí být přezkoumány, schváleny atd.', 'settings_enableMenuTasks_desc' => 'Aktivovat / Zakázat položku nabídky, která obsahuje všechny úkoly pro uživatele. Obsahuje dokumenty, které musí být přezkoumány, schváleny atd.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1805,6 +1820,8 @@ Jméno: [username]
'settings_encryptionKey' => 'Šifrovací klíč', '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_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_error' => 'Chyba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozbalit strom složek', 'settings_expandFolderTree' => 'Rozbalit strom složek',
'settings_expandFolderTree_desc' => 'Rozbalení stromu složek', 'settings_expandFolderTree_desc' => 'Rozbalení stromu složek',
'settings_expandFolderTree_val0' => 'začít se skrytým stromem', 'settings_expandFolderTree_val0' => 'začít se skrytým stromem',
@ -1863,6 +1880,8 @@ Jméno: [username]
'settings_logFileEnable_desc' => 'Povolení / zakázání souboru protokolu', 'settings_logFileEnable_desc' => 'Povolení / zakázání souboru protokolu',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Otočení souboru protokolu', 'settings_logFileRotation' => 'Otočení souboru protokolu',
'settings_logFileRotation_desc' => 'Otáčení souboru protokolu', 'settings_logFileRotation_desc' => 'Otáčení souboru protokolu',
'settings_loginFailure' => 'Přihlášení selhalo', 'settings_loginFailure' => 'Přihlášení selhalo',
@ -2060,6 +2079,7 @@ Jméno: [username]
'sign_out' => 'Odhlásit', 'sign_out' => 'Odhlásit',
'sign_out_user' => 'Odhlášení uživatele', 'sign_out_user' => 'Odhlášení uživatele',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovenština', 'sk_SK' => 'Slovenština',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2189,6 +2209,7 @@ Jméno: [username]
'status_revision_sleeping' => 'Probíhá', 'status_revision_sleeping' => 'Probíhá',
'status_revisor_removed' => 'Kontrolor odstraněn ze seznamu', 'status_revisor_removed' => 'Kontrolor odstraněn ze seznamu',
'status_unknown' => 'Neznámý', 'status_unknown' => 'Neznámý',
'storage' => '',
'storage_size' => 'Velikost úložiště', 'storage_size' => 'Velikost úložiště',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => 'Poslán tajný kód', 'submit_2_fact_auth' => 'Poslán tajný kód',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (3418), dgrutsch (22) // Translators: Admin (3444), dgrutsch (22)
$text = array( $text = array(
'2_factor_auth' => '2-Faktor Authentifizierung', '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_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_current_secret' => 'Aktuelles Geheimnis',
'2_fact_auth_new_secret' => 'Neues Geheimnis', '2_fact_auth_new_secret' => 'Neues Geheimnis',
@ -408,7 +409,7 @@ URL: [url]</p>',
'current_version' => 'Aktuelle Version', 'current_version' => 'Aktuelle Version',
'daily' => 'täglich', 'daily' => 'täglich',
'dashboard' => 'Übersicht', 'dashboard' => 'Übersicht',
'databasesearch' => 'Datenbanksuche', 'databasesearch' => 'Datenbank',
'database_schema_version' => 'Version des Datenbankschemas', 'database_schema_version' => 'Version des Datenbankschemas',
'data_loading' => 'Bitte warten, bis die Daten geladen sind …', 'data_loading' => 'Bitte warten, bis die Daten geladen sind …',
'date' => 'Datum', 'date' => 'Datum',
@ -711,6 +712,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Dokumentenname', 'download_header_document_name' => 'Dokumentenname',
'download_header_document_no' => 'Dokumenten-Nr.', 'download_header_document_no' => 'Dokumenten-Nr.',
'download_header_filename' => 'Dateiname', 'download_header_filename' => 'Dateiname',
'download_header_folder_name' => 'Ordnername',
'download_header_folder_no' => 'Ordner-ID',
'download_header_internal_version' => 'Int. Version', 'download_header_internal_version' => 'Int. Version',
'download_header_reviewer' => 'Prüfer', 'download_header_reviewer' => 'Prüfer',
'download_header_review_comment' => 'Prüfkommentar', 'download_header_review_comment' => 'Prüfkommentar',
@ -847,6 +850,8 @@ URL: [url]</p>',
'export_user_list_csv' => 'Exportiere Benutzer als CSV-Datei', 'export_user_list_csv' => 'Exportiere Benutzer als CSV-Datei',
'extension_archive' => 'Erweiterung', 'extension_archive' => 'Erweiterung',
'extension_changelog' => 'Versionshistorie', 'extension_changelog' => 'Versionshistorie',
'extension_config' => 'Einstellungen',
'extension_info' => 'Erweiterungen',
'extension_is_off_now' => 'Erweiterung ist ausgeschaltet', 'extension_is_off_now' => 'Erweiterung ist ausgeschaltet',
'extension_is_on_now' => 'Erweiterung ist eingeschaltet', 'extension_is_on_now' => 'Erweiterung ist eingeschaltet',
'extension_loading' => 'Lade Erweiterungen ...', 'extension_loading' => 'Lade Erweiterungen ...',
@ -862,7 +867,7 @@ URL: [url]</p>',
'extension_readme' => 'Readme', 'extension_readme' => 'Readme',
'extension_toggle_error' => 'Konnte Erweiterung nicht aus/einschalten', 'extension_toggle_error' => 'Konnte Erweiterung nicht aus/einschalten',
'extension_version_list' => 'Versionen', 'extension_version_list' => 'Versionen',
'facetfullsearch' => 'Volltextsuche (Facetten)', 'facetfullsearch' => 'Volltext (Facetten)',
'february' => 'Februar', 'february' => 'Februar',
'file' => 'Datei', 'file' => 'Datei',
'files' => 'Dateien', 'files' => 'Dateien',
@ -1043,7 +1048,7 @@ URL: [url]</p>',
'friday_abbr' => 'Fr', 'friday_abbr' => 'Fr',
'from' => 'von', 'from' => 'von',
'fr_FR' => 'Französisch', 'fr_FR' => 'Französisch',
'fullsearch' => 'Volltextsuche', 'fullsearch' => 'Volltext',
'fullsearch_hint' => 'Volltext-Index benutzen', 'fullsearch_hint' => 'Volltext-Index benutzen',
'fulltextsearch_disabled' => 'Volltext-Index ist ausgeschaltet', 'fulltextsearch_disabled' => 'Volltext-Index ist ausgeschaltet',
'fulltext_converters' => 'Index Dokumentenumwandlung', 'fulltext_converters' => 'Index Dokumentenumwandlung',
@ -1401,6 +1406,7 @@ URL: [url]</p>',
'no_groups' => 'keine Gruppen', 'no_groups' => 'keine Gruppen',
'no_group_members' => 'Diese Gruppe hat keine Mitglieder', 'no_group_members' => 'Diese Gruppe hat keine Mitglieder',
'no_linked_files' => 'Keine verknüpften Dokumente', 'no_linked_files' => 'Keine verknüpften Dokumente',
'no_mimetype' => 'Kein Mime-Type',
'no_previous_versions' => 'Keine anderen Versionen gefunden', 'no_previous_versions' => 'Keine anderen Versionen gefunden',
'no_receipt_needed' => 'Es gibt zur Zeit keine Dokumente, die eine Empfangsbestätigung erfordern.', 'no_receipt_needed' => 'Es gibt zur Zeit keine Dokumente, die eine Empfangsbestätigung erfordern.',
'no_review_needed' => 'Keine offenen Prüfungen.', 'no_review_needed' => 'Keine offenen Prüfungen.',
@ -1617,7 +1623,9 @@ Benutzer: [username]<br />
URL: [url]</p>', URL: [url]</p>',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion',
'removeFolderFromDropFolder' => 'Ordner nach Import entfernen', '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_approval_log' => 'Einzelne Freigabe entfernen',
'remove_from_clipboard' => 'Aus Zwischenablage entfernen',
'remove_marked_files' => 'Markierte Dateien löschen', 'remove_marked_files' => 'Markierte Dateien löschen',
'remove_review_log' => 'Einzelne Prüfung entfernen', 'remove_review_log' => 'Einzelne Prüfung entfernen',
'remove_task' => 'Task entfernen', 'remove_task' => 'Task entfernen',
@ -1920,6 +1928,7 @@ URL: [url]</p>',
'select_category' => 'Klicken zur Auswahl einer Kategorie', 'select_category' => 'Klicken zur Auswahl einer Kategorie',
'select_created' => 'Klicken zur Auswahl des Erstellungsdatums', 'select_created' => 'Klicken zur Auswahl des Erstellungsdatums',
'select_documents_for_process' => 'Dokumente auswählen', 'select_documents_for_process' => 'Dokumente auswählen',
'select_folder' => 'Ordner auswählen',
'select_group' => 'Gruppe auswählen', 'select_group' => 'Gruppe auswählen',
'select_groups' => 'Klicken zur Auswahl einer Gruppe', 'select_groups' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_approvers' => 'Klicken zur Auswahl einer Freigabegruppe', 'select_grp_approvers' => 'Klicken zur Auswahl einer Freigabegruppe',
@ -1974,7 +1983,9 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'service_name' => 'Service-Name', 'service_name' => 'Service-Name',
'sessions' => 'Benutzer Online', 'sessions' => 'Benutzer Online',
'setDateFromFile' => 'Datum von importierter Datei übernehmen', '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' => 'Datum von importierten Verzeichnis übernehmen',
'setDateFromFolder_desc' => 'Übernimmt das Datum des zu importierenden Ordners als Datum des Ordners in SeedDMS',
'settings' => 'Einstellungen', 'settings' => 'Einstellungen',
'settings_activate_module' => 'Modul aktivieren', 'settings_activate_module' => 'Modul aktivieren',
'settings_activate_php_extension' => 'PHP-Erweiterung aktivieren', 'settings_activate_php_extension' => 'PHP-Erweiterung aktivieren',
@ -2072,6 +2083,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_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' => '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_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' => 'Kein Ändern des eigenen Profils',
'settings_disableSelfEdit_desc' => 'Anwählen, um das Ändern des eigenen Profiles zu verhindern.', 'settings_disableSelfEdit_desc' => 'Anwählen, um das Ändern des eigenen Profiles zu verhindern.',
'settings_disable_install' => 'Lösche ENABLE_INSTALL_TOOL wenn möglich', 'settings_disable_install' => 'Lösche ENABLE_INSTALL_TOOL wenn möglich',
@ -2137,6 +2150,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_enableLargeFileUpload_desc' => 'Wenn dies gesetzt ist, dann ist ebenfalls der Upload von Dokumenten durch ein java applet mit Namen \'jumploader\' ohne Begrenzung der maximalen Dateigröße möglich. Auch das Hochladen mehrerer Dokumente in einem Schritt wird dadurch ermöglicht. Das Einschalten bewirkt, dass keine http only Cookies mehr gesetzt werden.', 'settings_enableLargeFileUpload_desc' => 'Wenn dies gesetzt ist, dann ist ebenfalls der Upload von Dokumenten durch ein java applet mit Namen \'jumploader\' ohne Begrenzung der maximalen Dateigröße möglich. Auch das Hochladen mehrerer Dokumente in einem Schritt wird dadurch ermöglicht. Das Einschalten bewirkt, dass keine http only Cookies mehr gesetzt werden.',
'settings_enableLoginByEmail' => 'Anmeldung mit E-Mail erlauben', 'settings_enableLoginByEmail' => 'Anmeldung mit E-Mail erlauben',
'settings_enableLoginByEmail_desc' => 'Wenn eingeschaltet, dann ist auch die Anmeldung mit der E-Mail-Adresse möglich. Die Anmeldung mit dem Benutzername bleibt weiterhin möglich. Diese Einstellung wird möglicherweise nicht von allen Authentifizierungsmethoden berücksichtigt. Da die E-Mail nicht eindeutig ist, kann die Identifikation fehlschagen, auch wenn das Password aus Sicht des anmeldenen Benutzers korrekt ist.', 'settings_enableLoginByEmail_desc' => 'Wenn eingeschaltet, dann ist auch die Anmeldung mit der E-Mail-Adresse möglich. Die Anmeldung mit dem Benutzername bleibt weiterhin möglich. Diese Einstellung wird möglicherweise nicht von allen Authentifizierungsmethoden berücksichtigt. Da die E-Mail nicht eindeutig ist, kann die Identifikation fehlschagen, auch wenn das Password aus Sicht des anmeldenen Benutzers korrekt ist.',
'settings_enableMemcached' => 'Memcached verwenden',
'settings_enableMemcached_desc' => 'Verwendet intern memcached, um einige Datenbankoperationen zu beschleunigen und sollte nicht im Produktionsbetrieb eingeschaltet werden.',
'settings_enableMenuTasks' => 'Aufgabenliste im Menü', 'settings_enableMenuTasks' => 'Aufgabenliste im Menü',
'settings_enableMenuTasks_desc' => 'Ein-/Ausschalten des Menüeintrags, der anstehenden Aufgaben des Benutzers enthält. Diese Liste beinhaltet Dokumente die geprüft, freigegeben, usw. werden müssen.', 'settings_enableMenuTasks_desc' => 'Ein-/Ausschalten des Menüeintrags, der anstehenden Aufgaben des Benutzers enthält. Diese Liste beinhaltet Dokumente die geprüft, freigegeben, usw. werden müssen.',
'settings_enableMenuTransmittals' => 'Dokumentenlisten im Menü', 'settings_enableMenuTransmittals' => 'Dokumentenlisten im Menü',
@ -2196,6 +2211,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_encryptionKey' => 'Verschlüsselungs-Sequenz', '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_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_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' => 'Dokumenten-Baum',
'settings_expandFolderTree_desc' => 'Auswählen, wie der Dokumenten-Baum nach der Anmeldung angezeigt wird.', 'settings_expandFolderTree_desc' => 'Auswählen, wie der Dokumenten-Baum nach der Anmeldung angezeigt wird.',
'settings_expandFolderTree_val0' => 'versteckt', 'settings_expandFolderTree_val0' => 'versteckt',
@ -2254,6 +2271,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_logFileEnable_desc' => 'Anwählen, um alle Aktionen in einer Log-Datei im Datenverzeichnis zu speichern.',
'settings_logFileMaxLevel' => 'Maximal Log-Level', 'settings_logFileMaxLevel' => 'Maximal Log-Level',
'settings_logFileMaxLevel_desc' => 'Alle Meldungen bis zu diesem Level werden protokolliert', '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' => 'Rotation der Log-Datei',
'settings_logFileRotation_desc' => 'Zeitraum nachdem eine Rotation der Log-Datei durchgeführt wird', 'settings_logFileRotation_desc' => 'Zeitraum nachdem eine Rotation der Log-Datei durchgeführt wird',
'settings_loginFailure' => 'Anmeldefehlversuche', 'settings_loginFailure' => 'Anmeldefehlversuche',
@ -2451,6 +2470,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'sign_out' => 'Abmelden', 'sign_out' => 'Abmelden',
'sign_out_user' => 'Benutzer abmelden', 'sign_out_user' => 'Benutzer abmelden',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => 'Keine voreingestellten Spalten',
'sk_SK' => 'Slovakisch', 'sk_SK' => 'Slovakisch',
'sort_by_date' => 'Nach Datum sortieren', 'sort_by_date' => 'Nach Datum sortieren',
'sort_by_expiration_date' => 'Nach Ablaufdatum sortieren', 'sort_by_expiration_date' => 'Nach Ablaufdatum sortieren',
@ -2580,6 +2600,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'status_revision_sleeping' => 'wartend', 'status_revision_sleeping' => 'wartend',
'status_revisor_removed' => 'Wiederholungsprüfer von Liste entfernt', 'status_revisor_removed' => 'Wiederholungsprüfer von Liste entfernt',
'status_unknown' => 'unbekannt', 'status_unknown' => 'unbekannt',
'storage' => 'Speicherung',
'storage_size' => 'Speicherverbrauch', 'storage_size' => 'Speicherverbrauch',
'subfolder_duplicate_name' => 'Doppelter Unterordnername', 'subfolder_duplicate_name' => 'Doppelter Unterordnername',
'submit_2_fact_auth' => 'Schlüssel speichern', 'submit_2_fact_auth' => 'Schlüssel speichern',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -491,6 +492,8 @@ $text = array(
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -617,6 +620,8 @@ $text = array(
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1026,6 +1031,7 @@ URL: [url]',
'no_groups' => '', 'no_groups' => '',
'no_group_members' => '', 'no_group_members' => '',
'no_linked_files' => 'δεν υπάρχουν συνδεδεμένα αρχεία', 'no_linked_files' => 'δεν υπάρχουν συνδεδεμένα αρχεία',
'no_mimetype' => '',
'no_previous_versions' => '', 'no_previous_versions' => '',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => '', 'no_review_needed' => '',
@ -1162,7 +1168,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1317,6 +1325,7 @@ URL: [url]',
'select_category' => 'Επιλογή κατηγορίας', 'select_category' => 'Επιλογή κατηγορίας',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Επιλογή ομάδας', 'select_group' => 'Επιλογή ομάδας',
'select_groups' => '', 'select_groups' => '',
'select_grp_approvers' => '', 'select_grp_approvers' => '',
@ -1364,7 +1373,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Ρυθμίσεις', 'settings' => 'Ρυθμίσεις',
'settings_activate_module' => '', 'settings_activate_module' => '',
'settings_activate_php_extension' => '', 'settings_activate_php_extension' => '',
@ -1462,6 +1473,8 @@ URL: [url]',
'settings_delete_install_folder' => '', 'settings_delete_install_folder' => '',
'settings_disableChangePassword' => 'Disable changing password', 'settings_disableChangePassword' => 'Disable changing password',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '', 'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '', 'settings_disableSelfEdit_desc' => '',
'settings_disable_install' => '', 'settings_disable_install' => '',
@ -1527,6 +1540,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => '', 'settings_enableLargeFileUpload_desc' => '',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '', 'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1586,6 +1601,8 @@ URL: [url]',
'settings_encryptionKey' => '', 'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '', 'settings_encryptionKey_desc' => '',
'settings_error' => '', 'settings_error' => '',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '', 'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '', 'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val0' => '',
@ -1644,6 +1661,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '', 'settings_logFileEnable_desc' => '',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '', 'settings_logFileRotation' => '',
'settings_logFileRotation_desc' => '', 'settings_logFileRotation_desc' => '',
'settings_loginFailure' => '', 'settings_loginFailure' => '',
@ -1841,6 +1860,7 @@ URL: [url]',
'sign_out' => 'Αποσύνδεση', 'sign_out' => 'Αποσύνδεση',
'sign_out_user' => 'Αποσύνδεση χρήστη', 'sign_out_user' => 'Αποσύνδεση χρήστη',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Σλοβάκικα', 'sk_SK' => 'Σλοβάκικα',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -1970,6 +1990,7 @@ URL: [url]',
'status_revision_sleeping' => '', 'status_revision_sleeping' => '',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => '', 'status_unknown' => '',
'storage' => '',
'storage_size' => '', 'storage_size' => '',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (2517), archonwang (3), dgrutsch (9), netixw (14) // Translators: Admin (2547), archonwang (3), dgrutsch (9), netixw (14)
$text = array( $text = array(
'2_factor_auth' => '2-factor authentication', '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_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_current_secret' => 'Current secret',
'2_fact_auth_new_secret' => 'New secret', '2_fact_auth_new_secret' => 'New secret',
@ -408,7 +409,7 @@ URL: [url]</p>',
'current_version' => 'Current version', 'current_version' => 'Current version',
'daily' => 'Daily', 'daily' => 'Daily',
'dashboard' => 'Dashboard', 'dashboard' => 'Dashboard',
'databasesearch' => 'Database search', 'databasesearch' => 'Database',
'database_schema_version' => 'Version of database schema', 'database_schema_version' => 'Version of database schema',
'data_loading' => 'Please wait, until the data is loaded …', 'data_loading' => 'Please wait, until the data is loaded …',
'date' => 'Date', 'date' => 'Date',
@ -466,7 +467,7 @@ URL: [url]</p>',
'documents_user_no_reception' => 'Documents without reception', 'documents_user_no_reception' => 'Documents without reception',
'documents_user_obsolete' => 'Obsolete documents', 'documents_user_obsolete' => 'Obsolete documents',
'documents_user_reception' => 'Documents awaiting reception', 'documents_user_reception' => 'Documents awaiting reception',
'documents_user_rejected' => 'Rejected documents', 'documents_user_rejected' => 'Documents rejected',
'documents_user_requiring_attention' => 'Documents owned by you that require attention', 'documents_user_requiring_attention' => 'Documents owned by you that require attention',
'documents_with_notification' => 'Documents with notification', 'documents_with_notification' => 'Documents with notification',
'document_access_permission_changed_email' => 'Permission changed', 'document_access_permission_changed_email' => 'Permission changed',
@ -711,6 +712,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Document name', 'download_header_document_name' => 'Document name',
'download_header_document_no' => 'Document no', 'download_header_document_no' => 'Document no',
'download_header_filename' => 'File name', '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_internal_version' => 'Int. version',
'download_header_reviewer' => 'Reviewer', 'download_header_reviewer' => 'Reviewer',
'download_header_review_comment' => 'Review comment', 'download_header_review_comment' => 'Review comment',
@ -847,6 +850,8 @@ URL: [url]</p>',
'export_user_list_csv' => 'Export users as CSV', 'export_user_list_csv' => 'Export users as CSV',
'extension_archive' => 'Extension', 'extension_archive' => 'Extension',
'extension_changelog' => 'Changelog', 'extension_changelog' => 'Changelog',
'extension_config' => 'Settings',
'extension_info' => 'Extensions',
'extension_is_off_now' => 'Extension off now', 'extension_is_off_now' => 'Extension off now',
'extension_is_on_now' => 'Extension now enabled', 'extension_is_on_now' => 'Extension now enabled',
'extension_loading' => 'Loading extensions ...', 'extension_loading' => 'Loading extensions ...',
@ -862,7 +867,7 @@ URL: [url]</p>',
'extension_readme' => 'Readme', 'extension_readme' => 'Readme',
'extension_toggle_error' => 'Could not toggle extension', 'extension_toggle_error' => 'Could not toggle extension',
'extension_version_list' => 'Versions', 'extension_version_list' => 'Versions',
'facetfullsearch' => 'Full text search (facetts)', 'facetfullsearch' => 'Full text (facetts)',
'february' => 'February', 'february' => 'February',
'file' => 'File', 'file' => 'File',
'files' => 'Files', 'files' => 'Files',
@ -872,7 +877,7 @@ URL: [url]</p>',
'files_loading' => 'Please wait, until the list of files is loaded …', 'files_loading' => 'Please wait, until the list of files is loaded …',
'filetype' => 'File type', 'filetype' => 'File type',
'filter_for_documents' => 'Additional filter for documents', 'filter_for_documents' => 'Additional filter for documents',
'filter_for_documents_and_folders' => 'Additional filter for folder and documents', 'filter_for_documents_and_folders' => 'Additional filter for folders and documents',
'filter_for_folders' => 'Additional filter for folders', 'filter_for_folders' => 'Additional filter for folders',
'finished_workflow_log' => 'Finished workflows', 'finished_workflow_log' => 'Finished workflows',
'folder' => 'Folder', 'folder' => 'Folder',
@ -1043,7 +1048,7 @@ URL: [url]</p>',
'friday_abbr' => 'Fr', 'friday_abbr' => 'Fr',
'from' => 'From', 'from' => 'From',
'fr_FR' => 'French', 'fr_FR' => 'French',
'fullsearch' => 'Full text search', 'fullsearch' => 'Full text',
'fullsearch_hint' => 'Use fulltext index', 'fullsearch_hint' => 'Use fulltext index',
'fulltextsearch_disabled' => 'Fulltext index is disabled', 'fulltextsearch_disabled' => 'Fulltext index is disabled',
'fulltext_converters' => 'Index document conversion', 'fulltext_converters' => 'Index document conversion',
@ -1195,9 +1200,9 @@ URL: [url]</p>',
'language' => 'Language', 'language' => 'Language',
'lastaccess' => 'Last access', 'lastaccess' => 'Last access',
'last_update' => 'Last Update', 'last_update' => 'Last Update',
'latest_newdocuments' => 'Latest added documents', 'latest_newdocuments' => 'Recently added documents',
'latest_statuschange' => 'Latest status change', 'latest_statuschange' => 'Documents with recent status change',
'latest_updateddocuments' => 'Latest updated documents', 'latest_updateddocuments' => 'Recently updated documents',
'legend' => 'Legend', 'legend' => 'Legend',
'librarydoc' => 'Document from library', 'librarydoc' => 'Document from library',
'linked_document' => 'Linked document', 'linked_document' => 'Linked document',
@ -1403,6 +1408,7 @@ URL: [url]</p>',
'no_groups' => 'No groups', 'no_groups' => 'No groups',
'no_group_members' => 'This group has no members', 'no_group_members' => 'This group has no members',
'no_linked_files' => 'No linked files', 'no_linked_files' => 'No linked files',
'no_mimetype' => 'No mimetype',
'no_previous_versions' => 'No other versions found', 'no_previous_versions' => 'No other versions found',
'no_receipt_needed' => 'There are currently no documents requiring a receipt confirmation.', 'no_receipt_needed' => 'There are currently no documents requiring a receipt confirmation.',
'no_review_needed' => 'No review pending.', 'no_review_needed' => 'No review pending.',
@ -1619,7 +1625,9 @@ User: [username]<br />
URL: [url]</p>', URL: [url]</p>',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version', 'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Remove folder after import', '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_approval_log' => 'Remove approval',
'remove_from_clipboard' => 'Remove from clipboard',
'remove_marked_files' => 'Remove marked files', 'remove_marked_files' => 'Remove marked files',
'remove_review_log' => 'Remove review', 'remove_review_log' => 'Remove review',
'remove_task' => 'Remove task', 'remove_task' => 'Remove task',
@ -1922,6 +1930,7 @@ URL: [url]</p>',
'select_category' => 'Click to select category', 'select_category' => 'Click to select category',
'select_created' => 'Click to select date of creation', 'select_created' => 'Click to select date of creation',
'select_documents_for_process' => 'Select documents', 'select_documents_for_process' => 'Select documents',
'select_folder' => 'Select folder',
'select_group' => 'Select group', 'select_group' => 'Select group',
'select_groups' => 'Click to select groups', 'select_groups' => 'Click to select groups',
'select_grp_approvers' => 'Click to select group approver', 'select_grp_approvers' => 'Click to select group approver',
@ -1976,7 +1985,9 @@ If you did not receive a password, please use the password forgotten function on
'service_name' => 'Name of service', 'service_name' => 'Name of service',
'sessions' => 'Users online', 'sessions' => 'Users online',
'setDateFromFile' => 'Take over date from imported file', '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' => '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' => 'Settings',
'settings_activate_module' => 'Activate module', 'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension', 'settings_activate_php_extension' => 'Activate PHP extension',
@ -2074,6 +2085,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_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' => '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_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' => 'Disable Self Edit',
'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile', 'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile',
'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible', 'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible',
@ -2139,6 +2152,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step. Turning this on will turn off http only cookies.', 'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step. Turning this on will turn off http only cookies.',
'settings_enableLoginByEmail' => 'Enable login by email', 'settings_enableLoginByEmail' => 'Enable login by email',
'settings_enableLoginByEmail_desc' => 'If enabled, the user maya also use the email address for login. This will not disable login with the username. This setting may not be regarded by all authentication methods. Because the email is not unique, authentication may fail, even if the user enters a right password.', 'settings_enableLoginByEmail_desc' => 'If enabled, the user maya also use the email address for login. This will not disable login with the username. This setting may not be regarded by all authentication methods. Because the email is not unique, authentication may fail, even if the user enters a right password.',
'settings_enableMemcached' => 'Use memcached (experimental)',
'settings_enableMemcached_desc' => 'Use memcached for accelerating some database operations. This should not be be turned on in production.',
'settings_enableMenuTasks' => 'Enable task list in menu', 'settings_enableMenuTasks' => 'Enable task list in menu',
'settings_enableMenuTasks_desc' => 'Enable/Disable the menu item which contains all tasks for the user. This contains documents, that need to be reviewed, approved, etc.', 'settings_enableMenuTasks_desc' => 'Enable/Disable the menu item which contains all tasks for the user. This contains documents, that need to be reviewed, approved, etc.',
'settings_enableMenuTransmittals' => 'Enable transmittals in menu', 'settings_enableMenuTransmittals' => 'Enable transmittals in menu',
@ -2198,6 +2213,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_encryptionKey' => 'Encryption key', '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_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_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' => 'Expand Folder Tree',
'settings_expandFolderTree_desc' => 'Expand Folder Tree', 'settings_expandFolderTree_desc' => 'Expand Folder Tree',
'settings_expandFolderTree_val0' => 'start with tree hidden', 'settings_expandFolderTree_val0' => 'start with tree hidden',
@ -2256,6 +2273,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_logFileEnable_desc' => 'Enable/disable log file', 'settings_logFileEnable_desc' => 'Enable/disable log file',
'settings_logFileMaxLevel' => 'Maximum log level', 'settings_logFileMaxLevel' => 'Maximum log level',
'settings_logFileMaxLevel_desc' => 'All messages up to this level will be logged', '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' => 'Log File Rotation',
'settings_logFileRotation_desc' => 'The log file rotation', 'settings_logFileRotation_desc' => 'The log file rotation',
'settings_loginFailure' => 'Login failure', 'settings_loginFailure' => 'Login failure',
@ -2453,6 +2472,7 @@ If you did not receive a password, please use the password forgotten function on
'sign_out' => 'Sign out', 'sign_out' => 'Sign out',
'sign_out_user' => 'Sign out user', 'sign_out_user' => 'Sign out user',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => 'Skip default columns',
'sk_SK' => 'Slovak', 'sk_SK' => 'Slovak',
'sort_by_date' => 'Sort by date', 'sort_by_date' => 'Sort by date',
'sort_by_expiration_date' => 'Sort by date of expiration', 'sort_by_expiration_date' => 'Sort by date of expiration',
@ -2582,6 +2602,7 @@ If you did not receive a password, please use the password forgotten function on
'status_revision_sleeping' => 'pending', 'status_revision_sleeping' => 'pending',
'status_revisor_removed' => 'Revisor removed from list', 'status_revisor_removed' => 'Revisor removed from list',
'status_unknown' => 'Unknown', 'status_unknown' => 'Unknown',
'storage' => 'Storage',
'storage_size' => 'Storage size', 'storage_size' => 'Storage size',
'subfolder_duplicate_name' => 'Duplicate subfolder name', 'subfolder_duplicate_name' => 'Duplicate subfolder name',
'submit_2_fact_auth' => 'Save secret', 'submit_2_fact_auth' => 'Save secret',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Autenticación de doble factor', '2_factor_auth' => 'Autenticación de doble factor',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -566,6 +567,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -696,6 +699,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => 'Log de Cambios', 'extension_changelog' => 'Log de Cambios',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Cargando extensiones', 'extension_loading' => 'Cargando extensiones',
@ -1152,6 +1157,7 @@ URL: [url]',
'no_groups' => 'No hay grupos', 'no_groups' => 'No hay grupos',
'no_group_members' => 'Este grupo no tiene miembros', 'no_group_members' => 'Este grupo no tiene miembros',
'no_linked_files' => 'No hay ficheros vinculados', 'no_linked_files' => 'No hay ficheros vinculados',
'no_mimetype' => '',
'no_previous_versions' => 'No se han encontrado otras versiones', 'no_previous_versions' => 'No se han encontrado otras versiones',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'No hay revisiones pendientes.', 'no_review_needed' => 'No hay revisiones pendientes.',
@ -1305,7 +1311,9 @@ nURL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento',
'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar', 'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Eliminar ficheros marcados', 'remove_marked_files' => 'Eliminar ficheros marcados',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1487,6 +1495,7 @@ URL: [url]',
'select_category' => 'Haga Click para seleccionar categoría', 'select_category' => 'Haga Click para seleccionar categoría',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleccionar Grupo', 'select_group' => 'Seleccionar Grupo',
'select_groups' => 'Haga Click para seleccionar grupos', 'select_groups' => 'Haga Click para seleccionar grupos',
'select_grp_approvers' => 'Haga Click para seleccionar grupo de aprobadores', 'select_grp_approvers' => 'Haga Click para seleccionar grupo de aprobadores',
@ -1534,7 +1543,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => 'Obtiene la fecha del archivo importado', 'setDateFromFile' => 'Obtiene la fecha del archivo importado',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Obtiene la fecha de la carpeta importada', 'setDateFromFolder' => 'Obtiene la fecha de la carpeta importada',
'setDateFromFolder_desc' => '',
'settings' => 'Configuración', 'settings' => 'Configuración',
'settings_activate_module' => 'Activar módulo', 'settings_activate_module' => 'Activar módulo',
'settings_activate_php_extension' => 'Activar extensión PHP', 'settings_activate_php_extension' => 'Activar extensión PHP',
@ -1632,6 +1643,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración', 'settings_delete_install_folder' => 'Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Deshabilitar autoedición', 'settings_disableSelfEdit' => 'Deshabilitar autoedición',
'settings_disableSelfEdit_desc' => 'Si está seleccionado el usuario no podrá editar su propio perfil', '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', 'settings_disable_install' => 'Eliminar el archivo ENABLE_INSTALL_TOOL se es posible',
@ -1697,6 +1710,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.', 'settings_enableLargeFileUpload_desc' => 'Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Activar en el menú la lista de tareas', 'settings_enableMenuTasks' => 'Activar en el menú la lista de tareas',
'settings_enableMenuTasks_desc' => 'Habilita/Deshabillita la parte del menú que contiene todas las tareas para el usuario. Contiene documentos que necesitan ser revisados, aprobados, etc.', 'settings_enableMenuTasks_desc' => 'Habilita/Deshabillita la parte del menú que contiene todas las tareas para el usuario. Contiene documentos que necesitan ser revisados, aprobados, etc.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1756,6 +1771,8 @@ URL: [url]',
'settings_encryptionKey' => 'Clave de cifrado', '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_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_error' => 'Error',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandir árbol de carpetas', 'settings_expandFolderTree' => 'Expandir árbol de carpetas',
'settings_expandFolderTree_desc' => 'Expandir árbol de carpetas', 'settings_expandFolderTree_desc' => 'Expandir árbol de carpetas',
'settings_expandFolderTree_val0' => 'Comenzar con el árbol oculto', 'settings_expandFolderTree_val0' => 'Comenzar con el árbol oculto',
@ -1814,6 +1831,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Habilitar/Deshabilitar archivo de registro', 'settings_logFileEnable_desc' => 'Habilitar/Deshabilitar archivo de registro',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotación del archivo de registro', 'settings_logFileRotation' => 'Rotación del archivo de registro',
'settings_logFileRotation_desc' => 'Rotación del archivo de registro', 'settings_logFileRotation_desc' => 'Rotación del archivo de registro',
'settings_loginFailure' => 'Fallo de acceso', 'settings_loginFailure' => 'Fallo de acceso',
@ -2011,6 +2030,7 @@ URL: [url]',
'sign_out' => 'Salir', 'sign_out' => 'Salir',
'sign_out_user' => 'Desconectar usuario', 'sign_out_user' => 'Desconectar usuario',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovaco', 'sk_SK' => 'Slovaco',
'sort_by_date' => 'Ordenar por Fecha', 'sort_by_date' => 'Ordenar por Fecha',
'sort_by_expiration_date' => 'Ordenar por fecha de vencimiento', 'sort_by_expiration_date' => 'Ordenar por fecha de vencimiento',
@ -2140,6 +2160,7 @@ URL: [url]',
'status_revision_sleeping' => 'pendiente', 'status_revision_sleeping' => 'pendiente',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Desconocido', 'status_unknown' => 'Desconocido',
'storage' => '',
'storage_size' => 'Tamaño de almacenamiento', 'storage_size' => 'Tamaño de almacenamiento',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (1173), jeromerobert (50), lonnnew (9), Oudiceval (1171) // Translators: Admin (1175), jeromerobert (50), lonnnew (9), Oudiceval (1171)
$text = array( $text = array(
'2_factor_auth' => 'Authentification forte', '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_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_current_secret' => 'Clé secrète actuelle',
'2_fact_auth_new_secret' => 'Nouvelle clé secrète', '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_name' => 'Nom du document',
'download_header_document_no' => 'N° du document', 'download_header_document_no' => 'N° du document',
'download_header_filename' => 'Nom du fichier', 'download_header_filename' => 'Nom du fichier',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Version interne', 'download_header_internal_version' => 'Version interne',
'download_header_reviewer' => 'Examinateur', 'download_header_reviewer' => 'Examinateur',
'download_header_review_comment' => 'Commentaire de vérification', 'download_header_review_comment' => 'Commentaire de vérification',
@ -817,6 +820,8 @@ URL : [url]</p>',
'export_user_list_csv' => 'Exporter les utilisateurs en CSV', 'export_user_list_csv' => 'Exporter les utilisateurs en CSV',
'extension_archive' => 'Extension', 'extension_archive' => 'Extension',
'extension_changelog' => 'Journal des modifications', 'extension_changelog' => 'Journal des modifications',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => 'Lextension est désactivée', 'extension_is_off_now' => 'Lextension est désactivée',
'extension_is_on_now' => 'Lextension est activée', 'extension_is_on_now' => 'Lextension est activée',
'extension_loading' => 'Chargement des extensions…', 'extension_loading' => 'Chargement des extensions…',
@ -1358,6 +1363,7 @@ URL : [url]</p>',
'no_groups' => 'Aucun groupe', 'no_groups' => 'Aucun groupe',
'no_group_members' => 'Ce groupe ne contient aucun membre', 'no_group_members' => 'Ce groupe ne contient aucun membre',
'no_linked_files' => 'Aucun fichier lié', 'no_linked_files' => 'Aucun fichier lié',
'no_mimetype' => '',
'no_previous_versions' => 'Aucune autre version trouvée', 'no_previous_versions' => 'Aucune autre version trouvée',
'no_receipt_needed' => 'Il ny a actuellement aucun document nécessitant une confirmation de réception.', 'no_receipt_needed' => 'Il ny a actuellement aucun document nécessitant une confirmation de réception.',
'no_review_needed' => 'Aucune vérification en attente', 'no_review_needed' => 'Aucune vérification en attente',
@ -1572,7 +1578,9 @@ Utilisateur : [username]<br />
URL : [url]</p>', URL : [url]</p>',
'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument', 'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument',
'removeFolderFromDropFolder' => 'Suppression du dossier après importation', 'removeFolderFromDropFolder' => 'Suppression du dossier après importation',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => 'Approbation retirée', 'remove_approval_log' => 'Approbation retirée',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Supprimer les fichiers sélectionnés', 'remove_marked_files' => 'Supprimer les fichiers sélectionnés',
'remove_review_log' => 'Vérification retirée', 'remove_review_log' => 'Vérification retirée',
'remove_task' => '', 'remove_task' => '',
@ -1869,6 +1877,7 @@ URL : [url]</p>',
'select_category' => 'Cliquer pour choisir une catégorie', 'select_category' => 'Cliquer pour choisir une catégorie',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Sélectionner un groupe', 'select_group' => 'Sélectionner un groupe',
'select_groups' => 'Cliquer pour choisir un groupe', 'select_groups' => 'Cliquer pour choisir un groupe',
'select_grp_approvers' => 'Cliquer pour choisir un groupe d\'approbateur', 'select_grp_approvers' => 'Cliquer pour choisir un groupe d\'approbateur',
@ -1921,7 +1930,9 @@ Nom : [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Utilisateurs en ligne', 'sessions' => 'Utilisateurs en ligne',
'setDateFromFile' => 'Reprendre la date du fichier importé', 'setDateFromFile' => 'Reprendre la date du fichier importé',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Reprendre la date du dossier importé', 'setDateFromFolder' => 'Reprendre la date du dossier importé',
'setDateFromFolder_desc' => '',
'settings' => 'Configuration', 'settings' => 'Configuration',
'settings_activate_module' => 'Activez le module', 'settings_activate_module' => 'Activez le module',
'settings_activate_php_extension' => 'Activez l\'extension PHP', 'settings_activate_php_extension' => 'Activez l\'extension PHP',
@ -2019,6 +2030,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_delete_install_folder' => 'Pour utiliser SeedDMS, vous devez supprimer le fichier ENABLE_INSTALL_TOOL dans le répertoire de configuration',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Désactiver auto modification', 'settings_disableSelfEdit' => 'Désactiver auto modification',
'settings_disableSelfEdit_desc' => 'Si coché, l\'utilisateur ne peut pas éditer son profil', 'settings_disableSelfEdit_desc' => 'Si coché, l\'utilisateur ne peut pas éditer son profil',
'settings_disable_install' => 'Si possible, supprimer le fichier ENABLE_INSTALL_TOOL', 'settings_disable_install' => 'Si possible, supprimer le fichier ENABLE_INSTALL_TOOL',
@ -2084,6 +2097,8 @@ Nom : [username]
'settings_enableLargeFileUpload_desc' => 'Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.', 'settings_enableLargeFileUpload_desc' => 'Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Activer le menu des tâches', 'settings_enableMenuTasks' => 'Activer le menu des tâches',
'settings_enableMenuTasks_desc' => 'Affiche un menu avec la liste des tâches. Cette liste contient les documents en attente dune action par lutilisateur.', 'settings_enableMenuTasks_desc' => 'Affiche un menu avec la liste des tâches. Cette liste contient les documents en attente dune action par lutilisateur.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -2143,6 +2158,8 @@ Nom : [username]
'settings_encryptionKey' => 'Clé de cryptage', '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_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_error' => 'Erreur',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Dérouler l\'arborescence des dossiers', 'settings_expandFolderTree' => 'Dérouler l\'arborescence des dossiers',
'settings_expandFolderTree_desc' => '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', 'settings_expandFolderTree_val0' => 'Démarrer avec l\'arborescence cachée',
@ -2201,6 +2218,8 @@ Nom : [username]
'settings_logFileEnable_desc' => 'Active/désactive le fichier journal', 'settings_logFileEnable_desc' => 'Active/désactive le fichier journal',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotation fichier journal', 'settings_logFileRotation' => 'Rotation fichier journal',
'settings_logFileRotation_desc' => 'Rotation fichier journal', 'settings_logFileRotation_desc' => 'Rotation fichier journal',
'settings_loginFailure' => 'Max. échecs de connexion', 'settings_loginFailure' => 'Max. échecs de connexion',
@ -2398,6 +2417,7 @@ Nom : [username]
'sign_out' => 'Déconnexion', 'sign_out' => 'Déconnexion',
'sign_out_user' => 'Déconnecter l\'utilisateur', 'sign_out_user' => 'Déconnecter l\'utilisateur',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovaque', 'sk_SK' => 'Slovaque',
'sort_by_date' => 'Trier par date', 'sort_by_date' => 'Trier par date',
'sort_by_expiration_date' => 'Trier par date dexpiration', 'sort_by_expiration_date' => 'Trier par date dexpiration',
@ -2527,6 +2547,7 @@ Nom : [username]
'status_revision_sleeping' => 'en attente', 'status_revision_sleeping' => 'en attente',
'status_revisor_removed' => 'Réviseur retiré de la liste', 'status_revisor_removed' => 'Réviseur retiré de la liste',
'status_unknown' => 'Inconnu', 'status_unknown' => 'Inconnu',
'storage' => '',
'storage_size' => 'Taille occupée', 'storage_size' => 'Taille occupée',
'subfolder_duplicate_name' => 'Un sous-dossier porte déjà ce nom !', 'subfolder_duplicate_name' => 'Un sous-dossier porte déjà ce nom !',
'submit_2_fact_auth' => 'Enregistrer la clé secrète', 'submit_2_fact_auth' => 'Enregistrer la clé secrète',
@ -2671,7 +2692,7 @@ URL : [url]</p>',
'type_to_filter' => 'Filtrer dans la liste', 'type_to_filter' => 'Filtrer dans la liste',
'type_to_search' => 'Effectuer une recherche', 'type_to_search' => 'Effectuer une recherche',
'uk_UA' => 'Ukrénien', 'uk_UA' => 'Ukrénien',
'undefined' => '', 'undefined' => 'indéfini',
'under_folder' => 'Dans le dossier', 'under_folder' => 'Dans le dossier',
'unknown_attrdef' => 'Définition dattribut inconnue', 'unknown_attrdef' => 'Définition dattribut inconnue',
'unknown_command' => 'Commande non reconnue.', 'unknown_command' => 'Commande non reconnue.',
@ -2690,7 +2711,7 @@ URL : [url]</p>',
'unlock_cause_locking_user' => 'Vous pouvez encore le mettre à jour, car vous êtes le seul à l\'avoir verrouillé. Le verrouillage sera automatiquement annulé.', 'unlock_cause_locking_user' => 'Vous pouvez encore le mettre à jour, car vous êtes le seul à l\'avoir verrouillé. Le verrouillage sera automatiquement annulé.',
'unlock_document' => 'Déverrouiller', 'unlock_document' => 'Déverrouiller',
'update' => 'Mettre à jour', 'update' => 'Mettre à jour',
'updated' => '', 'updated' => 'mis à jour',
'updated_documents' => '', 'updated_documents' => '',
'update_approvers' => 'Mettre à jour la liste des approbateurs', 'update_approvers' => 'Mettre à jour la liste des approbateurs',
'update_document' => 'Mettre à jour', 'update_document' => 'Mettre à jour',

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Kétfaktoros azonosítás', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -560,6 +561,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -690,6 +693,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Bővítmények', 'extension_archive' => 'Bővítmények',
'extension_changelog' => 'Változásnapló', 'extension_changelog' => 'Változásnapló',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Kiterjesztések betöltése ...', 'extension_loading' => 'Kiterjesztések betöltése ...',
@ -1143,6 +1148,7 @@ URL: [url]',
'no_groups' => 'Nincsenek csoportok', 'no_groups' => 'Nincsenek csoportok',
'no_group_members' => 'Ennek a csoportnak nincsenek tagjai', 'no_group_members' => 'Ennek a csoportnak nincsenek tagjai',
'no_linked_files' => 'Nincsenek hivatkozott állományok', 'no_linked_files' => 'Nincsenek hivatkozott állományok',
'no_mimetype' => '',
'no_previous_versions' => 'Nem találhatók más változatok', 'no_previous_versions' => 'Nem találhatók más változatok',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'Nincs folyamatban lévő felülvizsgálat.', 'no_review_needed' => 'Nincs folyamatban lévő felülvizsgálat.',
@ -1296,7 +1302,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat', 'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Megjelölt állományok eltávolítása', 'remove_marked_files' => 'Megjelölt állományok eltávolítása',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1477,6 +1485,7 @@ URL: [url]',
'select_category' => 'Kattintson a kategória kiválasztásához', 'select_category' => 'Kattintson a kategória kiválasztásához',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Csoport kiválasztása', 'select_group' => 'Csoport kiválasztása',
'select_groups' => 'Kattintson a csoportok kijelöléséhez', 'select_groups' => 'Kattintson a csoportok kijelöléséhez',
'select_grp_approvers' => 'Kattintson a csoport jóváhagyó kijelöléséhez', 'select_grp_approvers' => 'Kattintson a csoport jóváhagyó kijelöléséhez',
@ -1524,7 +1533,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Beállítások', 'settings' => 'Beállítások',
'settings_activate_module' => 'Modul aktiválása', 'settings_activate_module' => 'Modul aktiválása',
'settings_activate_php_extension' => 'PHP kiterjesztés aktiválása', 'settings_activate_php_extension' => 'PHP kiterjesztés aktiválása',
@ -1622,6 +1633,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_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' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Saját adatok szerkesztésének tiltása', '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_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', 'settings_disable_install' => 'Törölje az ENABLE_INSTALL_TOOL állományt, ha lehetséges',
@ -1687,6 +1700,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Ha beállítja az állományok feltöltése elérhető lesz egy jumploadernek hívott java appleten keresztül a böngészőprogram állomány méret korlátja nélkül. Ez engedélyezi több állomány feltöltését egy lépésben.', 'settings_enableLargeFileUpload_desc' => 'Ha beállítja az állományok feltöltése elérhető lesz egy jumploadernek hívott java appleten keresztül a böngészőprogram állomány méret korlátja nélkül. Ez engedélyezi több állomány feltöltését egy lépésben.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Feladatok menüpont engedélyezése', 'settings_enableMenuTasks' => 'Feladatok menüpont engedélyezése',
'settings_enableMenuTasks_desc' => 'Engedélyezi / letiltja a menüelemet, amely a felhasználó összes feladatát tartalmazza. Ez olyan dokumentumokat tartalmaz, amelyeket felül kell vizsgálni, jóvá kell hagyni stb.', 'settings_enableMenuTasks_desc' => 'Engedélyezi / letiltja a menüelemet, amely a felhasználó összes feladatát tartalmazza. Ez olyan dokumentumokat tartalmaz, amelyeket felül kell vizsgálni, jóvá kell hagyni stb.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1746,6 +1761,8 @@ URL: [url]',
'settings_encryptionKey' => 'Titkosító kulcs', '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_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_error' => 'Hiba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Mappa fastruktúra kibontása', 'settings_expandFolderTree' => 'Mappa fastruktúra kibontása',
'settings_expandFolderTree_desc' => 'Mappa fastruktúra kibontása', 'settings_expandFolderTree_desc' => 'Mappa fastruktúra kibontása',
'settings_expandFolderTree_val0' => 'indulás rejtett fastruktúrával', 'settings_expandFolderTree_val0' => 'indulás rejtett fastruktúrával',
@ -1804,6 +1821,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Naplóállomány engedélyezése/tiltása', 'settings_logFileEnable_desc' => 'Naplóállomány engedélyezése/tiltása',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Naplóállomány forgatása', 'settings_logFileRotation' => 'Naplóállomány forgatása',
'settings_logFileRotation_desc' => 'A naplóállomány forgatása', 'settings_logFileRotation_desc' => 'A naplóállomány forgatása',
'settings_loginFailure' => 'Bejelentkezési hiba', 'settings_loginFailure' => 'Bejelentkezési hiba',
@ -2001,6 +2020,7 @@ URL: [url]',
'sign_out' => 'Kijelentkezés', 'sign_out' => 'Kijelentkezés',
'sign_out_user' => 'Kijelentkezés', 'sign_out_user' => 'Kijelentkezés',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Szlovák', 'sk_SK' => 'Szlovák',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2130,6 +2150,7 @@ URL: [url]',
'status_revision_sleeping' => '', 'status_revision_sleeping' => '',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Ismeretlen', 'status_unknown' => 'Ismeretlen',
'storage' => '',
'storage_size' => 'Tároló mérete', 'storage_size' => 'Tároló mérete',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -19,10 +19,11 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (485), atoz-chevara (835) // Translators: Admin (489), atoz-chevara (835)
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => 'Kunci rahasi saat ini', '2_fact_auth_current_secret' => 'Kunci rahasi saat ini',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -381,7 +382,7 @@ URL: [url]</p>',
'dashboard' => '', 'dashboard' => '',
'databasesearch' => 'Pencarian Basis data', 'databasesearch' => 'Pencarian Basis data',
'database_schema_version' => 'Versi skema basis data', 'database_schema_version' => 'Versi skema basis data',
'data_loading' => '', 'data_loading' => 'Harap tunggu, data sedang disiapkan.',
'date' => 'Tanggal', 'date' => 'Tanggal',
'days' => 'hari', 'days' => 'hari',
'debug' => 'Debug', 'debug' => 'Debug',
@ -615,6 +616,8 @@ URL: [url]</p>',
'download_header_document_name' => 'Nama dokumen', 'download_header_document_name' => 'Nama dokumen',
'download_header_document_no' => 'Nomor Dokumen', 'download_header_document_no' => 'Nomor Dokumen',
'download_header_filename' => 'Nama berkas', 'download_header_filename' => 'Nama berkas',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Int. versi', 'download_header_internal_version' => 'Int. versi',
'download_header_reviewer' => 'Pengulas', 'download_header_reviewer' => 'Pengulas',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -686,7 +689,7 @@ URL: [url]</p>',
'empty_notify_list' => 'Tidak ada entri', 'empty_notify_list' => 'Tidak ada entri',
'enable_extension' => 'Aktifkan ekstensi', 'enable_extension' => 'Aktifkan ekstensi',
'enddate' => '', 'enddate' => '',
'en_GB' => '', 'en_GB' => 'Inggris (GB)',
'equal_transition_states' => 'Status awal dan akhir sama', 'equal_transition_states' => 'Status awal dan akhir sama',
'error' => 'Galat', 'error' => 'Galat',
'error_add_aro' => 'Kesalahan saat menambahkan objek permintaan akses', 'error_add_aro' => 'Kesalahan saat menambahkan objek permintaan akses',
@ -746,6 +749,8 @@ URL: [url]',
'export_user_list_csv' => 'Ekspor pengguna sebagai CSV', 'export_user_list_csv' => 'Ekspor pengguna sebagai CSV',
'extension_archive' => 'Ekstensi', 'extension_archive' => 'Ekstensi',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => 'Perpanjangan tidak aktif sekarang', 'extension_is_off_now' => 'Perpanjangan tidak aktif sekarang',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Memuat ekstensi...', 'extension_loading' => 'Memuat ekstensi...',
@ -962,7 +967,7 @@ URL: [url]</p>',
'index_processing' => '', 'index_processing' => '',
'index_waiting' => 'Mengunggu', 'index_waiting' => 'Mengunggu',
'individuals' => 'Perorangan', 'individuals' => 'Perorangan',
'individuals_in_groups' => '', 'individuals_in_groups' => 'Anggota di grup',
'ind_review_removed' => 'Perubahan status, karena ulasan pengguna [name] telah dihapus.', 'ind_review_removed' => 'Perubahan status, karena ulasan pengguna [name] telah dihapus.',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '', 'info_rm_user_from_processes_none' => '',
@ -1236,6 +1241,7 @@ URL: [url]',
'no_groups' => 'Tidak ada kelompok', 'no_groups' => 'Tidak ada kelompok',
'no_group_members' => 'Kelompok ini tidak memiliki anggota', 'no_group_members' => 'Kelompok ini tidak memiliki anggota',
'no_linked_files' => 'Tidak ada berkas yang ditautkan', 'no_linked_files' => 'Tidak ada berkas yang ditautkan',
'no_mimetype' => '',
'no_previous_versions' => 'Tidak ada versi lain yang ditemukan', 'no_previous_versions' => 'Tidak ada versi lain yang ditemukan',
'no_receipt_needed' => 'Saat ini tidak ada dokumen yang memerlukan konfirmasi tanda terima.', 'no_receipt_needed' => 'Saat ini tidak ada dokumen yang memerlukan konfirmasi tanda terima.',
'no_review_needed' => 'Tidak ada tinjauan yang tertunda.', 'no_review_needed' => 'Tidak ada tinjauan yang tertunda.',
@ -1405,7 +1411,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Hapus folder setelah diimpor', 'removeFolderFromDropFolder' => 'Hapus folder setelah diimpor',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => 'Hapus persetujuan', 'remove_approval_log' => 'Hapus persetujuan',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Hapus file yang ditandai', 'remove_marked_files' => 'Hapus file yang ditandai',
'remove_review_log' => 'Hapus ulasan', 'remove_review_log' => 'Hapus ulasan',
'remove_task' => '', 'remove_task' => '',
@ -1560,6 +1568,7 @@ URL: [url]',
'select_category' => 'Klik untuk memilih kategori', 'select_category' => 'Klik untuk memilih kategori',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Pilih group', 'select_group' => 'Pilih group',
'select_groups' => 'Klik untuk memilih groups', 'select_groups' => 'Klik untuk memilih groups',
'select_grp_approvers' => 'Klik untuk memilih group approver', 'select_grp_approvers' => 'Klik untuk memilih group approver',
@ -1614,7 +1623,9 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'service_name' => '', 'service_name' => '',
'sessions' => 'Pengguna Online', 'sessions' => 'Pengguna Online',
'setDateFromFile' => 'Ambil alih tanggal dari file yang diimpor', 'setDateFromFile' => 'Ambil alih tanggal dari file yang diimpor',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Ambil alih tanggal dari folder yang diimpor', 'setDateFromFolder' => 'Ambil alih tanggal dari folder yang diimpor',
'setDateFromFolder_desc' => '',
'settings' => 'Pengaturan', 'settings' => 'Pengaturan',
'settings_activate_module' => 'Aktifkan modul', 'settings_activate_module' => 'Aktifkan modul',
'settings_activate_php_extension' => 'Aktifkan ekstensi PHP', 'settings_activate_php_extension' => 'Aktifkan ekstensi PHP',
@ -1712,6 +1723,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_delete_install_folder' => 'Untuk menggunakan SeedDMS, Anda harus menghapus file ENABLE_INSTALL_TOOL di direktori konfigurasi',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '', 'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => 'Jika dicentang, pengguna tidak dapat mengedit profilnya sendiri', 'settings_disableSelfEdit_desc' => 'Jika dicentang, pengguna tidak dapat mengedit profilnya sendiri',
'settings_disable_install' => '', 'settings_disable_install' => '',
@ -1777,6 +1790,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_enableLargeFileUpload_desc' => 'Jika disetel, unggah berkas juga tersedia melalui java applet yang disebut jumploader tanpa batas ukuran berkas yang ditetapkan oleh peramban. Ini juga memungkinkan untuk mengunggah beberapa berkas dalam satu langkah. Mengaktifkan ini akan mematikan cookie http saja.', 'settings_enableLargeFileUpload_desc' => 'Jika disetel, unggah berkas juga tersedia melalui java applet yang disebut jumploader tanpa batas ukuran berkas yang ditetapkan oleh peramban. Ini juga memungkinkan untuk mengunggah beberapa berkas dalam satu langkah. Mengaktifkan ini akan mematikan cookie http saja.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Aktifkan daftar task di menu', 'settings_enableMenuTasks' => 'Aktifkan daftar task di menu',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1836,6 +1851,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_encryptionKey' => '', 'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '', 'settings_encryptionKey_desc' => '',
'settings_error' => 'Galat', 'settings_error' => 'Galat',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '', 'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '', 'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val0' => '',
@ -1894,6 +1911,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_logFileEnable_desc' => '', 'settings_logFileEnable_desc' => '',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '', 'settings_logFileRotation' => '',
'settings_logFileRotation_desc' => '', 'settings_logFileRotation_desc' => '',
'settings_loginFailure' => 'Gagal masuk', 'settings_loginFailure' => 'Gagal masuk',
@ -2091,6 +2110,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'sign_out' => 'Keluar', 'sign_out' => 'Keluar',
'sign_out_user' => '', 'sign_out_user' => '',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovakia', 'sk_SK' => 'Slovakia',
'sort_by_date' => 'Urutkan berdasarkan tanggal', 'sort_by_date' => 'Urutkan berdasarkan tanggal',
'sort_by_expiration_date' => 'Urutkan berdasarkan tanggal kadaluwarsa', 'sort_by_expiration_date' => 'Urutkan berdasarkan tanggal kadaluwarsa',
@ -2220,6 +2240,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'status_revision_sleeping' => 'tertunda', 'status_revision_sleeping' => 'tertunda',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Tidak diketahui', 'status_unknown' => 'Tidak diketahui',
'storage' => '',
'storage_size' => 'Ukuran penyimpanan', 'storage_size' => 'Ukuran penyimpanan',
'subfolder_duplicate_name' => 'Duplikasi nama subfolder', 'subfolder_duplicate_name' => 'Duplikasi nama subfolder',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Autorizzazione a due fattori', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -570,6 +571,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -700,6 +703,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Archivio estensioni', 'extension_archive' => 'Archivio estensioni',
'extension_changelog' => 'Registro delle modifiche delle estensioni', 'extension_changelog' => 'Registro delle modifiche delle estensioni',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Caricamento estensioni...', 'extension_loading' => 'Caricamento estensioni...',
@ -1150,6 +1155,7 @@ URL: [url]',
'no_groups' => 'Nessun gruppo', 'no_groups' => 'Nessun gruppo',
'no_group_members' => 'Questo gruppo non ha membri', 'no_group_members' => 'Questo gruppo non ha membri',
'no_linked_files' => 'Nessun file collegato', 'no_linked_files' => 'Nessun file collegato',
'no_mimetype' => '',
'no_previous_versions' => 'Nessun\'altra versione trovata', 'no_previous_versions' => 'Nessun\'altra versione trovata',
'no_receipt_needed' => 'Rete disco', 'no_receipt_needed' => 'Rete disco',
'no_review_needed' => 'Nessuna revisione in corso.', 'no_review_needed' => 'Nessuna revisione in corso.',
@ -1314,7 +1320,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento',
'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione', 'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Rimuovi i files contrassegnati', 'remove_marked_files' => 'Rimuovi i files contrassegnati',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1518,6 +1526,7 @@ URL: [url]',
'select_category' => 'Clicca per selezionare la categoria', 'select_category' => 'Clicca per selezionare la categoria',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Seleziona gruppo', 'select_group' => 'Seleziona gruppo',
'select_groups' => 'Clicca per selezionare i gruppi', 'select_groups' => 'Clicca per selezionare i gruppi',
'select_grp_approvers' => 'Seleziona gruppo approvatore', 'select_grp_approvers' => 'Seleziona gruppo approvatore',
@ -1570,7 +1579,9 @@ Name: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Utenti online', 'sessions' => 'Utenti online',
'setDateFromFile' => 'Prende la data dal file importato', 'setDateFromFile' => 'Prende la data dal file importato',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Prende la data dalla cartella importata', 'setDateFromFolder' => 'Prende la data dalla cartella importata',
'setDateFromFolder_desc' => '',
'settings' => 'Impostazioni', 'settings' => 'Impostazioni',
'settings_activate_module' => 'Attivazione modulo', 'settings_activate_module' => 'Attivazione modulo',
'settings_activate_php_extension' => 'Attivazione estensione PHP', 'settings_activate_php_extension' => 'Attivazione estensione PHP',
@ -1668,6 +1679,8 @@ Name: [username]
'settings_delete_install_folder' => 'Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione.', 'settings_delete_install_folder' => 'Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione.',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Disabilita auto-modifica', 'settings_disableSelfEdit' => 'Disabilita auto-modifica',
'settings_disableSelfEdit_desc' => 'Se selezionato l\'utente non può modificare il proprio profilo', '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', 'settings_disable_install' => 'Prova ad eliminare il file ENABLE_INSTALL_TOOL se possibile',
@ -1733,6 +1746,8 @@ Name: [username]
'settings_enableLargeFileUpload_desc' => 'Se selezionato, il caricamento (upload) dei files può essere effettuato anche attraverso un\'applet Java chiamata Jumploader evitando il limite di dimensioni file imposto dal browser; Jumploader permette anche il caricamento di diversi files contemporaneamente.', 'settings_enableLargeFileUpload_desc' => 'Se selezionato, il caricamento (upload) dei files può essere effettuato anche attraverso un\'applet Java chiamata Jumploader evitando il limite di dimensioni file imposto dal browser; Jumploader permette anche il caricamento di diversi files contemporaneamente.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Abilita compito delle attività nel menù', 'settings_enableMenuTasks' => 'Abilita compito delle attività nel menù',
'settings_enableMenuTasks_desc' => 'Abilita/disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.', 'settings_enableMenuTasks_desc' => 'Abilita/disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1792,6 +1807,8 @@ Name: [username]
'settings_encryptionKey' => 'Chiave di criptazione', '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_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_error' => 'Errore',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Espandi l\'albero delle cartelle', 'settings_expandFolderTree' => 'Espandi l\'albero delle cartelle',
'settings_expandFolderTree_desc' => 'Espandi la struttura ad albero delle cartelle', 'settings_expandFolderTree_desc' => 'Espandi la struttura ad albero delle cartelle',
'settings_expandFolderTree_val0' => 'Inizia con l\'albero nascosto', 'settings_expandFolderTree_val0' => 'Inizia con l\'albero nascosto',
@ -1850,6 +1867,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Abilita/disabilita il file di registro', 'settings_logFileEnable_desc' => 'Abilita/disabilita il file di registro',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotazione del file di registro', 'settings_logFileRotation' => 'Rotazione del file di registro',
'settings_logFileRotation_desc' => 'Abilita/disabilita la rotazione del file di registro', 'settings_logFileRotation_desc' => 'Abilita/disabilita la rotazione del file di registro',
'settings_loginFailure' => 'Login fallito', 'settings_loginFailure' => 'Login fallito',
@ -2047,6 +2066,7 @@ Name: [username]
'sign_out' => 'Disconnettiti', 'sign_out' => 'Disconnettiti',
'sign_out_user' => 'Disconnetti l\'utente', 'sign_out_user' => 'Disconnetti l\'utente',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovacco', 'sk_SK' => 'Slovacco',
'sort_by_date' => 'Ordina per data', 'sort_by_date' => 'Ordina per data',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2176,6 +2196,7 @@ Name: [username]
'status_revision_sleeping' => 'in attesa', 'status_revision_sleeping' => 'in attesa',
'status_revisor_removed' => 'Revisore rimosso dalla lista', 'status_revisor_removed' => 'Revisore rimosso dalla lista',
'status_unknown' => 'Sconosciuto', 'status_unknown' => 'Sconosciuto',
'storage' => '',
'storage_size' => 'Spazio di archiviazione', 'storage_size' => 'Spazio di archiviazione',
'subfolder_duplicate_name' => 'Nome sottocartella duplicato', 'subfolder_duplicate_name' => 'Nome sottocartella duplicato',
'submit_2_fact_auth' => 'Salva segreto', 'submit_2_fact_auth' => 'Salva segreto',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '이중 인증', '2_factor_auth' => '이중 인증',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -566,6 +567,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -696,6 +699,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1150,6 +1155,7 @@ URL [url]',
'no_groups' => '그룹이 없음', 'no_groups' => '그룹이 없음',
'no_group_members' => '그룹 회원 이 없습니다.', 'no_group_members' => '그룹 회원 이 없습니다.',
'no_linked_files' => '연결되지 않은 파일', 'no_linked_files' => '연결되지 않은 파일',
'no_mimetype' => '',
'no_previous_versions' => '다른 버전을 찾을 수 없습니다', 'no_previous_versions' => '다른 버전을 찾을 수 없습니다',
'no_receipt_needed' => '접수가 필요하지 않습니다', 'no_receipt_needed' => '접수가 필요하지 않습니다',
'no_review_needed' => '검토중인 자료가 없습니다.', 'no_review_needed' => '검토중인 자료가 없습니다.',
@ -1295,7 +1301,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우', 'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '마크 파일을 제거', 'remove_marked_files' => '마크 파일을 제거',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1494,6 +1502,7 @@ URL : [url]',
'select_category' => '범주를 선택합니다', 'select_category' => '범주를 선택합니다',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '', 'select_group' => '',
'select_groups' => '그룹을 선택합니다', 'select_groups' => '그룹을 선택합니다',
'select_grp_approvers' => '그룹 승인을 선택합니다', 'select_grp_approvers' => '그룹 승인을 선택합니다',
@ -1541,7 +1550,9 @@ URL : [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => '설정', 'settings' => '설정',
'settings_activate_module' => '모듈 활성화', 'settings_activate_module' => '모듈 활성화',
'settings_activate_php_extension' => 'PHP 확장 활성화', 'settings_activate_php_extension' => 'PHP 확장 활성화',
@ -1639,6 +1650,8 @@ URL : [url]',
'settings_delete_install_folder' => 'SeedDMS을 사용하려면 구성 디렉토리의 파일 ENABLE_INSTALL_TOOL을 삭제해야합니다', 'settings_delete_install_folder' => 'SeedDMS을 사용하려면 구성 디렉토리의 파일 ENABLE_INSTALL_TOOL을 삭제해야합니다',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '자체 수정 불가', 'settings_disableSelfEdit' => '자체 수정 불가',
'settings_disableSelfEdit_desc' => '확인시 사용자가 자신의 프로필을 편집 할 수 없음', 'settings_disableSelfEdit_desc' => '확인시 사용자가 자신의 프로필을 편집 할 수 없음',
'settings_disable_install' => 'ENABLE_INSTALL_TOOL 삭제', 'settings_disable_install' => 'ENABLE_INSTALL_TOOL 삭제',
@ -1704,6 +1717,8 @@ URL : [url]',
'settings_enableLargeFileUpload_desc' => '설정하면, 브라우저가 설정 한 파일 크기 제한없이 jumploader라는 파일 업로드 자바 애플릿을 통해 사용할 수 있습니다. 또한 한 번에 여러 파일을 업로드 할 수 있습니다.', 'settings_enableLargeFileUpload_desc' => '설정하면, 브라우저가 설정 한 파일 크기 제한없이 jumploader라는 파일 업로드 자바 애플릿을 통해 사용할 수 있습니다. 또한 한 번에 여러 파일을 업로드 할 수 있습니다.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '메뉴의 작업 목록 허용', 'settings_enableMenuTasks' => '메뉴의 작업 목록 허용',
'settings_enableMenuTasks_desc' => '사용자의 모든 작업이 포함되어있는 메뉴 항목을 활성/비활성 합니다. 이것은 검토, 승인등이 필요한 문서를 포함 합니다', 'settings_enableMenuTasks_desc' => '사용자의 모든 작업이 포함되어있는 메뉴 항목을 활성/비활성 합니다. 이것은 검토, 승인등이 필요한 문서를 포함 합니다',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1763,6 +1778,8 @@ URL : [url]',
'settings_encryptionKey' => '암호화 키', 'settings_encryptionKey' => '암호화 키',
'settings_encryptionKey_desc' => '이 문자열은 CSRF 공격을 방지하기 위해 formular에 숨겨진 필드로 추가되는 고유 식별자를 만드는 데 사용된다.', 'settings_encryptionKey_desc' => '이 문자열은 CSRF 공격을 방지하기 위해 formular에 숨겨진 필드로 추가되는 고유 식별자를 만드는 데 사용된다.',
'settings_error' => '오류', 'settings_error' => '오류',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '폴더 트리 확장', 'settings_expandFolderTree' => '폴더 트리 확장',
'settings_expandFolderTree_desc' => '폴더 트리 확장', 'settings_expandFolderTree_desc' => '폴더 트리 확장',
'settings_expandFolderTree_val0' => '숨겨진 Tree로 시작', 'settings_expandFolderTree_val0' => '숨겨진 Tree로 시작',
@ -1821,6 +1838,8 @@ URL : [url]',
'settings_logFileEnable_desc' => '로그 파일 활성 / 비활성화', 'settings_logFileEnable_desc' => '로그 파일 활성 / 비활성화',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '로그 파일 회전', 'settings_logFileRotation' => '로그 파일 회전',
'settings_logFileRotation_desc' => '로그 파일 회전', 'settings_logFileRotation_desc' => '로그 파일 회전',
'settings_loginFailure' => '로그인 실패', 'settings_loginFailure' => '로그인 실패',
@ -2018,6 +2037,7 @@ URL : [url]',
'sign_out' => '로그 아웃', 'sign_out' => '로그 아웃',
'sign_out_user' => '사용자가 로그 아웃', 'sign_out_user' => '사용자가 로그 아웃',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => '슬로바키아어', 'sk_SK' => '슬로바키아어',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2147,6 +2167,7 @@ URL : [url]',
'status_revision_sleeping' => '보류', 'status_revision_sleeping' => '보류',
'status_revisor_removed' => '감사자 목록에서 제거', 'status_revisor_removed' => '감사자 목록에서 제거',
'status_unknown' => '알 수없는', 'status_unknown' => '알 수없는',
'storage' => '',
'storage_size' => '저장 크기', 'storage_size' => '저장 크기',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'ການກວດສອບແບບ 2 ປັດໃຈ', '2_factor_auth' => 'ການກວດສອບແບບ 2 ປັດໃຈ',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'ລະບົບນີ້ໄຊ້ການກວດສອບແບບ 02 ປັດໃຈ. ເຈົ້າຈະຕ້ອງມີ Google Authenticator ໃນໂທລະສັບມືຖືຂອງທ່ານ. ດ້ານລຸ່ມແມ່ນມີ QR Codes ສອງແບບ ທາງດ້ານຂວາຈະມີຄວາມເປັນສ່ວນຕົວຂອງເຈົ້າ, ສ່ວນດ້ານຊ້າຍຂອງເຈົ້າແມ່ນຈະສາມາດຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່. ຖ້າເຈົ້າຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່ຮຽບຮ້ອຍ ແລ້ວນັ້ນໃຫ້ແນ່ໃຈວ່າໄດ້ສະແກນອີກຄັ້ງດ້ວຍ Google Authenticator', '2_factor_auth_info' => 'ລະບົບນີ້ໄຊ້ການກວດສອບແບບ 02 ປັດໃຈ. ເຈົ້າຈະຕ້ອງມີ Google Authenticator ໃນໂທລະສັບມືຖືຂອງທ່ານ. ດ້ານລຸ່ມແມ່ນມີ QR Codes ສອງແບບ ທາງດ້ານຂວາຈະມີຄວາມເປັນສ່ວນຕົວຂອງເຈົ້າ, ສ່ວນດ້ານຊ້າຍຂອງເຈົ້າແມ່ນຈະສາມາດຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່. ຖ້າເຈົ້າຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່ຮຽບຮ້ອຍ ແລ້ວນັ້ນໃຫ້ແນ່ໃຈວ່າໄດ້ສະແກນອີກຄັ້ງດ້ວຍ Google Authenticator',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -563,6 +564,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -693,6 +696,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1147,6 +1152,7 @@ URL: [url]',
'no_groups' => 'ບໍ່ມີກຸ່ມ', 'no_groups' => 'ບໍ່ມີກຸ່ມ',
'no_group_members' => 'ກຸ່ມນີ້ຍັງບໍ່ມີສະມາຊິກ', 'no_group_members' => 'ກຸ່ມນີ້ຍັງບໍ່ມີສະມາຊິກ',
'no_linked_files' => 'ບໍ່ມີໄຟລທີ່ເຊື່ອມໂຍງ', 'no_linked_files' => 'ບໍ່ມີໄຟລທີ່ເຊື່ອມໂຍງ',
'no_mimetype' => '',
'no_previous_versions' => 'ບໍ່ພົບເວີຊັນອື່ນ', 'no_previous_versions' => 'ບໍ່ພົບເວີຊັນອື່ນ',
'no_receipt_needed' => 'ປະຈຸບັນນີ້ບໍ່ມີເອກະສານທີ່ຈະຕ້ອງຢືນຢັນກ່ຽວກັບການຮັບສິນຄ້າ', 'no_receipt_needed' => 'ປະຈຸບັນນີ້ບໍ່ມີເອກະສານທີ່ຈະຕ້ອງຢືນຢັນກ່ຽວກັບການຮັບສິນຄ້າ',
'no_review_needed' => 'ບໍ່ມີເອກະສານທີຍັງຄ້າງທີລໍຖ້າກວດຄືນ', 'no_review_needed' => 'ບໍ່ມີເອກະສານທີຍັງຄ້າງທີລໍຖ້າກວດຄືນ',
@ -1311,7 +1317,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ', 'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ',
'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ', 'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້', 'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1515,6 +1523,7 @@ URL: [url]',
'select_category' => 'ຄິກເພື່ອເລືອກປະເພດ', 'select_category' => 'ຄິກເພື່ອເລືອກປະເພດ',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '', 'select_group' => '',
'select_groups' => 'ຄິກເລືອກກຸ່ມ', 'select_groups' => 'ຄິກເລືອກກຸ່ມ',
'select_grp_approvers' => 'ຄິກເພືອເລືອກຜູ້ອະນຸມັດກຸ່ມ', 'select_grp_approvers' => 'ຄິກເພືອເລືອກຜູ້ອະນຸມັດກຸ່ມ',
@ -1567,7 +1576,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => 'ຜູ້ໄຊ້ອອນລາຍ', 'sessions' => 'ຜູ້ໄຊ້ອອນລາຍ',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'ການຕັ້ງຄ່າ', 'settings' => 'ການຕັ້ງຄ່າ',
'settings_activate_module' => 'ເປີດໄຊ້ງານໂມດູນ', 'settings_activate_module' => 'ເປີດໄຊ້ງານໂມດູນ',
'settings_activate_php_extension' => 'ຂະຫຍາຍພື້ນທີການໄຊ້ງານຂອງ PHP', 'settings_activate_php_extension' => 'ຂະຫຍາຍພື້ນທີການໄຊ້ງານຂອງ PHP',
@ -1665,6 +1676,8 @@ URL: [url]',
'settings_delete_install_folder' => 'ໃນການໄຊ້ SeedDMS, ເຈົ້າຈະຕ້ອງລົບໄຟລ ເປີດໄຊ້ງານ_ຕິດຕັ້ງ_ເຄື່ອງມືໃນການບໍລິຫານ ການກຳນົດຄ່າ', 'settings_delete_install_folder' => 'ໃນການໄຊ້ SeedDMS, ເຈົ້າຈະຕ້ອງລົບໄຟລ ເປີດໄຊ້ງານ_ຕິດຕັ້ງ_ເຄື່ອງມືໃນການບໍລິຫານ ການກຳນົດຄ່າ',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'ແກ້ໄຂການປິດໄຊ້ງານດ້ວຍຕົວເອງ', 'settings_disableSelfEdit' => 'ແກ້ໄຂການປິດໄຊ້ງານດ້ວຍຕົວເອງ',
'settings_disableSelfEdit_desc' => 'ກວດຄືນເບິ່ງວ່າຍ້ອນຫຍັງຜູ້ນຳໄຊ້ຈື່ງບໍ່ສາມາດແກ້ໄຂໂປລໄຟລຂອງພວກເຂົາໄດ້', 'settings_disableSelfEdit_desc' => 'ກວດຄືນເບິ່ງວ່າຍ້ອນຫຍັງຜູ້ນຳໄຊ້ຈື່ງບໍ່ສາມາດແກ້ໄຂໂປລໄຟລຂອງພວກເຂົາໄດ້',
'settings_disable_install' => 'ຖ້າເປັນໄປໄດ້ ລົບໄຟລເປີດໄຊ້ງານ-ຕິດຕັ້ງ-ເຄື່ອງມື ຖ້າເປັນໄປໄດ້', 'settings_disable_install' => 'ຖ້າເປັນໄປໄດ້ ລົບໄຟລເປີດໄຊ້ງານ-ຕິດຕັ້ງ-ເຄື່ອງມື ຖ້າເປັນໄປໄດ້',
@ -1730,6 +1743,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'ການຕັ້ງຄ່າອັບໂຫລດໄຟລຈະມີໃຫ້ບໍລິການຜ່ານທາງດ້ານຂວາຂອງເອັບເຟັກທີ່ເອີ້ນວ່າ jumploader ໂດຍບໍ່ມີຂິດຈຳກັດຂອງຂະໜາດໄຟລທີກຳນົດໂດຍບາວເຊີ ນອກຈາກນີຍັງຊ່ວຍໃນການອັບໂຫລດໄຟລຫຼາຍໄຟລໃນຂັນຕອນດຽວການເປີດຄຸນລັກສະນະນີ້ຈະປິດຄຸກກີ້ສະເພາະ Http ເທົ່ານັ້ນ', 'settings_enableLargeFileUpload_desc' => 'ການຕັ້ງຄ່າອັບໂຫລດໄຟລຈະມີໃຫ້ບໍລິການຜ່ານທາງດ້ານຂວາຂອງເອັບເຟັກທີ່ເອີ້ນວ່າ jumploader ໂດຍບໍ່ມີຂິດຈຳກັດຂອງຂະໜາດໄຟລທີກຳນົດໂດຍບາວເຊີ ນອກຈາກນີຍັງຊ່ວຍໃນການອັບໂຫລດໄຟລຫຼາຍໄຟລໃນຂັນຕອນດຽວການເປີດຄຸນລັກສະນະນີ້ຈະປິດຄຸກກີ້ສະເພາະ Http ເທົ່ານັ້ນ',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'ເປີດການໄຊ້ງານ', 'settings_enableMenuTasks' => 'ເປີດການໄຊ້ງານ',
'settings_enableMenuTasks_desc' => 'ເປີດ/ປິດ ລາຍການເມນູທີ່ມີວຽກທັງໝົດສຳລັບຜູ້ໄຊ້ເອກະສານນີ້ມີເອກະສານທີຈ້ອງໄດ້ຮັບການກວດສອບ', 'settings_enableMenuTasks_desc' => 'ເປີດ/ປິດ ລາຍການເມນູທີ່ມີວຽກທັງໝົດສຳລັບຜູ້ໄຊ້ເອກະສານນີ້ມີເອກະສານທີຈ້ອງໄດ້ຮັບການກວດສອບ',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1789,6 +1804,8 @@ URL: [url]',
'settings_encryptionKey' => 'ກະແຈການເຂົ້າລະຫັດລັບ', 'settings_encryptionKey' => 'ກະແຈການເຂົ້າລະຫັດລັບ',
'settings_encryptionKey_desc' => 'ສະຕິງນີ້ໄຊ້ສຳຫຼັບສ້າງຕົວ', 'settings_encryptionKey_desc' => 'ສະຕິງນີ້ໄຊ້ສຳຫຼັບສ້າງຕົວ',
'settings_error' => 'ຄວາມຜິດພາດ', 'settings_error' => 'ຄວາມຜິດພາດ',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'ຂະຫຍານທີໂຟລເດີ', 'settings_expandFolderTree' => 'ຂະຫຍານທີໂຟລເດີ',
'settings_expandFolderTree_desc' => 'ຂະຫຍານທີໂຟລເດີ', 'settings_expandFolderTree_desc' => 'ຂະຫຍານທີໂຟລເດີ',
'settings_expandFolderTree_val0' => 'ການເລີ່ມຕົ້ນດ້ວຍສາຂາຍ່ອຍ', 'settings_expandFolderTree_val0' => 'ການເລີ່ມຕົ້ນດ້ວຍສາຂາຍ່ອຍ',
@ -1847,6 +1864,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'ເປີດ/ປິດ ໃຊ້ວຽກໄຟລບັນທຶກ', 'settings_logFileEnable_desc' => 'ເປີດ/ປິດ ໃຊ້ວຽກໄຟລບັນທຶກ',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'ການໝຸນແຟ້ມບັນທືກ', 'settings_logFileRotation' => 'ການໝຸນແຟ້ມບັນທືກ',
'settings_logFileRotation_desc' => 'ການໝຸນແຟ້ມບັນທືກ', 'settings_logFileRotation_desc' => 'ການໝຸນແຟ້ມບັນທືກ',
'settings_loginFailure' => 'ຄວາມລົ້ມເຫຼວໃນການເຂົາເຖີງ', 'settings_loginFailure' => 'ຄວາມລົ້ມເຫຼວໃນການເຂົາເຖີງ',
@ -2044,6 +2063,7 @@ URL: [url]',
'sign_out' => 'ອອກຈາກລະບົບ', 'sign_out' => 'ອອກຈາກລະບົບ',
'sign_out_user' => 'ອອກຈາກລະບົບຜູ້ໄຊ້', 'sign_out_user' => 'ອອກຈາກລະບົບຜູ້ໄຊ້',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'ສະໂລວາເກຍ', 'sk_SK' => 'ສະໂລວາເກຍ',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2173,6 +2193,7 @@ URL: [url]',
'status_revision_sleeping' => 'ຢູ່ລະຫວ່າງດຳເນີນການ', 'status_revision_sleeping' => 'ຢູ່ລະຫວ່າງດຳເນີນການ',
'status_revisor_removed' => 'ແກ້ໄຂຄຳອະທິບາຍອອກຈາກລາຍການ', 'status_revisor_removed' => 'ແກ້ໄຂຄຳອະທິບາຍອອກຈາກລາຍການ',
'status_unknown' => 'ບໍ່ຮູ້', 'status_unknown' => 'ບໍ່ຮູ້',
'storage' => '',
'storage_size' => 'ຂະໜາດພື້ນທີ່ເກັບຂໍ້ມູນ', 'storage_size' => 'ຂະໜາດພື້ນທີ່ເກັບຂໍ້ມູນ',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => 'ເກັບຄວາມລັບໄວ້', 'submit_2_fact_auth' => 'ເກັບຄວາມລັບໄວ້',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '2-trinns autentisering', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -707,6 +710,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Utvidelse', 'extension_archive' => 'Utvidelse',
'extension_changelog' => 'Endringslogg', 'extension_changelog' => 'Endringslogg',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Laster inn utvidelser ...', 'extension_loading' => 'Laster inn utvidelser ...',
@ -1168,6 +1173,7 @@ URL: [url]',
'no_groups' => 'Ingen grupper', 'no_groups' => 'Ingen grupper',
'no_group_members' => 'Denne gruppen har ingen medlemmer', 'no_group_members' => 'Denne gruppen har ingen medlemmer',
'no_linked_files' => 'Ingen koblede filer', 'no_linked_files' => 'Ingen koblede filer',
'no_mimetype' => '',
'no_previous_versions' => 'Ingen andre versjoner funnet', 'no_previous_versions' => 'Ingen andre versjoner funnet',
'no_receipt_needed' => 'Det er for øyeblikket ingen dokumenter som krever kvitteringsbekreftelse.', 'no_receipt_needed' => 'Det er for øyeblikket ingen dokumenter som krever kvitteringsbekreftelse.',
'no_review_needed' => 'Ingen gjennomgang i påvente.', 'no_review_needed' => 'Ingen gjennomgang i påvente.',
@ -1326,7 +1332,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen', 'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen',
'removeFolderFromDropFolder' => 'Fjern mappe etter import', 'removeFolderFromDropFolder' => 'Fjern mappe etter import',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Fjern markerte filer', 'remove_marked_files' => 'Fjern markerte filer',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1530,6 +1538,7 @@ URL: [url]',
'select_category' => 'Klikk for å velge kategori', 'select_category' => 'Klikk for å velge kategori',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Klikk for å velge gruppe', 'select_group' => 'Klikk for å velge gruppe',
'select_groups' => 'Klikk for å velge grupper', 'select_groups' => 'Klikk for å velge grupper',
'select_grp_approvers' => 'Klikk for å velge gruppe godkjennere', 'select_grp_approvers' => 'Klikk for å velge gruppe godkjennere',
@ -1580,7 +1589,9 @@ Bruker: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Brukere innlogget', 'sessions' => 'Brukere innlogget',
'setDateFromFile' => 'Overta dato fra importert fil', 'setDateFromFile' => 'Overta dato fra importert fil',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Overta dato fra importert mappe', 'setDateFromFolder' => 'Overta dato fra importert mappe',
'setDateFromFolder_desc' => '',
'settings' => 'Innstillinger', 'settings' => 'Innstillinger',
'settings_activate_module' => 'Aktiver modul', 'settings_activate_module' => 'Aktiver modul',
'settings_activate_php_extension' => 'Aktiver PHP-utvidelse', 'settings_activate_php_extension' => 'Aktiver PHP-utvidelse',
@ -1678,6 +1689,8 @@ Bruker: [username]
'settings_delete_install_folder' => 'For å bruke SeedDMS, må du slette filen ENABLE_INSTALL_TOOL i konfigurasjonsmappen', 'settings_delete_install_folder' => 'For å bruke SeedDMS, må du slette filen ENABLE_INSTALL_TOOL i konfigurasjonsmappen',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Deaktiver selvredigering', 'settings_disableSelfEdit' => 'Deaktiver selvredigering',
'settings_disableSelfEdit_desc' => 'Hvis merket kan brukeren ikke redigere sin egen profil', 'settings_disableSelfEdit_desc' => 'Hvis merket kan brukeren ikke redigere sin egen profil',
'settings_disable_install' => 'Slett filen ENABLE_INSTALL_TOOL hvis mulig', 'settings_disable_install' => 'Slett filen ENABLE_INSTALL_TOOL hvis mulig',
@ -1743,6 +1756,8 @@ Bruker: [username]
'settings_enableLargeFileUpload_desc' => 'Hvis det er satt, er filopplasting også tilgjengelig via en java-applet som heter jumploader uten en filstørrelsesgrense som er angitt av nettleseren. Det gjør det også mulig å laste opp flere filer på ett trinn. Hvis du slår på dette, slås bare av cookies.', 'settings_enableLargeFileUpload_desc' => 'Hvis det er satt, er filopplasting også tilgjengelig via en java-applet som heter jumploader uten en filstørrelsesgrense som er angitt av nettleseren. Det gjør det også mulig å laste opp flere filer på ett trinn. Hvis du slår på dette, slås bare av cookies.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Aktiver oppgaveliste i menyen', 'settings_enableMenuTasks' => 'Aktiver oppgaveliste i menyen',
'settings_enableMenuTasks_desc' => 'Aktiver/deaktiver menypunktet som inneholder alle oppgaver for brukeren. Denne inneholder dokumenter som må gjennomgås, godkjennes osv.', 'settings_enableMenuTasks_desc' => 'Aktiver/deaktiver menypunktet som inneholder alle oppgaver for brukeren. Denne inneholder dokumenter som må gjennomgås, godkjennes osv.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1802,6 +1817,8 @@ Bruker: [username]
'settings_encryptionKey' => 'Krypteringsnøkkel', '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_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_error' => 'Feil',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Utvid mappetreet', 'settings_expandFolderTree' => 'Utvid mappetreet',
'settings_expandFolderTree_desc' => 'Utvid mappetreet', 'settings_expandFolderTree_desc' => 'Utvid mappetreet',
'settings_expandFolderTree_val0' => 'starte med treet gjemt', 'settings_expandFolderTree_val0' => 'starte med treet gjemt',
@ -1860,6 +1877,8 @@ Bruker: [username]
'settings_logFileEnable_desc' => 'Aktiver/deaktiver loggfil', 'settings_logFileEnable_desc' => 'Aktiver/deaktiver loggfil',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Loggfil rotasjon', 'settings_logFileRotation' => 'Loggfil rotasjon',
'settings_logFileRotation_desc' => 'Loggfil rotasjon', 'settings_logFileRotation_desc' => 'Loggfil rotasjon',
'settings_loginFailure' => 'Påloggingsfeil', 'settings_loginFailure' => 'Påloggingsfeil',
@ -2057,6 +2076,7 @@ Bruker: [username]
'sign_out' => 'Logg ut', 'sign_out' => 'Logg ut',
'sign_out_user' => 'Logg ut bruker', 'sign_out_user' => 'Logg ut bruker',
'site_brand' => 'Nettsted merke/logo', 'site_brand' => 'Nettsted merke/logo',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovakisk', 'sk_SK' => 'Slovakisk',
'sort_by_date' => 'Sorter etter dato', 'sort_by_date' => 'Sorter etter dato',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2186,6 +2206,7 @@ Bruker: [username]
'status_revision_sleeping' => 'avventer', 'status_revision_sleeping' => 'avventer',
'status_revisor_removed' => 'Revisor fjernet fra listen', 'status_revisor_removed' => 'Revisor fjernet fra listen',
'status_unknown' => 'Ukjent', 'status_unknown' => 'Ukjent',
'storage' => '',
'storage_size' => 'Lagrings størrelse', 'storage_size' => 'Lagrings størrelse',
'subfolder_duplicate_name' => 'Dupliser navnet på undermappen', 'subfolder_duplicate_name' => 'Dupliser navnet på undermappen',
'submit_2_fact_auth' => 'Lagre hemmelighet', 'submit_2_fact_auth' => 'Lagre hemmelighet',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '2-factor-authenticatie', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -570,6 +571,8 @@ URL: [url]',
'download_header_document_name' => 'Naam document', 'download_header_document_name' => 'Naam document',
'download_header_document_no' => 'Document nr.', 'download_header_document_no' => 'Document nr.',
'download_header_filename' => 'Filenaam', 'download_header_filename' => 'Filenaam',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Interne versie', 'download_header_internal_version' => 'Interne versie',
'download_header_reviewer' => 'Beoordelaar', 'download_header_reviewer' => 'Beoordelaar',
'download_header_review_comment' => 'Commentaar bij beoordeling', 'download_header_review_comment' => 'Commentaar bij beoordeling',
@ -700,6 +703,8 @@ URL: [url]',
'export_user_list_csv' => 'Exporteer gebruikers in csv-formaat', 'export_user_list_csv' => 'Exporteer gebruikers in csv-formaat',
'extension_archive' => 'Extensies', 'extension_archive' => 'Extensies',
'extension_changelog' => 'Overzicht van wijzigingen', 'extension_changelog' => 'Overzicht van wijzigingen',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => 'Extensie uitgeschakeld', 'extension_is_off_now' => 'Extensie uitgeschakeld',
'extension_is_on_now' => 'Extensie ingeschakeld', 'extension_is_on_now' => 'Extensie ingeschakeld',
'extension_loading' => 'Laden van extensies ...', 'extension_loading' => 'Laden van extensies ...',
@ -1160,6 +1165,7 @@ URL: [url]',
'no_groups' => 'Geen groepen', 'no_groups' => 'Geen groepen',
'no_group_members' => 'Deze groep heeft geen leden', 'no_group_members' => 'Deze groep heeft geen leden',
'no_linked_files' => 'Geen gekoppelde bestanden', 'no_linked_files' => 'Geen gekoppelde bestanden',
'no_mimetype' => '',
'no_previous_versions' => 'Geen andere versie(s) gevonden', 'no_previous_versions' => 'Geen andere versie(s) gevonden',
'no_receipt_needed' => 'Geen ontvangstbericht nodig', 'no_receipt_needed' => 'Geen ontvangstbericht nodig',
'no_review_needed' => 'Geen review bezig.', 'no_review_needed' => 'Geen review bezig.',
@ -1324,7 +1330,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie',
'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder', 'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd', 'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1527,6 +1535,7 @@ URL: [url]',
'select_category' => 'klik om categorie te selecteren', 'select_category' => 'klik om categorie te selecteren',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecteer groep', 'select_group' => 'Selecteer groep',
'select_groups' => 'Klik om groep te selecteren', 'select_groups' => 'Klik om groep te selecteren',
'select_grp_approvers' => 'Klik om beoordelaars te selecteren', 'select_grp_approvers' => 'Klik om beoordelaars te selecteren',
@ -1579,7 +1588,9 @@ Name: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'sessies', 'sessions' => 'sessies',
'setDateFromFile' => 'Gebruik de datum van de geïmporteerde file', 'setDateFromFile' => 'Gebruik de datum van de geïmporteerde file',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Gebruik de datum van de geïmporteerde map', 'setDateFromFolder' => 'Gebruik de datum van de geïmporteerde map',
'setDateFromFolder_desc' => '',
'settings' => 'Instellingen', 'settings' => 'Instellingen',
'settings_activate_module' => 'Activeer module', 'settings_activate_module' => 'Activeer module',
'settings_activate_php_extension' => 'Activeer PHP uitbreiding', 'settings_activate_php_extension' => 'Activeer PHP uitbreiding',
@ -1677,6 +1688,8 @@ Name: [username]
'settings_delete_install_folder' => 'Om SeedDMS te kunnen gebruiken moet het bestand ENABLE_INSTALL_TOOL uit de configuratiemap verwijderd worden.', 'settings_delete_install_folder' => 'Om SeedDMS te kunnen gebruiken moet het bestand ENABLE_INSTALL_TOOL uit de configuratiemap verwijderd worden.',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Uitschakelen Eigenprofiel wijzigen', 'settings_disableSelfEdit' => 'Uitschakelen Eigenprofiel wijzigen',
'settings_disableSelfEdit_desc' => 'Indien aangevinkt kan de gebruiker zijn eigen profiel niet 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', 'settings_disable_install' => 'Verwijder het bestand ENABLE_INSTALL_TOOL indien mogelijk',
@ -1742,6 +1755,8 @@ Name: [username]
'settings_enableLargeFileUpload_desc' => 'Indien ingeschakeld, is bestandsupload ook beschikbaar via een java applet jumploader genaamd zonder een bestandsgrootte limiet door de browser. Het staat ook toe om meerdere bestanden in een keer te versturen.', 'settings_enableLargeFileUpload_desc' => 'Indien ingeschakeld, is bestandsupload ook beschikbaar via een java applet jumploader genaamd zonder een bestandsgrootte limiet door de browser. Het staat ook toe om meerdere bestanden in een keer te versturen.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Menu-taken aanzetten', 'settings_enableMenuTasks' => 'Menu-taken aanzetten',
'settings_enableMenuTasks_desc' => 'Menu-taken aanzetten', 'settings_enableMenuTasks_desc' => 'Menu-taken aanzetten',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1801,6 +1816,8 @@ Name: [username]
'settings_encryptionKey' => 'Sleutel voor encryptie', '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_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_error' => 'Fout',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Uitvouwen mappenstructuur', 'settings_expandFolderTree' => 'Uitvouwen mappenstructuur',
'settings_expandFolderTree_desc' => 'Uitvouwen mappenstructuur', 'settings_expandFolderTree_desc' => 'Uitvouwen mappenstructuur',
'settings_expandFolderTree_val0' => 'begin met verborgen structuur', 'settings_expandFolderTree_val0' => 'begin met verborgen structuur',
@ -1859,6 +1876,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Inschakelen/uitschakelen logbestand', 'settings_logFileEnable_desc' => 'Inschakelen/uitschakelen logbestand',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotering Logbestand', 'settings_logFileRotation' => 'Rotering Logbestand',
'settings_logFileRotation_desc' => 'Rotering Logbestand', 'settings_logFileRotation_desc' => 'Rotering Logbestand',
'settings_loginFailure' => 'Login-fout', 'settings_loginFailure' => 'Login-fout',
@ -2056,6 +2075,7 @@ Name: [username]
'sign_out' => 'Log uit', 'sign_out' => 'Log uit',
'sign_out_user' => 'Log gebruiker uit', 'sign_out_user' => 'Log gebruiker uit',
'site_brand' => 'Merk van de site', 'site_brand' => 'Merk van de site',
'skip_default_export_cols' => '',
'sk_SK' => 'Slowaaks', 'sk_SK' => 'Slowaaks',
'sort_by_date' => 'Sorteren op datum', 'sort_by_date' => 'Sorteren op datum',
'sort_by_expiration_date' => 'Sorteren op vervaldatum', 'sort_by_expiration_date' => 'Sorteren op vervaldatum',
@ -2185,6 +2205,7 @@ Name: [username]
'status_revision_sleeping' => 'Slapend', 'status_revision_sleeping' => 'Slapend',
'status_revisor_removed' => 'Verwijderd', 'status_revisor_removed' => 'Verwijderd',
'status_unknown' => 'Onbekend', 'status_unknown' => 'Onbekend',
'storage' => '',
'storage_size' => 'Omvang opslag', 'storage_size' => 'Omvang opslag',
'subfolder_duplicate_name' => 'Dubble mapnaam', 'subfolder_duplicate_name' => 'Dubble mapnaam',
'submit_2_fact_auth' => '2-factor-authentificatie verstuurd', 'submit_2_fact_auth' => '2-factor-authentificatie verstuurd',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Uwierzytelnianie dwuetapowe', '2_factor_auth' => 'Uwierzytelnianie dwuetapowe',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Uwierzytelnianie dwuetapowe', '2_factor_auth_info' => 'Uwierzytelnianie dwuetapowe',
'2_fact_auth_current_secret' => 'Obecny poufny kod', '2_fact_auth_current_secret' => 'Obecny poufny kod',
'2_fact_auth_new_secret' => 'Nowy 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_name' => 'Nazwa dokumentu',
'download_header_document_no' => 'Numer dokumentu', 'download_header_document_no' => 'Numer dokumentu',
'download_header_filename' => 'Nazwa pliku', 'download_header_filename' => 'Nazwa pliku',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => 'Wersja wewnętrzna', 'download_header_internal_version' => 'Wersja wewnętrzna',
'download_header_reviewer' => 'Recenzent', 'download_header_reviewer' => 'Recenzent',
'download_header_review_comment' => 'Komentarz recezenta', 'download_header_review_comment' => 'Komentarz recezenta',
@ -683,6 +686,8 @@ URL: [url]',
'export_user_list_csv' => 'Eksportuj użytkowników do pliku CSV', 'export_user_list_csv' => 'Eksportuj użytkowników do pliku CSV',
'extension_archive' => 'Rozszerzenie', 'extension_archive' => 'Rozszerzenie',
'extension_changelog' => 'Log Zmian', 'extension_changelog' => 'Log Zmian',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Wgrywam dodatki...', 'extension_loading' => 'Wgrywam dodatki...',
@ -1137,6 +1142,7 @@ URL: [url]',
'no_groups' => 'Brak grup', 'no_groups' => 'Brak grup',
'no_group_members' => 'Ta grupa nie ma członków', 'no_group_members' => 'Ta grupa nie ma członków',
'no_linked_files' => 'Brak powiązanych dokumentów', 'no_linked_files' => 'Brak powiązanych dokumentów',
'no_mimetype' => '',
'no_previous_versions' => 'Nie znaleziono poprzednich wersji', 'no_previous_versions' => 'Nie znaleziono poprzednich wersji',
'no_receipt_needed' => 'Brak dokumentów w trakcie potwierdzenia', 'no_receipt_needed' => 'Brak dokumentów w trakcie potwierdzenia',
'no_review_needed' => 'Brak dokumentów w trakcie opiniowania', 'no_review_needed' => 'Brak dokumentów w trakcie opiniowania',
@ -1290,7 +1296,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty przepływ dokumentu z wersji dokumentu', 'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty przepływ dokumentu z wersji dokumentu',
'removeFolderFromDropFolder' => 'Usuń folder po imporcie', 'removeFolderFromDropFolder' => 'Usuń folder po imporcie',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Usuń zaznaczone pliki', 'remove_marked_files' => 'Usuń zaznaczone pliki',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1458,6 +1466,7 @@ URL: [url]',
'select_category' => 'Kliknij by wybrać kategorię', 'select_category' => 'Kliknij by wybrać kategorię',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Wybierz grupę', 'select_group' => 'Wybierz grupę',
'select_groups' => 'Kliknij by wybrać grupy', 'select_groups' => 'Kliknij by wybrać grupy',
'select_grp_approvers' => 'Kliknij by wybrać grupę zatwierdzającą', 'select_grp_approvers' => 'Kliknij by wybrać grupę zatwierdzającą',
@ -1510,7 +1519,9 @@ Name: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Sesja', 'sessions' => 'Sesja',
'setDateFromFile' => 'Przejmij datę z importowanego pliku', 'setDateFromFile' => 'Przejmij datę z importowanego pliku',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Przejmij datę z importowanego folderu', 'setDateFromFolder' => 'Przejmij datę z importowanego folderu',
'setDateFromFolder_desc' => '',
'settings' => 'Ustawienia', 'settings' => 'Ustawienia',
'settings_activate_module' => 'Aktywuj moduł', 'settings_activate_module' => 'Aktywuj moduł',
'settings_activate_php_extension' => 'Aktywuj rozszerzenie PHP', 'settings_activate_php_extension' => 'Aktywuj rozszerzenie PHP',
@ -1608,6 +1619,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_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' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Wyłącz auto edycję', 'settings_disableSelfEdit' => 'Wyłącz auto edycję',
'settings_disableSelfEdit_desc' => 'Jeśli zaznaczone, użytkownik nie może zmieniać własnych danych', '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', 'settings_disable_install' => 'Usuń plik ENABLE_INSTALL_TOOL jeśli to możliwe',
@ -1673,6 +1686,8 @@ Name: [username]
'settings_enableLargeFileUpload_desc' => 'Jeśli zaznaczone, wczytywanie plików będzie możliwe również przez aplet javy bez limitu rozmiaru plików. Aplet pozwala również na wczytywanie wielu plików jednocześnie.', 'settings_enableLargeFileUpload_desc' => 'Jeśli zaznaczone, wczytywanie plików będzie możliwe również przez aplet javy bez limitu rozmiaru plików. Aplet pozwala również na wczytywanie wielu plików jednocześnie.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Włącz listę zadań w menu', 'settings_enableMenuTasks' => 'Włącz listę zadań w menu',
'settings_enableMenuTasks_desc' => 'Włącza/Wyłącza pozycję w menu w której znajdują się wszystkie zadania dla użytkownika. Zawiera dokumenty, które potrzebują być ocenione, zatwierdzone, itd.', 'settings_enableMenuTasks_desc' => 'Włącza/Wyłącza pozycję w menu w której znajdują się wszystkie zadania dla użytkownika. Zawiera dokumenty, które potrzebują być ocenione, zatwierdzone, itd.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1732,6 +1747,8 @@ Name: [username]
'settings_encryptionKey' => 'Klucz szyfrujący', '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_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_error' => 'Błąd',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozwiń drzewo katalogów', 'settings_expandFolderTree' => 'Rozwiń drzewo katalogów',
'settings_expandFolderTree_desc' => 'Rozwiń drzewo katalogów', 'settings_expandFolderTree_desc' => 'Rozwiń drzewo katalogów',
'settings_expandFolderTree_val0' => 'Rozpocznij z ukrytym drzewem', 'settings_expandFolderTree_val0' => 'Rozpocznij z ukrytym drzewem',
@ -1790,6 +1807,8 @@ Name: [username]
'settings_logFileEnable_desc' => 'Włącz/Wyłącz plik dziennika', 'settings_logFileEnable_desc' => 'Włącz/Wyłącz plik dziennika',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotowanie pliku dziennika', 'settings_logFileRotation' => 'Rotowanie pliku dziennika',
'settings_logFileRotation_desc' => 'Rotowanie pliku dziennika', 'settings_logFileRotation_desc' => 'Rotowanie pliku dziennika',
'settings_loginFailure' => 'Błędy logowania', 'settings_loginFailure' => 'Błędy logowania',
@ -1987,6 +2006,7 @@ Name: [username]
'sign_out' => 'Wyloguj', 'sign_out' => 'Wyloguj',
'sign_out_user' => 'Wyloguj użytkownika', 'sign_out_user' => 'Wyloguj użytkownika',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'słowacki', 'sk_SK' => 'słowacki',
'sort_by_date' => 'Sortuj według daty', 'sort_by_date' => 'Sortuj według daty',
'sort_by_expiration_date' => 'Sortuj według daty ważności', 'sort_by_expiration_date' => 'Sortuj według daty ważności',
@ -2116,6 +2136,7 @@ Name: [username]
'status_revision_sleeping' => 'Oczekujące', 'status_revision_sleeping' => 'Oczekujące',
'status_revisor_removed' => 'Revisor usunięty z listy', 'status_revisor_removed' => 'Revisor usunięty z listy',
'status_unknown' => 'Nieznany', 'status_unknown' => 'Nieznany',
'storage' => '',
'storage_size' => 'Zajętość dysku', 'storage_size' => 'Zajętość dysku',
'subfolder_duplicate_name' => 'Zduplikowana nazwa podfolderu', 'subfolder_duplicate_name' => 'Zduplikowana nazwa podfolderu',
'submit_2_fact_auth' => 'Zapisz sekretne hasło', 'submit_2_fact_auth' => 'Zapisz sekretne hasło',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Autenticação de dois fatores', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -707,6 +710,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Extensão', 'extension_archive' => 'Extensão',
'extension_changelog' => 'Alterações no Log', 'extension_changelog' => 'Alterações no Log',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Carregando Extensões', 'extension_loading' => 'Carregando Extensões',
@ -1167,6 +1172,7 @@ URL: [url]',
'no_groups' => 'Sem grupos', 'no_groups' => 'Sem grupos',
'no_group_members' => 'Este grupo não tem membros', 'no_group_members' => 'Este grupo não tem membros',
'no_linked_files' => 'Não há arquivos vinculados', 'no_linked_files' => 'Não há arquivos vinculados',
'no_mimetype' => '',
'no_previous_versions' => 'Nenhuma outra versão encontrada', 'no_previous_versions' => 'Nenhuma outra versão encontrada',
'no_receipt_needed' => 'Atualmente, não há documentos que exijam uma confirmação de recebimento.', 'no_receipt_needed' => 'Atualmente, não há documentos que exijam uma confirmação de recebimento.',
'no_review_needed' => 'Nenhuma revisão pendente.', 'no_review_needed' => 'Nenhuma revisão pendente.',
@ -1331,7 +1337,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento',
'removeFolderFromDropFolder' => 'Remover pasta após a importação', 'removeFolderFromDropFolder' => 'Remover pasta após a importação',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Remover arquivos marcados', 'remove_marked_files' => 'Remover arquivos marcados',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1534,6 +1542,7 @@ URL: [url]',
'select_category' => 'Clique para selecionar a categoria', 'select_category' => 'Clique para selecionar a categoria',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecione o grupo', 'select_group' => 'Selecione o grupo',
'select_groups' => 'Clique para selecionar os grupos', 'select_groups' => 'Clique para selecionar os grupos',
'select_grp_approvers' => 'Clique para selecionar o grupo aprovador', 'select_grp_approvers' => 'Clique para selecionar o grupo aprovador',
@ -1586,7 +1595,9 @@ Nome: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Online', 'sessions' => 'Online',
'setDateFromFile' => 'Assumir a data do arquivo importado', 'setDateFromFile' => 'Assumir a data do arquivo importado',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Assumir a data da pasta importada', 'setDateFromFolder' => 'Assumir a data da pasta importada',
'setDateFromFolder_desc' => '',
'settings' => 'Configurações', 'settings' => 'Configurações',
'settings_activate_module' => 'Ativar módulo', 'settings_activate_module' => 'Ativar módulo',
'settings_activate_php_extension' => 'Ativar extensão PHP', 'settings_activate_php_extension' => 'Ativar extensão PHP',
@ -1684,6 +1695,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_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' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Desativar Auto Editar', 'settings_disableSelfEdit' => 'Desativar Auto Editar',
'settings_disableSelfEdit_desc' => 'Se selecionado o usuário não poderá editar seu próprio perfil', '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', 'settings_disable_install' => 'Elimine o arquivo ENABLE_INSTALL_TOOL se possível',
@ -1749,6 +1762,8 @@ Nome: [username]
'settings_enableLargeFileUpload_desc' => 'Se selecionado, o upload de arquivo também estará disponível através de um applet java chamado jumploader sem limite de tamanho de arquivo definido pelo navegador. Ele também permite fazer o upload de vários arquivos de uma só vez.', 'settings_enableLargeFileUpload_desc' => 'Se selecionado, o upload de arquivo também estará disponível através de um applet java chamado jumploader sem limite de tamanho de arquivo definido pelo navegador. Ele também permite fazer o upload de vários arquivos de uma só vez.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Ativar lista de tarefas no menu', 'settings_enableMenuTasks' => 'Ativar lista de tarefas no menu',
'settings_enableMenuTasks_desc' => 'Ativar / desativar o item de menu que contém todas as tarefas do usuário. Contém documentos que precisam ser revisados, aprovados etc.', 'settings_enableMenuTasks_desc' => 'Ativar / desativar o item de menu que contém todas as tarefas do usuário. Contém documentos que precisam ser revisados, aprovados etc.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1808,6 +1823,8 @@ Nome: [username]
'settings_encryptionKey' => 'Chave de criptografia', '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_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_error' => 'Erro',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandir a árvore de pastas', 'settings_expandFolderTree' => 'Expandir a árvore de pastas',
'settings_expandFolderTree_desc' => 'Expanda a Árvore de Pastas', 'settings_expandFolderTree_desc' => 'Expanda a Árvore de Pastas',
'settings_expandFolderTree_val0' => 'começar com a árvore escondida', 'settings_expandFolderTree_val0' => 'começar com a árvore escondida',
@ -1866,6 +1883,8 @@ Nome: [username]
'settings_logFileEnable_desc' => 'Ativar/Dasativar arquivo log', 'settings_logFileEnable_desc' => 'Ativar/Dasativar arquivo log',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotação do Arquivo Log', 'settings_logFileRotation' => 'Rotação do Arquivo Log',
'settings_logFileRotation_desc' => 'A rotação de arquivo de log', 'settings_logFileRotation_desc' => 'A rotação de arquivo de log',
'settings_loginFailure' => 'Falha de login', 'settings_loginFailure' => 'Falha de login',
@ -2063,6 +2082,7 @@ Nome: [username]
'sign_out' => 'Sair', 'sign_out' => 'Sair',
'sign_out_user' => 'Sair usuário', 'sign_out_user' => 'Sair usuário',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Eslovaco', 'sk_SK' => 'Eslovaco',
'sort_by_date' => 'classificar por data', 'sort_by_date' => 'classificar por data',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2192,6 +2212,7 @@ Nome: [username]
'status_revision_sleeping' => 'Pendente', 'status_revision_sleeping' => 'Pendente',
'status_revisor_removed' => 'Revisor removido da lista', 'status_revisor_removed' => 'Revisor removido da lista',
'status_unknown' => 'Desconhecido', 'status_unknown' => 'Desconhecido',
'storage' => '',
'storage_size' => 'Tamanho de armazenamento', 'storage_size' => 'Tamanho de armazenamento',
'subfolder_duplicate_name' => 'nome duplicado da subpasta', 'subfolder_duplicate_name' => 'nome duplicado da subpasta',
'submit_2_fact_auth' => 'Salvar senha', 'submit_2_fact_auth' => 'Salvar senha',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -565,6 +566,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -695,6 +698,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Se incarca extensiile', 'extension_loading' => 'Se incarca extensiile',
@ -1149,6 +1154,7 @@ URL: [url]',
'no_groups' => 'Nu există grupe', 'no_groups' => 'Nu există grupe',
'no_group_members' => 'Acest grup nu are membri', 'no_group_members' => 'Acest grup nu are membri',
'no_linked_files' => 'Nici un fișiere asociate', 'no_linked_files' => 'Nici un fișiere asociate',
'no_mimetype' => '',
'no_previous_versions' => 'Nu sunt alte versiuni gasite', 'no_previous_versions' => 'Nu sunt alte versiuni gasite',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'Nici o revizuire în așteptare.', 'no_review_needed' => 'Nici o revizuire în așteptare.',
@ -1302,7 +1308,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Eliminați fișierele marcate', 'remove_marked_files' => 'Eliminați fișierele marcate',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1501,6 +1509,7 @@ URL: [url]',
'select_category' => 'Click pentru a selecta categoria', 'select_category' => 'Click pentru a selecta categoria',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Selecteaza grupul', 'select_group' => 'Selecteaza grupul',
'select_groups' => 'Click pentru a selecta grupuri', 'select_groups' => 'Click pentru a selecta grupuri',
'select_grp_approvers' => 'Click pentru a selecta grupul de aprobatori', 'select_grp_approvers' => 'Click pentru a selecta grupul de aprobatori',
@ -1548,7 +1557,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Setări', 'settings' => 'Setări',
'settings_activate_module' => 'Activați modulul', 'settings_activate_module' => 'Activați modulul',
'settings_activate_php_extension' => 'Activați extensia PHP', 'settings_activate_php_extension' => 'Activați extensia PHP',
@ -1646,6 +1657,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_delete_install_folder' => 'Pentru a utiliza SeedDMS, trebuie să ștergeți fișierul ENABLE_INSTALL_TOOL din directorul de configurare',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Dezactivați Auto Editarea', 'settings_disableSelfEdit' => 'Dezactivați Auto Editarea',
'settings_disableSelfEdit_desc' => 'Dacă este bifată, utilizatorul nu va putea să-și editeze profilul', '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', 'settings_disable_install' => 'Ștergeți fișierul ENABLE_INSTALL_TOOL dacă este posibil',
@ -1711,6 +1724,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Dacă este setat, incărcarea este de asemenea disponibilă prin intermediul unui applet Java numit jumploader fără limită de dimensiune a fișierului stabilită de browser. De asemenea, permite încărcarea mai multor fișiere într-un singur pas. Activand aceasta optiune va dezactiva optiunea http only cookies.', 'settings_enableLargeFileUpload_desc' => 'Dacă este setat, incărcarea este de asemenea disponibilă prin intermediul unui applet Java numit jumploader fără limită de dimensiune a fișierului stabilită de browser. De asemenea, permite încărcarea mai multor fișiere într-un singur pas. Activand aceasta optiune va dezactiva optiunea http only cookies.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '', 'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1770,6 +1785,8 @@ URL: [url]',
'settings_encryptionKey' => 'Cheia de criptare', '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_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_error' => 'Eroare',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandați ierarhia Folderului', 'settings_expandFolderTree' => 'Expandați ierarhia Folderului',
'settings_expandFolderTree_desc' => 'Expandați ierarhia Folderului', 'settings_expandFolderTree_desc' => 'Expandați ierarhia Folderului',
'settings_expandFolderTree_val0' => 'începeți cu ierarhia ascunsă', 'settings_expandFolderTree_val0' => 'începeți cu ierarhia ascunsă',
@ -1828,6 +1845,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Activare/dezactivare log fișier', 'settings_logFileEnable_desc' => 'Activare/dezactivare log fișier',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Rotire Log fișiser', 'settings_logFileRotation' => 'Rotire Log fișiser',
'settings_logFileRotation_desc' => 'Rotirea Log-ului fișierului', 'settings_logFileRotation_desc' => 'Rotirea Log-ului fișierului',
'settings_loginFailure' => 'Eșec Autentificare', 'settings_loginFailure' => 'Eșec Autentificare',
@ -2025,6 +2044,7 @@ URL: [url]',
'sign_out' => 'Sign out', 'sign_out' => 'Sign out',
'sign_out_user' => 'Sign out utilizator', 'sign_out_user' => 'Sign out utilizator',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovacă', 'sk_SK' => 'Slovacă',
'sort_by_date' => 'Sortare dupa data', 'sort_by_date' => 'Sortare dupa data',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2154,6 +2174,7 @@ URL: [url]',
'status_revision_sleeping' => 'in asteptare', 'status_revision_sleeping' => 'in asteptare',
'status_revisor_removed' => 'Revizuitor eliminat din lista', 'status_revisor_removed' => 'Revizuitor eliminat din lista',
'status_unknown' => 'Necunoscut', 'status_unknown' => 'Necunoscut',
'storage' => '',
'storage_size' => 'Dimensiunea de stocare', 'storage_size' => 'Dimensiunea de stocare',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'Двухфакторная аутентификация', '2_factor_auth' => 'Двухфакторная аутентификация',
'2_factor_auth_code' => '',
'2_factor_auth_info' => 'Использовать усиленную проверку подлинности', '2_factor_auth_info' => 'Использовать усиленную проверку подлинности',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -565,6 +566,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -695,6 +698,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => 'Журнал изменений', 'extension_changelog' => 'Журнал изменений',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Загрузка расширений', 'extension_loading' => 'Загрузка расширений',
@ -1148,6 +1153,7 @@ URL: [url]',
'no_groups' => 'Нет групп', 'no_groups' => 'Нет групп',
'no_group_members' => 'Группа не имеет членов', 'no_group_members' => 'Группа не имеет членов',
'no_linked_files' => 'Нет связанных документов', 'no_linked_files' => 'Нет связанных документов',
'no_mimetype' => '',
'no_previous_versions' => 'Нет предыдущих версий', 'no_previous_versions' => 'Нет предыдущих версий',
'no_receipt_needed' => 'Нет документов, нуждающихся в подтверждении получения', 'no_receipt_needed' => 'Нет документов, нуждающихся в подтверждении получения',
'no_review_needed' => 'Рецензия не требуется', 'no_review_needed' => 'Рецензия не требуется',
@ -1304,7 +1310,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»', 'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Удалить выбранные файлы', 'remove_marked_files' => 'Удалить выбранные файлы',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1508,6 +1516,7 @@ URL: [url]',
'select_category' => 'Выберите категорию', 'select_category' => 'Выберите категорию',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Выберите группу', 'select_group' => 'Выберите группу',
'select_groups' => 'Выберите группы', 'select_groups' => 'Выберите группы',
'select_grp_approvers' => 'Выберите утверждающую группу', 'select_grp_approvers' => 'Выберите утверждающую группу',
@ -1555,7 +1564,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Настройки', 'settings' => 'Настройки',
'settings_activate_module' => 'Активировать модуль', 'settings_activate_module' => 'Активировать модуль',
'settings_activate_php_extension' => 'Активировать расширение PHP', 'settings_activate_php_extension' => 'Активировать расширение PHP',
@ -1653,6 +1664,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Удалите ENABLE_INSTALL_TOOL в каталоге конфигурации, для того что бы начать использовать систему', 'settings_delete_install_folder' => 'Удалите ENABLE_INSTALL_TOOL в каталоге конфигурации, для того что бы начать использовать систему',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Отключить собственное редактирование', 'settings_disableSelfEdit' => 'Отключить собственное редактирование',
'settings_disableSelfEdit_desc' => 'Если включено, пользователи не смогут изменять информацию о себе.', 'settings_disableSelfEdit_desc' => 'Если включено, пользователи не смогут изменять информацию о себе.',
'settings_disable_install' => 'Удалить ENABLE_INSTALL_TOOL, если возможно', 'settings_disable_install' => 'Удалить ENABLE_INSTALL_TOOL, если возможно',
@ -1718,6 +1731,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Если включено, загрузка файлов доступна так же через Java-апплет, называемый jumploader, без ограничения размера файла. Это также позволит загружать несколько файлов за раз.', 'settings_enableLargeFileUpload_desc' => 'Если включено, загрузка файлов доступна так же через Java-апплет, называемый jumploader, без ограничения размера файла. Это также позволит загружать несколько файлов за раз.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Включить список задач в меню', 'settings_enableMenuTasks' => 'Включить список задач в меню',
'settings_enableMenuTasks_desc' => 'Включить/отключить пункт меню, который содержит все задачи пользователя. Там содержатся документы, которые нуждаются в рецензии, утверждении и т.д.', 'settings_enableMenuTasks_desc' => 'Включить/отключить пункт меню, который содержит все задачи пользователя. Там содержатся документы, которые нуждаются в рецензии, утверждении и т.д.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1777,6 +1792,8 @@ URL: [url]',
'settings_encryptionKey' => 'Ключ шифрования', 'settings_encryptionKey' => 'Ключ шифрования',
'settings_encryptionKey_desc' => 'Строка используется для создания уникального идентификатора, добавляемого как скрытые поля к формулярам, для предотвращения CSRF-атак.', 'settings_encryptionKey_desc' => 'Строка используется для создания уникального идентификатора, добавляемого как скрытые поля к формулярам, для предотвращения CSRF-атак.',
'settings_error' => 'Ошибка', 'settings_error' => 'Ошибка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Разворачивать дерево каталогов', 'settings_expandFolderTree' => 'Разворачивать дерево каталогов',
'settings_expandFolderTree_desc' => 'Разворачивать дерево каталогов.', 'settings_expandFolderTree_desc' => 'Разворачивать дерево каталогов.',
'settings_expandFolderTree_val0' => 'Начинать со свёрнутого дерева', 'settings_expandFolderTree_val0' => 'Начинать со свёрнутого дерева',
@ -1835,6 +1852,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Включить/отключить журнал.', 'settings_logFileEnable_desc' => 'Включить/отключить журнал.',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Ротация журнала', 'settings_logFileRotation' => 'Ротация журнала',
'settings_logFileRotation_desc' => 'Ротация файла журнала.', 'settings_logFileRotation_desc' => 'Ротация файла журнала.',
'settings_loginFailure' => 'Не удалось войти', 'settings_loginFailure' => 'Не удалось войти',
@ -2032,6 +2051,7 @@ URL: [url]',
'sign_out' => 'Выйти', 'sign_out' => 'Выйти',
'sign_out_user' => 'Пользовательский выход', 'sign_out_user' => 'Пользовательский выход',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovak', 'sk_SK' => 'Slovak',
'sort_by_date' => 'Сортировка по дате', 'sort_by_date' => 'Сортировка по дате',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2161,6 +2181,7 @@ URL: [url]',
'status_revision_sleeping' => 'В ожидании рецензии', 'status_revision_sleeping' => 'В ожидании рецензии',
'status_revisor_removed' => 'Ревизор удален из списка', 'status_revisor_removed' => 'Ревизор удален из списка',
'status_unknown' => 'Неизвестный', 'status_unknown' => 'Неизвестный',
'storage' => '',
'storage_size' => 'Размер хранилища', 'storage_size' => 'Размер хранилища',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '2-faktorové overovanie', '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_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_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -707,6 +710,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => 'Rozšírenie', 'extension_archive' => 'Rozšírenie',
'extension_changelog' => 'Denník zmien', 'extension_changelog' => 'Denník zmien',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Nahrávajú sa rozšírenia ...', 'extension_loading' => 'Nahrávajú sa rozšírenia ...',
@ -1168,6 +1173,7 @@ URL: [url]',
'no_groups' => 'Žiadne skupiny', 'no_groups' => 'Žiadne skupiny',
'no_group_members' => 'Táto skupina nemá žiadnych členov', 'no_group_members' => 'Táto skupina nemá žiadnych členov',
'no_linked_files' => 'No linked files', 'no_linked_files' => 'No linked files',
'no_mimetype' => '',
'no_previous_versions' => 'Neboli nájdené žiadne iné verzie', 'no_previous_versions' => 'Neboli nájdené žiadne iné verzie',
'no_receipt_needed' => 'There are currently no documents requiring a receipt confirmation.', 'no_receipt_needed' => 'There are currently no documents requiring a receipt confirmation.',
'no_review_needed' => 'No review pending.', 'no_review_needed' => 'No review pending.',
@ -1332,7 +1338,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version', 'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Po importe odstrániť zložku', 'removeFolderFromDropFolder' => 'Po importe odstrániť zložku',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Odstrániť označené súbory', 'remove_marked_files' => 'Odstrániť označené súbory',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1536,6 +1544,7 @@ URL: [url]',
'select_category' => 'Vyber kategóriu', 'select_category' => 'Vyber kategóriu',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Vybrať skupinu', 'select_group' => 'Vybrať skupinu',
'select_groups' => 'Kliknutím vyberte skupiny', 'select_groups' => 'Kliknutím vyberte skupiny',
'select_grp_approvers' => 'Kliknutím vyberte schvaľovateľa skupiny', 'select_grp_approvers' => 'Kliknutím vyberte schvaľovateľa skupiny',
@ -1588,7 +1597,9 @@ Meno: [username]
'service_name' => '', 'service_name' => '',
'sessions' => 'Používatelia online', 'sessions' => 'Používatelia online',
'setDateFromFile' => 'Prebrať dátumy z importovaných súborov', 'setDateFromFile' => 'Prebrať dátumy z importovaných súborov',
'setDateFromFile_desc' => '',
'setDateFromFolder' => 'Prebrať dátumy z importovaných zložiek', 'setDateFromFolder' => 'Prebrať dátumy z importovaných zložiek',
'setDateFromFolder_desc' => '',
'settings' => 'Nastavenia', 'settings' => 'Nastavenia',
'settings_activate_module' => 'Aktivovať modul', 'settings_activate_module' => 'Aktivovať modul',
'settings_activate_php_extension' => 'Aktivovať PHP rozšírenie', 'settings_activate_php_extension' => 'Aktivovať PHP rozšírenie',
@ -1686,6 +1697,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_delete_install_folder' => 'In order to use SeedDMS, you must delete the file ENABLE_INSTALL_TOOL in the configuration directory',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Disable Self Edit', 'settings_disableSelfEdit' => 'Disable Self Edit',
'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile', 'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile',
'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible', 'settings_disable_install' => 'Delete file ENABLE_INSTALL_TOOL if possible',
@ -1751,6 +1764,8 @@ Meno: [username]
'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step. Turning this on will turn off http only cookies.', 'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step. Turning this on will turn off http only cookies.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Enable task list in menu', 'settings_enableMenuTasks' => 'Enable task list in menu',
'settings_enableMenuTasks_desc' => 'Enable/Disable the menu item which contains all tasks for the user. This contains documents, that need to be reviewed, approved, etc.', 'settings_enableMenuTasks_desc' => 'Enable/Disable the menu item which contains all tasks for the user. This contains documents, that need to be reviewed, approved, etc.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1810,6 +1825,8 @@ Meno: [username]
'settings_encryptionKey' => 'Encryption key', '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_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_error' => 'Chyba',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Rozbaliť', 'settings_expandFolderTree' => 'Rozbaliť',
'settings_expandFolderTree_desc' => 'Rozbaliť strom zložiek', 'settings_expandFolderTree_desc' => 'Rozbaliť strom zložiek',
'settings_expandFolderTree_val0' => 'začať so skrytou stromovou štruktúrou', 'settings_expandFolderTree_val0' => 'začať so skrytou stromovou štruktúrou',
@ -1868,6 +1885,8 @@ Meno: [username]
'settings_logFileEnable_desc' => 'Povoliť/zakázať log súbor', 'settings_logFileEnable_desc' => 'Povoliť/zakázať log súbor',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log File Rotation', 'settings_logFileRotation' => 'Log File Rotation',
'settings_logFileRotation_desc' => 'The log file rotation', 'settings_logFileRotation_desc' => 'The log file rotation',
'settings_loginFailure' => 'Prihlásenie zlyhalo', 'settings_loginFailure' => 'Prihlásenie zlyhalo',
@ -2065,6 +2084,7 @@ Meno: [username]
'sign_out' => 'odhlásiť', 'sign_out' => 'odhlásiť',
'sign_out_user' => 'Odhlásiť používateľa', 'sign_out_user' => 'Odhlásiť používateľa',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovenčina', 'sk_SK' => 'Slovenčina',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2194,6 +2214,7 @@ Meno: [username]
'status_revision_sleeping' => 'pending', 'status_revision_sleeping' => 'pending',
'status_revisor_removed' => 'Revisor removed from list', 'status_revisor_removed' => 'Revisor removed from list',
'status_unknown' => 'Neznámy', 'status_unknown' => 'Neznámy',
'storage' => '',
'storage_size' => 'Objem dát', 'storage_size' => 'Objem dát',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => 'Save secret', 'submit_2_fact_auth' => 'Save secret',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '2-faktors autentisering', '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. '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.', 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' => '', '2_fact_auth_current_secret' => '',
@ -571,6 +572,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -701,6 +704,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1155,6 +1160,7 @@ URL: [url]',
'no_groups' => 'Inga grupper', 'no_groups' => 'Inga grupper',
'no_group_members' => 'Denna grupp har inga medlemmar', 'no_group_members' => 'Denna grupp har inga medlemmar',
'no_linked_files' => 'Inga länkade filer', 'no_linked_files' => 'Inga länkade filer',
'no_mimetype' => '',
'no_previous_versions' => 'Inga andra versioner hittades.', 'no_previous_versions' => 'Inga andra versioner hittades.',
'no_receipt_needed' => 'Det finns inga dokument som saknar mottagningsbevis.', 'no_receipt_needed' => 'Det finns inga dokument som saknar mottagningsbevis.',
'no_review_needed' => 'Det finns inga dokument som du behöver granska.', 'no_review_needed' => 'Det finns inga dokument som du behöver granska.',
@ -1305,7 +1311,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion', 'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion',
'removeFolderFromDropFolder' => 'Radera katalog efter import', 'removeFolderFromDropFolder' => 'Radera katalog efter import',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Ta bort markerade filer', 'remove_marked_files' => 'Ta bort markerade filer',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1509,6 +1517,7 @@ URL: [url]',
'select_category' => 'Klicka för att välja en kategori', 'select_category' => 'Klicka för att välja en kategori',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Välj grupp', 'select_group' => 'Välj grupp',
'select_groups' => 'Välj grupper', 'select_groups' => 'Välj grupper',
'select_grp_approvers' => 'Välj en grupp som ska godkänna', 'select_grp_approvers' => 'Välj en grupp som ska godkänna',
@ -1561,7 +1570,9 @@ Kommentar: [comment]',
'service_name' => '', 'service_name' => '',
'sessions' => 'Användare online', 'sessions' => 'Användare online',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Inställningar', 'settings' => 'Inställningar',
'settings_activate_module' => 'Aktivera modul', 'settings_activate_module' => 'Aktivera modul',
'settings_activate_php_extension' => 'Aktivera PHP-extension', 'settings_activate_php_extension' => 'Aktivera PHP-extension',
@ -1659,6 +1670,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_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' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Inaktivera själveditering', 'settings_disableSelfEdit' => 'Inaktivera själveditering',
'settings_disableSelfEdit_desc' => 'Om ikryssad kan användare inte ändra sin egen profil.', '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.', 'settings_disable_install' => 'Ta bort filen ENABLE_INSTALL_TOOL, om det är möjligt.',
@ -1724,6 +1737,8 @@ Kommentar: [comment]',
'settings_enableLargeFileUpload_desc' => 'Om aktiverad, kan filer laddas upp via javaapplet med namnet jumploader, utan begränsningar i filstorlek. Flera filer kan även laddas upp samtidigt i ett steg.', 'settings_enableLargeFileUpload_desc' => 'Om aktiverad, kan filer laddas upp via javaapplet med namnet jumploader, utan begränsningar i filstorlek. Flera filer kan även laddas upp samtidigt i ett steg.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Aktivera uppgiftslista i menyn', 'settings_enableMenuTasks' => 'Aktivera uppgiftslista i menyn',
'settings_enableMenuTasks_desc' => 'Aktiverar ett menyobjekt som visar användarens uppgifter, såsom dokument som behöver granskas eller godkännas.', 'settings_enableMenuTasks_desc' => 'Aktiverar ett menyobjekt som visar användarens uppgifter, såsom dokument som behöver granskas eller godkännas.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1783,6 +1798,8 @@ Kommentar: [comment]',
'settings_encryptionKey' => 'Krypteringsnyckel', '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_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_error' => 'Fel',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Expandera katalogträd', 'settings_expandFolderTree' => 'Expandera katalogträd',
'settings_expandFolderTree_desc' => 'Expandera katalogträd', 'settings_expandFolderTree_desc' => 'Expandera katalogträd',
'settings_expandFolderTree_val0' => 'Börja med dolt träd', 'settings_expandFolderTree_val0' => 'Börja med dolt träd',
@ -1841,6 +1858,8 @@ Kommentar: [comment]',
'settings_logFileEnable_desc' => 'Aktivera/Inaktivera loggfil', 'settings_logFileEnable_desc' => 'Aktivera/Inaktivera loggfil',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Loggfils-rotation', 'settings_logFileRotation' => 'Loggfils-rotation',
'settings_logFileRotation_desc' => 'Loggfils-rotation', 'settings_logFileRotation_desc' => 'Loggfils-rotation',
'settings_loginFailure' => 'Fel vid inloggning', 'settings_loginFailure' => 'Fel vid inloggning',
@ -2038,6 +2057,7 @@ Kommentar: [comment]',
'sign_out' => 'Logga ut', 'sign_out' => 'Logga ut',
'sign_out_user' => 'Logga ut användare', 'sign_out_user' => 'Logga ut användare',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovakiska', 'sk_SK' => 'Slovakiska',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2167,6 +2187,7 @@ Kommentar: [comment]',
'status_revision_sleeping' => 'Vilande', 'status_revision_sleeping' => 'Vilande',
'status_revisor_removed' => 'Reviderare borttagen från listan', 'status_revisor_removed' => 'Reviderare borttagen från listan',
'status_unknown' => 'Okänd', 'status_unknown' => 'Okänd',
'storage' => '',
'storage_size' => 'Lagringsstorlek', 'storage_size' => 'Lagringsstorlek',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => 'Spara hemlighet', 'submit_2_fact_auth' => 'Spara hemlighet',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => 'İki faktörlü yetkilendirme', '2_factor_auth' => 'İki faktörlü yetkilendirme',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -559,6 +560,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -689,6 +692,8 @@ URL: [url]',
'export_user_list_csv' => 'Kullanıcıları CSV olarak dışa aktar', 'export_user_list_csv' => 'Kullanıcıları CSV olarak dışa aktar',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => 'Değişiklik Listesi', 'extension_changelog' => 'Değişiklik Listesi',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => 'Uzantı yüklendi', 'extension_loading' => 'Uzantı yüklendi',
@ -1141,6 +1146,7 @@ URL: [url]',
'no_groups' => 'Grup yok', 'no_groups' => 'Grup yok',
'no_group_members' => 'Bu grubun hiç üyesi yok', 'no_group_members' => 'Bu grubun hiç üyesi yok',
'no_linked_files' => 'Link verilmiş dosya yok', 'no_linked_files' => 'Link verilmiş dosya yok',
'no_mimetype' => '',
'no_previous_versions' => 'Başka versiyon yok', 'no_previous_versions' => 'Başka versiyon yok',
'no_receipt_needed' => '', 'no_receipt_needed' => '',
'no_review_needed' => 'Bekleyen kontrol yok.', 'no_review_needed' => 'Bekleyen kontrol yok.',
@ -1296,7 +1302,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi', 'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'İşaretli dosyaları sil', 'remove_marked_files' => 'İşaretli dosyaları sil',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1478,6 +1486,7 @@ URL: [url]',
'select_category' => 'Kategori seçmek için tıklayın', 'select_category' => 'Kategori seçmek için tıklayın',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => 'Grup Seç', 'select_group' => 'Grup Seç',
'select_groups' => 'Grup seçmek için tıklayın', 'select_groups' => 'Grup seçmek için tıklayın',
'select_grp_approvers' => 'Grup onaylayıcı seçmek için tıklayın', 'select_grp_approvers' => 'Grup onaylayıcı seçmek için tıklayın',
@ -1525,7 +1534,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Ayarlar', 'settings' => 'Ayarlar',
'settings_activate_module' => 'Modülü etkinleştir', 'settings_activate_module' => 'Modülü etkinleştir',
'settings_activate_php_extension' => 'PHP uzantısını etkinleştir', 'settings_activate_php_extension' => 'PHP uzantısını etkinleştir',
@ -1623,6 +1634,8 @@ URL: [url]',
'settings_delete_install_folder' => 'SeedDMS kullanabilmeniz için konfigürasyon (conf) dizini içindeki ENABLE_INSTALL_TOOL dosyasını silmelisiniz', 'settings_delete_install_folder' => 'SeedDMS kullanabilmeniz için konfigürasyon (conf) dizini içindeki ENABLE_INSTALL_TOOL dosyasını silmelisiniz',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Kendi kendine Düzenlemeyi Kapat', 'settings_disableSelfEdit' => 'Kendi kendine Düzenlemeyi Kapat',
'settings_disableSelfEdit_desc' => 'Seçilirse kullanıcı kendi profil ayarlarını değiştiremez.', 'settings_disableSelfEdit_desc' => 'Seçilirse kullanıcı kendi profil ayarlarını değiştiremez.',
'settings_disable_install' => 'ENABLE_INSTALL_TOOL dosyasını silmeyi dene', 'settings_disable_install' => 'ENABLE_INSTALL_TOOL dosyasını silmeyi dene',
@ -1688,6 +1701,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Etkinleştirilirse, büyük dosyalar dosya limitine bakılmaksızın jumploader isimli java applet aracılığıyla yüklenebilir. Bu ayrıca bir seferde birden çok dosya yüklemeyi de sağlar. Bu açıldığında sadece http çerezleri kapanmış olur.', 'settings_enableLargeFileUpload_desc' => 'Etkinleştirilirse, büyük dosyalar dosya limitine bakılmaksızın jumploader isimli java applet aracılığıyla yüklenebilir. Bu ayrıca bir seferde birden çok dosya yüklemeyi de sağlar. Bu açıldığında sadece http çerezleri kapanmış olur.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '', 'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '', 'settings_enableMenuTasks_desc' => '',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1747,6 +1762,8 @@ URL: [url]',
'settings_encryptionKey' => 'Şifreleme anahtarı', 'settings_encryptionKey' => 'Şifreleme anahtarı',
'settings_encryptionKey_desc' => 'Bu string, CSRF ataklarını önlemek için eşsiz id olarak kaydedilir.', 'settings_encryptionKey_desc' => 'Bu string, CSRF ataklarını önlemek için eşsiz id olarak kaydedilir.',
'settings_error' => 'Hata', 'settings_error' => 'Hata',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Klasör Ağacını Genişlet', 'settings_expandFolderTree' => 'Klasör Ağacını Genişlet',
'settings_expandFolderTree_desc' => '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', 'settings_expandFolderTree_val0' => 'ağaç yapısı gizli olarak başlat',
@ -1805,6 +1822,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Log dosyasını etkinleştir/devredışı bırak', 'settings_logFileEnable_desc' => 'Log dosyasını etkinleştir/devredışı bırak',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Log Dosyası rotasyonu', 'settings_logFileRotation' => 'Log Dosyası rotasyonu',
'settings_logFileRotation_desc' => 'Log dosyasını seçeceğiniz zaman dilimine göre ayrı ayrı kaydet', 'settings_logFileRotation_desc' => 'Log dosyasını seçeceğiniz zaman dilimine göre ayrı ayrı kaydet',
'settings_loginFailure' => 'Hatalı giriş sayısı', 'settings_loginFailure' => 'Hatalı giriş sayısı',
@ -2002,6 +2021,7 @@ URL: [url]',
'sign_out' => ıkış', 'sign_out' => ıkış',
'sign_out_user' => 'Kullanıcı hesabından çıkış', 'sign_out_user' => 'Kullanıcı hesabından çıkış',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovakça', 'sk_SK' => 'Slovakça',
'sort_by_date' => 'Tarihe göre sırala', 'sort_by_date' => 'Tarihe göre sırala',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2131,6 +2151,7 @@ URL: [url]',
'status_revision_sleeping' => '', 'status_revision_sleeping' => '',
'status_revisor_removed' => '', 'status_revisor_removed' => '',
'status_unknown' => 'Bilinmeyen', 'status_unknown' => 'Bilinmeyen',
'storage' => '',
'storage_size' => 'Depo boyutu', 'storage_size' => 'Depo boyutu',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '', '2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -564,6 +565,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -694,6 +697,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '', 'extension_archive' => '',
'extension_changelog' => '', 'extension_changelog' => '',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '', 'extension_loading' => '',
@ -1147,6 +1152,7 @@ URL: [url]',
'no_groups' => 'Немає груп', 'no_groups' => 'Немає груп',
'no_group_members' => 'Група не має членів', 'no_group_members' => 'Група не має членів',
'no_linked_files' => 'Немає пов\'язаних документів', 'no_linked_files' => 'Немає пов\'язаних документів',
'no_mimetype' => '',
'no_previous_versions' => 'Немає попередніх версій', 'no_previous_versions' => 'Немає попередніх версій',
'no_receipt_needed' => 'Немає документів, які потребують підтвердження отримання', 'no_receipt_needed' => 'Немає документів, які потребують підтвердження отримання',
'no_review_needed' => 'Рецензія не потрібна', 'no_review_needed' => 'Рецензія не потрібна',
@ -1303,7 +1309,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»', 'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => 'Видалити обрані файли', 'remove_marked_files' => 'Видалити обрані файли',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1500,6 +1508,7 @@ URL: [url]',
'select_category' => 'Оберіть категорію', 'select_category' => 'Оберіть категорію',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '', 'select_group' => '',
'select_groups' => 'Оберіть групи', 'select_groups' => 'Оберіть групи',
'select_grp_approvers' => 'Оберіть групу затверджувачів', 'select_grp_approvers' => 'Оберіть групу затверджувачів',
@ -1547,7 +1556,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '', 'sessions' => '',
'setDateFromFile' => '', 'setDateFromFile' => '',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '', 'setDateFromFolder' => '',
'setDateFromFolder_desc' => '',
'settings' => 'Налаштування', 'settings' => 'Налаштування',
'settings_activate_module' => 'Активувати модуль', 'settings_activate_module' => 'Активувати модуль',
'settings_activate_php_extension' => 'Активувати розширення PHP', 'settings_activate_php_extension' => 'Активувати розширення PHP',
@ -1645,6 +1656,8 @@ URL: [url]',
'settings_delete_install_folder' => 'Видаліть ENABLE_INSTALL_TOOL в каталозі конфігурації для того, щоби почати використовувати систему', 'settings_delete_install_folder' => 'Видаліть ENABLE_INSTALL_TOOL в каталозі конфігурації для того, щоби почати використовувати систему',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => 'Відключити власне редагування', 'settings_disableSelfEdit' => 'Відключити власне редагування',
'settings_disableSelfEdit_desc' => 'Якщо ввімкнено, користувачі не зможуть змінювати інформацію про себе.', 'settings_disableSelfEdit_desc' => 'Якщо ввімкнено, користувачі не зможуть змінювати інформацію про себе.',
'settings_disable_install' => 'Видалити ENABLE_INSTALL_TOOL, якщо можливо', 'settings_disable_install' => 'Видалити ENABLE_INSTALL_TOOL, якщо можливо',
@ -1710,6 +1723,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Якщо увімкнено, завантаження файлів доступне також через Java-аплет jumploader без обмеження розміру файлів. Це також дозволить завантажувати кілька файлів за раз.', 'settings_enableLargeFileUpload_desc' => 'Якщо увімкнено, завантаження файлів доступне також через Java-аплет jumploader без обмеження розміру файлів. Це також дозволить завантажувати кілька файлів за раз.',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => 'Включити список завдань в меню', 'settings_enableMenuTasks' => 'Включити список завдань в меню',
'settings_enableMenuTasks_desc' => 'Включити/відключити пункт меню, який містить всі завдання користувача. Там містяться документи, які потребують рецензії, затвердження і т.ін.', 'settings_enableMenuTasks_desc' => 'Включити/відключити пункт меню, який містить всі завдання користувача. Там містяться документи, які потребують рецензії, затвердження і т.ін.',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1769,6 +1784,8 @@ URL: [url]',
'settings_encryptionKey' => 'Ключ шифрування', 'settings_encryptionKey' => 'Ключ шифрування',
'settings_encryptionKey_desc' => 'Рядок використовується для створення унікального ідентифікатора, який додається як приховане поле до формулярів, для запобігання CSRF-атак.', 'settings_encryptionKey_desc' => 'Рядок використовується для створення унікального ідентифікатора, який додається як приховане поле до формулярів, для запобігання CSRF-атак.',
'settings_error' => 'Помилка', 'settings_error' => 'Помилка',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => 'Розгортати дерево каталогів', 'settings_expandFolderTree' => 'Розгортати дерево каталогів',
'settings_expandFolderTree_desc' => 'Розгортати дерево каталогів.', 'settings_expandFolderTree_desc' => 'Розгортати дерево каталогів.',
'settings_expandFolderTree_val0' => 'Починати із згорнутого дерева', 'settings_expandFolderTree_val0' => 'Починати із згорнутого дерева',
@ -1827,6 +1844,8 @@ URL: [url]',
'settings_logFileEnable_desc' => 'Увімкнути/вимкнути протоколювання (лог).', 'settings_logFileEnable_desc' => 'Увімкнути/вимкнути протоколювання (лог).',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => 'Ротація журналу (протоколу)', 'settings_logFileRotation' => 'Ротація журналу (протоколу)',
'settings_logFileRotation_desc' => 'Ротація файлу журналу.', 'settings_logFileRotation_desc' => 'Ротація файлу журналу.',
'settings_loginFailure' => 'Не вдалося увійти', 'settings_loginFailure' => 'Не вдалося увійти',
@ -2024,6 +2043,7 @@ URL: [url]',
'sign_out' => 'Вийти', 'sign_out' => 'Вийти',
'sign_out_user' => 'Вихід користувача', 'sign_out_user' => 'Вихід користувача',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => 'Slovak', 'sk_SK' => 'Slovak',
'sort_by_date' => '', 'sort_by_date' => '',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2153,6 +2173,7 @@ URL: [url]',
'status_revision_sleeping' => 'Ревізію призупинено', 'status_revision_sleeping' => 'Ревізію призупинено',
'status_revisor_removed' => 'Ревізора видалено зі списку', 'status_revisor_removed' => 'Ревізора видалено зі списку',
'status_unknown' => 'Невідомий', 'status_unknown' => 'Невідомий',
'storage' => '',
'storage_size' => 'Розмір сховища', 'storage_size' => 'Розмір сховища',
'subfolder_duplicate_name' => '', 'subfolder_duplicate_name' => '',
'submit_2_fact_auth' => '', 'submit_2_fact_auth' => '',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '双重认证', '2_factor_auth' => '双重认证',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '该系统启用双重认证。您需要在手机上进行 Google 认证。下面你会看到两个 QR 码。正确的是你目前的密码。在左边你可以设置一个新的密码。如果您设置了新的密码,请重新扫描并通过 Google 认证。', '2_factor_auth_info' => '该系统启用双重认证。您需要在手机上进行 Google 认证。下面你会看到两个 QR 码。正确的是你目前的密码。在左边你可以设置一个新的密码。如果您设置了新的密码,请重新扫描并通过 Google 认证。',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -559,6 +560,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -697,6 +700,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '扩展', 'extension_archive' => '扩展',
'extension_changelog' => '更新日志', 'extension_changelog' => '更新日志',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '加载扩展', 'extension_loading' => '加载扩展',
@ -1151,6 +1156,7 @@ URL: [url]',
'no_groups' => '无组别', 'no_groups' => '无组别',
'no_group_members' => '该组没有成员', 'no_group_members' => '该组没有成员',
'no_linked_files' => '无链接文件', 'no_linked_files' => '无链接文件',
'no_mimetype' => '',
'no_previous_versions' => '无其它版本', 'no_previous_versions' => '无其它版本',
'no_receipt_needed' => '目前没有需要收据确认的文件', 'no_receipt_needed' => '目前没有需要收据确认的文件',
'no_review_needed' => '无待校对的文件', 'no_review_needed' => '无待校对的文件',
@ -1309,7 +1315,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流', 'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流',
'removeFolderFromDropFolder' => '导入后删除文件夹', 'removeFolderFromDropFolder' => '导入后删除文件夹',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '删除选中的文件', 'remove_marked_files' => '删除选中的文件',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1483,6 +1491,7 @@ URL: [url]',
'select_category' => '选中分类', 'select_category' => '选中分类',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '选择用户组', 'select_group' => '选择用户组',
'select_groups' => '点击选择组', 'select_groups' => '点击选择组',
'select_grp_approvers' => '点击选择组审批组', 'select_grp_approvers' => '点击选择组审批组',
@ -1535,7 +1544,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '在线用户', 'sessions' => '在线用户',
'setDateFromFile' => '导入文件接收日期', 'setDateFromFile' => '导入文件接收日期',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '导入文件夹接收日期', 'setDateFromFolder' => '导入文件夹接收日期',
'setDateFromFolder_desc' => '',
'settings' => '设置', 'settings' => '设置',
'settings_activate_module' => '启用模块', 'settings_activate_module' => '启用模块',
'settings_activate_php_extension' => '启用 PHP 扩展', 'settings_activate_php_extension' => '启用 PHP 扩展',
@ -1633,6 +1644,8 @@ URL: [url]',
'settings_delete_install_folder' => '在使用 DMS 前您必须先删除配置目录config下的 ENABLE_INSTALL_TOOL 文件', 'settings_delete_install_folder' => '在使用 DMS 前您必须先删除配置目录config下的 ENABLE_INSTALL_TOOL 文件',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '禁用自编辑', 'settings_disableSelfEdit' => '禁用自编辑',
'settings_disableSelfEdit_desc' => '若勾选,则用户不能编辑自己的档案信息', 'settings_disableSelfEdit_desc' => '若勾选,则用户不能编辑自己的档案信息',
'settings_disable_install' => '如有可能,则删除 ENABLE_INSTALL_TOOL 文件', 'settings_disable_install' => '如有可能,则删除 ENABLE_INSTALL_TOOL 文件',
@ -1698,6 +1711,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => '如果设置了文件上传也可以通过一个名为jumploader的浏览器java小程序来实现文件上传。它还允许一次上传多个文件。打开此选项将关闭网页cookie。', 'settings_enableLargeFileUpload_desc' => '如果设置了文件上传也可以通过一个名为jumploader的浏览器java小程序来实现文件上传。它还允许一次上传多个文件。打开此选项将关闭网页cookie。',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '在菜单中启用任务列表', 'settings_enableMenuTasks' => '在菜单中启用任务列表',
'settings_enableMenuTasks_desc' => '启用/禁用包含用户所有任务的菜单项。其中包含需要审核、批准的文件等。', 'settings_enableMenuTasks_desc' => '启用/禁用包含用户所有任务的菜单项。其中包含需要审核、批准的文件等。',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1757,6 +1772,8 @@ URL: [url]',
'settings_encryptionKey' => '加密密钥', 'settings_encryptionKey' => '加密密钥',
'settings_encryptionKey_desc' => '这个字符串用于创建一个唯一的标识符并作为一个隐藏字段添加到表单中以防止CSRF攻击。', 'settings_encryptionKey_desc' => '这个字符串用于创建一个唯一的标识符并作为一个隐藏字段添加到表单中以防止CSRF攻击。',
'settings_error' => '错误', 'settings_error' => '错误',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '展开文件夹树', 'settings_expandFolderTree' => '展开文件夹树',
'settings_expandFolderTree_desc' => '展开文件夹树', 'settings_expandFolderTree_desc' => '展开文件夹树',
'settings_expandFolderTree_val0' => '启动时隐藏树形结构', 'settings_expandFolderTree_val0' => '启动时隐藏树形结构',
@ -1815,6 +1832,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '启用 / 禁用日志文件', 'settings_logFileEnable_desc' => '启用 / 禁用日志文件',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '设置日志文件时间段', 'settings_logFileRotation' => '设置日志文件时间段',
'settings_logFileRotation_desc' => '日志文件时间段切换', 'settings_logFileRotation_desc' => '日志文件时间段切换',
'settings_loginFailure' => '登录失败', 'settings_loginFailure' => '登录失败',
@ -2012,6 +2031,7 @@ URL: [url]',
'sign_out' => '登出', 'sign_out' => '登出',
'sign_out_user' => '退出登录', 'sign_out_user' => '退出登录',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => '斯洛伐克语', 'sk_SK' => '斯洛伐克语',
'sort_by_date' => '日期排序', 'sort_by_date' => '日期排序',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2141,6 +2161,7 @@ URL: [url]',
'status_revision_sleeping' => '等待', 'status_revision_sleeping' => '等待',
'status_revisor_removed' => '从名单中删除校订人', 'status_revisor_removed' => '从名单中删除校订人',
'status_unknown' => '未知', 'status_unknown' => '未知',
'storage' => '',
'storage_size' => '存储大小', 'storage_size' => '存储大小',
'subfolder_duplicate_name' => '重复的文件夹', 'subfolder_duplicate_name' => '重复的文件夹',
'submit_2_fact_auth' => '保存秘钥', 'submit_2_fact_auth' => '保存秘钥',

View File

@ -23,6 +23,7 @@
$text = array( $text = array(
'2_factor_auth' => '2階段認證', '2_factor_auth' => '2階段認證',
'2_factor_auth_code' => '',
'2_factor_auth_info' => '此系統強制執行2階段身份驗證。您將需要在手機上使用Google Authenticator。在下面您可以看到兩個QR碼。正確的是您當前的秘密。在左側您可以設置一個新的秘密。如果您設置了新的機密請確保使用Google Authenticator重新掃描它。', '2_factor_auth_info' => '此系統強制執行2階段身份驗證。您將需要在手機上使用Google Authenticator。在下面您可以看到兩個QR碼。正確的是您當前的秘密。在左側您可以設置一個新的秘密。如果您設置了新的機密請確保使用Google Authenticator重新掃描它。',
'2_fact_auth_current_secret' => '', '2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '', '2_fact_auth_new_secret' => '',
@ -577,6 +578,8 @@ URL: [url]',
'download_header_document_name' => '', 'download_header_document_name' => '',
'download_header_document_no' => '', 'download_header_document_no' => '',
'download_header_filename' => '', 'download_header_filename' => '',
'download_header_folder_name' => '',
'download_header_folder_no' => '',
'download_header_internal_version' => '', 'download_header_internal_version' => '',
'download_header_reviewer' => '', 'download_header_reviewer' => '',
'download_header_review_comment' => '', 'download_header_review_comment' => '',
@ -707,6 +710,8 @@ URL: [url]',
'export_user_list_csv' => '', 'export_user_list_csv' => '',
'extension_archive' => '擴充', 'extension_archive' => '擴充',
'extension_changelog' => '修改紀錄', 'extension_changelog' => '修改紀錄',
'extension_config' => '',
'extension_info' => '',
'extension_is_off_now' => '', 'extension_is_off_now' => '',
'extension_is_on_now' => '', 'extension_is_on_now' => '',
'extension_loading' => '擴充套件讀取中', 'extension_loading' => '擴充套件讀取中',
@ -1168,6 +1173,7 @@ URL: [url]',
'no_groups' => '無組別', 'no_groups' => '無組別',
'no_group_members' => '該組沒有成員', 'no_group_members' => '該組沒有成員',
'no_linked_files' => '無連結檔', 'no_linked_files' => '無連結檔',
'no_mimetype' => '',
'no_previous_versions' => '無其它版本', 'no_previous_versions' => '無其它版本',
'no_receipt_needed' => '當前沒有需要收據確認的文件。', 'no_receipt_needed' => '當前沒有需要收據確認的文件。',
'no_review_needed' => '無待校對的文件', 'no_review_needed' => '無待校對的文件',
@ -1330,7 +1336,9 @@ URL: [url]',
'removed_workflow_email_body_html' => '', 'removed_workflow_email_body_html' => '',
'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程', 'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程',
'removeFolderFromDropFolder' => '導入後刪除文件夾', 'removeFolderFromDropFolder' => '導入後刪除文件夾',
'removeFolderFromDropFolder_desc' => '',
'remove_approval_log' => '', 'remove_approval_log' => '',
'remove_from_clipboard' => '',
'remove_marked_files' => '刪除勾選的檔案', 'remove_marked_files' => '刪除勾選的檔案',
'remove_review_log' => '', 'remove_review_log' => '',
'remove_task' => '', 'remove_task' => '',
@ -1534,6 +1542,7 @@ URL: [url]',
'select_category' => '選中分類', 'select_category' => '選中分類',
'select_created' => '', 'select_created' => '',
'select_documents_for_process' => '', 'select_documents_for_process' => '',
'select_folder' => '',
'select_group' => '選擇群', 'select_group' => '選擇群',
'select_groups' => '點擊選擇組', 'select_groups' => '點擊選擇組',
'select_grp_approvers' => '請點選審核人員群組', 'select_grp_approvers' => '請點選審核人員群組',
@ -1586,7 +1595,9 @@ URL: [url]',
'service_name' => '', 'service_name' => '',
'sessions' => '在線用戶', 'sessions' => '在線用戶',
'setDateFromFile' => '從導入的文件接管日期', 'setDateFromFile' => '從導入的文件接管日期',
'setDateFromFile_desc' => '',
'setDateFromFolder' => '從導入的文件夾接管日期', 'setDateFromFolder' => '從導入的文件夾接管日期',
'setDateFromFolder_desc' => '',
'settings' => '設置', 'settings' => '設置',
'settings_activate_module' => '激活模塊', 'settings_activate_module' => '激活模塊',
'settings_activate_php_extension' => '激活PHP擴展', 'settings_activate_php_extension' => '激活PHP擴展',
@ -1684,6 +1695,8 @@ URL: [url]',
'settings_delete_install_folder' => '為了使用SeedDMS必須在配置目錄中刪除文件ENABLE_INSTALL_TOOL', 'settings_delete_install_folder' => '為了使用SeedDMS必須在配置目錄中刪除文件ENABLE_INSTALL_TOOL',
'settings_disableChangePassword' => '', 'settings_disableChangePassword' => '',
'settings_disableChangePassword_desc' => '', 'settings_disableChangePassword_desc' => '',
'settings_disableReceiptComment' => '',
'settings_disableReceiptComment_desc' => '',
'settings_disableSelfEdit' => '禁用自我編輯', 'settings_disableSelfEdit' => '禁用自我編輯',
'settings_disableSelfEdit_desc' => '如果選中,則用戶無法編輯自己的個人資料', 'settings_disableSelfEdit_desc' => '如果選中,則用戶無法編輯自己的個人資料',
'settings_disable_install' => '如果可能刪除文件ENABLE_INSTALL_TOOL', 'settings_disable_install' => '如果可能刪除文件ENABLE_INSTALL_TOOL',
@ -1749,6 +1762,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => '如果設置了該選項則還可以通過一個名為Jumploader的Java小程序來上傳文件而瀏覽器沒有設置文件大小限制。它還允許一步上傳幾個文件。啟用此功能將關閉僅HTTP cookie。', 'settings_enableLargeFileUpload_desc' => '如果設置了該選項則還可以通過一個名為Jumploader的Java小程序來上傳文件而瀏覽器沒有設置文件大小限制。它還允許一步上傳幾個文件。啟用此功能將關閉僅HTTP cookie。',
'settings_enableLoginByEmail' => '', 'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '', 'settings_enableLoginByEmail_desc' => '',
'settings_enableMemcached' => '',
'settings_enableMemcached_desc' => '',
'settings_enableMenuTasks' => '在菜單中啟用任務列表', 'settings_enableMenuTasks' => '在菜單中啟用任務列表',
'settings_enableMenuTasks_desc' => '啟用/禁用包含用戶所有任務的菜單項。其中包含需要審查,批准等的文件。', 'settings_enableMenuTasks_desc' => '啟用/禁用包含用戶所有任務的菜單項。其中包含需要審查,批准等的文件。',
'settings_enableMenuTransmittals' => '', 'settings_enableMenuTransmittals' => '',
@ -1808,6 +1823,8 @@ URL: [url]',
'settings_encryptionKey' => '加密金鑰', 'settings_encryptionKey' => '加密金鑰',
'settings_encryptionKey_desc' => '該字符串用於創建唯一的標識符該標識符作為隱藏字段添加到表單中以防止CSRF攻擊。', 'settings_encryptionKey_desc' => '該字符串用於創建唯一的標識符該標識符作為隱藏字段添加到表單中以防止CSRF攻擊。',
'settings_error' => '錯誤', 'settings_error' => '錯誤',
'settings_excludeFoldersDashboard' => '',
'settings_excludeFoldersDashboard_desc' => '',
'settings_expandFolderTree' => '展開文件樹', 'settings_expandFolderTree' => '展開文件樹',
'settings_expandFolderTree_desc' => '展開文件樹', 'settings_expandFolderTree_desc' => '展開文件樹',
'settings_expandFolderTree_val0' => '從隱藏的樹開始', 'settings_expandFolderTree_val0' => '從隱藏的樹開始',
@ -1866,6 +1883,8 @@ URL: [url]',
'settings_logFileEnable_desc' => '啟用/禁用日誌文件', 'settings_logFileEnable_desc' => '啟用/禁用日誌文件',
'settings_logFileMaxLevel' => '', 'settings_logFileMaxLevel' => '',
'settings_logFileMaxLevel_desc' => '', 'settings_logFileMaxLevel_desc' => '',
'settings_logFileRestApiMaxLevel' => '',
'settings_logFileRestApiMaxLevel_desc' => '',
'settings_logFileRotation' => '日誌文件輪換', 'settings_logFileRotation' => '日誌文件輪換',
'settings_logFileRotation_desc' => '日誌文件輪換', 'settings_logFileRotation_desc' => '日誌文件輪換',
'settings_loginFailure' => '登錄失敗', 'settings_loginFailure' => '登錄失敗',
@ -2063,6 +2082,7 @@ URL: [url]',
'sign_out' => '登出', 'sign_out' => '登出',
'sign_out_user' => '登出使用者', 'sign_out_user' => '登出使用者',
'site_brand' => '', 'site_brand' => '',
'skip_default_export_cols' => '',
'sk_SK' => '斯洛伐克語', 'sk_SK' => '斯洛伐克語',
'sort_by_date' => '依日期排序', 'sort_by_date' => '依日期排序',
'sort_by_expiration_date' => '', 'sort_by_expiration_date' => '',
@ -2192,6 +2212,7 @@ URL: [url]',
'status_revision_sleeping' => '待定', 'status_revision_sleeping' => '待定',
'status_revisor_removed' => '修訂者已從清單中刪除', 'status_revisor_removed' => '修訂者已從清單中刪除',
'status_unknown' => '未知', 'status_unknown' => '未知',
'storage' => '',
'storage_size' => '存儲大小', 'storage_size' => '存儲大小',
'subfolder_duplicate_name' => '子文件夾名稱重複', 'subfolder_duplicate_name' => '子文件夾名稱重複',
'submit_2_fact_auth' => '保存秘密', 'submit_2_fact_auth' => '保存秘密',

View File

@ -498,9 +498,20 @@ foreach($file_ary as $file) {
if($controller->hasHook('cleanUpDocument')) { if($controller->hasHook('cleanUpDocument')) {
$controller->callHook('cleanUpDocument', $document, $file); $controller->callHook('cleanUpDocument', $document, $file);
} }
// Send notification to subscribers of folder.
if($notifier) { if($notifier) {
// Send notification to subscribers of folder.
$notifier->sendNewDocumentMail($document, $user); $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($settings->_removeFromDropFolder) {
if(file_exists($userfiletmp)) { 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")); 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'; $prefix = 'userfile';
if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) { if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) {
$uuids = explode(';', $_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)) { if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile); $mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile; $file_ary[] = array(
$_FILES["userfile"]['type'][] = $mimetype; 'tmp_name' => $fullfile,
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid; 'type' => $mimetype,
$_FILES["userfile"]['size'][] = filesize($fullfile); 'name' => isset($names[$i]) ? $names[$i] : $uuid,
$_FILES["userfile"]['error'][] = 0; '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); $maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){ foreach($file_ary as $file) {
if ($_FILES["userfile"]["size"][$file_num]==0) { if($file['error']==1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize"));
} }
if ($maxuploadsize && $_FILES["userfile"]["size"][$file_num] > $maxuploadsize) { if($file['error']!=0) {
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){
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_failed")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_failed"));
} }
if($_FILES["userfile"]["error"][$file_num]) { if ($file["size"]==0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); 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"]; $name = $_POST["name"];
else else
$name = $_FILES["userfile"]['name'][$file_num]; $name = $file['name'];
$comment = $_POST["comment"]; $comment = $_POST["comment"];
$version = (int) $_POST["version"]; $version = (int) $_POST["version"];
$public = (isset($_POST["public"]) && $_POST["public"] == 'true') ? 1 : 0; $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]; $userfiletmp = $file["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"][$file_num]; $userfiletype = $file["type"];
$userfilename = $_FILES["userfile"]["name"][$file_num]; $userfilename = $file["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);

View File

@ -111,6 +111,13 @@ if(!$controller()) {
$notifier->sendSubmittedApprovalMail($latestContent, $user, $approvelog ? $approvelog[0] : false); $notifier->sendSubmittedApprovalMail($latestContent, $user, $approvelog ? $approvelog[0] : false);
if($controller->oldstatus != $controller->newstatus) if($controller->oldstatus != $controller->newstatus)
$notifier->sendChangedDocumentStatusMail($latestContent, $user, $controller->oldstatus); $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); 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.DBInit.php");
include("../inc/inc.ClassUI.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 */ /* Check if the form data comes from a trusted request */
if(!checkFormKey('changepassword')) { if(!checkFormKey('changepassword')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token")); UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));

View File

@ -250,11 +250,39 @@ default:
$attributes = $_POST["attributes_version"]; $attributes = $_POST["attributes_version"];
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid); $attrdef = $dms->getAttributeDefinition($attrdefid);
if(null === ($ret = $controller->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) { if($attribute) {
switch($attrdef->getType()) { switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date: case SeedDMS_Core_AttributeDefinition::type_date:
if(is_array($attribute))
$attribute = array_map(fn($value): string => date('Y-m-d', makeTsFromDate($value)), $attribute);
else
$attribute = date('Y-m-d', makeTsFromDate($attribute)); $attribute = date('Y-m-d', makeTsFromDate($attribute));
break; break;
case SeedDMS_Core_AttributeDefinition::type_folder:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getFolder((int) $value), $attribute);
else
$attribute = $dms->getFolder((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getDocument((int) $value), $attribute);
else
$attribute = $dms->getDocument((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getUser((int) $value), $attribute);
else
$attribute = $dms->getUser((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_group:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getGroup((int) $value), $attribute);
else
$attribute = $dms->getGroup((int) $attribute);
break;
} }
if(!$attrdef->validate($attribute, null, true)) { if(!$attrdef->validate($attribute, null, true)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute); $errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
@ -263,6 +291,10 @@ default:
} elseif($attrdef->getMinValues() > 0) { } elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} }
} else {
if($ret === false)
return false;
}
} }
} else { } else {
$attributes = array(); $attributes = array();

View File

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

@ -46,6 +46,7 @@ if(!checkFormKey('edituserdata')) {
$fullname = $_POST["fullname"]; $fullname = $_POST["fullname"];
$email = $_POST["email"]; $email = $_POST["email"];
$comment = $_POST["comment"]; $comment = $_POST["comment"];
if(isset($_POST["language"]))
$language = $_POST["language"]; $language = $_POST["language"];
/* 'theme' won't be set, if themeselector is turned off */ /* 'theme' won't be set, if themeselector is turned off */
if(isset($_POST["theme"])) if(isset($_POST["theme"]))
@ -103,7 +104,7 @@ if ($user->getEmail() != $email)
if ($user->getComment() != $comment) if ($user->getComment() != $comment)
$user->setComment($comment); $user->setComment($comment);
if ($user->getLanguage() != $language) if (isset($language) && $user->getLanguage() != $language)
$user->setLanguage($language); $user->setLanguage($language);
if (isset($mytheme) && $user->getTheme() != $mytheme) if (isset($mytheme) && $user->getTheme() != $mytheme)

View File

@ -239,9 +239,10 @@ if($newfolder) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else { else {
if(isset($_GET['remove']) && $_GET["remove"]) { if(isset($_GET['remove']) && $_GET["remove"]) {
$cmd = 'rm -rf '.$dirname; SeedDMS_Utils::rrmdir($dirname);
$ret = null; // $cmd = 'rm -rf '.$dirname;
system($cmd, $ret); // $ret = null;
// system($cmd, $ret);
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount)))); $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)) { if (!$content->setStatus($overrideStatus, $comment, $user)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} else { } else {
// Send notification to subscribers.
if ($notifier) { if ($notifier) {
// Send notification to subscribers.
$notifier->sendChangedDocumentStatusMail($content, $user, $overallStatus["status"]); $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"; 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"])) { if (isset($_POST["email"])) {
$email = $_POST["email"]; $email = $_POST["email"];
} }
@ -64,9 +55,10 @@ if($user) {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ChangePassword.php?hash=".$hash; $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ChangePassword.php?hash=".$hash;
$params['url_prefix'] = getBaseUrl().$settings->_httpRoot; $params['url_prefix'] = getBaseUrl().$settings->_httpRoot;
$emailobj->toIndividual($settings->_smtpSendFrom, $user, $subject, $message, $params); $emailobj->toIndividual($settings->_smtpSendFrom, $user, $subject, $message, $params);
add_log_line("Request for '".$login."' send to '".$email."'", PEAR_LOG_INFO);
} }
} else {
add_log_line("No such user '".$login."' with email '".$email."'", PEAR_LOG_WARNING);
} }
header('Location: ../out/out.PasswordSend.php'); header('Location: ../out/out.PasswordSend.php');
exit;
?>

View File

@ -31,5 +31,4 @@ include("../inc/inc.Authentication.php");
$session->setLanguage($_GET['lang']); $session->setLanguage($_GET['lang']);
header("Location: http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$_GET['referer']); header("Location: http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].decryptData($settings->_encryptionKey, $_GET['referer']));
?>

View File

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

View File

@ -55,10 +55,12 @@ if (!is_object($content)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
} }
if (isset($_POST["startdate"])) { $ts = null;
if (!empty($_POST["startdate"])) {
$ts = makeTsFromDate($_POST["startdate"]); $ts = makeTsFromDate($_POST["startdate"]);
} else { }
$ts = time(); if(!$ts) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_revision_date"));
} }
$startdate = date('Y-m-d', $ts); $startdate = date('Y-m-d', $ts);

View File

@ -29,17 +29,6 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
function getBoolValue($post_name)
{
$out = false;
if (isset($_POST[$post_name]))
if ($_POST[$post_name]=="on")
$out = true;
return $out;
}
if (!$user->isAdmin()) { if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
} }
@ -68,12 +57,14 @@ if ($action == "saveSettings")
function setBoolValue($name) { function setBoolValue($name) {
global $_POST, $settings; global $_POST, $settings;
if(!in_array($name, $settings->_hiddenConfFields)) { if(!in_array($name, $settings->_hiddenConfFields)) {
if (isset($_POST[$name]) && $_POST[$name]=="on") if (isset($_POST[$name])) {
if ($_POST[$name]=="on")
$settings->{"_".$name} = true; $settings->{"_".$name} = true;
else else
$settings->{"_".$name} = false; $settings->{"_".$name} = false;
} }
} }
}
function setIntValue($name) { function setIntValue($name) {
global $_POST, $settings; global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields))
@ -82,12 +73,14 @@ if ($action == "saveSettings")
function setArrayValue($name) { function setArrayValue($name) {
global $_POST, $settings; global $_POST, $settings;
if (!in_array($name, $settings->_hiddenConfFields)) { if (!in_array($name, $settings->_hiddenConfFields)) {
if(isset($_POST[$name]) && $_POST[$name]) if (isset($_POST[$name])) {
if ($_POST[$name])
$settings->{"_".$name} = $_POST[$name]; $settings->{"_".$name} = $_POST[$name];
else else
$settings->{"_".$name} = array(); $settings->{"_".$name} = array();
} }
} }
}
function setDirValue($name) { function setDirValue($name) {
global $_POST, $settings; global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields))
@ -150,6 +143,7 @@ if ($action == "saveSettings")
setBoolValue("enableRecursiveCount"); setBoolValue("enableRecursiveCount");
setIntValue("maxRecursiveCount"); setIntValue("maxRecursiveCount");
setIntValue("daysPastDashboard"); setIntValue("daysPastDashboard");
setArrayValue("excludeFoldersDashboard");
setBoolValue("enableLanguageSelector"); setBoolValue("enableLanguageSelector");
setBoolValue("enableHelp"); setBoolValue("enableHelp");
setBoolValue("enableThemeSelector"); setBoolValue("enableThemeSelector");
@ -198,6 +192,7 @@ if ($action == "saveSettings")
setStrValue("partitionSize"); // TODO: check if valid value, e.g. 1M or 5K setStrValue("partitionSize"); // TODO: check if valid value, e.g. 1M or 5K
setStrValue("maxUploadSize"); // TODO: check if valid value, e.g. 1M or 5K setStrValue("maxUploadSize"); // TODO: check if valid value, e.g. 1M or 5K
setBoolValue("enableXsendfile"); setBoolValue("enableXsendfile");
setBoolValue("enableMemcached");
// SETTINGS - SYSTEM - AUTHENTICATION // SETTINGS - SYSTEM - AUTHENTICATION
setBoolValue("enableGuestLogin"); setBoolValue("enableGuestLogin");
@ -298,7 +293,7 @@ if ($action == "saveSettings")
// SETTINGS - ADVANCED - SERVER // SETTINGS - ADVANCED - SERVER
setStrValue("coreDir"); setStrValue("coreDir");
setStrValue("luceneClassDir"); setStrValue("luceneClassDir");
setIntValue("contentOffsetDir"); setStrValue("contentOffsetDir");
setIntValue("maxDirID"); setIntValue("maxDirID");
setIntValue("updateNotifyTime"); setIntValue("updateNotifyTime");
setIntValue("maxExecutionTime"); setIntValue("maxExecutionTime");
@ -346,15 +341,21 @@ if ($action == "saveSettings")
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// save // save
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
if (!$settings->save()) if (!$settings->save()) {
if(isAjax()) {
echo json_encode(array('success'=>false, 'msg'=>getMLText('settings_SaveError')));
exit;
} else {
UI::exitError(getMLText("admin_tools"),getMLText("settings_SaveError")); UI::exitError(getMLText("admin_tools"),getMLText("settings_SaveError"));
}
}
add_log_line(".php&action=savesettings"); add_log_line(".php&action=savesettings");
} }
if(isAjax()) {
echo json_encode(array('success'=>true, 'msg'=>getMLText('splash_settings_saved')));
} else {
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_settings_saved'))); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_settings_saved')));
header("Location:../out/out.Settings.php?currenttab=".$_POST['currenttab']); header("Location:../out/out.Settings.php?currenttab=".$_POST['currenttab']);
}
?>

View File

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

View File

@ -346,11 +346,39 @@ default:
$attributes = $_POST["attributes_version"]; $attributes = $_POST["attributes_version"];
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid); $attrdef = $dms->getAttributeDefinition($attrdefid);
if(null === ($ret = $controller->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) { if($attribute) {
switch($attrdef->getType()) { switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date: case SeedDMS_Core_AttributeDefinition::type_date:
if(is_array($attribute))
$attribute = array_map(fn($value): string => date('Y-m-d', makeTsFromDate($value)), $attribute);
else
$attribute = date('Y-m-d', makeTsFromDate($attribute)); $attribute = date('Y-m-d', makeTsFromDate($attribute));
break; break;
case SeedDMS_Core_AttributeDefinition::type_folder:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getFolder((int) $value), $attribute);
else
$attribute = $dms->getFolder((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getDocument((int) $value), $attribute);
else
$attribute = $dms->getDocument((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getUser((int) $value), $attribute);
else
$attribute = $dms->getUser((int) $attribute);
break;
case SeedDMS_Core_AttributeDefinition::type_group:
if(is_array($attribute))
$attribute = array_map(fn($value): object => $dms->getGroup((int) $value), $attribute);
else
$attribute = $dms->getGroup((int) $attribute);
break;
} }
if(!$attrdef->validate($attribute, null, true)) { if(!$attrdef->validate($attribute, null, true)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute); $errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
@ -359,6 +387,10 @@ default:
} elseif($attrdef->getMinValues() > 0) { } elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} }
} else {
if($ret === false)
return false;
}
} }
} else { } else {
$attributes = array(); $attributes = array();
@ -403,6 +435,15 @@ default:
$notifier->sendNewDocumentVersionMail($document, $user); $notifier->sendNewDocumentVersionMail($document, $user);
$notifier->sendChangedExpiryMail($document, $user, $oldexpires); $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) { if($settings->_removeFromDropFolder) {

View File

@ -57,6 +57,8 @@ if($view) {
$view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount); $view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount);
$view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount); $view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array());
$view->setParam('convertToPdf', $settings->_convertToPdf);
$view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('xsendfile', $settings->_enableXsendfile); $view->setParam('xsendfile', $settings->_enableXsendfile);

View File

@ -53,6 +53,7 @@ if ($view) {
$view->setParam('type', $type); $view->setParam('type', $type);
$view->setParam('data', $data); $view->setParam('data', $data);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('quota', $settings->_quota);
$view($_GET); $view($_GET);
exit; exit;
} }

View File

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

View File

@ -49,6 +49,7 @@ if (isset($_GET["orderdir"]) && strlen($_GET["orderdir"])==1 ) {
$days = null; $days = null;
$startts = null; $startts = null;
$endts = null; $endts = null;
$seluser = null;
if(isset($_GET['days']) && is_numeric($_GET['days'])) { if(isset($_GET['days']) && is_numeric($_GET['days'])) {
$days = (int) $_GET['days']; $days = (int) $_GET['days'];
} else { } else {
@ -59,6 +60,9 @@ if(isset($_GET['days']) && is_numeric($_GET['days'])) {
$endts = makeTsFromDate($_GET['enddate']); $endts = makeTsFromDate($_GET['enddate']);
} }
} }
if(isset($_GET['seluserid'])) {
$seluser = $dms->getUser((int) $_GET['seluserid']);
}
if($view) { if($view) {
$view->setParam('conversionmgr', $conversionmgr); $view->setParam('conversionmgr', $conversionmgr);
@ -68,6 +72,7 @@ if($view) {
$view->setParam('days', $days); $view->setParam('days', $days);
$view->setParam('startts', $startts); $view->setParam('startts', $startts);
$view->setParam('endts', $endts); $view->setParam('endts', $endts);
$view->setParam('seluser', $seluser);
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('timeout', $settings->_cmdTimeout);

View File

@ -31,7 +31,7 @@
*/ */
if (!isset($settings)) { 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.Utils.php";
require_once "inc/inc.LogInit.php"; require_once "inc/inc.LogInit.php";

View File

@ -29,51 +29,57 @@ require_once("inc/inc.DBInit.php");
require_once("inc/inc.ClassUI.php"); require_once("inc/inc.ClassUI.php");
require_once("inc/inc.Authentication.php"); require_once("inc/inc.Authentication.php");
function getTime() { function getTime() { /* {{{ */
if (function_exists('microtime')) { if (function_exists('microtime')) {
$tm = microtime(); $tm = microtime();
$tm = explode(' ', $tm); $tm = explode(' ', $tm);
return (float) sprintf('%f', $tm[1] + $tm[0]); return (float) sprintf('%f', $tm[1] + $tm[0]);
} }
return time(); return time();
} } /* }}} */
$get = $_GET;
// Redirect to the search page if the navigation search button has been // Redirect to the search page if the navigation search button has been
// selected without supplying any search terms. // selected without supplying any search terms.
if (isset($_GET["navBar"])) { if (isset($get["navBar"])) {
if (!isset($_GET["folderid"]) || !is_numeric($_GET["folderid"]) || intval($_GET["folderid"])<1) { if (!isset($get["folderid"]) || !is_numeric($get["folderid"]) || intval($get["folderid"])<1) {
$folderid=$settings->_rootFolderID; $folderid=$settings->_rootFolderID;
} else { } else {
$folderid = $_GET["folderid"]; $folderid = $get["folderid"];
} }
} }
$includecontent = false; $includecontent = false;
if (isset($_GET["includecontent"]) && $_GET["includecontent"]) if (isset($get["includecontent"]) && $get["includecontent"])
$includecontent = true; $includecontent = true;
$skipdefaultcols = false;
if (isset($get["skipdefaultcols"]) && $get["skipdefaultcols"])
$skipdefaultcols = true;
$newowner = null; $newowner = null;
if (isset($_GET["newowner"]) && is_numeric($_GET["newowner"]) && $_GET['newowner'] > 0) { if (isset($get["newowner"]) && is_numeric($get["newowner"]) && $get['newowner'] > 0) {
$newowner = $dms->getUser((int) $_GET['newowner']); $newowner = $dms->getUser((int) $get['newowner']);
} }
$newreviewer = null; $newreviewer = null;
if (isset($_GET["newreviewer"]) && is_numeric($_GET["newreviewer"]) && $_GET['newreviewer'] > 0) { if (isset($get["newreviewer"]) && is_numeric($get["newreviewer"]) && $get['newreviewer'] > 0) {
$newreviewer = $dms->getUser((int) $_GET['newreviewer']); $newreviewer = $dms->getUser((int) $get['newreviewer']);
} }
$newapprover = null; $newapprover = null;
if (isset($_GET["newapprover"]) && is_numeric($_GET["newapprover"]) && $_GET['newapprover'] > 0) { if (isset($get["newapprover"]) && is_numeric($get["newapprover"]) && $get['newapprover'] > 0) {
$newapprover = $dms->getUser((int) $_GET['newapprover']); $newapprover = $dms->getUser((int) $get['newapprover']);
} }
$changecategory = null; $changecategory = null;
if (isset($_GET["changecategory"]) && is_numeric($_GET["changecategory"]) && $_GET['changecategory'] > 0) { if (isset($get["changecategory"]) && is_numeric($get["changecategory"]) && $get['changecategory'] > 0) {
$changecategory = $dms->getDocumentCategory((int) $_GET['changecategory']); $changecategory = $dms->getDocumentCategory((int) $get['changecategory']);
} }
$removecategory = 0; $removecategory = 0;
if (isset($_GET["removecategory"]) && is_numeric($_GET["removecategory"]) && $_GET['removecategory'] > 0) { if (isset($get["removecategory"]) && is_numeric($get["removecategory"]) && $get['removecategory'] > 0) {
$removecategory = (int) $_GET['removecategory']; $removecategory = (int) $get['removecategory'];
} }
/* Creation date {{{ */ /* Creation date {{{ */
@ -83,16 +89,16 @@ $createendts = null;
$createenddate = null; $createenddate = null;
$created['from'] = null; $created['from'] = null;
$created['to'] = null; $created['to'] = null;
if(!empty($_GET["created"]["from"])) { if(!empty($get["created"]["from"])) {
$createstartts = makeTsFromDate($_GET["created"]["from"]); $createstartts = makeTsFromDate($get["created"]["from"]);
$createstartdate = array('year'=>(int)date('Y', $createstartts), 'month'=>(int)date('m', $createstartts), 'day'=>(int)date('d', $createstartts), 'hour'=>0, 'minute'=>0, 'second'=>0); $createstartdate = array('year'=>(int)date('Y', $createstartts), 'month'=>(int)date('m', $createstartts), 'day'=>(int)date('d', $createstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($createstartdate['month'], $createstartdate['day'], $createstartdate['year'])) { if (!checkdate($createstartdate['month'], $createstartdate['day'], $createstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
} }
$created['from'] = $createstartts; $created['from'] = $createstartts;
} }
if(!empty($_GET["created"]["to"])) { if(!empty($get["created"]["to"])) {
$createendts = makeTsFromDate($_GET["created"]["to"]); $createendts = makeTsFromDate($get["created"]["to"]);
$createenddate = array('year'=>(int)date('Y', $createendts), 'month'=>(int)date('m', $createendts), 'day'=>(int)date('d', $createendts), 'hour'=>23, 'minute'=>59, 'second'=>59); $createenddate = array('year'=>(int)date('Y', $createendts), 'month'=>(int)date('m', $createendts), 'day'=>(int)date('d', $createendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($createenddate['month'], $createenddate['day'], $createenddate['year'])) { if (!checkdate($createenddate['month'], $createenddate['day'], $createenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
@ -108,16 +114,16 @@ $modifyendts = null;
$modifyenddate = null; $modifyenddate = null;
$modified['from'] = null; $modified['from'] = null;
$modified['to'] = null; $modified['to'] = null;
if(!empty($_GET["modified"]["from"])) { if(!empty($get["modified"]["from"])) {
$modifystartts = makeTsFromDate($_GET["modified"]["from"]); $modifystartts = makeTsFromDate($get["modified"]["from"]);
$modifystartdate = array('year'=>(int)date('Y', $modifystartts), 'month'=>(int)date('m', $modifystartts), 'day'=>(int)date('d', $modifystartts), 'hour'=>0, 'minute'=>0, 'second'=>0); $modifystartdate = array('year'=>(int)date('Y', $modifystartts), 'month'=>(int)date('m', $modifystartts), 'day'=>(int)date('d', $modifystartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($modifystartdate['month'], $modifystartdate['day'], $modifystartdate['year'])) { if (!checkdate($modifystartdate['month'], $modifystartdate['day'], $modifystartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end"));
} }
$modified['from'] = $modifystartts; $modified['from'] = $modifystartts;
} }
if(!empty($_GET["modified"]["to"])) { if(!empty($get["modified"]["to"])) {
$modifyendts = makeTsFromDate($_GET["modified"]["to"]); $modifyendts = makeTsFromDate($get["modified"]["to"]);
$modifyenddate = array('year'=>(int)date('Y', $modifyendts), 'month'=>(int)date('m', $modifyendts), 'day'=>(int)date('d', $modifyendts), 'hour'=>23, 'minute'=>59, 'second'=>59); $modifyenddate = array('year'=>(int)date('Y', $modifyendts), 'month'=>(int)date('m', $modifyendts), 'day'=>(int)date('d', $modifyendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($modifyenddate['month'], $modifyenddate['day'], $modifyenddate['year'])) { if (!checkdate($modifyenddate['month'], $modifyenddate['day'], $modifyenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_modification_date_end"));
@ -131,35 +137,35 @@ $filesizestart = 0;
$filesizeend = 0; $filesizeend = 0;
$filesize['from'] = null; $filesize['from'] = null;
$filesize['to'] = null; $filesize['to'] = null;
if(!empty($_GET["filesize"]["from"])) { if(!empty($get["filesize"]["from"])) {
$filesizestart = $_GET["filesize"]["from"]; $filesizestart = $get["filesize"]["from"];
$filesize['from'] = $_GET["filesize"]["from"]; $filesize['from'] = $get["filesize"]["from"];
} }
if(!empty($_GET["filesize"]["to"])) { if(!empty($get["filesize"]["to"])) {
$filesizeend = $_GET["filesize"]["to"]; $filesizeend = $get["filesize"]["to"];
$filesize['to'] = $_GET["filesize"]["to"]; $filesize['to'] = $get["filesize"]["to"];
} }
/* }}} */ /* }}} */
// Check to see if the search has been restricted to a particular // Check to see if the search has been restricted to a particular
// document owner. // document owner.
// $_GET['owner'] can be a name of an array of names or ids {{{ // $get['owner'] can be a name of an array of names or ids {{{
$owner = []; $owner = [];
$ownernames = []; // Needed by fulltext search $ownernames = []; // Needed by fulltext search
$ownerobjs = []; // Needed by database search $ownerobjs = []; // Needed by database search
if(!empty($_GET["owner"])) { if(!empty($get["owner"])) {
$owner = $_GET['owner']; $owner = $get['owner'];
if (!is_array($_GET['owner'])) { if (!is_array($get['owner'])) {
if(is_numeric($_GET['owner'])) if(is_numeric($get['owner']))
$o = $dms->getUser($_GET['owner']); $o = $dms->getUser($get['owner']);
else else
$o = $dms->getUserByLogin($_GET['owner']); $o = $dms->getUserByLogin($get['owner']);
if($o) { if($o) {
$ownernames[] = $o->getLogin(); $ownernames[] = $o->getLogin();
$ownerobjs[] = $o; $ownerobjs[] = $o;
} }
} else { } else {
foreach($_GET["owner"] as $l) { foreach($get["owner"] as $l) {
if($l) { if($l) {
if(is_numeric($l)) if(is_numeric($l))
$o = $dms->getUser($l); $o = $dms->getUser($l);
@ -178,9 +184,9 @@ if(!empty($_GET["owner"])) {
$categories = array(); $categories = array();
$categorynames = array(); $categorynames = array();
$category = array(); $category = array();
if(isset($_GET['category']) && $_GET['category']) { if(isset($get['category']) && $get['category']) {
$category = $_GET['category']; $category = $get['category'];
foreach($_GET['category'] as $catid) { foreach($get['category'] as $catid) {
if($catid) { if($catid) {
if(is_numeric($catid)) { if(is_numeric($catid)) {
if($cat = $dms->getDocumentCategory($catid)) { if($cat = $dms->getDocumentCategory($catid)) {
@ -194,29 +200,41 @@ if(!empty($_GET["owner"])) {
} }
} /* }}} */ } /* }}} */
if (isset($_GET["orderby"]) && is_string($_GET["orderby"])) { if (isset($get["orderby"]) && is_string($get["orderby"])) {
$orderby = $_GET["orderby"]; $orderby = $get["orderby"];
} } else {
else {
$orderby = ""; $orderby = "";
} }
$terms = []; $terms = [];
$limit = (isset($_GET["limit"]) && is_numeric($_GET["limit"])) ? (int) $_GET['limit'] : 20; $limit = (isset($get["limit"]) && is_numeric($get["limit"])) ? (int) $get['limit'] : 20;
$fullsearch = ((!isset($_GET["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext') || !empty($_GET["fullsearch"])) && $settings->_enableFullSearch; $fullsearch = ((!isset($get["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext') || !empty($get["fullsearch"])) && $settings->_enableFullSearch;
$facetsearch = !empty($_GET["facetsearch"]) && $settings->_enableFullSearch; $facetsearch = !empty($get["facetsearch"]) && $settings->_enableFullSearch;
if($fullsearch) {
// Search in Fulltext {{{ if (isset($get["query"]) && is_string($get["query"])) {
if (isset($_GET["query"]) && is_string($_GET["query"])) { $query = $get["query"];
$query = $_GET["query"]; } else {
// if(isset($_GET['action']) && ($_GET['action'] == 'typeahead'))
// $query .= '*';
}
else {
$query = ""; $query = "";
} }
// // Check to see if the search has been restricted to a particular
// mimetype. {{{
$mimetype = [];
if (isset($get["mimetype"])) {
if (!is_array($get['mimetype'])) {
if(!empty($get['mimetype']))
$mimetype[] = $get['mimetype'];
} else {
foreach($get["mimetype"] as $l) {
if($l)
$mimetype[] = $l;
}
}
} /* }}} */
// status
$status = isset($get['status']) ? $get['status'] : array();
// Get the page number to display. If the result set contains more than // Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages. // 25 entries, it is displayed across multiple pages.
// //
@ -225,70 +243,26 @@ if($fullsearch) {
// //
// Default page to display is always one. // Default page to display is always one.
$pageNumber=1; $pageNumber=1;
if (isset($_GET["pg"])) { if (isset($get["pg"])) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) { if (is_numeric($get["pg"]) && $get["pg"]>0) {
$pageNumber = (integer)$_GET["pg"]; $pageNumber = (int) $get["pg"];
} }
elseif (!strcasecmp($_GET["pg"], "all")) { elseif (!strcasecmp($get["pg"], "all")) {
$pageNumber = "all"; $pageNumber = "all";
} }
} }
// --------------- Suche starten -------------------------------------------- if($fullsearch) {
// Search in Fulltext {{{
// Check to see if the search has been restricted to a particular
// mimetype. {{{
$mimetype = [];
if (isset($_GET["mimetype"])) {
if (!is_array($_GET['mimetype'])) {
if(!empty($_GET['mimetype']))
$mimetype[] = $_GET['mimetype'];
} else {
foreach($_GET["mimetype"] as $l) {
if($l)
$mimetype[] = $l;
}
}
} /* }}} */
/* Creation date {{{
$createstartts = null;
$createstartdate = null;
$createendts = null;
$createenddate = null;
$created = [];
if(!empty($_GET["created"]["from"])) {
$createstartts = makeTsFromDate($_GET["created"]["from"]);
$createstartdate = array('year'=>(int)date('Y', $createstartts), 'month'=>(int)date('m', $createstartts), 'day'=>(int)date('d', $createstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($createstartdate['month'], $createstartdate['day'], $createstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
$created['from'] = $createstartts;
}
if(!empty($_GET["created"]["to"])) {
$createendts = makeTsFromDate($_GET["created"]["to"]);
$createenddate = array('year'=>(int)date('Y', $createendts), 'month'=>(int)date('m', $createendts), 'day'=>(int)date('d', $createendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($createenddate['month'], $createenddate['day'], $createenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
$created['to'] = $createendts;
}
}}} */
// status
if(isset($_GET['status']))
$status = $_GET['status'];
else
$status = array();
// record_type // record_type
if(isset($_GET['record_type'])) if(isset($get['record_type']))
$record_type = $_GET['record_type']; $record_type = $get['record_type'];
else else
$record_type = array(); $record_type = array();
if (isset($_GET["attributes"])) if (isset($get["attributes"]))
$attributes = $_GET["attributes"]; $attributes = $get["attributes"];
else else
$attributes = array(); $attributes = array();
@ -340,8 +314,8 @@ if($fullsearch) {
// Check to see if the search has been restricted to a particular sub-tree in // Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy. // the folder hierarchy.
$startFolder = null; $startFolder = null;
if (isset($_GET["folderfullsearchid"]) && is_numeric($_GET["folderfullsearchid"]) && $_GET["folderfullsearchid"]>0) { if (isset($get["folderfullsearchid"]) && is_numeric($get["folderfullsearchid"]) && $get["folderfullsearchid"]>0) {
$targetid = $_GET["folderfullsearchid"]; $targetid = $get["folderfullsearchid"];
$startFolder = $dms->getFolder($targetid); $startFolder = $dms->getFolder($targetid);
if (!is_object($startFolder)) { if (!is_object($startFolder)) {
UI::exitError(getMLText("search"),getMLText("invalid_folder_id")); UI::exitError(getMLText("search"),getMLText("invalid_folder_id"));
@ -350,7 +324,6 @@ if($fullsearch) {
$rootFolder = $dms->getFolder($settings->_rootFolderID); $rootFolder = $dms->getFolder($settings->_rootFolderID);
$startTime = getTime();
if($settings->_fullSearchEngine == 'lucene') { if($settings->_fullSearchEngine == 'lucene') {
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8'); Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
} }
@ -358,6 +331,7 @@ if($fullsearch) {
if(strlen($query) < 4 && strpos($query, '*')) { if(strlen($query) < 4 && strpos($query, '*')) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm'))); $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$dcount = 0; $dcount = 0;
$fcount = 0;
$totalPages = 0; $totalPages = 0;
$entries = array(); $entries = array();
$searchTime = 0; $searchTime = 0;
@ -367,13 +341,30 @@ if($fullsearch) {
$total = 0; $total = 0;
$index = $fulltextservice->Indexer(); $index = $fulltextservice->Indexer();
if($index) { if($index) {
if(!empty($settings->_suggestTerms) && !empty($_GET['query'])) { if(!empty($settings->_suggestTerms) && !empty($get['query'])) {
$st = preg_split("/[\s,]+/", trim($_GET['query'])); $st = preg_split("/[\s,]+/", trim($get['query']));
if($lastterm = end($st)) if($lastterm = end($st))
$terms = $index->terms($lastterm, $settings->_suggestTerms); $terms = $index->terms($lastterm, $settings->_suggestTerms);
} }
$lucenesearch = $fulltextservice->Search(); $lucenesearch = $fulltextservice->Search();
$searchresult = $lucenesearch->search($query, array('record_type'=>$record_type, 'owner'=>$ownernames, 'status'=>$status, 'category'=>$categorynames, 'user'=>$user->isAdmin() ? [] : [$user->getLogin()], 'mimetype'=>$mimetype, 'startFolder'=>$startFolder, 'rootFolder'=>$rootFolder, 'created_start'=>$createstartts, 'created_end'=>$createendts, 'modified_start'=>$modifystartts, 'modified_end'=>$modifyendts, 'filesize_start'=>$filesizestart, 'filesize_end'=>$filesizeend, 'attributes'=>$attributes), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))), $order); $searchresult = $lucenesearch->search($query,
array(
'record_type'=>$record_type,
'owner'=>$ownernames,
'status'=>$status,
'category'=>$categorynames,
'user'=>$user->isAdmin() ? [] : [$user->getLogin()],
'mimetype'=>$mimetype,
'startFolder'=>$startFolder,
'rootFolder'=>$rootFolder,
'created_start'=>$created['from'],
'created_end'=>$created['to'],
'modified_start'=>$modified['from'],
'modified_end'=>$modified['to'],
'filesize_start'=>$filesize['from'],
'filesize_end'=>$filesize['to'],
'attributes'=>$attributes
), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))), $order);
if($searchresult === false) { if($searchresult === false) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm'))); $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$dcount = 0; $dcount = 0;
@ -441,29 +432,23 @@ if($fullsearch) {
// }}} // }}}
} else { } else {
// Search in Database {{{ // Search in Database {{{
if (isset($_GET["query"]) && is_string($_GET["query"])) {
$query = $_GET["query"];
}
else {
$query = "";
}
/* Select if only documents (0x01), only folders (0x02) or both (0x03) /* Select if only documents (0x01), only folders (0x02) or both (0x03)
* are found * are found
*/ */
$resultmode = 0x03; $resultmode = 0x03;
if (isset($_GET["resultmode"]) && is_numeric($_GET["resultmode"])) { if (isset($get["resultmode"]) && is_numeric($get["resultmode"])) {
$resultmode = $_GET['resultmode']; $resultmode = $get['resultmode'];
} }
$mode = "AND"; $mode = "AND";
if (isset($_GET["mode"]) && is_numeric($_GET["mode"]) && $_GET["mode"]==0) { if (isset($get["mode"]) && is_numeric($get["mode"]) && $get["mode"]==0) {
$mode = "OR"; $mode = "OR";
} }
$searchin = array(); $searchin = array();
if (isset($_GET['searchin']) && is_array($_GET["searchin"])) { if (isset($get['searchin']) && is_array($get["searchin"])) {
foreach ($_GET["searchin"] as $si) { foreach ($get["searchin"] as $si) {
if (isset($si) && is_numeric($si)) { if (isset($si) && is_numeric($si)) {
switch ($si) { switch ($si) {
case 1: // keywords case 1: // keywords
@ -483,8 +468,8 @@ if($fullsearch) {
// Check to see if the search has been restricted to a particular sub-tree in // Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy. // the folder hierarchy.
if (isset($_GET["targetid"]) && is_numeric($_GET["targetid"]) && $_GET["targetid"]>0) { if (isset($get["targetid"]) && is_numeric($get["targetid"]) && $get["targetid"]>0) {
$targetid = $_GET["targetid"]; $targetid = $get["targetid"];
$startFolder = $dms->getFolder($targetid); $startFolder = $dms->getFolder($targetid);
} }
else { else {
@ -494,76 +479,43 @@ if($fullsearch) {
UI::exitError(getMLText("search"),getMLText("invalid_folder_id")); UI::exitError(getMLText("search"),getMLText("invalid_folder_id"));
} }
// Check to see if the search has been restricted to a particular
/* document owner. {{{
$owner = array();
$ownerobjs = array();
if (isset($_GET["owner"])) {
$owner = $_GET['owner'];
if (!is_array($_GET['owner'])) {
if(!empty($_GET['owner']) && $o = $dms->getUser($_GET['owner'])) {
$ownerobjs[] = $o;
} else
UI::exitError(getMLText("search"),getMLText("unknown_owner"));
} else {
foreach($_GET["owner"] as $l) {
if($o = $dms->getUser($l)) {
$ownerobjs[] = $o;
}
}
}
} }}} */
/* Creation date {{{
$createstartdate = array();
$createenddate = array();
if(!empty($_GET["createstart"])) {
$createstartts = makeTsFromDate($_GET["createstart"]);
$createstartdate = array('year'=>(int)date('Y', $createstartts), 'month'=>(int)date('m', $createstartts), 'day'=>(int)date('d', $createstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
}
if ($createstartdate && !checkdate($createstartdate['month'], $createstartdate['day'], $createstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
if(!empty($_GET["createend"])) {
$createendts = makeTsFromDate($_GET["createend"]);
$createenddate = array('year'=>(int)date('Y', $createendts), 'month'=>(int)date('m', $createendts), 'day'=>(int)date('d', $createendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
}
if ($createenddate && !checkdate($createenddate['month'], $createenddate['day'], $createenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
}}} */
/* Revision date {{{ */ /* Revision date {{{ */
$revisionstartts = null;
$revisionstartdate = array(); $revisionstartdate = array();
$revisionendts = null;
$revisionenddate = array(); $revisionenddate = array();
if(!empty($_GET["revisiondatestart"])) { $revised['from'] = null;
$revisionstartts = makeTsFromDate($_GET["revisiondatestart"]); $revised['to'] = null;
if(!empty($get["revisiondatestart"])) {
$revisionstartts = makeTsFromDate($get["revisiondatestart"]);
$revisionstartdate = array('year'=>(int)date('Y', $revisionstartts), 'month'=>(int)date('m', $revisionstartts), 'day'=>(int)date('d', $revisionstartts), 'hour'=>0, 'minute'=>0, 'second'=>0); $revisionstartdate = array('year'=>(int)date('Y', $revisionstartts), 'month'=>(int)date('m', $revisionstartts), 'day'=>(int)date('d', $revisionstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($revisionstartdate['month'], $revisionstartdate['day'], $revisionstartdate['year'])) { if (!checkdate($revisionstartdate['month'], $revisionstartdate['day'], $revisionstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_start")); UI::exitError(getMLText("search"),getMLText("invalid_revision_date_start"));
} }
$revised['from'] = $revisionstartts;
} }
if(!empty($_GET["revisiondateend"])) { if(!empty($get["revisiondateend"])) {
$revisionendts = makeTsFromDate($_GET["revisiondateend"]); $revisionendts = makeTsFromDate($get["revisiondateend"]);
$revisionenddate = array('year'=>(int)date('Y', $revisionendts), 'month'=>(int)date('m', $revisionendts), 'day'=>(int)date('d', $revisionendts), 'hour'=>23, 'minute'=>59, 'second'=>59); $revisionenddate = array('year'=>(int)date('Y', $revisionendts), 'month'=>(int)date('m', $revisionendts), 'day'=>(int)date('d', $revisionendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($revisionenddate['month'], $revisionenddate['day'], $revisionenddate['year'])) { if (!checkdate($revisionenddate['month'], $revisionenddate['day'], $revisionenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_revision_date_end"));
} }
$revised['to'] = $revisionendts;
} }
/* }}} */ /* }}} */
/* Status date {{{ */ /* Status date {{{ */
$statusstartdate = array(); $statusstartdate = array();
$statusenddate = array(); $statusenddate = array();
if(!empty($_GET["statusdatestart"])) { if(!empty($get["statusdatestart"])) {
$statusstartts = makeTsFromDate($_GET["statusdatestart"]); $statusstartts = makeTsFromDate($get["statusdatestart"]);
$statusstartdate = array('year'=>(int)date('Y', $statusstartts), 'month'=>(int)date('m', $statusstartts), 'day'=>(int)date('d', $statusstartts), 'hour'=>0, 'minute'=>0, 'second'=>0); $statusstartdate = array('year'=>(int)date('Y', $statusstartts), 'month'=>(int)date('m', $statusstartts), 'day'=>(int)date('d', $statusstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
} }
if ($statusstartdate && !checkdate($statusstartdate['month'], $statusstartdate['day'], $statusstartdate['year'])) { if ($statusstartdate && !checkdate($statusstartdate['month'], $statusstartdate['day'], $statusstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_status_date_start")); UI::exitError(getMLText("search"),getMLText("invalid_status_date_start"));
} }
if(!empty($_GET["statusdateend"])) { if(!empty($get["statusdateend"])) {
$statusendts = makeTsFromDate($_GET["statusdateend"]); $statusendts = makeTsFromDate($get["statusdateend"]);
$statusenddate = array('year'=>(int)date('Y', $statusendts), 'month'=>(int)date('m', $statusendts), 'day'=>(int)date('d', $statusendts), 'hour'=>23, 'minute'=>59, 'second'=>59); $statusenddate = array('year'=>(int)date('Y', $statusendts), 'month'=>(int)date('m', $statusendts), 'day'=>(int)date('d', $statusendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
} }
if ($statusenddate && !checkdate($statusenddate['month'], $statusenddate['day'], $statusenddate['year'])) { if ($statusenddate && !checkdate($statusenddate['month'], $statusenddate['day'], $statusenddate['year'])) {
@ -574,15 +526,15 @@ if($fullsearch) {
/* Expiration date {{{ */ /* Expiration date {{{ */
$expstartdate = array(); $expstartdate = array();
$expenddate = array(); $expenddate = array();
if(!empty($_GET["expirationstart"])) { if(!empty($get["expirationstart"])) {
$expstartts = makeTsFromDate($_GET["expirationstart"]); $expstartts = makeTsFromDate($get["expirationstart"]);
$expstartdate = array('year'=>(int)date('Y', $expstartts), 'month'=>(int)date('m', $expstartts), 'day'=>(int)date('d', $expstartts), 'hour'=>0, 'minute'=>0, 'second'=>0); $expstartdate = array('year'=>(int)date('Y', $expstartts), 'month'=>(int)date('m', $expstartts), 'day'=>(int)date('d', $expstartts), 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($expstartdate['month'], $expstartdate['day'], $expstartdate['year'])) { if (!checkdate($expstartdate['month'], $expstartdate['day'], $expstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start")); UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start"));
} }
} }
if(!empty($_GET["expirationend"])) { if(!empty($get["expirationend"])) {
$expendts = makeTsFromDate($_GET["expirationend"]); $expendts = makeTsFromDate($get["expirationend"]);
$expenddate = array('year'=>(int)date('Y', $expendts), 'month'=>(int)date('m', $expendts), 'day'=>(int)date('d', $expendts), 'hour'=>23, 'minute'=>59, 'second'=>59); $expenddate = array('year'=>(int)date('Y', $expendts), 'month'=>(int)date('m', $expendts), 'day'=>(int)date('d', $expendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
if (!checkdate($expenddate['month'], $expenddate['day'], $expenddate['year'])) { if (!checkdate($expenddate['month'], $expenddate['day'], $expenddate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end"));
@ -590,45 +542,9 @@ if($fullsearch) {
} }
/* }}} */ /* }}} */
// status
$status = isset($_GET['status']) ? $_GET['status'] : array();
/*
$status = array();
if (isset($_GET["draft"])){
$status[] = S_DRAFT;
}
if (isset($_GET["pendingReview"])){
$status[] = S_DRAFT_REV;
}
if (isset($_GET["pendingApproval"])){
$status[] = S_DRAFT_APP;
}
if (isset($_GET["inWorkflow"])){
$status[] = S_IN_WORKFLOW;
}
if (isset($_GET["released"])){
$status[] = S_RELEASED;
}
if (isset($_GET["rejected"])){
$status[] = S_REJECTED;
}
if (isset($_GET["inrevision"])){
$status[] = S_IN_REVISION;
}
if (isset($_GET["obsolete"])){
$status[] = S_OBSOLETE;
}
if (isset($_GET["expired"])){
$status[] = S_EXPIRED;
}
if (isset($_GET["needs_correction"])){
$status[] = S_NEEDS_CORRECTION;
}
*/
$reception = array(); $reception = array();
if (isset($_GET["reception"])){ if (isset($get["reception"])){
$reception = $_GET["reception"]; $reception = $get["reception"];
} }
/* Do not search for folders if result shall be filtered by status. /* Do not search for folders if result shall be filtered by status.
@ -640,8 +556,8 @@ if($fullsearch) {
// if($status) // if($status)
// $resultmode = 0x01; // $resultmode = 0x01;
if (isset($_GET["attributes"])) if (isset($get["attributes"]))
$attributes = $_GET["attributes"]; $attributes = $get["attributes"];
else else
$attributes = array(); $attributes = array();
@ -661,38 +577,20 @@ if($fullsearch) {
} }
} }
//
// Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages.
//
// This requires that a page number variable be used to track which page the
// user is interested in, and an extra clause on the select statement.
//
// Default page to display is always one.
$pageNumber=1;
// $limit = 15;
if (isset($_GET["pg"])) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$pageNumber = (int) $_GET["pg"];
}
elseif (!strcasecmp($_GET["pg"], "all")) {
$pageNumber = "all";
}
}
// ---------------- Start searching ----------------------------------------- // ---------------- Start searching -----------------------------------------
$startTime = getTime(); $startTime = getTime();
$resArr = $dms->search(array( $resArr = $dms->search(array(
'query'=>$query, 'query'=>$query,
'limit'=>0, 'limit'=>0,
'offset'=>0 /*$limit, ($pageNumber-1)*$limit*/, 'offset'=>0,
'logicalmode'=>$mode, 'logicalmode'=>$mode,
'searchin'=>$searchin, 'searchin'=>$searchin,
'startFolder'=>$startFolder, 'startFolder'=>$startFolder,
'owner'=>$ownerobjs, 'owner'=>$ownerobjs,
'status'=>$status, 'status'=>$status,
'creationstartdate'=>$created['from'], //$createstartdate ? $createstartdate : array(), 'mimetype'=>$mimetype,
'creationenddate'=>$created['to'], //$createenddate ? $createenddate : array(), 'creationstartdate'=>$created['from'],
'creationenddate'=>$created['to'],
'modificationstartdate'=>$modified['from'], 'modificationstartdate'=>$modified['from'],
'modificationenddate'=>$modified['to'], 'modificationenddate'=>$modified['to'],
'filesizestart'=>$filesize['from'], 'filesizestart'=>$filesize['from'],
@ -715,7 +613,7 @@ if($fullsearch) {
$entries = array(); $entries = array();
$fcount = 0; $fcount = 0;
if(!isset($_GET['action']) || $_GET['action'] != 'export') { // if(!isset($get['action']) || $get['action'] != 'export') {
if($resArr['folders']) { if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) { foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($user) >= M_READ) { if ($entry->getAccessMode($user) >= M_READ) {
@ -724,7 +622,7 @@ if($fullsearch) {
} }
} }
} }
} // }
$dcount = 0; $dcount = 0;
if($resArr['docs']) { if($resArr['docs']) {
foreach ($resArr['docs'] as $entry) { foreach ($resArr['docs'] as $entry) {
@ -738,7 +636,7 @@ if($fullsearch) {
} }
} }
$totalPages = 1; $totalPages = 1;
if ((!isset($_GET['action']) || $_GET['action'] != 'export') /*&& (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all"))*/) { if ((!isset($get['action']) || $get['action'] != 'export') /*&& (!isset($get["pg"]) || strcasecmp($get["pg"], "all"))*/) {
$totalPages = (int) (count($entries)/$limit); $totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit) if(count($entries)%$limit)
$totalPages++; $totalPages++;
@ -772,7 +670,8 @@ if($settings->_showSingleSearchHit && count($entries) == 1) {
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('query', $query); $view->setParam('query', $query);
$view->setParam('includecontent', $includecontent); $view->setParam('includecontent', $includecontent);
$view->setParam('marks', isset($_GET['marks']) ? $_GET['marks'] : array()); $view->setParam('skipdefaultcols', $skipdefaultcols);
$view->setParam('marks', isset($get['marks']) ? $get['marks'] : array());
$view->setParam('newowner', $newowner); $view->setParam('newowner', $newowner);
$view->setParam('newreviewer', $newreviewer); $view->setParam('newreviewer', $newreviewer);
$view->setParam('newapprover', $newapprover); $view->setParam('newapprover', $newapprover);
@ -784,7 +683,7 @@ if($settings->_showSingleSearchHit && count($entries) == 1) {
$view->setParam('pagenumber', $pageNumber); $view->setParam('pagenumber', $pageNumber);
$view->setParam('limit', $limit); $view->setParam('limit', $limit);
$view->setParam('searchtime', $searchTime); $view->setParam('searchtime', $searchTime);
$view->setParam('urlparams', $_GET); $view->setParam('urlparams', $get);
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
@ -797,21 +696,21 @@ if($settings->_showSingleSearchHit && count($entries) == 1) {
$view->setParam('facetsearch', $facetsearch); $view->setParam('facetsearch', $facetsearch);
$view->setParam('mode', isset($mode) ? $mode : ''); $view->setParam('mode', isset($mode) ? $mode : '');
$view->setParam('orderby', isset($orderby) ? $orderby : ''); $view->setParam('orderby', isset($orderby) ? $orderby : '');
$view->setParam('defaultsearchmethod', !empty($_GET["fullsearch"]) || $settings->_defaultSearchMethod); $view->setParam('defaultsearchmethod', !empty($get["fullsearch"]) || $settings->_defaultSearchMethod);
$view->setParam('resultmode', isset($resultmode) ? $resultmode : ''); $view->setParam('resultmode', isset($resultmode) ? $resultmode : '');
$view->setParam('searchin', isset($searchin) ? $searchin : array()); $view->setParam('searchin', isset($searchin) ? $searchin : array());
$view->setParam('startfolder', isset($startFolder) ? $startFolder : null); $view->setParam('startfolder', isset($startFolder) ? $startFolder : null);
$view->setParam('owner', $owner); $view->setParam('owner', $owner);
$view->setParam('createstartdate', $createstartts); $view->setParam('createstartdate', $created['from']);
$view->setParam('createenddate', $createendts); $view->setParam('createenddate', $created['to']);
$view->setParam('created', $created); $view->setParam('created', $created);
$view->setParam('revisionstartdate', !empty($revisionstartdate) ? getReadableDate($revisionstartts) : ''); $view->setParam('revisionstartdate', !empty($revisionstartdate) ? getReadableDate($revisionstartts) : '');
$view->setParam('revisionenddate', !empty($revisionenddate) ? getReadableDate($revisionendts) : ''); $view->setParam('revisionenddate', !empty($revisionenddate) ? getReadableDate($revisionendts) : '');
$view->setParam('modifystartdate', $modifystartts); $view->setParam('modifystartdate', $modified['from']);
$view->setParam('modifyenddate', $modifyendts); $view->setParam('modifyenddate', $modified['to']);
$view->setParam('modified', $modified); $view->setParam('modified', $modified);
$view->setParam('filesizestart', $filesizestart); $view->setParam('filesizestart', $filesize['from']);
$view->setParam('filesizeend', $filesizeend); $view->setParam('filesizeend', $filesize['to']);
$view->setParam('filesize', $filesize); $view->setParam('filesize', $filesize);
$view->setParam('expstartdate', !empty($expstartdate) ? getReadableDate($expstartts) : ''); $view->setParam('expstartdate', !empty($expstartdate) ? getReadableDate($expstartts) : '');
$view->setParam('expenddate', !empty($expenddate) ? getReadableDate($expendts) : ''); $view->setParam('expenddate', !empty($expenddate) ? getReadableDate($expendts) : '');
@ -839,7 +738,7 @@ if($settings->_showSingleSearchHit && count($entries) == 1) {
$view->setParam('xsendfile', $settings->_enableXsendfile); $view->setParam('xsendfile', $settings->_enableXsendfile);
$view->setParam('reception', $reception); $view->setParam('reception', $reception);
$view->setParam('showsinglesearchhit', $settings->_showSingleSearchHit); $view->setParam('showsinglesearchhit', $settings->_showSingleSearchHit);
$view($_GET); $view($get);
exit; exit;
} }
} }

View File

@ -42,6 +42,7 @@ if($view) {
$view->setParam('settings', $settings); $view->setParam('settings', $settings);
$view->setParam('extmgr', $extMgr); $view->setParam('extmgr', $extMgr);
$view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : '')); $view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : ''));
$view->setParam('extname', (isset($_REQUEST['extensionname']) ? $_REQUEST['extensionname'] : ''));
$view->setParam('allusers', $users); $view->setParam('allusers', $users);
$view->setParam('allgroups', $groups); $view->setParam('allgroups', $groups);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);

View File

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

View File

@ -2,7 +2,10 @@ RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<Files ~ "^swagger\.yaml"> <Files ~ "^swagger\.yaml">
# Apache module
SetHandler application/x-httpd-php 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> <IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET" 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: license:
name: "Apache 2.0" name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html" url: "http://www.apache.org/licenses/LICENSE-2.0.html"
servers:
- url:
description: Current host server
host: "<?php echo $_SERVER['HTTP_HOST']; ?>" host: "<?php echo $_SERVER['HTTP_HOST']; ?>"
basePath: "<?php echo $settings->_httpRoot; ?>restapi/index.php" basePath: "<?php echo $settings->_httpRoot; ?>restapi/index.php"
tags: tags:
@ -406,6 +403,92 @@ paths:
$ref: "#/definitions/ApiResponse" $ref: "#/definitions/ApiResponse"
security: security:
- api_key: [] - 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: /groups:
get: get:
tags: tags:
@ -466,6 +549,161 @@ paths:
$ref: "#/definitions/ApiResponse" $ref: "#/definitions/ApiResponse"
security: security:
- api_key: [] - 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}: /document/{id}:
get: get:
tags: tags:
@ -565,7 +803,8 @@ paths:
"200": "200":
description: "preview image file" description: "preview image file"
schema: schema:
type: "file" type: "string"
format: "binary"
"403": "403":
description: "No access" description: "No access"
schema: schema:
@ -598,7 +837,8 @@ paths:
"200": "200":
description: "content file" description: "content file"
schema: schema:
type: "file" type: "string"
format: "binary"
"403": "403":
description: "No access" description: "No access"
schema: schema:
@ -637,7 +877,8 @@ paths:
"200": "200":
description: "attached file" description: "attached file"
schema: schema:
type: "file" type: "string"
format: "binary"
"403": "403":
description: "No access" description: "No access"
schema: schema:
@ -676,7 +917,8 @@ paths:
"200": "200":
description: "content file" description: "content file"
schema: schema:
type: "file" type: "string"
format: "binary"
"403": "403":
description: "No access" description: "No access"
schema: schema:
@ -1510,7 +1752,7 @@ paths:
produces: produces:
- "application/json" - "application/json"
consumes: consumes:
- "application/x-www-form-urlencoded" - "multipart/form-data"
parameters: parameters:
- name: "id" - name: "id"
in: "path" in: "path"
@ -1557,6 +1799,53 @@ paths:
$ref: "#/definitions/ApiResponse" $ref: "#/definitions/ApiResponse"
security: security:
- api_key: [] - 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: /categories:
get: get:
tags: tags:
@ -1782,15 +2071,21 @@ paths:
description: "Invalid status value" description: "Invalid status value"
security: security:
- api_key: [] - api_key: []
/echo: /echo/{data}:
get: get:
tags: tags:
- "misc" - "misc"
summary: "Return what was send in the body" summary: "Return what was send in the path"
description: "Just returns the body content" description: "Just returns the path"
operationId: "echoData" operationId: "echoData"
produces: produces:
- "application/json" - "application/json"
parameters:
- name: "data"
in: "path"
description: "Data to be echoed"
required: true
type: "string"
responses: responses:
"200": "200":
description: "successful operation" description: "successful operation"

View File

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

View File

@ -161,6 +161,10 @@ $(document).ready( function() {
foreach($res['docs'] as $document) { foreach($res['docs'] as $document) {
$extracontent = array(); $extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document); $extracontent['below_title'] = $this->getListRowPath($document);
$txt = $this->callHook('documentListItem', $document, $previewer, false, 'attributemgr', $extracontent);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false, 0, $extracontent); echo $this->documentListRow($document, $previewer, false, 0, $extracontent);
} }
@ -176,10 +180,14 @@ $(document).ready( function() {
print "<th>".getMLText("action")."</th>\n"; print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n"; print "</tr>\n</thead>\n<tbody>\n";
foreach($res['contents'] as $content) { foreach($res['contents'] as $content) {
$doc = $content->getDocument(); $document = $content->getDocument();
$extracontent = array(); $extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($doc); $extracontent['below_title'] = $this->getListRowPath($doc);
echo $this->documentListRow($doc, $previewer, false, 0, $extracontent); $txt = $this->callHook('documentListItem', $document, $previewer, false, 'attributemgr', $extracontent);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false, 0, $extracontent);
} }
print "</tbody></table>"; print "</tbody></table>";
} }

View File

@ -464,7 +464,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "<li class=\"active\">"; echo "<li class=\"active\">";
else else
echo "<li>"; echo "<li>";
echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.SetLanguage.php?lang=".$currLang."&referer=".$_SERVER["REQUEST_URI"]."\">"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.SetLanguage.php?lang=".$currLang."&referer=".urlencode(encryptData($this->params['settings']->_encryptionKey, $_SERVER["REQUEST_URI"]))."\">";
echo getMLText($currLang)."</a></li>\n"; echo getMLText($currLang)."</a></li>\n";
} }
echo " </ul>\n"; echo " </ul>\n";
@ -563,7 +563,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">".$menuitem['label']." <i class=\"fa fa-caret-down\"></i></a>\n"; echo " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">".$menuitem['label']." <i class=\"fa fa-caret-down\"></i></a>\n";
echo " <ul class=\"dropdown-menu\" role=\"menu\">\n"; echo " <ul class=\"dropdown-menu\" role=\"menu\">\n";
foreach($menuitem['children'] as $submenuitem) { foreach($menuitem['children'] as $submenuitem) {
echo " <li><a href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '').">".$submenuitem['label']."</a></li>\n"; echo " <li><a href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '');
if(!empty($submenuitem['attributes']))
foreach($submenuitem['attributes'] as $attr)
echo ' '.$attr[0].'="'.$attr[1].'"';
echo ">".$submenuitem['label']."</a></li>\n";
} }
echo " </ul>\n"; echo " </ul>\n";
} else { } else {
@ -717,7 +721,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$content .= '>'; $content .= '>';
$content .= $menuitem['label']; $content .= $menuitem['label'];
if(!empty($menuitem['badge'])) 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 .= ' </a>'."\n";
$content .= " </li>\n"; $content .= " </li>\n";
} }
@ -768,6 +772,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function folderNavigationBar($folder) { /* {{{ */ private function folderNavigationBar($folder) { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$session = $this->params['session'];
$enableClipboard = $this->params['enableclipboard']; $enableClipboard = $this->params['enableclipboard'];
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
if (!is_object($folder) || !$folder->isType('folder')) { if (!is_object($folder) || !$folder->isType('folder')) {
@ -812,6 +817,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['edit_folder_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_folder_notify')); $menuitems['edit_folder_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_folder_notify'));
} }
if($enableClipboard) { if($enableClipboard) {
if($session->isOnClipboard($folder))
$menuitems['remove_from_clipboard'] = array('class'=>'removefromclipboard', 'attributes'=>array(['rel', 'F'.$folder->getId()], ['msg', getMLText('splash_removed_from_clipboard')], ['title', getMLText("remove_from_clipboard")]), 'label'=>getMLText("remove_from_clipboard"));
else
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'F'.$folder->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard")); $menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'F'.$folder->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
} }
if ($accessobject->check_view_access('Indexer') && $this->params['enablefullsearch']) { if ($accessobject->check_view_access('Indexer') && $this->params['enablefullsearch']) {
@ -835,6 +843,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} /* }}} */ } /* }}} */
private function documentNavigationBar($document) { /* {{{ */ private function documentNavigationBar($document) { /* {{{ */
$session = $this->params['session'];
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$enableClipboard = $this->params['enableclipboard']; $enableClipboard = $this->params['enableclipboard'];
$accessMode = $document->getAccessMode($this->params['user']); $accessMode = $document->getAccessMode($this->params['user']);
@ -896,6 +905,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['edit_document_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_document_notify')); $menuitems['edit_document_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_document_notify'));
} }
if($enableClipboard) { if($enableClipboard) {
if($session->isOnClipboard($document))
$menuitems['remove_from_clipboard'] = array('class'=>'removefromclipboard', 'attributes'=>array(['rel', 'D'.$document->getId()], ['msg', getMLText('splash_removed_from_clipboard')], ['title', getMLText("remove_from_clipboard")]), 'label'=>getMLText("remove_from_clipboard"));
else
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'D'.$document->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard")); $menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'D'.$document->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
} }
if ($accessobject->check_view_access('TransferDocument')) { if ($accessobject->check_view_access('TransferDocument')) {
@ -1623,9 +1635,9 @@ function getOverallStatusIcon($status) { /* {{{ */
*/ */
function getModalBox($config) { /* {{{ */ function getModalBox($config) { /* {{{ */
$content = ' $content = '
<div class="modal modal-wide hide" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label" aria-hidden="true"> <div class="modal modal-wide hide" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal">×</button>
<h3 id="'.$config['id'].'Label">'.$config['title'].'</h3> <h3 id="'.$config['id'].'Label">'.$config['title'].'</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -1640,7 +1652,7 @@ function getOverallStatusIcon($status) { /* {{{ */
'; ';
if($config['buttons']) { if($config['buttons']) {
foreach($config['buttons'] as $button) foreach($config['buttons'] as $button)
$content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': '" ').'data-dismiss="modal" aria-hidden="true">'.$button['title'].'</button>'; $content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': '" ').'data-dismiss="modal">'.$button['title'].'</button>';
} }
$content .= ' $content .= '
</div> </div>
@ -1868,7 +1880,7 @@ $(document).ready(function() {
/** /**
* This function is deprecated. Don't use it anymore. There is a generic * This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js * 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='') { /* {{{ */ function printDocumentChooserJs($form, $formname='') { /* {{{ */
if(!$formname) if(!$formname)
@ -1935,7 +1947,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
/** /**
* This function is deprecated. Don't use it anymore. There is a generic * This function is deprecated. Don't use it anymore. There is a generic
* folderSelected and documentSelected function in application.js * 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='') { /* {{{ */ function printFolderChooserJs($form, $formname='') { /* {{{ */
if(!$formname) if(!$formname)
@ -2100,6 +2112,15 @@ $(document).ready(function() {
echo self::getAttributeEditField($attrdef, $attribute, $fieldname, $norequire, $namepostfix, $alwaysmultiple); echo self::getAttributeEditField($attrdef, $attribute, $fieldname, $norequire, $namepostfix, $alwaysmultiple);
} /* }}} */ } /* }}} */
/**
* Return html code for an input/select field of an attribute
*
* The passed attribute ($attribute) can either be an object of type
* SeedDMS_Core_Attribute, scalar or an array. A scalar or array is
* passed when the method is called to create the search form. In that
* case $attribute has the value from the post data after submitting the
* search form.
*/
function getAttributeEditField($attrdef, $attribute, $fieldname='attributes', $norequire=false, $namepostfix='', $alwaysmultiple=false) { /* {{{ */ function getAttributeEditField($attrdef, $attribute, $fieldname='attributes', $norequire=false, $namepostfix='', $alwaysmultiple=false) { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$attr_id = $fieldname.'_'.$attrdef->getId().($namepostfix ? '_'.$namepostfix : ''); $attr_id = $fieldname.'_'.$attrdef->getId().($namepostfix ? '_'.$namepostfix : '');
@ -2136,10 +2157,19 @@ $(document).ready(function() {
$content .= $this->getDocumentChooserHtml("attr".$attrdef->getId(), M_READ, -1, $target, $attr_name); $content .= $this->getDocumentChooserHtml("attr".$attrdef->getId(), M_READ, -1, $target, $attr_name);
break; break;
case SeedDMS_Core_AttributeDefinition::type_user: case SeedDMS_Core_AttributeDefinition::type_user:
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = []; $objvalue = [];
if($attribute) {
if(is_object($attribute)) {
$target = $attribute->getValueAsArray();
foreach($target as $t) foreach($target as $t)
$objvalue[] = $t->getId(); $objvalue[] = $t->getId();
} elseif(is_array($attribute)) {
foreach($attribute as $t)
$objvalue[] = $t;
} else {
$objvalue[] = $attribute;
}
}
$users = $dms->getAllUsers(); $users = $dms->getAllUsers();
if($users) { if($users) {
$allowempty = $attrdef->getMinValues() == 0; $allowempty = $attrdef->getMinValues() == 0;
@ -2159,10 +2189,19 @@ $(document).ready(function() {
} }
break; break;
case SeedDMS_Core_AttributeDefinition::type_group: case SeedDMS_Core_AttributeDefinition::type_group:
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = []; $objvalue = [];
if($attribute) {
if(is_object($attribute)) {
$target = $attribute->getValueAsArray();
foreach($target as $t) foreach($target as $t)
$objvalue[] = $t->getId(); $objvalue[] = $t->getId();
} elseif(is_array($attribute)) {
foreach($attribute as $t)
$objvalue[] = $t;
} else {
$objvalue[] = $attribute;
}
}
$groups = $dms->getAllGroups(); $groups = $dms->getAllGroups();
if($groups) { if($groups) {
$allowempty = $attrdef->getMinValues() == 0; $allowempty = $attrdef->getMinValues() == 0;
@ -2656,9 +2695,9 @@ $(function() {
* *
* @param string text * @param string text
*/ */
function printInlineEdit($text, $object){ /* {{{ */ function printInlineEditDocumentName($text, $object){ /* {{{ */
if(!empty($this->params['settings']->_inlineEditing)) { if(!empty($this->params['settings']->_inlineEditing)) {
echo "<span class=\"editable\" contenteditable=\"true\""; echo "<span class=\"editdocname editable\" contenteditable=\"true\"";
if($object->isType('document')) if($object->isType('document'))
echo " data-document=\"".$object->getId()."\" data-formtoken=\"".createFormKey('setdocumentname')."\""; echo " data-document=\"".$object->getId()."\" data-formtoken=\"".createFormKey('setdocumentname')."\"";
echo ">".$text; echo ">".$text;
@ -3277,6 +3316,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */ function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */
$user = $this->params['user']; $user = $this->params['user'];
$session = $this->params['session'];
$enableClipboard = $this->params['enableclipboard']; $enableClipboard = $this->params['enableclipboard'];
$accessop = $this->params['accessobject']; $accessop = $this->params['accessobject'];
$onepage = $this->params['onepage']; $onepage = $this->params['onepage'];
@ -3306,6 +3346,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$actions['document_access'] = $this->printAccessButton($document, true); $actions['document_access'] = $this->printAccessButton($document, true);
} }
if($enableClipboard) { if($enableClipboard) {
if($session->isOnClipboard($document))
$actions['remove_from_clipboard'] = '<a class="removefromclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_removed_from_clipboard').'" title="'.getMLText("remove_from_clipboard").'"><i class="fa fa-copy"></i></a>';
else
$actions['add_to_clipboard'] = '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $actions['add_to_clipboard'] = '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)
@ -3378,7 +3421,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$extracontent = array_merge($extracontent, $ec); $extracontent = array_merge($extracontent, $ec);
$content .= "<td>"; $content .= "<td>";
if (file_exists($dms->contentDir . $latestContent->getPath())) { if ($latestContent->exists()) {
$previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent); $previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent);
if(is_string($previewhtml)) if(is_string($previewhtml))
$content .= $previewhtml; $content .= $previewhtml;
@ -3416,7 +3459,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<br />"; $content .= "<br />";
foreach($categories as $category) { foreach($categories as $category) {
$color = substr(md5($category->getName()), 0, 6); $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'])) if(!empty($extracontent['bottom_title']))
@ -3512,6 +3555,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
function folderListRowAction($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */ function folderListRowAction($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$session = $this->params['session'];
// $folder = $this->params['folder']; // $folder = $this->params['folder'];
$showtree = $this->params['showtree']; $showtree = $this->params['showtree'];
$enableRecursiveCount = $this->params['enableRecursiveCount']; $enableRecursiveCount = $this->params['enableRecursiveCount'];
@ -3544,6 +3588,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$actions['folder_access'] = $this->printAccessButton($subFolder, true); $actions['folder_access'] = $this->printAccessButton($subFolder, true);
} }
if($enableClipboard) { if($enableClipboard) {
if($session->isOnClipboard($subFolder))
$actions['add_to_clipboard'] = '<a class="removefromclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_removed_from_clipboard').'" title="'.getMLText("remove_from_clipboard").'"><i class="fa fa-copy"></i></a>';
else
$actions['add_to_clipboard'] = '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $actions['add_to_clipboard'] = '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)

View File

@ -13,11 +13,6 @@
* @version Release: @package_version@ * @version Release: @package_version@
*/ */
/**
* Include parent class
*/
//require_once("class.Bootstrap.php");
/** /**
* Class which outputs the html page for Charts view * Class which outputs the html page for Charts view
* *
@ -229,11 +224,69 @@ $(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;
} /* }}} */
protected function getSearchUrl($type, $item) {
$dms = $this->params['dms'];
$settings = $this->params['settings'];
$searchurl = null;
switch($type) {
case 'docsperuser':
case 'sizeperuser':
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&owner%5B%5D='.$item['res'];
break;
case 'foldersperuser':
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=2&owner%5B%5D='.$item['res'];
break;
case 'docspercategory':
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&category%5B%5D='.$item['res'];
break;
case 'docsperstatus':
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&status%5B%5D='.$item['res'];
break;
case 'docspermonth':
case 'sizepermonth':
$startmonth = $item['key'].'-01';
$endmonth = date('Y-m-t', strtotime($startmonth));
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&created%5Bfrom%5D='.$startmonth.'&created%5Bto%5D='.$endmonth;
break;
case 'docspermimetype':
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&mimetype%5B%5D='.urlencode($item['key']);
break;
case 'docsaccumulated':
$start = date('Y-m-d', $item['key']/1000);
$end = date('Y-m-d', $item['key']/1000 + 86400);
$searchurl = $settings->_httpRoot.'out/out.Search.php?fullsearch=0&query=&mode=1&orderby=&resultmode=1&created%5Bfrom%5D='.$start.'&created%5Bto%5D='.$end;
break;
}
return $searchurl;
}
public function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$data = $this->params['data']; $data = $this->params['data'];
$type = $this->params['type']; $type = $this->params['type'];
$quota = $this->params['quota'];
$this->htmlAddHeader( $this->htmlAddHeader(
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.min.js"></script>'."\n". '<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.min.js"></script>'."\n".
@ -251,12 +304,13 @@ $(document).ready( function() {
$this->contentHeading(getMLText("chart_selection")); $this->contentHeading(getMLText("chart_selection"));
$this->contentContainerStart(); $this->contentContainerStart();
foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'sizepermonth','docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) { foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'sizepermonth','docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
if($this->showChart($atype))
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n"; echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
} }
$this->contentContainerEnd(); $this->contentContainerEnd();
$this->columnEnd(); $this->columnEnd();
if(in_array($type, array('docspermonth', 'docsaccumulated'))) { if(in_array($type, array('sizepermonth', 'docspermonth', 'docsaccumulated'))) {
$this->columnStart(9); $this->columnStart(9);
} else { } else {
$this->columnStart(6); $this->columnStart(6);
@ -269,9 +323,14 @@ $(document).ready( function() {
$this->contentContainerEnd(); $this->contentContainerEnd();
echo "<table class=\"table table-condensed table-sm table-hover\">"; echo "<table class=\"table table-condensed table-sm table-hover\">";
echo "<tr>"; echo "<tr>";
echo "<th>".getMLText('chart_'.$type.'_title')."</th><th>".getMLText('total')."</th>"; echo "<th>".getMLText('chart_'.$type.'_title')."</th>";
if(in_array($type, array('docspermonth', 'docsaccumulated'))) echo "<th>".getMLText('total')."</th>";
$types = array('docspermonth', 'docsaccumulated');
if($quota)
$types[] = 'sizeperuser';
if(in_array($type, $types))
echo "<th></th>"; echo "<th></th>";
echo "<th>Search</th>";
echo "</tr>"; echo "</tr>";
$total = 0; $total = 0;
switch($type) { switch($type) {
@ -288,6 +347,11 @@ $(document).ready( function() {
echo "<td>".$item['total']."</td>"; echo "<td>".$item['total']."</td>";
if(in_array($type, array('docspermonth'))) if(in_array($type, array('docspermonth')))
echo "<td>".sprintf('%+d', $item['total']-$oldtotal)."</td>"; echo "<td>".sprintf('%+d', $item['total']-$oldtotal)."</td>";
$searchurl = $this->getSearchUrl($type, $item);
if($searchurl)
echo "<td><a href=\"".$searchurl."\"><i class=\"fa fa-search\"></i></a></td>";
else
echo "<td></td>";
echo "</tr>"; echo "</tr>";
$oldtotal = $item['total']; $oldtotal = $item['total'];
$total += $item['total']; $total += $item['total'];
@ -301,15 +365,46 @@ $(document).ready( function() {
echo "<td>".getReadableDate($item['key']/1000)."</td>"; echo "<td>".getReadableDate($item['key']/1000)."</td>";
echo "<td>".$item['total']."</td>"; echo "<td>".$item['total']."</td>";
echo "<td>".sprintf('%+d', $item['total']-$oldtotal)."</td>"; echo "<td>".sprintf('%+d', $item['total']-$oldtotal)."</td>";
$searchurl = $this->getSearchUrl($type, $item);
if($searchurl)
echo "<td><a href=\"".$searchurl."\"><i class=\"fa fa-search\"></i></a></td>";
else
echo "<td></td>";
echo "</tr>"; echo "</tr>";
$oldtotal = $item['total']; $oldtotal = $item['total'];
$total += $item['total']; $total += $item['total'];
} }
break; break;
case 'sizeperuser': case 'sizeperuser':
foreach($data as $item) {
$currUser = $dms->getUser($item['res']);
echo "<tr><td>".htmlspecialchars($item['key'])."</td>";
echo "<td>".SeedDMS_Core_File::format_filesize((int) $item['total'])."</td>";
if($quota) {
echo "<td width=\"100\">";
$qt = $currUser->getQuota() ? $currUser->getQuota() : $quota;
echo $this->getProgressBar($currUser->getUsedDiskSpace(), $qt);
echo "</td>";
}
$searchurl = $this->getSearchUrl($type, $item);
if($searchurl)
echo "<td><a href=\"".$searchurl."\"><i class=\"fa fa-search\"></i></a></td>";
else
echo "<td></td>";
echo "</tr>";
$total += $item['total'];
}
echo "<tr><th></th><th>".SeedDMS_Core_File::format_filesize($total)."<th></tr>";
break;
case 'sizepermonth': case 'sizepermonth':
foreach($data as $item) { foreach($data as $item) {
echo "<tr><td>".htmlspecialchars($item['key'])."</td><td>".SeedDMS_Core_File::format_filesize((int) $item['total'])."</td></tr>"; echo "<tr><td>".htmlspecialchars($item['key'])."</td><td>".SeedDMS_Core_File::format_filesize((int) $item['total'])."</td>";
$searchurl = $this->getSearchUrl($type, $item);
if($searchurl)
echo "<td><a href=\"".$searchurl."\"><i class=\"fa fa-search\"></i></a></td>";
else
echo "<td></td>";
echo "</tr>";
$total += $item['total']; $total += $item['total'];
} }
echo "<tr><th></th><th>".SeedDMS_Core_File::format_filesize($total)."<th></tr>"; echo "<tr><th></th><th>".SeedDMS_Core_File::format_filesize($total)."<th></tr>";
@ -318,7 +413,7 @@ $(document).ready( function() {
echo "</table>"; echo "</table>";
$this->columnEnd(); $this->columnEnd();
if(!in_array($type, array('docspermonth', 'docsaccumulated'))) { if(!in_array($type, array('sizepermonth', 'docspermonth', 'docsaccumulated'))) {
$this->columnStart(3); $this->columnStart(3);
$this->contentHeading(getMLText('legend')); $this->contentHeading(getMLText('legend'));
$this->contentContainerStart('', 'legend'); $this->contentContainerStart('', 'legend');

View File

@ -52,12 +52,12 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($clipboard['folders'] as $folderid) { foreach($clipboard['folders'] as $folderid) {
if($folder = $this->params['dms']->getFolder($folderid)) { if($folder = $this->params['dms']->getFolder($folderid)) {
$subitems[] = array('label'=>'<i class="fa fa-folder-o"></i> '.$folder->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(), 'class'=>"table-row-folder droptarget", 'attributes'=>array(array('data-droptarget', "folder_".$folder->getID()), array('rel', "folder_".$folder->getID()), array('data-name', htmlspecialchars($folder->getName(), ENT_QUOTES)))); $subitems[] = array('label'=>'<i class="fa fa-folder-o"></i> '.htmlspecialchars($folder->getName()), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(), 'class'=>"table-row-folder droptarget", 'attributes'=>array(array('data-droptarget', "folder_".$folder->getID()), array('rel', "folder_".$folder->getID()), array('data-name', htmlspecialchars($folder->getName(), ENT_QUOTES))));
} }
} }
foreach($clipboard['docs'] as $docid) { foreach($clipboard['docs'] as $docid) {
if($document = $this->params['dms']->getDocument($docid)) if($document = $this->params['dms']->getDocument($docid))
$subitems[] = array('label'=>'<i class="fa fa-file"></i> '.$document->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(), 'class'=>"table-row-document droptarget", 'attributes'=>array(array('data-droptarget', "document_".$document->getID()), array('rel', "document_".$document->getID()), array('formtoken', createFormKey('')), array('data-name', htmlspecialchars($document->getName(), ENT_QUOTES)))); $subitems[] = array('label'=>'<i class="fa fa-file"></i> '.htmlspecialchars($document->getName()), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(), 'class'=>"table-row-document droptarget", 'attributes'=>array(array('data-droptarget', "document_".$document->getID()), array('rel', "document_".$document->getID()), array('formtoken', createFormKey('')), array('data-name', htmlspecialchars($document->getName(), ENT_QUOTES))));
} }
if((count($clipboard['docs']) + count($clipboard['folders'])) > 0) { if((count($clipboard['docs']) + count($clipboard['folders'])) > 0) {
$subitems[] = array('divider'=>true); $subitems[] = array('divider'=>true);

View File

@ -69,6 +69,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters']; $previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard']; $dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $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')); echo $this->contentHeading(getMLText('new_documents'));
$documents = $dms->getLatestChanges('newdocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time()); $documents = $dms->getLatestChanges('newdocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); $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) { if (count($documents) > 0) {
$this->printList($documents, $previewer); $this->printList($documents, $previewer);
} }
@ -94,6 +100,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters']; $previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard']; $dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $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')); echo $this->contentHeading(getMLText('updated_documents'));
$documents = $dms->getLatestChanges('updateddocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time()); $documents = $dms->getLatestChanges('updateddocuments', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); $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) { if (count($documents) > 0) {
$this->printList($documents, $previewer); $this->printList($documents, $previewer);
} }
@ -119,6 +131,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$previewconverters = $this->params['previewConverters']; $previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$dayspastdashboard = $this->params['dayspastdashboard']; $dayspastdashboard = $this->params['dayspastdashboard'];
$excludedfolders = $this->params['excludedfolders'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $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')); echo $this->contentHeading(getMLText('status_change'));
$documents = $dms->getLatestChanges('statuschange', mktime(0, 0, 0)-$dayspastdashboard*86400, time()); $documents = $dms->getLatestChanges('statuschange', mktime(0, 0, 0)-$dayspastdashboard*86400, time());
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); $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) { if (count($documents) > 0) {
$this->printList($documents, $previewer); $this->printList($documents, $previewer);
} }
@ -156,7 +174,7 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
$this->htmlStartPage(getMLText("calendar")); $this->htmlStartPage(getMLText("dashboard"));
$this->globalNavigation(); $this->globalNavigation();
$this->contentStart(); $this->contentStart();

View File

@ -353,7 +353,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Theme_Style {
print "<li>".$arr[0].": ".$arr[1]."</li>\n"; print "<li>".$arr[0].": ".$arr[1]."</li>\n";
} else { } else {
$attrdef = $attribute->getAttributeDefinition(); $attrdef = $attribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $attribute->getValueAsArray()))."</li>\n"; print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($attribute->getValueAsString())."</li>\n";
} }
} }
} }

View File

@ -139,7 +139,7 @@ $(document).ready( function() {
if(!$nodocumentformfields || !in_array('categories', $nodocumentformfields)) { if(!$nodocumentformfields || !in_array('categories', $nodocumentformfields)) {
$options = array(); $options = array();
foreach($categories as $category) { 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( $this->formField(
getMLText("categories"), getMLText("categories"),

View File

@ -45,6 +45,7 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
function show() { /* {{{ */ function show() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$settings = $this->params['settings'];
$orderby = $this->params['orderby']; $orderby = $this->params['orderby'];
$orderdir = $this->params['orderdir']; $orderdir = $this->params['orderdir'];
$conversionmgr = $this->params['conversionmgr']; $conversionmgr = $this->params['conversionmgr'];
@ -56,6 +57,7 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$days = $this->params['days']; $days = $this->params['days'];
$startts = $this->params['startts']; $startts = $this->params['startts'];
$endts = $this->params['endts']; $endts = $this->params['endts'];
$seluser = $this->params['seluser'];
$db = $dms->getDB(); $db = $dms->getDB();
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
@ -91,6 +93,21 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
getMLText("enddate"), getMLText("enddate"),
$this->getDateChooser(getReadableDate($endts), "enddate", $this->params['session']->getLanguage(), '', '') $this->getDateChooser(getReadableDate($endts), "enddate", $this->params['session']->getLanguage(), '', '')
); );
$allUsers = $dms->getAllUsers($settings->_sortUsersInList);
foreach ($allUsers as $currUser) {
if (!$currUser->isGuest())
$options[] = array($currUser->getID(), htmlspecialchars($currUser->getLogin()), $seluser && ($seluser->getId() == $currUser->getId()), array(array('data-subtitle', htmlspecialchars($currUser->getFullName()))));
}
$this->formField(
getMLText("user"),
array(
'element'=>'select',
'name'=>'seluserid',
'class'=>'chzn-select',
'options'=>$options,
'attributes'=>array(array('data-allow-clear', 'true'), array('data-placeholder', getMLText('select_user'))),
)
);
$this->formSubmit("<i class=\"fa fa-refresh\"></i> ".getMLText('update')); $this->formSubmit("<i class=\"fa fa-refresh\"></i> ".getMLText('update'));
?> ?>
</form> </form>
@ -99,7 +116,7 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$this->columnStart(8); $this->columnStart(8);
if(is_numeric($days)) { if(is_numeric($days)) {
$docs = $dms->getDocumentsExpired($days, null, $orderby, $orderdir, true); $docs = $dms->getDocumentsExpired($days, $seluser, $orderby, $orderdir, true);
$this->contentHeading(''.$days); $this->contentHeading(''.$days);
} else { } else {
$d = []; $d = [];
@ -107,7 +124,7 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$d['start'] = $startts; $d['start'] = $startts;
if($endts) if($endts)
$d['end'] = $endts+86400; $d['end'] = $endts+86400;
$docs = $dms->getDocumentsExpired($d, null, $orderby, $orderdir, true); $docs = $dms->getDocumentsExpired($d, $seluser, $orderby, $orderdir, true);
$this->contentHeading(getReadableDate($startts)." - ".getReadableDate($endts)); $this->contentHeading(getReadableDate($startts)." - ".getReadableDate($endts));
} }
if($docs) { if($docs) {
@ -137,4 +154,3 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$this->htmlEndPage(); $this->htmlEndPage();
} /* }}} */ } /* }}} */
} }
?>

View File

@ -55,6 +55,25 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
}); });
*/ */
}); });
$('body').on('click', '#btn_save_config', function(ev){
var element = $(this);
ev.preventDefault();
$.ajax({url: '../op/op.Settings.php',
type: 'POST',
dataType: "json",
data: data = $('#formconfig').serializeArray(),
success: function(data) {
noty({
text: data.msg,
type: (data.error) ? 'error' : 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
}
});
});
$('body').on('click', 'a.toggle', function(ev){ $('body').on('click', 'a.toggle', function(ev){
// $('a.toggle').click(function(ev){ // $('a.toggle').click(function(ev){
var element = $(this); var element = $(this);
@ -247,8 +266,10 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) { if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) {
echo $this->getModalBoxLink(array('target'=>'extensionChangelog', 'remote'=>'out.ExtensionMgr.php?action=changelog&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-reorder"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog')))); echo $this->getModalBoxLink(array('target'=>'extensionChangelog', 'remote'=>'out.ExtensionMgr.php?action=changelog&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-reorder"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog'))));
} }
if($extconf['config']) if($extconf['config']) {
echo "<a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\" title=\"".getMLText('configure_extension')."\"><i class=\"fa fa-cogs\"></i></a>"; // echo "<a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\" title=\"".getMLText('configure_extension')."\"><i class=\"fa fa-cogs\"></i></a>";
echo $this->getModalBoxLink(array('target'=>'extensionConfig', 'remote'=>'out.Settings.php?action=extension&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-cogs"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog'), 'data-modal-title'=>'<i class=\'fa fa-circle'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? ' disabled' : ' enabled').'\'></i> '.$extconf['title'])));
}
if($settings->_enableExtensionDownload) if($settings->_enableExtensionDownload)
echo "<form style=\"display: inline-block; margin: 0px;\" method=\"post\" action=\"../op/op.ExtensionMgr.php\" id=\"".$extname."-download\">".createHiddenFieldWithKey('extensionmgr')."<input type=\"hidden\" name=\"action\" value=\"download\" /><input type=\"hidden\" name=\"extname\" value=\"".$extname."\" /><a class=\"download\" data-extname=\"".$extname."\" title=\"".getMLText('download_extension')."\"><i class=\"fa fa-download\"></i></a></form>"; echo "<form style=\"display: inline-block; margin: 0px;\" method=\"post\" action=\"../op/op.ExtensionMgr.php\" id=\"".$extname."-download\">".createHiddenFieldWithKey('extensionmgr')."<input type=\"hidden\" name=\"action\" value=\"download\" /><input type=\"hidden\" name=\"extname\" value=\"".$extname."\" /><a class=\"download\" data-extname=\"".$extname."\" title=\"".getMLText('download_extension')."\"><i class=\"fa fa-download\"></i></a></form>";
if(is_writeable($settings->_configFilePath) && $check) { if(is_writeable($settings->_configFilePath) && $check) {
@ -392,6 +413,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
echo $this->getModalBox(array('id'=>'extensionInfo', 'title'=>getMLText('extension_version_list'), 'content'=>'<p>'.getMLText('extension_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close'))))); echo $this->getModalBox(array('id'=>'extensionInfo', 'title'=>getMLText('extension_version_list'), 'content'=>'<p>'.getMLText('extension_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
echo $this->getModalBox(array('id'=>'extensionChangelog', 'title'=>getMLText('extension_changelog'), 'content'=>'<p>'.getMLText('changelog_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close'))))); echo $this->getModalBox(array('id'=>'extensionChangelog', 'title'=>getMLText('extension_changelog'), 'content'=>'<p>'.getMLText('changelog_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
echo $this->getModalBox(array('id'=>'extensionReadme', 'title'=>getMLText('extension_readme'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close'))))); echo $this->getModalBox(array('id'=>'extensionReadme', 'title'=>getMLText('extension_readme'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
echo $this->getModalBox(array('id'=>'extensionConfig', 'title'=>getMLText('extension_config'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')), array('id'=>'btn_save_config', 'title'=>getMLText('save')))));
$this->contentEnd(); $this->contentEnd();
$this->htmlEndPage(); $this->htmlEndPage();
} /* }}} */ } /* }}} */

View File

@ -13,11 +13,6 @@
* @version Release: @package_version@ * @version Release: @package_version@
*/ */
/**
* Include parent class
*/
//require_once("class.Bootstrap.php");
/** /**
* Class which outputs the html page for Info view * Class which outputs the html page for Info view
* *
@ -60,17 +55,30 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
$this->rowStart(); $this->rowStart();
$this->columnStart(6); $this->columnStart(6);
$this->contentHeading(getMLText("seeddms_info")); $this->contentHeading(getMLText("seeddms_info"));
$seedextensions = $extmgr->getExtensionConfiguration(); echo "<table class=\"table table-condensed table-sm\">\n";
echo "<thead>\n<tr>\n";
echo "<th>".getMLText("name")."</th>\n";
echo "</tr>\n</thead>\n<tbody>\n";
$dbversion = $dms->getDBVersion();
echo "<tr><td>".getMLText('seeddms_version')."</td><td>".$version->version()."</td></tr>\n";
if($user->isAdmin()) {
$storage = $dms->getStorage();
echo "<tr><td>".getMLText('database_schema_version')."</td><td>".$dbversion['major'].".".$dbversion['minor'].".".$dbversion['subminor']."</td></tr>\n";
echo "<tr></td><td>".getMLText('storage')."</td><td>".($storage ? $storage->info() : "legacy")."</td></tr>\n";
}
echo "</tbody>\n</table>\n";
if($user->isAdmin()) {
$this->contentHeading(getMLText("extension_info"));
echo "<table class=\"table table-condensed table-sm\">\n"; echo "<table class=\"table table-condensed table-sm\">\n";
echo "<thead>\n<tr>\n"; echo "<thead>\n<tr>\n";
echo "<th></th>"; echo "<th></th>";
echo "<th></th>";
echo "<th>".getMLText("name"); echo "<th>".getMLText("name");
echo "<th>".getMLText("version")."</th>\n";
echo "</th>\n"; echo "</th>\n";
echo "</tr>\n</thead>\n<tbody>\n"; echo "</tr>\n</thead>\n<tbody>\n";
$dbversion = $dms->getDBVersion(); $seedextensions = $extmgr->getExtensionConfiguration();
echo "<tr><td></td><td></td><td>".getMLText('seeddms_version')."</td><td>".$version->version()."</td></tr>\n";
if($user->isAdmin()) {
echo "<tr><td></td><td></td><td>".getMLText('database_schema_version')."</td><td>".$dbversion['major'].".".$dbversion['minor'].".".$dbversion['subminor']."</td></tr>\n";
foreach($seedextensions as $extname=>$extconf) { foreach($seedextensions as $extname=>$extconf) {
echo "<tr><td>"; echo "<tr><td>";
if(!$settings->extensionIsDisabled($extname)) if(!$settings->extensionIsDisabled($extname))
@ -85,8 +93,8 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
echo "<td>".$extname."<br />".$extconf['title']."</td><td>".$extconf['version']."</td>"; echo "<td>".$extname."<br />".$extconf['title']."</td><td>".$extconf['version']."</td>";
echo "</tr>\n"; echo "</tr>\n";
} }
}
echo "</tbody>\n</table>\n"; echo "</tbody>\n</table>\n";
}
$this->columnEnd(); $this->columnEnd();
$this->columnStart(6); $this->columnStart(6);
if($user->isAdmin()) { if($user->isAdmin()) {
@ -98,6 +106,7 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
echo "</tr>\n</thead>\n<tbody>\n"; echo "</tr>\n</thead>\n<tbody>\n";
echo "<tr><td>PHP</td><td>".phpversion()."</td></tr>\n"; echo "<tr><td>PHP</td><td>".phpversion()."</td></tr>\n";
echo "<tr><td>Path to php.ini</td><td>".php_ini_loaded_file()."</td></tr>\n"; echo "<tr><td>Path to php.ini</td><td>".php_ini_loaded_file()."</td></tr>\n";
echo "<tr><td>Timezone</td><td>".date_default_timezone_get()." (Current date/time on server is ".getLongReadableDate(time()).")</td></tr>\n";
echo "</tbody>\n</table>\n"; echo "</tbody>\n</table>\n";
$this->contentHeading(getMLText("installed_php_extensions")); $this->contentHeading(getMLText("installed_php_extensions"));
@ -116,7 +125,7 @@ class SeedDMS_View_Info extends SeedDMS_Theme_Style {
$this->contentHeading(getMLText("missing_php_functions_and_classes")); $this->contentHeading(getMLText("missing_php_functions_and_classes"));
$missingfunc = []; $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)) { if(!function_exists($funcname)) {
$missingfunc[] = $funcname; //getMLText('func_'.$funcname."_missing") $missingfunc[] = $funcname; //getMLText('func_'.$funcname."_missing")
} }

Some files were not shown because too many files have changed in this diff Show More