Merge branch 'seeddms-6.0.x' into seeddms-6.1.x

This commit is contained in:
Uwe Steinmann 2024-04-08 18:13:36 +02:00
commit a6f6807c67
99 changed files with 3734 additions and 1420 deletions

View File

@ -6,7 +6,7 @@ Header set X-Content-Type-Options: "nosniff"
</IfModule>
RewriteEngine On
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#RewriteRule "^favicon\.ico$" "-" [L]
#RewriteRule "^(favicon\.ico)$" %{HTTP_HOST}/views/bootstrap/images/favicon.svg [L,NC]
RewriteRule "^(favicon\.ico)" /views/bootstrap/images/favicon.svg [L,NC]

View File

@ -7,6 +7,14 @@
when passwords are reset
- count failed runs of a task, disable it after 5 failures
--------------------------------------------------------------------------------
Changes in version 6.0.27
--------------------------------------------------------------------------------
- merge changes up to 5.1.34
- Document/folder check distinguishes between documents which cannot be
receiped/revised because of access rights or the recipient/revisor being
disabled.
--------------------------------------------------------------------------------
Changes in version 6.0.26
--------------------------------------------------------------------------------
@ -280,10 +288,29 @@
- add document list which can be exported as an archive
- search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.34
--------------------------------------------------------------------------------
- introduce global reviewer/approver
- group managers can be used as mandatory reviewers/approvers for all
users of that group
- update sabre/dav to 4.*
- show parent folder of document in lists of documents (calendar, dashboard)
- documents can be updated by dragging a file on a document list item
- dragging a folder on a folder list item oder the drag and drop area will
recursively upload the folder hierarchy including all files
- fix checking if user is owner when sending notifications
- do not show fast upload area if access on folder is insufficient
- do not send notification mail 'submitted review/approval' to owner of
document, still send it to uploader of version
- set default language in login form if language selector is turned off
- do not show full list of notifiers to none admins
- do not list document/folders in sequence selector if its number exceeds 50
- typeahead menu works with arrow keys again, wait 1 sec. before searching
--------------------------------------------------------------------------------
Changes in version 5.1.33
--------------------------------------------------------------------------------
- requires php 8.x
- use SeedDMS_Core_File::mimetype() to determine mime type when uploading a
file with drag&drop
- user images may be 300px height, do not scale them up

View File

@ -7,8 +7,8 @@
"require": {
"robthree/twofactorauth": "^1.5",
"sabre/dav": "^3.",
"sabre/xml": "^1.4.",
"sabre/dav": "^4.",
"sabre/xml": "*",
"slim/slim": "^3.0",
"erusev/parsedown": "*",
"erusev/parsedown-extra": "*",

View File

@ -56,13 +56,40 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$reqversion = $this->getParam('reqversion');
$version_comment = $this->getParam('versioncomment');
$attributes = $this->getParam('attributes');
foreach($attributes as $attrdefid=>$attribute) {
foreach($attributes as $attrdefid=>&$attribute) {
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
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));
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)) {
@ -80,13 +107,40 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
}
}
if($attributes_version = $this->getParam('attributesversion')) {
foreach($attributes_version as $attrdefid=>$attribute) {
foreach($attributes_version as $attrdefid=>&$attribute) {
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
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));
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)) {

View File

@ -41,13 +41,40 @@ class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common {
$comment = $this->getParam('comment');
$sequence = $this->getParam('sequence');
$attributes = $this->getParam('attributes');
foreach($attributes as $attrdefid=>$attribute) {
foreach($attributes as $attrdefid=>&$attribute) {
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
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));
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)) {

View File

@ -0,0 +1,114 @@
<?php
/**
* Implementation of CheckInDocument controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2024 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for downloading a document
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2024 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_CheckInDocument extends SeedDMS_Controller_Common {
public function run() { /* {{{ */
$name = $this->getParam('name');
$comment = $this->getParam('comment');
/* Call preCheckInDocument early, because it might need to modify some
* of the parameters.
*/
if(false === $this->callHook('preCheckInDocument', $this->params['document'])) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preCheckInDocument_failed';
return null;
}
$comment = $this->getParam('comment');
$dms = $this->params['dms'];
$user = $this->params['user'];
$document = $this->params['document'];
$settings = $this->params['settings'];
$fulltextservice = $this->params['fulltextservice'];
$folder = $this->params['folder'];
$userfiletmp = $this->getParam('userfiletmp');
$userfilename = $this->getParam('userfilename');
$filetype = $this->getParam('filetype');
$userfiletype = $this->getParam('userfiletype');
$reviewers = $this->getParam('reviewers');
$approvers = $this->getParam('approvers');
$recipients = $this->getParam('recipients');
$reqversion = $this->getParam('reqversion');
$comment = $this->getParam('comment');
$attributes = $this->getParam('attributes');
$workflow = $this->getParam('workflow');
$maxsizeforfulltext = $this->getParam('maxsizeforfulltext');
$initialdocumentstatus = $this->getParam('initialdocumentstatus');
$content = $this->callHook('checkinDocument');
if($content === null) {
if($contentResult=$document->checkIn($comment, $user, $reviewers, $approvers, $version=0, $attributes, $workflow, $initialdocumentstatus)) {
if ($this->hasParam('expires')) {
if($document->setExpires($this->getParam('expires'))) {
} else {
}
}
if(!empty($recipients['i'])) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $contentResult->getContent()->addIndRecipient($u, $user);
}
}
}
if(!empty($recipients['g'])) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $contentResult->getContent()->addGrpRecipient($g, $user);
}
}
}
$content = $contentResult->getContent();
} else {
$this->errormsg = 'error_checkin_document';
$result = false;
}
} elseif($result === false) {
if(empty($this->errormsg))
$this->errormsg = 'hook_checkinDocument_failed';
return false;
}
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $content) {
$idoc = $fulltextservice->IndexedDocument($document);
if(false !== $this->callHook('preIndexDocument', $document, $idoc)) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getDocument((int) $document->getId())) {
$index->delete($hit->id);
}
$index->addDocument($idoc);
$index->commit();
}
}
if(false === $this->callHook('postCheckInDocument', $document, $content)) {
}
return $content;
} /* }}} */
}

View File

@ -122,7 +122,34 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
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));
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, $document, false)) {

View File

@ -51,33 +51,61 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
$oldattributes = $folder->getAttributes();
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
break;
}
if(!$attrdef->validate($attribute, $folder, false)) {
$this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
}
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
switch($attrdef->getType()) {
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));
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, $folder, false)) {
$this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$folder->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$folder->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
return false;
}
} elseif($attrdef->getMinValues() > 0) {
$this->errormsg = getMLText("attr_min_values", array("attrname"=>$attrdef->getName()));
return false;
} elseif(isset($oldattributes[$attrdefid])) {
if(!$folder->removeAttribute($dms->getAttributeDefinition($attrdefid)))
return false;
}
} else {
if($ret === false)
return false;
}
} elseif($attrdef->getMinValues() > 0) {
$this->errormsg = getMLText("attr_min_values", array("attrname"=>$attrdef->getName()));
return false;
} elseif(isset($oldattributes[$attrdefid])) {
if(!$folder->removeAttribute($dms->getAttributeDefinition($attrdefid)))
return false;
}
} else {
if($ret === false)
return false;
}
}
}

View File

@ -22,6 +22,10 @@
*/
class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
public $oldstatus;
public $newstatus;
public function run() {
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -32,6 +36,9 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
$revisiontype = $this->params['revisiontype'];
$group = $this->params['group'];
$comment = $this->params['comment'];
$overallStatus = $content->getStatus();
$this->oldstatus = $overallStatus['status'];
$this->newstatus = $this->oldstatus;
/* if set to true, a single reject will reject the doc. If set to false
* all revisions will be collected first and afterwards the doc is rejected
@ -71,6 +78,7 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
$result = $this->callHook('reviseUpdateDocumentStatus', $content);
if($result === null) {
if ($onevotereject && $revisionstatus == -1){
$this->newstatus = S_NEEDS_CORRECTION;
if(!$content->setStatus(S_NEEDS_CORRECTION,$comment,$user)) {
$this->error = 1;
$this->errormsg = "revision_update_failed";
@ -102,22 +110,22 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
// of them were rejections then documents needs correction.
// Otherwise put it back into revision workflow
if ($revisionok == $revisionTotal) {
$newStatus=S_RELEASED;
if ($content->finishRevision($user, $newStatus, 'Finished revision workflow', getMLText("automatic_status_update"))) {
$this->newstatus=S_RELEASED;
if ($content->finishRevision($user, $this->newstatus, 'Finished revision workflow', getMLText("automatic_status_update"))) {
if(!$this->callHook('finishReviseDocument', $content)) {
}
}
} elseif (($revisionok + $revisionnotok) == $revisionTotal) {
$newStatus=S_NEEDS_CORRECTION;
// if ($content->finishRevision($user, $newStatus, 'Finished revision workflow', getMLText("automatic_status_update"))) {
if(!$content->setStatus($newStatus,$comment,$user)) {
$this->newstatus=S_NEEDS_CORRECTION;
// if ($content->finishRevision($user, $this->newstatus, 'Finished revision workflow', getMLText("automatic_status_update"))) {
if(!$content->setStatus($this->newstatus,$comment,$user)) {
$this->error = 1;
$this->errormsg = "revision_update_failed";
return false;
}
} else {
$newStatus=S_IN_REVISION;
if(!$content->setStatus($newStatus,$comment,$user)) {
$this->newstatus=S_IN_REVISION;
if(!$content->setStatus($this->newstatus,$comment,$user)) {
$this->error = 1;
$this->errormsg = "revision_update_failed";
return false;

View File

@ -106,6 +106,11 @@ op/op.ReviewDocument.php
* document was reviewed
subscribers of the document
op/op.SetReviewersApprovers.php
* Reviewers/approvers were added/deleted
subscribers of the document
uploader of version
op/op.RewindWorkflow.php
* Workflow was rewind to beginning
subscribers of the document
@ -121,3 +126,28 @@ op/op.TriggerWorkflow.php
op/op.UpdateDocument.php
* document was updated
subscribers of the document
op/op.ReceiptDocument.php
* document was received
subscribers of the document
op/op.ReviseDocument.php
* document was revised
subscribers of the document
op/op.SetRevisors.php
* Revisors were added/deleted
subscribers of the document
uploader of version
revisor
op/op.ReceiptDocument.php
* document was receipt
subscribers of the document
op/op.SetRecipients.php
* Recipients were added/deleted
subscribers of the document
uploader of version
recipient

View File

@ -7,7 +7,17 @@ http://petstore.swagger.io/ or http://editor.swagger.io/
You may as well set up your own swagger-ui installation as described at
https://medium.com/@tatianaensslin/how-to-add-swagger-ui-to-php-server-code-f1610c01dc03
Your apache needs to have the module 'header' enabled, because some HTTP headers
are set when the file swagger.yaml is accessed by the editor.
Your apache needs to have the module `header` enabled, because some HTTP headers
are set when the file `swagger.yaml` is accessed by the editor.
Currently, the swagger.yaml shipped with SeedDMS uses still swagger 2.0
If you are using php-fpm you will have to ensure that files with
extension .yaml are allowed to be parsed. Extend the
`security.limit_extensions` in the pool configuration by `.yaml`. Also
check the contents of the file `.htaccess` in directory `restapi`. It
by default sets the handler for php to `application/x-httpd-php` which
uses the apache module of php. If you would like to use php-fpm
instead, then set it to
SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"

View File

@ -67,8 +67,18 @@ class SeedDMS_ConversionServiceImageToImage extends SeedDMS_ConversionServiceBas
} else {
return $imagick->getImageBlob();
}
} else {
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with image service failed: could not read input file.', PEAR_LOG_ERR);
}
$this->success = false;
return false;
}
} catch (ImagickException $e) {
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with image service failed: '.$e->getMessage(), PEAR_LOG_ERR);
}
$this->success = false;
return false;
}
} elseif(extension_loaded('gd')) {
@ -102,6 +112,10 @@ class SeedDMS_ConversionServiceImageToImage extends SeedDMS_ConversionServiceBas
return $image;
}
} else {
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with image service failed: could not read input file.', PEAR_LOG_ERR);
}
$this->success = false;
return false;
}
}

View File

@ -83,6 +83,10 @@ class SeedDMS_ConversionServicePdfToImage extends SeedDMS_ConversionServiceBase
} else {
return $imagick->getImageBlob();
}
} else {
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with pdf service failed: could not read input file.', PEAR_LOG_ERR);
}
}
} catch (ImagickException $e) {
if($this->logger) {

View File

@ -47,6 +47,11 @@ class SeedDMS_DbAuthentication extends SeedDMS_Authentication {
if($user = $dms->getUserByLogin($username)) {
$userid = $user->getID();
// Check if password matches
if (!seed_pass_verify($password, $user->getPwd())) {
$user = null;
}
} elseif(!empty($this->settings->_enableLoginByEmail) && ($user = $dms->getUserByEmail($username))) {
// Check if password matches
if (!seed_pass_verify($password, $user->getPwd())) {
$user = null;

View File

@ -167,11 +167,11 @@ class SeedDMS_FulltextService {
if($previewer->hasPreview($version)) {
$filename = $previewer->getFileName($version).'.txt';
$result['content'] = file_get_contents($filename);
$result['cmd'] = 'previewer '.$previewer->getFileSize($version);
$result['cmd'] = 'text converter '.$previewer->getFileSize($version);
}
} else {
$result['cmd'] = 'previewer';
$result['errormsg'] = 'Creating preview failed';
$result['cmd'] = 'text converter';
$result['errormsg'] = 'Creating plain text failed';
}
}
return $result;

View File

@ -47,9 +47,21 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
if(isset($ldapgroups['count']))
$count = (int) $ldapgroups['count'];
for ($i = 0; $i < $count; $i++) {
$tmp = ldap_explode_dn($ldapgroups[$i], 1);
if(0) {
/* ldap_explode_dn() turns all utf-8 chars into \xx
* This needs to be undone with the following regex.
*/
$tmp = ldap_explode_dn($ldapgroups[$i], 1);
$tmp[0] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function ($matches) { return chr(hexdec($matches[1])); }, $tmp[0]);
} else {
/* Second option would be to not using ldap_explode_dn()
* and just extract the cn with
* preg_match('/[^cn=]([^,]*)/i', $ldapgroups[$i], $tmp);
*/
preg_match('/[^cn=]([^,]*)/i', $ldapgroups[$i], $tmp);
}
if (!in_array($tmp[0], $groupnames)) {
$groupnames[] = $tmp[0];
$groupnames[] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function ($matches) { return chr(hexdec($matches[1])); }, $tmp[0]);
}
}
@ -114,14 +126,16 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
* look like if searching for that user didn't return a dn.
*/
if (isset($settings->_ldapBaseDN)) {
$ldapSearchAttribut = "uid=";
$ldapSearchAttribut = "uid";
/* $tmpDN will only be used as a last resort if searching for the user failed */
$tmpDN = "uid=".$username.",".$settings->_ldapBaseDN;
}
/* Active directory has a different base dn */
if (isset($settings->_ldapType)) {
if ($settings->_ldapType==1) {
$ldapSearchAttribut = "sAMAccountName=";
$ldapSearchAttribut = "sAMAccountName";
/* $tmpDN will only be used as a last resort if searching for the user failed */
$tmpDN = $username.'@'.$settings->_ldapAccountDomainName;
// Add the following if authentication with an Active Dir doesn't work
// See https://sourceforge.net/p/seeddms/discussion/general/thread/19c70d8d/
@ -143,7 +157,21 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
} else {
$bind = @ldap_bind($ds);
}
$dn = false;
/* The simplest search is just the username */
$ldapsearchterm = $ldapSearchAttribut.'='.$username;
/* If login by email is allowed, the search for user name is ored with
* the search for the email.
*/
if($settings->_enableLoginByEmail) {
$ldapsearchterm = "|(".$ldapsearchterm.")(mail=".$username.")";
}
/* If a ldap filter is set, it will be anded */
if($settings->_ldapFilter) {
$ldapsearchterm = "&(".$ldapsearchterm.")".$settings->_ldapFilter;
}
/* If bind succeed, then get the dn of the user. If a filter
* is set, it will be used to allow only those users to log in
* matching the filter criteria. Depending on the type of server,
@ -151,19 +179,32 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
* 'sAMAccountName=' or 'uid='. All other filters are ANDed.
* A common filter is '(mail=*)' to ensure a user has an email
* address.
* If the previous bind failed, we could try later to bind with
* the user's credentials (this was until 6.0.26 and 5.1.33 the case),
* but if login by email is allowed, it makes no sense to try it. The
* only way to bind is by using a correct dn and that cannot be
* formed with an email.
*/
if ($bind) {
/*
if (!empty($settings->_ldapFilter)) {
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.$username.")".$settings->_ldapFilter.")");
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.'='.$username.")".$settings->_ldapFilter.")");
} else {
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.$username);
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.'='.$username);
}
*/
$search = ldap_search($ds, $settings->_ldapBaseDN, "(".$ldapsearchterm.")");
if (!is_bool($search)) {
$info = ldap_get_entries($ds, $search);
if (!is_bool($info) && $info["count"]>0) {
$dn = $info[0]['dn'];
/* Set username to login name in case the email was used for authentication */
$username = $info[0][$ldapSearchAttribut][0];
}
}
} elseif(!empty($settings->_enableLoginByEmail)) {
ldap_close($ds);
return null;
}
/* If the previous bind failed, try it with the users creditionals
@ -176,8 +217,10 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
* If that user was filtered out, because filter was set to '(mail=*)'
* and the user doesn't have a mail address, then $dn will not be
* set and $tmpDN will be used instead, allowing a successfull bind.
* Also do not take the $tmpDN if login by email is allowed, because
* the username could be the email and that doesn't form a valid dn.
*/
if (is_bool($dn) && empty($settings->_ldapFilter)) {
if (is_bool($dn) && empty($settings->_ldapFilter) && empty($settings->_enableLoginByEmail)) {
$dn = $tmpDN;
}
@ -189,6 +232,9 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
/* Check if user already exists in the database. Return with an error
* only if the sql statements fails, but not if no user was found.
* The username may not be the one passed to this function anymore. It
* could have been overwritten by uid (or sAMAccountName) derived from
* the above ldap search.
*/
$user = $dms->getUserByLogin($username);
if($user === false) {
@ -205,13 +251,15 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
// Successfully authenticated. Now check to see if the user exists within
// the database. If not, add them in if _restricted is not set,
// but do not add their password.
// but do not set the password of the user.
if (!$settings->_restricted) {
// Retrieve the user's LDAP information.
/* Retrieve the user's LDAP information. At this time the username is
* the uid or sAMAccountName, even if the email was used for login.
*/
if (isset($settings->_ldapFilter) && strlen($settings->_ldapFilter) > 0) {
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.$username.")".$settings->_ldapFilter.")");
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.'='.$username.")".$settings->_ldapFilter.")");
} else {
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.$username);
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.'='.$username);
}
if (!is_bool($search)) {

View File

@ -439,7 +439,7 @@ class SeedDMS_NotificationService {
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $version->getUser()->getID() && $version->getUser()->getID() != $document->getOwner() && false === SeedDMS_Core_DMS::inList($version->getUser(), $nl['users']))
if($user->getID() != $version->getUser()->getID() && $version->getUser()->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($version->getUser(), $nl['users']))
$this->toIndividual($user, $version->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
@ -573,12 +573,12 @@ class SeedDMS_NotificationService {
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner() && 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(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
/**
* This notification is sent when a new attachment is created.
* This notification is sent when an attachment is deleted.
*/
public function sendDeleteFileMail($file, $user) { /* {{{ */
$document = $file->getDocument();
@ -644,7 +644,7 @@ class SeedDMS_NotificationService {
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['attribute_name'] = $attribute->getAttributeDefinition()->getName();
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValue();
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValueAsString();
$params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : '';
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
@ -669,7 +669,7 @@ class SeedDMS_NotificationService {
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['attribute_name'] = $dms->getAttributeDefinition($attrdefid)->getName();
$params['attribute_value'] = $attribute->getValue();
$params['attribute_value'] = $attribute->getValueAsString();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
@ -699,8 +699,8 @@ class SeedDMS_NotificationService {
$params['name'] = $folder->getName();
$params['folder_id'] = $folder->getId();
$params['attribute_name'] = $attribute->getAttributeDefinition()->getName();
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValue();
$params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : '';
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValueAsString();
$params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValueAsString() : '';
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
@ -722,8 +722,9 @@ class SeedDMS_NotificationService {
$message = "folder_attribute_added_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_id'] = $folder->getId();
$params['attribute_name'] = $dms->getAttributeDefinition($attrdefid)->getName();
$params['attribute_value'] = $attribute->getValue();
$params['attribute_value'] = $attribute->getValueAsString();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
@ -816,10 +817,10 @@ class SeedDMS_NotificationService {
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$this->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
// if user is not uploader of the version send notification to uploader
if ($user->getID() != $content->getUser()->getID() &&
false === SeedDMS_Core_DMS::inList($content->getUser(), $notifyList['users'])) {
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
}
$this->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
@ -1013,7 +1014,7 @@ class SeedDMS_NotificationService {
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner() && 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(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
@ -1125,14 +1126,16 @@ class SeedDMS_NotificationService {
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
/*
if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
$this->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
*/
/* Send mail to uploader of version only if the uploader is not the owner and
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner() && 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(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
@ -1161,14 +1164,90 @@ class SeedDMS_NotificationService {
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
/*
if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
$this->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
*/
/* Send mail to uploader of version only if the uploader is not the owner and
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() && $content->getUser()->getID() != $document->getOwner() && 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(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
public function sendSubmittedReceiptMail($content, $user, $receiptlog) { /* {{{ */
$document = $content->getDocument();
$nl=$document->getNotifyList();
$folder = $document->getFolder();
$subject = "receipt_submit_email_subject";
$message = "receipt_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['version'] = $content->getVersion();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getReceiptStatusText($receiptlog["status"]);
$params['comment'] = $receiptlog['comment'];
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$this->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$this->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
/*
if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
$this->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
*/
/* Send mail to uploader of version only if the uploader is not the owner and
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() /* && $content->getUser()->getID() != $document->getOwner()->getID() */ && false === SeedDMS_Core_DMS::inList($content->getUser(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
public function sendSubmittedRevisionMail($content, $user, $revisionlog) { /* {{{ */
$document = $content->getDocument();
$nl=$document->getNotifyList();
$folder = $document->getFolder();
$subject = "revision_submit_email_subject";
$message = "revision_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['version'] = $content->getVersion();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getRevisionStatusText($revisionlog["status"]);
$params['comment'] = $revisionlog['comment'];
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$this->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$this->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
/*
if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
$this->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
*/
/* Send mail to uploader of version only if the uploader is not the owner and
* the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
if($user->getID() != $content->getUser()->getID() /* && $content->getUser()->getID() != $document->getOwner()->getID() */ && false === SeedDMS_Core_DMS::inList($content->getUser(), $nl['users']))
$this->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_UPLOADER);
} /* }}} */
@ -1205,7 +1284,11 @@ class SeedDMS_NotificationService {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['username'] = $user->getFullName();
if($reviewer->isType('user'))
$params['reviewer'] = $reviewer->getFullName();
elseif($reviewer->isType('group'))
$params['reviewer'] = $reviewer->getName();
$params['username'] = $user->getName();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
@ -1216,6 +1299,58 @@ class SeedDMS_NotificationService {
$this->toGroup($user, $reviewer, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
} /* }}} */
public function sendDeleteRevisionMail($content, $user, $revisor) { /* {{{ */
$document = $content->getDocument();
$folder = $document->getFolder();
$subject = "revision_deletion_email_subject";
$message = "revision_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
if($revisor->isType('user'))
$params['revisor'] = $revisor->getFullName();
elseif($revisor->isType('group'))
$params['revisor'] = $revisor->getName();
$params['username'] = $user->getFullName();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
if($revisor->isType('user'))
$this->toIndividual($user, $revisor, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
elseif($revisor->isType('group'))
$this->toGroup($user, $revisor, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
} /* }}} */
public function sendDeleteReceiptMail($content, $user, $recipient) { /* {{{ */
$document = $content->getDocument();
$folder = $document->getFolder();
$subject = "receipt_deletion_email_subject";
$message = "receipt_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
if($recipient->isType('user'))
$params['recipient'] = $recipient->getFullName();
elseif($recipient->isType('group'))
$params['recipient'] = $recipient->getName();
$params['username'] = $user->getFullName();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
if($recipient->isType('user'))
$this->toIndividual($user, $recipient, $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
elseif($recipient->isType('group'))
$this->toGroup($user, $recipient, $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
} /* }}} */
/**
* This notification is send if a new approver is added.
*
@ -1267,6 +1402,10 @@ class SeedDMS_NotificationService {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
if($reviewer->isType('user'))
$params['reviewer'] = $reviewer->getFullName();
elseif($reviewer->isType('group'))
$params['reviewer'] = $reviewer->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
@ -1278,6 +1417,60 @@ class SeedDMS_NotificationService {
$this->toGroup($user, $reviewer, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
} /* }}} */
public function sendAddRevisionMail($content, $user, $revisor) { /* {{{ */
$document = $content->getDocument();
$folder = $document->getFolder();
$subject = "revision_request_email_subject";
$message = "revision_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
if($revisor->isType('user'))
$params['revisor'] = $revisor->getFullName();
elseif($revisor->isType('group'))
$params['revisor'] = $user->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($revisor->isType('user'))
$this->toIndividual($user, $revisor, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
elseif($revisor->isType('group'))
$this->toGroup($user, $revisor, $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
} /* }}} */
public function sendAddReceiptMail($content, $user, $recipient) { /* {{{ */
$document = $content->getDocument();
$folder = $document->getFolder();
$subject = "receipt_request_email_subject";
$message = "receipt_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['document_id'] = $document->getId();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
if($recipient->isType('user'))
$params['recipient'] = $recipient->getFullName();
elseif($recipient->isType('group'))
$params['recipient'] = $user->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$this->settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $this->settings->_siteName;
$params['http_root'] = $this->settings->_httpRoot;
if($recipient->isType('user'))
$this->toIndividual($user, $recipient, $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
elseif($recipient->isType('group'))
$this->toGroup($user, $recipient, $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
} /* }}} */
public function sendChangedDocumentOwnerMail($document, $user, $oldowner) { /* {{{ */
if($oldowner->getID() != $document->getOwner()->getID()) {
$notifyList = $document->getNotifyList();

View File

@ -47,6 +47,8 @@ class Settings { /* {{{ */
var $_enableGuestAutoLogin = false;
// Set to true for 2-factor Authentication
var $_enable2FactorAuthentication = false;
// If you want to allow login by email, set the following to true
var $_enableLoginByEmail = false;
// Allow users to reset their password
var $_enablePasswordForgotten = false;
// Do not allow users to change password
@ -190,7 +192,7 @@ class Settings { /* {{{ */
var $_enableHiddenRevApp = true;
// enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false;
// enable/disable removal of a review/approval by the admiistrator
// enable/disable removal of a review/approval by the administrator
var $_enableRemoveRevApp = false;
// enable/disable listing logged in user as recipient
var $_enableSelfReceipt = false;
@ -204,6 +206,18 @@ class Settings { /* {{{ */
var $_enableOwnerReceipt = false;
// enable/disable filter for receipt by the recipient
var $_enableFilterReceipt = false;
// group manager is mandatory reviewer
var $_addManagerAsReviewer = false;
// group manager is mandatory approver
var $_addManagerAsApprover = false;
// global individuel reviewer
var $_globalReviewer = array();
// global individuel approver
var $_globalApprover = array();
// global group reviewer
var $_globalGroupReviewer = array();
// global group approver
var $_globalGroupApprover = array();
// enable/disable default notification for owner
var $_enableOwnerNotification = false;
// enable/disable deleting of versions for regular users
@ -670,6 +684,7 @@ class Settings { /* {{{ */
$this->_enableGuestLogin = Settings::boolVal($tab["enableGuestLogin"]);
$this->_enableGuestAutoLogin = Settings::boolVal($tab["enableGuestAutoLogin"]);
$this->_enable2FactorAuthentication = Settings::boolVal($tab["enable2FactorAuthentication"]);
$this->_enableLoginByEmail = Settings::boolVal($tab["enableLoginByEmail"]);
$this->_enablePasswordForgotten = Settings::boolVal($tab["enablePasswordForgotten"]);
$this->_passwordStrength = intval($tab["passwordStrength"]);
$this->_passwordStrengthAlgorithm = strval($tab["passwordStrengthAlgorithm"]);
@ -808,6 +823,16 @@ class Settings { /* {{{ */
$this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]);
$this->_enableUpdateReceipt = Settings::boolval($tab["enableUpdateReceipt"]);
$this->_enableFilterReceipt = Settings::boolval($tab["enableFilterReceipt"]);
$this->_addManagerAsReviewer = Settings::boolval($tab["addManagerAsReviewer"]);
$this->_addManagerAsApprover = Settings::boolval($tab["addManagerAsApprover"]);
if(trim(strval($tab["globalReviewer"])))
$this->_globalReviewer = explode(',',strval($tab["globalReviewer"]));
if(trim(strval($tab["globalApprover"])))
$this->_globalApprover = explode(',',strval($tab["globalApprover"]));
if(trim(strval($tab["globalGroupReviewer"])))
$this->_globalGroupReviewer = explode(',',strval($tab["globalGroupReviewer"]));
if(trim(strval($tab["globalGroupApprover"])))
$this->_globalGroupApprover = explode(',',strval($tab["globalGroupApprover"]));
$this->_presetExpirationDate = strval($tab["presetExpirationDate"]);
$this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]);
$this->_versioningFileName = strval($tab["versioningFileName"]);
@ -1065,6 +1090,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableGuestLogin", $this->_enableGuestLogin);
$this->setXMLAttributValue($node, "enableGuestAutoLogin", $this->_enableGuestAutoLogin);
$this->setXMLAttributValue($node, "enable2FactorAuthentication", $this->_enable2FactorAuthentication);
$this->setXMLAttributValue($node, "enableLoginByEmail", $this->_enableLoginByEmail);
$this->setXMLAttributValue($node, "enablePasswordForgotten", $this->_enablePasswordForgotten);
$this->setXMLAttributValue($node, "passwordStrength", $this->_passwordStrength);
$this->setXMLAttributValue($node, "passwordStrengthAlgorithm", $this->_passwordStrengthAlgorithm);
@ -1181,6 +1207,14 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableFilterReceipt", $this->_enableFilterReceipt);
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
$this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus);
$this->setXMLAttributValue($node, "addManagerAsReviewer", $this->_addManagerAsReviewer);
$this->setXMLAttributValue($node, "addManagerAsApprover", $this->_addManagerAsApprover);
$this->setXMLAttributValue($node, "globalReviewer", implode(',', $this->_globalReviewer));
$this->setXMLAttributValue($node, "globalApprover", implode(',', $this->_globalApprover));
$this->setXMLAttributValue($node, "globalGroupReviewer", implode(',', $this->_globalGroupReviewer));
$this->setXMLAttributValue($node, "globalGroupApprover", implode(',', $this->_globalGroupApprover));
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
$this->setXMLAttributValue($node, "apiOrigin", $this->_apiOrigin);
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);
$this->setXMLAttributValue($node, "workflowMode", $this->_workflowMode);
$this->setXMLAttributValue($node, "enableReceiptWorkflow", $this->_enableReceiptWorkflow);

View File

@ -404,10 +404,24 @@ function getAttributeValidationText($error, $attrname='', $attrvalue='', $regex=
} /* }}} */
function getAttributeValidationError($error, $attrname='', $attrvalue='', $regex='') { /* {{{ */
if(is_object($attrvalue))
$attrvalue = $attrvalue->getId();
switch($error) {
case 10:
case 14:
return array("attr_not_in_valueset", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 13:
return array("attr_not_a_group", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 12:
return array("attr_not_a_user", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 11:
return array("attr_not_a_folder", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 10:
return array("attr_not_a_document", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 9:
return array("attr_malformed_date", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;

View File

@ -45,17 +45,20 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$body .= "---------------------------------------------------------------------------------\n";
foreach($docs as $doc) {
$body .= sprintf($tableformat."\n", getReadableDate($doc->getExpires()), $doc->getId(), $doc->getName());
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getExpires()), $doc->getId(), '<a href="'.getBaseUrl().'/out/out.ViewDocument.php? documentid='.$doc->getId().'">'.htmlspecialchars($doc->getName()).'</a>');
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getExpires()), $doc->getId(), '<a href="'.getBaseUrl().'/out/out.ViewDocument.php?documentid='.$doc->getId().'">'.htmlspecialchars($doc->getName()).'</a>');
}
$bodyhtml .= "</table>".PHP_EOL;
$params = array();
$params['count'] = count($docs);
$params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml;
$params['sitename'] = $settings->_siteName;
$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);
if(empty($taskparams['dryrun'])) {
$params = array();
$params['count'] = count($docs);
$params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml;
$params['sitename'] = $settings->_siteName;
$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);
} else {
$logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$u->getLogin().'\'', PEAR_LOG_INFO);
}
}
}
}
@ -68,17 +71,21 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$body .= "---------------------------------------------------------------------------------\n";
foreach($docs as $doc) {
$body .= sprintf($tableformat."\n", getReadableDate($doc->getExpires()), $doc->getId(), $doc->getName());
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getExpires()), $doc->getId(), $doc->getName());
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getExpires()), $doc->getId(), '<a href="'.getBaseUrl().'/out/out.ViewDocument.php?documentid='.$doc->getId().'">'.htmlspecialchars($doc->getName()).'</a>');
}
$bodyhtml .= "</table>".PHP_EOL;
$params = array();
$params['count'] = count($docs);
$params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml;
$params['sitename'] = $settings->_siteName;
$email->toIndividual('', $taskparams['email'], 'expired_docs_mail_subject', '', $params);
if(empty($taskparams['dryrun'])) {
$params = array();
$params['count'] = count($docs);
$params['__body__'] = $body;
$params['__body_html__'] = $bodyhtml;
$params['sitename'] = $settings->_siteName;
$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'].'\'', PEAR_LOG_INFO);
} else {
$logger->log('Task \'expired_docs\': Dry run, not sending reminder \'expired_docs_mail_subject\' to user \''.$taskparams['email'].'\'', PEAR_LOG_INFO);
}
}
} else {
$logger->log('Task \'expired_docs\': neither peruser nor email is set', PEAR_LOG_WARNING);
@ -92,21 +99,26 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
public function getAdditionalParams() {
return array(
array(
'name'=>'email',
'type'=>'string',
'description'=> '',
),
array(
'name'=>'days',
'type'=>'integer',
'description'=> 'Number of days to check for. Negative values will look into the past. 0 will just check for documents expiring the current day. Keep in mind that the document is still valid on the expiration date.',
),
array(
'name'=>'email',
'type'=>'string',
'description'=> 'If set, emails are send to this address.',
),
array(
'name'=>'peruser',
'type'=>'boolean',
'description'=> 'Send mail to each user. If set, a list of all expired documents will be send to the owner of the documents.',
)
),
array(
'name'=>'dryrun',
'type'=>'boolean',
'description'=> 'Do not send emails, just log.',
),
);
}
} /* }}} */
@ -792,7 +804,7 @@ class SeedDMS_RecentChangesTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
$body .= "---------------------------------------------------------------------------------\n";
foreach($ds as $doc) {
$body .= sprintf($tableformat."\n", getReadableDate($doc->getDate()), $doc->getId(), $doc->getName());
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getDate()), $doc->getId(), '<a href="'.getBaseUrl().'/out/out.ViewDocument.php? documentid='.$doc->getId().'">'.htmlspecialchars($doc->getName()).'</a>');
$bodyhtml .= sprintf($tableformathtml."\n", getReadableDate($doc->getDate()), $doc->getId(), '<a href="'.getBaseUrl().'/out/out.ViewDocument.php?documentid='.$doc->getId().'">'.htmlspecialchars($doc->getName()).'</a>');
}
$bodyhtml .= "</table>".PHP_EOL;
$body .= PHP_EOL;

View File

@ -959,7 +959,7 @@ function isAjax() { /* {{{ */
} /* }}} */
/**
* Hash a password
* Hash a password
*
* @param string $password
* @return string hashed password
@ -969,7 +969,7 @@ function seed_pass_hash($password) { /* {{{ */
} /* }}} */
/**
* Verify a password
* Verify a password
*
* @param string $password
* @return string hashed password
@ -1044,7 +1044,7 @@ function cmp_user_login($a, $b) { /* {{{ */
} /* }}} */
/**
* Compare function for sorting users by name
* Compare function for sorting users by name
*
* Use this for usort()
*
@ -1066,36 +1066,94 @@ function cmp_user_fullname($a, $b) { /* {{{ */
* Returns the mandatory reviewers
*
* This function checks if the reviewers have at least read access
* on the folder containing the document.
* on the folder containing the document. It also checks if the
* mandatory reviewer is an admin or the uploading user and if
* those are allowed to review/approve a document.
* Mandatory groups will only be added if they are not empty
*
* @param $folder folder where document is located
* @param $document document which is updated, null when adding a new document
* @param $user user creating the new version or document
* @return array
* @return array containing the elements 'i' and 'g'. Each is a list of user/group ids
*/
function getMandatoryReviewers($folder, $user) { /* {{{ */
function getMandatoryReviewers($folder, $document, $user) { /* {{{ */
global $settings;
/* Get a list of all users and groups with read access on the folder.
* Only those users and groups will be added as reviewers
*/
$docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp);
$res=$user->getMandatoryReviewers();
$reviewers = array('i'=>[], 'g'=>[]);
/* Get mandatory reviewers of user */
$res = $user->getMandatoryReviewers();
$revi = $revg = [];
foreach ($res as $r){
if ($r['reviewerUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['reviewerUserID']){
$reviewers["i"][] = $r['reviewerUserID'];
break;
}
$revi[] = $r['reviewerUserID'];
} elseif ($r['reviewerGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['reviewerGroupID']){
$reviewers["g"][] = $r['reviewerGroupID'];
break;
}
$revg[] = $r['reviewerGroupID'];
}
}
/* Add managers of groups as mandatory reviewers */
if(!empty($settings->_addManagerAsReviewer)) {
$groups = $user->getGroups();
foreach($groups as $group) {
$managers = $group->getManagers();
foreach($managers as $manager) {
$revi[] = $manager->getId();
}
}
}
/* Add global reviewers as mandatory reviewers */
if(!empty($settings->_globalReviewer)) {
$revi = array_merge($revi, $settings->_globalReviewer);
}
/* Add global group reviewers as mandatory reviewers */
if(!empty($settings->_globalGroupReviewer)) {
$revg = array_merge($revg, $settings->_globalGroupReviewer);
}
/* Check if reviewers are allowed to review */
$revi = array_unique($revi);
$revg = array_unique($revg);
$reviewers["i"] = []; // users
$reviewers["g"] = []; // groups
$reviewers["ni"] = []; // users being filtered out
$reviewers["ng"] = []; // groups being filtered out
$dms = $user->getDMS();
foreach($revi as $uid) {
if($u = $dms->getUser($uid)) {
/* need at least read access on parent folder */
if($document)
$accessmode = $document->getAccessMode($u);
else
$accessmode = $folder->getAccessMode($u);
if($accessmode < M_READ)
$reviewers["ni"][] = $u->getId();
/* admins as reviewers must be enabled */
elseif(!$settings->_enableAdminRevApp && $u->isAdmin())
$reviewers["ni"][] = $u->getId();
/* the owner of the document as a reviewer must be enabled */
elseif(!$settings->_enableOwnerRevApp && $document && $document->getOwner()->getId() == $u->getId())
$reviewers["ni"][] = $u->getId();
/* the updloader as a reviewer must be enabled */
elseif(!$settings->_enableSelfRevApp && $u->getId() == $user->getId())
$reviewers["ni"][] = $u->getId();
else
$reviewers["i"][] = $u->getId();
}
}
foreach($revg as $gid) {
if($g = $dms->getGroup($gid)) {
if($document)
$accessmode = $document->getGroupAccessMode($u);
else
$accessmode = $folder->getGroupAccessMode($u);
if($accessmode < M_READ || !$g->getUsers())
$reviewers["ng"][] = $g->getId();
else
$reviewers["g"][] = $g->getId();
}
}
return $reviewers;
} /* }}} */
@ -1103,38 +1161,94 @@ function getMandatoryReviewers($folder, $user) { /* {{{ */
* Returns the mandatory approvers
*
* This function checks if the approvers have at least read access
* on the folder containing the document.
* on the folder containing the document. It also checks if the
* mandatory approver is an admin or the uploading user and if
* those are allowed to review/approve a document.
* Mandatory groups will only be added if they are not empty
*
* @param $folder folder where document is located
* @param $document document which is updated, null when adding a new document
* @param $user user creating the new version or document
* @return array
* @return array containing the elements 'i' and 'g'. Each is a list of user/group ids
*/
function getMandatoryApprovers($folder, $user) { /* {{{ */
function getMandatoryApprovers($folder, $document, $user) { /* {{{ */
global $settings;
/* Get a list of all users and groups with read access on the folder.
* Only those users and groups will be added as approvers
*/
$docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp);
$res=$user->getMandatoryApprovers();
$approvers = array('i'=>[], 'g'=>[]);
/* Get mandatory approvers of user */
$res = $user->getMandatoryApprovers();
$appi = $appg = [];
foreach ($res as $r){
if ($r['approverUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['approverUserID']){
$approvers["i"][] = $r['approverUserID'];
break;
}
}
else if ($r['approverGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['approverGroupID']){
$approvers["g"][] = $r['approverGroupID'];
break;
}
$appi[] = $r['approverUserID'];
} elseif ($r['approverGroupID']!=0){
$appg[] = $r['approverGroupID'];
}
}
/* Add managers of groups as mandatory approvers */
if(!empty($settings->_addManagerAsApprover)) {
$groups = $user->getGroups();
foreach($groups as $group) {
$managers = $group->getManagers();
foreach($managers as $manager) {
$appi[] = $manager->getId();
}
}
}
/* Add global approvers as mandatory approvers */
if(!empty($settings->_globalApprover)) {
$appi = array_merge($appi, $settings->_globalApprover);
}
/* Add global group approvers as mandatory approvers */
if(!empty($settings->_globalGroupApprover)) {
$appg = array_merge($appg, $settings->_globalGroupApprover);
}
/* Check if approvers are allowed to approve */
$appi = array_unique($appi);
$appg = array_unique($appg);
$approvers["i"] = []; // users
$approvers["g"] = []; // groups
$approvers["ni"] = []; // users being filtered out
$approvers["ng"] = []; // groups being filtered out
$dms = $user->getDMS();
foreach($appi as $uid) {
if($u = $dms->getUser($uid)) {
/* need at least read access on parent folder */
if($document)
$accessmode = $document->getAccessMode($u);
else
$accessmode = $folder->getAccessMode($u);
if($accessmode < M_READ)
$approvers["ni"][] = $u->getId();
/* admins as approvers must be enabled */
elseif(!$settings->_enableAdminRevApp && $u->isAdmin())
$approvers["ni"][] = $u->getId();
/* the owner of the document as a approver must be enabled */
elseif(!$settings->_enableOwnerRevApp && $document && $document->getOwner()->getId() == $u->getId())
$approvers["ni"][] = $u->getId();
/* the updloader as a approver must be enabled */
elseif(!$settings->_enableSelfRevApp && $u->getId() == $user->getId())
$approvers["ni"][] = $u->getId();
else
$approvers["i"][] = $u->getId();
}
}
foreach($appg as $gid) {
if($g = $dms->getGroup($gid)) {
if($document)
$accessmode = $document->getGroupAccessMode($u);
else
$accessmode = $folder->getGroupAccessMode($u);
if($accessmode < M_READ || !$g->getUsers())
$approvers["ng"][] = $g->getId();
else
$approvers["g"][] = $g->getId();
}
}
return $approvers;
} /* }}} */

View File

@ -155,6 +155,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'الأقل اكبر من الأكبر',
'attrdef_multiple' => 'السماح باكثر من قيمة',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'يحتاج أكثر من قيمة',
'attrdef_must_be_multiple' => 'يجب أن يكون متعدد القيم',
'attrdef_name' => 'اسم',
@ -283,6 +284,7 @@ URL: [url]',
'choose_attrdefgroup' => 'من فضلك اختر تعريف سمة المجموعة',
'choose_category' => 'من فضلك اختر القسم',
'choose_group' => 'اختر المجموعة',
'choose_link_type' => '',
'choose_role' => 'اختر دور',
'choose_target_category' => 'اختر القسم',
'choose_target_document' => 'اختر المستند',
@ -379,7 +381,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.',
'discspace' => 'مساحة القرص',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'الدخول مرفوض الى المستندات في الإستقبال',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'الدخول مرفوض الى المستندات قيد المراجعة',
'docs_with_missing_revision_date' => '',
'document' => 'مستند',
@ -634,6 +638,7 @@ URL: [url]',
'error_update_document' => 'خطأ في تحديث المستند',
'error_uploading_reviewer_only' => 'خطأ في رفع المراجع فقط',
'es_ES' => 'الإسبانية',
'event' => '',
'event_details' => 'تفاصيل الحدث',
'exclude_items' => 'فصل الأشياء',
'expired' => 'انتهى صلاحيته',
@ -692,6 +697,7 @@ URL: [url]',
'filter_for_documents' => 'فلتر للمستندات',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'فلتر للملفات',
'finished_workflow_log' => '',
'folder' => 'مجلد',
'folders' => 'مجلدات',
'folders_and_documents_statistic' => 'رؤية عامة للمحتوى',
@ -790,6 +796,7 @@ URL: [url]',
'global_attributedefinitions' => 'سمات',
'global_default_keywords' => 'كلمات بحثية عامة',
'global_document_categories' => 'اقسام',
'global_link_types' => '',
'global_workflows' => 'مسارات العمل',
'global_workflow_actions' => 'اجراءات مسار العمل',
'global_workflow_states' => 'حالات مسار العمل',
@ -855,6 +862,7 @@ URL: [url]',
'individuals_in_groups' => 'أفراد في المجموعات',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'رابط معلومات المستلمين لم يصدر بعد',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'موروث',
'inherits_access_copy_msg' => 'نسخ قائمة صلاحيات موروثة.',
@ -935,6 +943,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'الدليل',
'librarydoc' => 'مستندات المكتبة',
'linked_document' => '',
'linked_documents' => 'مستندات متعلقة',
'linked_files' => 'ملحقات',
'linked_to_current_version' => 'متعلقة بالإصدار الحالي',
@ -948,6 +957,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'لائحة الدمج',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'لائحة المهمات',
'local_file' => 'ملف محلي',
'locked_by' => 'محمي بواسطة',
@ -1013,6 +1023,7 @@ URL: [url]',
'move_document' => 'تحريك مستند',
'move_folder' => 'تحريك مجلد',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'حسابي',
'my_documents' => 'مستنداتي',
'my_transmittals' => 'الإحالات الخاصة بي',
@ -1056,6 +1067,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - مرفقات جديدة',
'new_folder' => 'مجلد جديد',
'new_link_type' => '',
'new_password' => 'كلمة سر جديدة',
'new_subfolder_email' => 'مستند جديد',
'new_subfolder_email_body' => 'مجلد جديد
@ -1323,6 +1335,8 @@ URL: [url]',
'revisions_without_group' => 'مراجعات بلا مجموعة',
'revisions_without_user' => 'مراجعات بلا مستخدم',
'revision_date' => 'تاريخ المراجعة',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'سجل المراجعة',
'revision_request_email_body' => 'طلب مراجعة محتوى البريد الإلكتروني',
'revision_request_email_body_html' => '',
@ -1474,6 +1488,10 @@ URL: [url]',
'settings' => 'الإعدادات',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'ِAdmin IP',
'settings_Advanced' => 'متقدم',
@ -1621,6 +1639,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'تمكين تحديد اللغة',
'settings_enableLargeFileUpload' => 'تمكين تحميل الملفات الكبيرة',
'settings_enableLargeFileUpload_desc' => 'تمكين تحميل الملفات الكبيرة',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => 'تمكين مهام القائمة',
'settings_enableMenuTasks_desc' => 'تمكين مهام القائمة',
'settings_enableMultiUpload' => 'تمكين تحميل متعدد',
@ -1695,6 +1715,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'محرك البحث الكامل',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLITEFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'معرف الضيف',
'settings_guestID_desc' => 'معرف الضيف',
'settings_guestid_is_admin' => '',
@ -1732,6 +1762,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'luceneClassDir',
'settings_luceneDir' => 'luceneDir',
'settings_luceneDir_desc' => 'luceneDir',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'maxDirID',
@ -1920,6 +1952,7 @@ URL: [url]',
'splash_add_group' => 'اضافة مجموعة',
'splash_add_group_member' => 'اضافة مستخدم الى المجموعة',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'اضافة دور',
'splash_add_task' => '',
@ -1927,6 +1960,7 @@ URL: [url]',
'splash_add_transmittal' => 'إضافة إحالة',
'splash_add_user' => 'اضافة مستخدم',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'مسح ذاكرة التخزين المؤقت',
'splash_cleared_clipboard' => 'مسح الحافظة',
'splash_delete_access' => 'حذف الوصول',
@ -1938,17 +1972,20 @@ URL: [url]',
'splash_document_locked' => 'تم قفل المستند',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'تم الغاء قفل المستند',
'splash_document_updated' => '',
'splash_edit_access' => 'تحرير الدخول',
'splash_edit_attribute' => 'تحرير السمة',
'splash_edit_category' => '',
'splash_edit_event' => 'تحرير الحدث',
'splash_edit_group' => 'تحرير المجموعة',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'تحرير الدور',
'splash_edit_task' => 'تحرير المهمة',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'تحرير المستخدم',
'splash_error_add_to_transmittal' => 'خطأ الإضافة إلى الإحالة',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'خطأ في إزالة رابط التنزيل',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'خطأ في إرسال رابط التنزيل',
@ -1982,6 +2019,7 @@ URL: [url]',
'splash_rm_group' => 'تم حذف المجموعة',
'splash_rm_group_member' => 'تم حذف مستخدم من المجموعة',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'تم حذف دور',
'splash_rm_transmittal' => 'تم حذف إحالة',
@ -2065,6 +2103,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => 'مهمات',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2160,6 +2199,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'اكتب لتبحث',
'uk_UA' => 'ﺍﻮﻛﺭﺎﻨﻳ',
'undefined' => '',
'under_folder' => 'في المجلد',
'unknown_attrdef' => 'تعريف سمة غير معروفة',
'unknown_command' => 'لم يتم التعرف على الأمر.',
@ -2178,6 +2218,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'يمكنك تحديثه لانك من قمت بحمايته. سيتم ازالة الحماية تلقائية.',
'unlock_document' => 'ازالة القفل',
'update' => 'تحديث',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'تحديثة قائمة الموافقون',
'update_document' => 'تحديث المستند',

View File

@ -150,6 +150,7 @@ $text = array(
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => 'ПОзволи няколко стойности',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Име',
@ -270,6 +271,7 @@ $text = array(
'choose_attrdefgroup' => '',
'choose_category' => 'Изберете',
'choose_group' => 'Изберете група',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => 'Изберете категория',
'choose_target_document' => 'Изберете документ',
@ -366,7 +368,9 @@ $text = array(
'disable_extension' => '',
'disclaimer' => 'Работим аккуратно и задълбочено. От това зависи бъдeщето на нашата страна и благополучието на народа.nПетилетката за три години!nДа не оставим неодрусана слива в наше село!',
'discspace' => '',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Документ',
@ -572,6 +576,7 @@ $text = array(
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Испански',
'event' => '',
'event_details' => 'Детайли за събитието',
'exclude_items' => '',
'expired' => 'Изтекъл',
@ -626,6 +631,7 @@ $text = array(
'filter_for_documents' => '',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => '',
'finished_workflow_log' => '',
'folder' => 'Папка',
'folders' => 'Папки',
'folders_and_documents_statistic' => 'Обзор на съдържанието',
@ -684,6 +690,7 @@ $text = array(
'global_attributedefinitions' => 'атрибути',
'global_default_keywords' => 'Глобални ключови думи',
'global_document_categories' => 'Категории',
'global_link_types' => '',
'global_workflows' => 'Процеси',
'global_workflow_actions' => 'действия по процеси',
'global_workflow_states' => 'Състояния процеси',
@ -749,6 +756,7 @@ $text = array(
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'наследен',
'inherits_access_copy_msg' => 'Изкопирай наследения список',
@ -829,6 +837,7 @@ $text = array(
'latest_updateddocuments' => '',
'legend' => 'легенда',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Свързани документи',
'linked_files' => 'Приложения',
'linked_to_current_version' => '',
@ -842,6 +851,7 @@ $text = array(
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Локален файл',
'locked_by' => 'Блокиран',
@ -907,6 +917,7 @@ $text = array(
'move_document' => 'Премести документ',
'move_folder' => 'Премести папка',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Моя акаунт',
'my_documents' => 'Моите документи',
'my_transmittals' => 'Моите предавания',
@ -939,6 +950,7 @@ $text = array(
'new_file_email_body_html' => '',
'new_file_email_subject' => '',
'new_folder' => 'Нова папка',
'new_link_type' => '',
'new_password' => 'Нова парола',
'new_subfolder_email' => 'Нова подпапка',
'new_subfolder_email_body' => '',
@ -1178,6 +1190,8 @@ $text = array(
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1316,6 +1330,10 @@ $text = array(
'settings' => 'Настройки',
'settings_activate_module' => 'Активирай модул',
'settings_activate_php_extension' => 'Активирай разширение на PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Админско IP',
'settings_adminIP_desc' => 'Ако е сложено, то админа ще може да влиза само от това IP. Оставете празно за да избегнем апокалипсиса. Не работи с LDAP',
'settings_Advanced' => 'Допълнително',
@ -1463,6 +1481,8 @@ $text = array(
'settings_enableLanguageSelector_desc' => 'Покажи селектор за език на интерфейса след влизане. Това не влияе на избора на език на първа страница.',
'settings_enableLargeFileUpload' => 'Включи джава-зараждане на файлове',
'settings_enableLargeFileUpload_desc' => 'Ако е включено, качване на файлове е дустъпно и чрез джава-аплет, именован jumploader, без лимит за размер на файла. Това също ще позволи да се качват няколко файла наведнъж.',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => '',
@ -1537,6 +1557,16 @@ $text = array(
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Идентификатор за гостенин',
'settings_guestID_desc' => 'Идентификатор за гост (може да не се променя)',
'settings_guestid_is_admin' => '',
@ -1574,6 +1604,8 @@ $text = array(
'settings_luceneClassDir_desc' => 'Път към SeedDMS_Lucene (не е задължително)',
'settings_luceneDir' => 'Каталог за пълнотекстовия индекс',
'settings_luceneDir_desc' => 'Път, където Lucene ще пише своя индекс',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Максимален ID на папка',
@ -1762,6 +1794,7 @@ $text = array(
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1769,6 +1802,7 @@ $text = array(
'splash_add_transmittal' => '',
'splash_add_user' => '',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => '',
'splash_delete_access' => '',
@ -1780,17 +1814,20 @@ $text = array(
'splash_document_locked' => 'Документът е заключен',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Документа е отключен',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => '',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => '',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -1824,6 +1861,7 @@ $text = array(
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -1907,6 +1945,7 @@ $text = array(
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -1993,6 +2032,7 @@ $text = array(
'type_to_filter' => '',
'type_to_search' => 'Тип за търсене',
'uk_UA' => 'Украински',
'undefined' => '',
'under_folder' => 'В папка',
'unknown_attrdef' => '',
'unknown_command' => 'Командата не е позната.',
@ -2011,6 +2051,7 @@ $text = array(
'unlock_cause_locking_user' => 'Вие все още можете да го обновите, защото сте един от тези, които го е блокирал. Блокировката ще бъде снета автоматично.',
'unlock_document' => 'Разблокирай',
'update' => 'Обнови',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Обнови списъка с утвърждаващи',
'update_document' => 'Обнови документ',

View File

@ -155,6 +155,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => '',
@ -275,6 +276,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Elegir categoria',
'choose_group' => 'Seleccionar grup',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => '',
'choose_target_document' => 'Escollir document',
@ -371,7 +373,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Aquesta és una àrea restringida. Només es permet l\'accés a usuaris autoritzats. Qualsevol intrusió es perseguirà d\'acord amb les lleis internacionals.',
'discspace' => '',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Document',
@ -577,6 +581,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Castellà',
'event' => '',
'event_details' => 'Detalls de l\'event',
'exclude_items' => '',
'expired' => 'Caducat',
@ -631,6 +636,7 @@ URL: [url]',
'filter_for_documents' => '',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtre adicional per les carpetes',
'finished_workflow_log' => '',
'folder' => 'Carpeta',
'folders' => 'Carpetes',
'folders_and_documents_statistic' => 'Vista general de continguts',
@ -689,6 +695,7 @@ URL: [url]',
'global_attributedefinitions' => 'Atributs',
'global_default_keywords' => 'Mots clau globals',
'global_document_categories' => 'Categories',
'global_link_types' => '',
'global_workflows' => '',
'global_workflow_actions' => '',
'global_workflow_states' => '',
@ -754,6 +761,7 @@ URL: [url]',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Heredat',
'inherits_access_copy_msg' => 'Copiar llista d\'accés heretat',
@ -834,6 +842,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Llegenda',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Documents relacionats',
'linked_files' => 'Adjunts',
'linked_to_current_version' => '',
@ -847,6 +856,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Arxiu local',
'locked_by' => 'Locked by',
@ -912,6 +922,7 @@ URL: [url]',
'move_document' => 'Moure document',
'move_folder' => 'Moure directori',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'El meu compte',
'my_documents' => 'Els meus documents',
'my_transmittals' => 'Documents enviats per mi',
@ -944,6 +955,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '',
'new_folder' => 'Nova carpeta',
'new_link_type' => '',
'new_password' => '',
'new_subfolder_email' => 'Nova subcarpeta',
'new_subfolder_email_body' => '',
@ -1183,6 +1195,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1321,6 +1335,10 @@ URL: [url]',
'settings' => 'Settings',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => '',
'settings_Advanced' => '',
@ -1468,6 +1486,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',
'settings_enableLargeFileUpload_desc' => '',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => '',
@ -1542,6 +1562,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => '',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
@ -1579,6 +1609,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Path to LetoDMS_Lucene (optional)',
'settings_luceneDir' => '',
'settings_luceneDir_desc' => 'Path to LetoDMS_Lucene (optional)',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '',
@ -1767,6 +1799,7 @@ URL: [url]',
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1774,6 +1807,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => '',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => '',
'splash_delete_access' => '',
@ -1785,17 +1819,20 @@ URL: [url]',
'splash_document_locked' => 'Document blocat',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Document desblocat',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => '',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => '',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -1829,6 +1866,7 @@ URL: [url]',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -1912,6 +1950,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -1998,6 +2037,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Cerca',
'uk_UA' => 'Ucraïnès',
'undefined' => '',
'under_folder' => 'A carpeta',
'unknown_attrdef' => '',
'unknown_command' => 'Ordre no reconeguda.',
@ -2016,6 +2056,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Pot actualitzar-lo perquè és qui el va bloquejar. El bloqueig s\'eliminarà automàticament.',
'unlock_document' => 'Desbloquejar',
'update' => 'Actualitzar',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Actualitzar llista d\'aprovadors',
'update_document' => 'Actualitzar',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1557), kreml (579)
// Translators: Admin (1562), kreml (579)
$text = array(
'2_factor_auth' => 'dvoufaktorové ověření',
@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimální počet hodnot je větší, než maximální počet hodnot',
'attrdef_multiple' => 'Povolit více hodnot',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Definice atributu s více hodnotami potřebuje nastavit hodnoty.',
'attrdef_must_be_multiple' => 'Atribut musí mít více než jednu hodnotu, přesto není zadáno více hodnot',
'attrdef_name' => 'Název',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Vybrat skupinu atributů',
'choose_category' => 'Vyberte prosím',
'choose_group' => 'Vyberte skupinu',
'choose_link_type' => '',
'choose_role' => 'Vyberte roli',
'choose_target_category' => 'Vyberte kategorii',
'choose_target_document' => 'Vyberte dokument',
@ -360,7 +362,7 @@ URL: [url]',
'current_state' => 'Současný stav',
'current_version' => 'Aktuální verze',
'daily' => 'Denně',
'dashboard' => '',
'dashboard' => 'Nástěnka',
'databasesearch' => 'Vyhledání v databázi',
'database_schema_version' => '',
'data_loading' => 'Prosím vyčkejte dokud se data nenahrají...',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Toto je neveřejná oblast. Přístup povolen pouze oprávněným uživatelům. Jakékoliv narušení bude stíháno podle platných právních norem.',
'discspace' => 'Místo na disku',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Dokumenty s přijetím, ale bez přístupu příjemce',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Dokumenty v revizi bez přístupu kontrolora',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -585,7 +589,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Rychlý upload',
'drop_files_here' => 'Soubory dát sem!',
'drop_files_here_or_click' => '',
'drop_files_here_or_click' => 'Přetáhněte sobory sem, nebo klikněte pro nahrání',
'dump_creation' => 'Vytvoření zálohy databáze',
'dump_creation_warning' => 'Pomocí této operace můžete vytvořit soubor se zálohou databáze. Po vytvoření bude soubor zálohy uložen ve složce data vašeho serveru.',
'dump_list' => 'Existující soubory záloh',
@ -658,6 +662,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => 'Chyba při vytváření dokumentu. Dokument má recenzenta, ale nemá schvalovatele.',
'es_ES' => 'Španělština',
'event' => '',
'event_details' => 'Údaje akce',
'exclude_items' => 'Vyloučit položky',
'expired' => 'Platnost vypršela',
@ -716,6 +721,7 @@ URL: [url]',
'filter_for_documents' => 'Další filtr pro dokumenty',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Další filtr pro složky',
'finished_workflow_log' => '',
'folder' => 'Složka',
'folders' => 'Složky',
'folders_and_documents_statistic' => 'Přehled složek a dokumentů',
@ -821,6 +827,7 @@ URL: [url]',
'global_attributedefinitions' => 'Atributy',
'global_default_keywords' => 'Globální klíčová slova',
'global_document_categories' => 'Globální kategorie',
'global_link_types' => '',
'global_workflows' => 'Workflows',
'global_workflow_actions' => 'Akce workflow',
'global_workflow_states' => 'Stavy workflow',
@ -854,7 +861,7 @@ URL: [url]',
'hu_HU' => 'Maďarština',
'id' => 'ID',
'identical_version' => 'Nová verze je identická se současnou verzí',
'id_ID' => '',
'id_ID' => 'Indonézsky',
'import' => 'Nahrát',
'importfs' => 'Import ze souborového systému',
'import_extension' => 'Importovat rozšíření',
@ -886,6 +893,7 @@ URL: [url]',
'individuals_in_groups' => 'Členové skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potvrzení o příjmu této verze dokumentu není možné, protože verze není uvolněna.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Zděděno',
'inherits_access_copy_msg' => 'Zkopírovat zděděný seznam řízení přístupu',
@ -966,6 +974,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Popisek',
'librarydoc' => 'Dokument z knihovny',
'linked_document' => '',
'linked_documents' => 'Související dokumenty',
'linked_files' => 'Přílohy',
'linked_to_current_version' => 'Provázáno odkazem s aktuální verzí',
@ -976,9 +985,10 @@ URL: [url]',
'link_to_version' => 'Provázat k verzi',
'list_access_rights' => 'Seznam všech přístupových práv ...',
'list_contains_no_access_docs' => 'Seznam obsahuje více dokumentů, ke kterým nemáte přístup a které se nezobrazují.',
'list_conversion_services' => '',
'list_conversion_services' => 'Služba',
'list_hooks' => 'Seznam hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Seznam úkolů',
'local_file' => 'Lokální soubor',
'locked_by' => 'Zamčeno kým',
@ -1044,6 +1054,7 @@ URL: [url]',
'move_document' => 'Přesunout dokument',
'move_folder' => 'Přesun složky',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Můj účet',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'Moje přenosy',
@ -1087,6 +1098,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nová příloha',
'new_folder' => 'Nová složka',
'new_link_type' => '',
'new_password' => 'Nové heslo',
'new_subfolder_email' => 'Nová složka',
'new_subfolder_email_body' => 'Nová složka
@ -1385,6 +1397,8 @@ URL: [url]',
'revisions_without_group' => 'Revize bez skupiny',
'revisions_without_user' => 'Revize bez uživatele',
'revision_date' => 'Datum revize',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log revize',
'revision_request_email_body' => 'Žádost o revizi
Dokument: [name]
@ -1546,6 +1560,10 @@ Jméno: [username]
'settings' => 'Nastavení',
'settings_activate_module' => 'Aktivovat modul',
'settings_activate_php_extension' => 'Aktivovat PHP extension',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Pokud je nastaveno, admin se může přihlásit pouze z uvedené IP adresy. Ponechejte prázdné k udržení přístupu. Pozn: pracuje pouze s lokálním ověřováním (ne LDAP)',
'settings_Advanced' => 'Pokročilé',
@ -1693,6 +1711,8 @@ Jméno: [username]
'settings_enableLanguageSelector_desc' => 'Zobrazit výběr jazyka uživatelského rozhraní po přihlášení.',
'settings_enableLargeFileUpload' => 'Povolit nahrávání velkých souborů',
'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_desc' => '',
'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_enableMultiUpload' => 'Umožit nahrát více souborů',
@ -1767,6 +1787,16 @@ Jméno: [username]
'settings_fullSearchEngine_desc' => 'Nastavte metodu použitou pro fulltextové vyhledávání.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID hosta',
'settings_guestID_desc' => 'ID hostovaného uživatele při přihlášení jako host (většinou není třeba měnit)',
'settings_guestid_is_admin' => '',
@ -1804,6 +1834,8 @@ Jméno: [username]
'settings_luceneClassDir_desc' => 'Cesta k SeedDMS_Lucene (volitelná)',
'settings_luceneDir' => 'Adresář pro fulltextový index',
'settings_luceneDir_desc' => 'Cesta k indexu Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max Directory ID',
@ -1992,6 +2024,7 @@ Jméno: [username]
'splash_add_group' => 'Přidána nová skupina',
'splash_add_group_member' => 'Přidán nový člen skupiny',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Přidána nová role',
'splash_add_task' => '',
@ -1999,6 +2032,7 @@ Jméno: [username]
'splash_add_transmittal' => 'Přidán přenos',
'splash_add_user' => 'Přidán nový uživatel',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Mezipaměť vymazána',
'splash_cleared_clipboard' => 'Schránka vymazána',
'splash_delete_access' => 'Přístupová práva smazána',
@ -2010,17 +2044,20 @@ Jméno: [username]
'splash_document_locked' => 'Dokument zamčen',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokument odemčen',
'splash_document_updated' => '',
'splash_edit_access' => 'Přístupová práva změněna',
'splash_edit_attribute' => 'Atribut uložen',
'splash_edit_category' => '',
'splash_edit_event' => 'Událost uložena',
'splash_edit_group' => 'Skupina uložena',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Role uložena',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Uživatel uložen',
'splash_error_add_to_transmittal' => 'Chyba při přidávání dokumentu k přenosu',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Chyba při odstranění odkazu ke stažení',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Chyba při odesílání odkazu ke stažení',
@ -2054,6 +2091,7 @@ Jméno: [username]
'splash_rm_group' => 'Skupina odstraněna',
'splash_rm_group_member' => 'Člen skupiny odstraněn',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Role odstraněna',
'splash_rm_transmittal' => 'Přenos odstraněn',
@ -2137,6 +2175,7 @@ Jméno: [username]
'target_equals_source_folder' => '',
'tasks' => 'Úkoly',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2232,6 +2271,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Zadejte hledaný výraz',
'uk_UA' => 'Ukrajinština',
'undefined' => '',
'under_folder' => 'Ve složce',
'unknown_attrdef' => 'Neznámá definice atributu',
'unknown_command' => 'Příkaz nebyl rozpoznán.',
@ -2250,6 +2290,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Můžete ho pořád aktualizovat, protože jste ten, kdo ho zamknul. Zámek bude automaticky odstraněn.',
'unlock_document' => 'Odemknout',
'update' => 'Aktualizovat',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Aktualizovat seznam schvalovatelů',
'update_document' => 'Aktualizovat',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (3297), dgrutsch (22)
// Translators: Admin (3356), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -93,7 +93,7 @@ $text = array(
'any_value_set' => 'beliebiger Wert',
'apikey' => 'API-Schlüssel',
'apply' => 'Anwenden',
'approvals_accepted' => '[no_approvals] Freigaben',
'approvals_accepted' => '[no_approvals] erfolgte Freigaben',
'approvals_accepted_latest' => '(davon [no_approvals] in letzter Version)',
'approvals_and_reviews_accepted' => '[no_approvals] Freigaben und [no_reviews] Prüfungen',
'approvals_and_reviews_not_touched' => '[no_approvals] offene Freigaben und [no_reviews] offene Prüfungen',
@ -190,6 +190,7 @@ URL: [url]</p>',
'attrdef_minvalues_help' => 'Minimale Anzahl der Werte. Setzen Sie diesen Wert auf 1, wenn ein Attribut gesetzt werden muss.',
'attrdef_min_greater_max' => 'Zahl der minimalen Werte ist größer als Zahl der maximalen Werte',
'attrdef_multiple' => 'Mehrfachwerte erlaubt',
'attrdef_multiple_but_doc_or_folder' => 'Attribute des Typs Dokument oder Ordner können keine Mehrfachwerte haben.',
'attrdef_multiple_needs_valueset' => 'Attributdefinition mit Mehrfachwerten erfordert eine Werteliste.',
'attrdef_must_be_multiple' => 'Attribut muss mehr als einen Wert haben, erlaubt aber keine Mehrfachwerte',
'attrdef_name' => 'Name',
@ -328,6 +329,7 @@ URL: [url]</p>',
'choose_attrdefgroup' => 'Attributgruppe wählen',
'choose_category' => 'Kategorie wählen',
'choose_group' => 'Gruppe wählen',
'choose_link_type' => 'Link-Typ auswählen',
'choose_role' => 'Rolle wählen',
'choose_target_category' => 'Kategorie wählen',
'choose_target_document' => 'Dokument wählen',
@ -424,8 +426,10 @@ URL: [url]</p>',
'disable_extension' => 'Erweiterung deaktivieren',
'disclaimer' => 'Dies ist ein geschützter Bereich. Nur authorisiertes Personal hat Zugriff. Jegliche Verstöße werden nach geltendem Recht (Englisch und International) verfolgt.',
'discspace' => 'Plattenplatz',
'docs_in_reception_disabled' => 'Dokumente mit Empfangsbestätigung durch gesperrte Benutzer.',
'docs_in_reception_no_access' => 'Dokumente mit Empfangsbestätigung ohne Zugriff des Empfängers',
'docs_in_revision_no_access' => 'Dokumente in Revision ohne Zugriff des Prüfers',
'docs_in_revision_disabled' => 'Dokument mit Wiederholungsprüfung durch gesperrten Benutzer',
'docs_in_revision_no_access' => 'Dokumente mit Wiederholungsprüfung ohne Zugriff des Prüfers',
'docs_with_missing_revision_date' => 'Dokumente ohne Datum der Wiederholungsprüfung',
'document' => 'Dokument',
'documentcontent' => 'Dokumentenversion',
@ -630,14 +634,16 @@ URL: [url]</p>',
'document_status_changed_email_body' => 'Dokumentenstatus geändert
Dokument: [name]
Status: [status]
Alter Status: [old_status]
Neuer Status: [status]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'document_status_changed_email_body_html' => '<p>Dokumentenstatus geändert</p>
<p>Dokument: [name]<br />
Status: [status]<br />
Alter Status: [old_status]<br />
Neuer Status: [status]<br />
Elternordner: [folder_path]<br />
Benutzer: [username]<br />
URL: [url]</p>',
@ -790,6 +796,7 @@ URL: [url]</p>',
'error_update_document' => 'Fehler beim Aktualisieren des Dokuments',
'error_uploading_reviewer_only' => 'Fehler beim Anlegen des Dokuments. Das Dokument besitzt einen Prufer, aber keinen Freigeber.',
'es_ES' => 'Spanisch',
'event' => 'Ereignis',
'event_details' => 'Ereignisdetails',
'exclude_items' => 'Einträge auslassen',
'expired' => 'abgelaufen',
@ -854,6 +861,7 @@ URL: [url]</p>',
'filter_for_documents' => 'Zusätzliche Filter für Dokumente',
'filter_for_documents_and_folders' => 'Zusätzliche Filter für Ordner und Dokumente',
'filter_for_folders' => 'Zusätzliche Filter für Ordner',
'finished_workflow_log' => 'Beendete Workflows',
'folder' => 'Ordner',
'folders' => 'Verzeichnisse',
'folders_and_documents_statistic' => 'Ordner- und Dokumentenübersicht',
@ -1032,6 +1040,7 @@ URL: [url]</p>',
'global_attributedefinitions' => 'Attribute',
'global_default_keywords' => 'Globale Stichwortlisten',
'global_document_categories' => 'Kategorien',
'global_link_types' => 'Link-Typ',
'global_workflows' => 'Workflows',
'global_workflow_actions' => 'Workflow-Aktionen',
'global_workflow_states' => 'Workflow-Status',
@ -1097,6 +1106,7 @@ URL: [url]</p>',
'individuals_in_groups' => 'Mitglieder einer Gruppe',
'ind_review_removed' => 'Statuswechsel, weil Prufung des Benutzers [name] entfernt wurde.',
'info_recipients_tab_not_released' => 'Die Bestätigung des Empfangs für diese Dokumentenversion ist nicht möglich, weil die Version nicht freigegeben ist.',
'info_rm_user_from_processes_none' => 'Der Benutzer ist zur Zeit keine Aufgaben.',
'info_rm_user_from_processes_user' => 'Nur die noch offenen Aufgaben können auf einen anderen Benutzer übertragen werden. Bei Aufgaben, die bereits bearbeitet wurden, wird der Benutzer aus der Bearbeitungshistorie gelöscht, als würde der Benutzer selbst gelöscht.',
'inherited' => 'geerbt',
'inherits_access_copy_msg' => 'Berechtigungen kopieren',
@ -1177,6 +1187,7 @@ URL: [url]</p>',
'latest_updateddocuments' => 'Zuletzt aktualisierte Dokumente',
'legend' => 'Legende',
'librarydoc' => 'Dokument aus Bibliothek',
'linked_document' => 'Verknüpftes Dokument',
'linked_documents' => 'verknüpfte Dokumente',
'linked_files' => 'Anhänge',
'linked_to_current_version' => 'Mit aktueller Version verknüpft',
@ -1190,6 +1201,7 @@ URL: [url]</p>',
'list_conversion_services' => 'Liste der Konvertierer',
'list_hooks' => 'Liste der interne Aufrufe',
'list_notification_services' => 'Liste der Benachrichtigungsdienste',
'list_of_recipients_has_disabled_users' => 'Empfängerliste beinhaltet gesperrte Benutzer.',
'list_tasks' => 'Tasks auflisten',
'local_file' => 'Lokale Datei',
'locked_by' => 'Gesperrt von',
@ -1215,11 +1227,11 @@ URL: [url]</p>',
'mandatory_approvergroups' => 'Zwingende Gruppen von Freigebern',
'mandatory_approvergroup_no_access' => 'Zwingende Gruppe von Freigebern \'[group]\' hat unzureichende Zugriffsrechte.',
'mandatory_approvers' => 'Zwingende Freigeber',
'mandatory_approver_no_access' => 'Zwingender Freigeber \'[user]\' hat unzureichende Zugriffsrechte.',
'mandatory_approver_no_access' => 'Zwingender Freigeber \'[user]\' hat unzureichende Zugriffsrechte oder ist als Freigeber nicht erlaubt.',
'mandatory_reviewergroups' => 'Zwingende Gruppen von Prüfern',
'mandatory_reviewergroup_no_access' => 'Zwingende Gruppe von Prüfern \'[group]\' hat unzureichende Zugriffsrechte.',
'mandatory_reviewers' => 'Zwingende Prüfer',
'mandatory_reviewer_no_access' => 'Zwingender Prüfer \'[user]\' hat nicht ausreichende Zugriffsrechte.',
'mandatory_reviewer_no_access' => 'Zwingender Prüfer \'[user]\' hat unzureichende Zugriffsrechte oder ist als Prüfer nicht erlaubt.',
'march' => 'März',
'mark_document' => 'Dokument für Massenoperation auswählen',
'mark_folder' => 'Ordner für Massenoperation auswählen',
@ -1255,6 +1267,7 @@ URL: [url]</p>',
'move_document' => 'Verschieben',
'move_folder' => 'Verschieben',
'move_into_rootfolder' => 'In den Wurzelordner verschieben',
'must_drop_one_file' => 'Sie dürfen nicht mehr als eine Datei ablegen',
'my_account' => 'Mein Profil',
'my_documents' => 'Meine Dokumente',
'my_transmittals' => 'Meine Dokumentenlisten',
@ -1272,7 +1285,7 @@ URL: [url]</p>',
'never' => 'nie',
'new' => 'Neu',
'new_attrdef' => 'Neue Attributdefinition',
'new_default_keywords' => 'Neue Vorlage',
'new_default_keywords' => 'Stichwort hinzufügen',
'new_default_keyword_category' => 'Neue Kategorie',
'new_documents' => 'Neue Dokumente',
'new_documents_today' => 'Neue Dokumente heute',
@ -1311,6 +1324,7 @@ Benutzer: [username]<br />
URL: [url]</p>',
'new_file_email_subject' => '[sitename]: [document] - Neuer Anhang',
'new_folder' => 'Neuer Ordner',
'new_link_type' => 'Neuer Link-Typ',
'new_password' => 'Neues Passwort',
'new_subfolder_email' => 'Neuer Ordner',
'new_subfolder_email_body' => 'Neuer Ordner
@ -1468,7 +1482,7 @@ Sollen Sie danach immer noch Probleme bei der Anmeldung haben, dann kontaktieren
'quota_is_disabled' => 'Quota-Unterstützung ist zur Zeit ausgeschaltet. Benutzer-Quota werden ignoriert bis Quota-Unterstützung in den Einstellungen eingeschaltet wird.',
'quota_warning' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten. Bitte löschen Sie Dokumente oder ältere Versionen.',
'readme_loading' => 'Bitte warten, bis die Readme geladen ist ...',
'receipts_accepted' => '[no_receipts] Empfangsbestätigungen',
'receipts_accepted' => '[no_receipts] erfolgte Empfangsbestätigungen',
'receipts_accepted_latest' => '(davon [no_receipts] in letzter Version)',
'receipts_not_touched' => '[no_receipts] offene Empfangsbestätigungen',
'receipts_not_touched_latest' => '(davon [no_receipts] in letzter Version)',
@ -1492,7 +1506,7 @@ Elternordner: [folder_path]<br />
Empfänger: [recipient]<br />
Benutzer: [username]<br />
URL: [url]</p>',
'receipt_deletion_email_subject' => '[sitename]: [name] - Empfänger gelöscht',
'receipt_deletion_email_subject' => '[sitename]: [name] - Aufforderung zur Empfangsbestätigung gelöscht',
'receipt_log' => 'Protokoll der Empfangsbestätigungen',
'receipt_request_email_body' => 'Aufforderung zur Empfangsbestätigung
@ -1600,7 +1614,7 @@ Elternordner: [folder_path]<br />
Benutzer: [username]v
URL: [url]</p>',
'replace_content_email_subject' => '[sitename]: [name] - Dokumentenversion ersetzt',
'request_workflow_action_email_body' => 'Der Workflow hat einen Status erreicht welcher Ihre Aktion benötigt.
'request_workflow_action_email_body' => 'Der Workflow hat einen Status erreicht, welcher Ihre Aktion benötigt.
Dokument: [name]
Version: [version]
@ -1609,7 +1623,7 @@ Aktueller Status: [current_state]
Übergeordneter Ordner: [folder_path]
Benutzer: [username]
URL: [url]',
'request_workflow_action_email_body_html' => '<p>Der Workflow hat einen Status erreicht welcher Ihre Aktion benötigt.</p>
'request_workflow_action_email_body_html' => '<p>Der Workflow hat einen Status erreicht, welcher Ihre Aktion benötigt.</p>
<p>Dokument: [name]<br />
Version: [version]<br />
@ -1646,7 +1660,7 @@ URL: [url]</p>',
'reviewers' => 'Prüfer',
'reviewer_already_assigned' => 'Prüfer bereits zugewiesen',
'reviewer_already_removed' => 'Prüfer wurde bereits aus dem Prüfvorgang entfernt oder hat die Prüfung bereits abgeschlossen',
'reviews_accepted' => '[no_reviews] Prüfungen',
'reviews_accepted' => '[no_reviews] erfolgte Prüfungen',
'reviews_accepted_latest' => '(davon [no_reviews] in letzter Version)',
'reviews_not_touched' => '[no_reviews] offene Prüfungen',
'reviews_not_touched_latest' => '(davon [no_reviews] in letzter Version)',
@ -1715,7 +1729,7 @@ URL: [url]</p>',
'revise_document' => 'Wiederholungsprüfung',
'revise_document_on' => 'Nächste Wiederholungsprüfung des Dokuments am [date]',
'revision' => 'Wiederholungsprüfung',
'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen',
'revisions_accepted' => '[no_revisions] erfolgte Wiederholungsprüfungen',
'revisions_accepted_latest' => '(davon [no_revisions] in letzter Version)',
'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen',
'revisions_not_touched_latest' => '(davon [no_revisions] in letzter Version)',
@ -1726,6 +1740,14 @@ URL: [url]</p>',
'revisions_without_group' => 'Wiederholungsprüfungen ohne Gruppe',
'revisions_without_user' => 'Wiederholungsprüfungen ohne Benutzer',
'revision_date' => 'Datum der Wiederholungsprüfung',
'revision_deletion_email_body' => '<p>Aufforderung zur Wiederholungsprüfung gelöscht</p>
<p>Dokument: [name]<br />
Version: [version]<br />
Elternordner: [folder_path]<br />
Benutzer: [username]<br />
URL: [url]</p>',
'revision_deletion_email_subject' => '[sitename]: [name] - Aufforderung zur Wiederholungsprüfung gelöscht',
'revision_log' => 'Protokoll der erneuten Prüfung',
'revision_request_email_body' => 'Aufforderung zur Wiederholungsprüfung
@ -1929,6 +1951,10 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings' => 'Einstellungen',
'settings_activate_module' => 'Modul aktivieren',
'settings_activate_php_extension' => 'PHP-Erweiterung aktivieren',
'settings_addManagerAsApprover' => 'Setze Gruppenmanager als Freigeber',
'settings_addManagerAsApprover_desc' => 'Alle hochgeladenen Dokumente des Benutzers werden durch die Manager der Gruppe, in denen der Benutzer Mitglied ist, freigegeben.',
'settings_addManagerAsReviewer' => 'Setze Gruppenmanager als Prüfer',
'settings_addManagerAsReviewer_desc' => 'Alle hochgeladenen Dokumente des Benutzers werden durch die Manager der Gruppe, in denen der Benutzer Mitglied ist, geprüft.',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Wenn hier eine IP-Nummer eingetragen wird, kann eine Anmeldung als Administrator nur von dieser Adresse erfolgen. Funktioniert nur mit Anmeldung über die Datenbank (nicht LDAP)',
'settings_Advanced' => 'Erweitert',
@ -1940,7 +1966,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_allowReviewerOnly_desc' => 'Anwählen, um zu erlauben, dass nur ein Prüfer aber kein Freigeber beim traditionellen Workflow gesetzt werden darf.',
'settings_apache_mod_rewrite' => 'Apache - Module Rewrite',
'settings_apiKey' => 'Authentifizierungsschḻüssel für REST API',
'settings_apiKey_desc' => 'Dieser Schlüssel wird zur alternative Authentifizierung in der REST API verwendet. Wählen Sie eine 32 Zeichen lange Zeichenkette.',
'settings_apiKey_desc' => 'Dieser Schlüssel wird zur alternativen Authentifizierung in der REST API verwendet. Wählen Sie eine 32 Zeichen lange Zeichenkette.',
'settings_apiOrigin' => 'Erlaubte Herkunft der API Aufrufe',
'settings_apiOrigin_desc' => 'Eine semicolon-separierte Liste von Adressen, denen ein Zugriff auf die REST API erlaubt ist. Jede Adresse muss in der Form <Protokoll>://<domain>[:<port>] angegeben werden. Der Port kann ausgelassen werden. Bleibt dieses Feld leer, dann ist der Zugriff uneingeschränkt.',
'settings_apiUserId' => 'Benutzer für die REST API',
@ -2076,6 +2102,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_enableLanguageSelector_desc' => 'Zeige Auswahl der verfügbaren Sprachen nachdem man sich angemeldet hat.',
'settings_enableLargeFileUpload' => 'Hochladen von sehr großen Dateien ermöglichen',
'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_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_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_enableMultiUpload' => 'Erlaube Hochladen mehrerer Dateien',
@ -2150,6 +2178,16 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_fullSearchEngine_desc' => 'Setzt das Verfahren, welches für die Volltextsuche verwendet wird.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => 'Setze Freigeber für alle Dokumente',
'settings_globalApprover_desc' => 'Die hier eingetragenen Benutzer werden bei allen hochgeladenen Dokumenten als zwingende Freigeber gesetzt.',
'settings_globalGroupApprover' => 'Setze Gruppenfreigeber für alle Dokumente',
'settings_globalGroupApprover_desc' => 'Die hier eingetragenen Gruppen werden bei allen hochgeladenen Dokumenten als zwingende Freigeber gesetzt.',
'settings_globalGroupReviewer' => 'Setze Gruppenprüfer für alle Dokumente',
'settings_globalGroupReviewer_desc' => 'Die hier eingetragenen Gruppen werden bei allen hochgeladenen Dokumenten als zwingende Prüfer gesetzt.',
'settings_globalReviewer' => 'Setze Prüfer für alle Dokumente',
'settings_globalReviewer_desc' => 'Die hier eingetragenen Benutzer werden bei allen hochgeladenen Dokumenten als zwingende Prüfer gesetzt.',
'settings_global_approver_is_admin' => 'Freigeber \'[login]\' für alle Dokumente ist Administrator, aber Administratoren dürfen nicht freigeben.',
'settings_global_reviewer_is_admin' => 'Prüfer \'[login]\' für alle Dokumente ist Administrator, aber Administratoren dürfen nicht prüfen.',
'settings_guestID' => 'Gastbenutzer',
'settings_guestID_desc' => 'Id des Gast-Benutzers, wenn man sich als \'guest\' anmeldet.',
'settings_guestid_is_admin' => 'Gastuser ist ein Administrator',
@ -2187,6 +2225,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_luceneClassDir_desc' => 'Pfad zum PEAR-Paket SeedDMS_Lucene (optional). Lassen Sie diese Einstellung leer, wenn SeedDMS_Lucene ohnehin von PHP gefunden wird, weil es beispielweise im \'Extra PHP Include-Path\' installiert ist.',
'settings_luceneDir' => 'Verzeichnis für Volltext-Index',
'settings_luceneDir_desc' => 'Verzeichnis in dem der Lucene-Index abgelegt wird.',
'settings_manager_approver_is_admin' => 'Manager ist Administrator und soll als zwingender Freigeber eingetragen, aber Administratoren dürfen nicht freigeben.',
'settings_manager_reviewer_is_admin' => 'Manager ist Administrator und soll als zwingender Prüfer eingetragen, aber Administratoren dürfen nicht prüfen.',
'settings_markdownComments' => 'Kommentare als Markdown interpretieren',
'settings_markdownComments_desc' => 'Einschalten, um die Kommentare von Ordnern, Dokumenten und Versionen als Markdown zu interpretieren.',
'settings_maxDirID' => 'Max. Anzahl Unterverzeichnisse',
@ -2375,6 +2415,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_add_group' => 'Neue Gruppe hinzugefügt',
'splash_add_group_member' => 'Neues Gruppenmitglied hinzugefügt',
'splash_add_keyword' => 'Stichwort hinzugefügt',
'splash_add_keyword_category' => 'Stichwortliste hinzugefügt',
'splash_add_notify' => 'Neue Benachrichtigung hinzugefügt',
'splash_add_role' => 'Neue Rolle hinzugefügt',
'splash_add_task' => 'Neuer Task hinzugefügt',
@ -2382,6 +2423,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_add_transmittal' => 'Neue Dokumentenliste angelegt',
'splash_add_user' => 'Neuen Benutzer hinzugefügt',
'splash_cancel_checkout' => 'Auschecken abgebrochen',
'splash_checked_in' => 'Dokument eingecheckt',
'splash_cleared_cache' => 'Cache geleert',
'splash_cleared_clipboard' => 'Zwischenablage geleert',
'splash_delete_access' => 'Zugriffsrecht gelöscht',
@ -2393,17 +2435,20 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_document_locked' => 'Dokument gesperrt',
'splash_document_name_changed' => 'Dokumentenname geändert',
'splash_document_unlocked' => 'Dokumentensperre aufgehoben',
'splash_document_updated' => 'Dokument aktualisiert',
'splash_edit_access' => 'Zugriffsrecht verändert',
'splash_edit_attribute' => 'Attribut gespeichert',
'splash_edit_category' => 'Kategorie gespeichert',
'splash_edit_event' => 'Ereignis gespeichert',
'splash_edit_group' => 'Gruppe gespeichert',
'splash_edit_keyword' => 'Stichwort gespeichert',
'splash_edit_keyword_category' => 'Name der Stichwortliste geändert',
'splash_edit_role' => 'Rolle gespeichert',
'splash_edit_task' => 'Task gespeichert',
'splash_edit_transmittal' => 'Dokumentenliste gespeichert',
'splash_edit_user' => 'Benutzer gespeichert',
'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste',
'splash_error_checkin_ended' => 'Einchecken beendet und Änderungen verworfen',
'splash_error_rm_download_link' => 'Fehler beim Löschen des Download-Links',
'splash_error_saving_file' => 'Fehler beim Speichern der Datei',
'splash_error_send_download_link' => 'Fehler beim Verschicken des Download-Links',
@ -2437,6 +2482,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_rm_group' => 'Gruppe gelöscht',
'splash_rm_group_member' => 'Mitglied der Gruppe gelöscht',
'splash_rm_keyword' => 'Stichwort gelöscht',
'splash_rm_keyword_category' => 'Stichwortliste gelöscht',
'splash_rm_notify' => 'Benachrichtigung gelöscht',
'splash_rm_role' => 'Rolle gelöscht',
'splash_rm_transmittal' => 'Dokumentenliste gelöscht',
@ -2520,6 +2566,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'target_equals_source_folder' => 'Zielordner ist identisch zu Quellordner',
'tasks' => 'Aufgaben',
'task_core_expireddocs_days' => 'Tage',
'task_core_expireddocs_dryrun' => 'Testlauf',
'task_core_expireddocs_email' => 'E-Mail',
'task_core_expireddocs_peruser' => 'Pro Benutzer',
'task_core_importdropfolder_dryrun' => 'Testlauf',
@ -2626,6 +2673,7 @@ URL: [url]</p>',
'type_to_filter' => 'Hier tippen zum Filtern der Liste',
'type_to_search' => 'Hier tippen zum Suchen',
'uk_UA' => 'Ukrainisch',
'undefined' => 'unbestimmt',
'under_folder' => 'In Ordner',
'unknown_attrdef' => 'unbekannte Attributdefinition',
'unknown_command' => 'unbekannter Befehl',
@ -2644,6 +2692,7 @@ URL: [url]</p>',
'unlock_cause_locking_user' => 'Sie sind im Moment mit demselben Benutzer angemeldet.<br>Daher wird die Sperrung beim Update automatisch aufgehoben',
'unlock_document' => 'Sperrung aufheben',
'update' => 'Aktualisieren',
'updated' => 'aktualisiert',
'updated_documents' => 'Aktualisierte Dokumente',
'update_approvers' => 'Liste der Freigebenden aktualisieren',
'update_document' => 'Aktualisieren',

View File

@ -150,6 +150,7 @@ $text = array(
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Όνομα',
@ -270,6 +271,7 @@ $text = array(
'choose_attrdefgroup' => '',
'choose_category' => 'Επιλέξτε',
'choose_group' => 'Επιλέξτε Ομάδα',
'choose_link_type' => '',
'choose_role' => 'Επιλογή Ρόλου',
'choose_target_category' => 'Επιλογή κατηγορίας',
'choose_target_document' => 'Επιλογή εγγράφου',
@ -366,7 +368,9 @@ $text = array(
'disable_extension' => '',
'disclaimer' => 'Διαβαθμισμένη περιοχή. Η πρόσβαση επιτρέπεται μόνο σε εξουσιοδοτημένο προσωπικό. Κάθε παράβαση διώκεται σύμφωνα με τους εθνικούς και διεθνής νόμους.',
'discspace' => '',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Έγγραφο',
@ -572,6 +576,7 @@ $text = array(
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spanish/Ισπανικά',
'event' => '',
'event_details' => '',
'exclude_items' => '',
'expired' => 'Έχει λήξει',
@ -626,6 +631,7 @@ $text = array(
'filter_for_documents' => '',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => '',
'finished_workflow_log' => '',
'folder' => 'Φάκελος',
'folders' => 'Φάκελοι',
'folders_and_documents_statistic' => 'στατιστικά Φακέλλων και Αρχείων',
@ -684,6 +690,7 @@ $text = array(
'global_attributedefinitions' => 'Ιδιότητες',
'global_default_keywords' => 'Λέξεις Κλειδιά',
'global_document_categories' => 'Κατηγορίες',
'global_link_types' => '',
'global_workflows' => 'Ροές Εργασίας',
'global_workflow_actions' => 'Ενέργειες Ροής Εργασίας',
'global_workflow_states' => 'Καταστάσεις Ροής Εργασίας',
@ -749,6 +756,7 @@ $text = array(
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Κληρονομημένο',
'inherits_access_copy_msg' => 'Αντιγραφή δικαιωμάτων πρόσβασης',
@ -829,6 +837,7 @@ $text = array(
'latest_updateddocuments' => '',
'legend' => 'Ιστορικό',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Σχετικά Έγγραφα',
'linked_files' => 'Συνδεμένα αρχεία',
'linked_to_current_version' => '',
@ -842,6 +851,7 @@ $text = array(
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Τοπικό αρχείο',
'locked_by' => '',
@ -907,6 +917,7 @@ $text = array(
'move_document' => 'Μετακίνηση εγγράφου',
'move_folder' => 'Μετακίνηση φακέλου',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Ο Λογαριασμός μου',
'my_documents' => 'Τα έγγραφα μου',
'my_transmittals' => 'Οι Διαβιβάσεις μου',
@ -945,6 +956,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '',
'new_folder' => 'Νέος φάκελλος',
'new_link_type' => '',
'new_password' => 'Νέος κωδικός',
'new_subfolder_email' => 'Νέος φάκελλος',
'new_subfolder_email_body' => 'Νέος φάκελλος
@ -1189,6 +1201,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1327,6 +1341,10 @@ URL: [url]',
'settings' => 'Ρυθμίσεις',
'settings_activate_module' => '',
'settings_activate_php_extension' => '',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => '',
'settings_adminIP_desc' => '',
'settings_Advanced' => '',
@ -1474,6 +1492,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',
'settings_enableLargeFileUpload_desc' => '',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => '',
@ -1548,6 +1568,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => '',
'settings_fullSearchEngine_valsqlitefts' => '',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => '',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
@ -1585,6 +1615,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => '',
'settings_luceneDir' => '',
'settings_luceneDir_desc' => '',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '',
@ -1773,6 +1805,7 @@ URL: [url]',
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1780,6 +1813,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => '',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => '',
'splash_delete_access' => '',
@ -1791,17 +1825,20 @@ URL: [url]',
'splash_document_locked' => 'Κλειδωμένο έγγραφο',
'splash_document_name_changed' => '',
'splash_document_unlocked' => '',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => '',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => '',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -1835,6 +1872,7 @@ URL: [url]',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -1918,6 +1956,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2004,6 +2043,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Πληκτρολόγησε για αναζήτηση',
'uk_UA' => 'Ουκρανικά',
'undefined' => '',
'under_folder' => '',
'unknown_attrdef' => '',
'unknown_command' => '',
@ -2022,6 +2062,7 @@ URL: [url]',
'unlock_cause_locking_user' => '',
'unlock_document' => 'Ξεκλείδωμα',
'update' => 'Ενημέρωση',
'updated' => '',
'updated_documents' => '',
'update_approvers' => '',
'update_document' => 'Ενημέρωση εγγράφου',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2390), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2460), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -190,6 +190,7 @@ URL: [url]</p>',
'attrdef_minvalues_help' => 'Minimum number of values. Set to 1 if attribute must be set.',
'attrdef_min_greater_max' => 'Minimum number of values is larger than maximum number of values',
'attrdef_multiple' => 'Allow multiple values',
'attrdef_multiple_but_doc_or_folder' => 'Attributes of type document or folder cannot have multiple values.',
'attrdef_multiple_needs_valueset' => 'Attribute definition with multiple values needs value set.',
'attrdef_must_be_multiple' => 'Attribute must have more than one value, but is not set multiple value',
'attrdef_name' => 'Name',
@ -275,7 +276,7 @@ URL: [url]</p>',
'cancel' => 'Cancel',
'cancel_checkout' => 'Cancel checkout',
'cancel_checkout_document' => 'Cancel checkout',
'cancel_checkout_warning' => 'The check out can canceled thought the checked out file has been changed. In that case the file will be deleted from the check out space and your modification will be lost.',
'cancel_checkout_warning' => 'The check out can be canceled thought the checked out file has been changed. In that case the file will be deleted from the check out space and your modification will be lost.',
'cannot_assign_invalid_state' => 'Cannot modify an obsolete or rejected document',
'cannot_change_final_states' => 'Warning: You cannot alter status for document rejected, expired or with pending review or approval',
'cannot_delete_user' => 'Cannot delete user',
@ -311,10 +312,10 @@ URL: [url]</p>',
'chart_docsperuser_title' => 'Documents per user',
'chart_foldersperuser_title' => 'Folders per user',
'chart_selection' => 'Select chart',
'chart_sizeperuser_title' => 'Diskspace per user',
'chart_sizeperuser_title' => 'Disk space per user',
'checkedout_file_has_different_version' => 'The checked out version is not identical to the current version. Check in will not update the document.',
'checkedout_file_has_disappeared' => 'The file of the checked out document has disappeared. Check in will not be possible.',
'checkedout_file_is_unchanged' => 'The file of the checked out document is still unchanged. Check in will not be possible. If do not plan any modifications, you can reset the check out status.',
'checkedout_file_is_unchanged' => 'The file of the checked out document is still unchanged. Check in will not be possible. If you do not plan any modifications, you can reset the check out status.',
'checkin_document' => 'Check In',
'checkoutpath_does_not_exist' => 'Checkout path does not exists',
'checkout_cancel_confirm' => 'Confirm to cancel checkout',
@ -328,6 +329,7 @@ URL: [url]</p>',
'choose_attrdefgroup' => 'Choose attribute group',
'choose_category' => 'Please choose',
'choose_group' => 'Choose group',
'choose_link_type' => 'Choose link type',
'choose_role' => 'Choose role',
'choose_target_category' => 'Choose category',
'choose_target_document' => 'Choose document',
@ -424,7 +426,9 @@ URL: [url]</p>',
'disable_extension' => 'Disable extension',
'disclaimer' => 'This is a classified area. Access is permitted only to authorized personnel. Any violation will be prosecuted according to the national and international laws.',
'discspace' => 'Disc space',
'docs_in_reception_disabled' => 'Documents with reception by diabled users',
'docs_in_reception_no_access' => 'Documents with reception without access by recipient',
'docs_in_revision_disabled' => 'Documents with revision by disabled user',
'docs_in_revision_no_access' => 'Documents in revision without access by revisor',
'docs_with_missing_revision_date' => 'Documents withoug date of revision',
'document' => 'Document',
@ -630,14 +634,16 @@ URL: [url]</p>',
'document_status_changed_email_body' => 'Document status changed
Document: [name]
Status: [status]
Old status: [old_status]
New status: [status]
Parent folder: [folder_path]
User: [username]
URL: [url]',
'document_status_changed_email_body_html' => '<p>Document status changed</p>
<p>Document: [name]<br />
Status: [status]<br />
Old status: [old_status]<br />
New status: [status]<br />
Parent folder: [folder_path]<br />
User: [username]<br />
URL: [url]</p>',
@ -790,6 +796,7 @@ URL: [url]</p>',
'error_update_document' => 'Error while updating document',
'error_uploading_reviewer_only' => 'Error when creating the document. The document has a reviewer, but no approver.',
'es_ES' => 'Spanish',
'event' => 'event',
'event_details' => 'Event details',
'exclude_items' => 'Exclude items',
'expired' => 'Expired',
@ -850,10 +857,11 @@ URL: [url]</p>',
'files_deletion_warning' => 'With this option you can delete all files of entire DMS folders. The versioning information will remain visible.',
'files_loading' => 'Please wait, until the list of files is loaded …',
'filetype' => 'File type',
'file_size' => 'Filesize',
'file_size' => 'File size',
'filter_for_documents' => 'Additional filter for documents',
'filter_for_documents_and_folders' => 'Additional filter for folder and documents',
'filter_for_folders' => 'Additional filter for folders',
'finished_workflow_log' => 'Finished workflows',
'folder' => 'Folder',
'folders' => 'Folders',
'folders_and_documents_statistic' => 'Contents overview',
@ -887,7 +895,7 @@ Value: [attribute_value]<br />
Parent folder: [folder_path]<br />
User: [username]<br />
URL: [url]</p>',
'folder_attribute_added_email_subject' => '[sitename]: [name] - Attribute changed',
'folder_attribute_added_email_subject' => '[sitename]: [name] - Attribute added',
'folder_attribute_changed_email_body' => 'Attribute changed
Folder: [name]
@ -1032,6 +1040,7 @@ URL: [url]</p>',
'global_attributedefinitions' => 'Attributes',
'global_default_keywords' => 'Global keywords',
'global_document_categories' => 'Categories',
'global_link_types' => 'Link Types',
'global_workflows' => 'Workflows',
'global_workflow_actions' => 'Workflow Actions',
'global_workflow_states' => 'Workflow States',
@ -1096,8 +1105,9 @@ URL: [url]</p>',
'individuals' => 'Individuals',
'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => 'Change of status, because review of user [name] was removed.',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_user' => 'Only tasks not being touched can be transfered to another user. Task which has been taken care of, will just add an item in the history, as if the user was deleted.',
'info_recipients_tab_not_released' => 'Acknowledgment of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_none' => 'The user has currently no tasks.',
'info_rm_user_from_processes_user' => 'Only tasks not being touched can be transferred to another user. Task which has been taken care of, will just add an item in the history, as if the user was deleted.',
'inherited' => 'inherited',
'inherits_access_copy_msg' => 'Copy inherited access list',
'inherits_access_empty_msg' => 'Start with empty access list',
@ -1177,6 +1187,7 @@ URL: [url]</p>',
'latest_updateddocuments' => 'Latest updated documents',
'legend' => 'Legend',
'librarydoc' => 'Document from library',
'linked_document' => 'Linked document',
'linked_documents' => 'Related Documents',
'linked_files' => 'Attachments',
'linked_to_current_version' => 'Linked to current version',
@ -1190,6 +1201,7 @@ URL: [url]</p>',
'list_conversion_services' => 'List of conversion services',
'list_hooks' => 'List of hooks',
'list_notification_services' => 'List of notification services',
'list_of_recipients_has_disabled_users' => 'List of recipients contains disabled users.',
'list_tasks' => 'List tasks',
'local_file' => 'Local file',
'locked_by' => 'Locked by',
@ -1215,11 +1227,11 @@ URL: [url]</p>',
'mandatory_approvergroups' => 'Mandatory Groups of approvers',
'mandatory_approvergroup_no_access' => 'Mandatory group of approvers \'[group]\' has insufficient access rights.',
'mandatory_approvers' => 'Mandatory approvers',
'mandatory_approver_no_access' => 'Mandatory approver \'[user]\' has insufficient access rights.',
'mandatory_approver_no_access' => 'Mandatory approver \'[user]\' has insufficient access rights or is not allowed as an approver.',
'mandatory_reviewergroups' => 'Mandatory group of reviewers',
'mandatory_reviewergroup_no_access' => 'Mandatory group of reviewers \'[group]\' has insufficient access rights.',
'mandatory_reviewers' => 'Mandatory reviewers',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights or is not allowed as a reviewer.',
'march' => 'March',
'mark_document' => 'Mark document for batch operation',
'mark_folder' => 'Mark folder for batch operation',
@ -1233,7 +1245,7 @@ URL: [url]</p>',
'misc' => 'Misc',
'missing_checksum' => 'Missing checksum',
'missing_file' => 'Missing file',
'missing_filesize' => 'Missing filesize',
'missing_filesize' => 'Missing file size',
'missing_func_class_note' => 'Note',
'missing_php_class' => 'PHP class [classname] missing',
'missing_php_extension' => 'PHP extension [extname] missing',
@ -1255,6 +1267,7 @@ URL: [url]</p>',
'move_document' => 'Move document',
'move_folder' => 'Move Folder',
'move_into_rootfolder' => 'Move into root folder',
'must_drop_one_file' => 'You may not drop more than one file',
'my_account' => 'My Account',
'my_documents' => 'My Documents',
'my_transmittals' => 'My Transmittals',
@ -1272,7 +1285,7 @@ URL: [url]</p>',
'never' => 'never',
'new' => 'New',
'new_attrdef' => 'Add attribute definition',
'new_default_keywords' => 'Add keywords',
'new_default_keywords' => 'Add keyword',
'new_default_keyword_category' => 'Add category',
'new_documents' => 'New documents',
'new_documents_today' => 'New documents today',
@ -1313,6 +1326,7 @@ User: [username]<br />
URL: [url]</p>',
'new_file_email_subject' => '[sitename]: [document] - New attachment',
'new_folder' => 'New folder',
'new_link_type' => 'Add link type',
'new_password' => 'New password',
'new_subfolder_email' => 'New folder',
'new_subfolder_email_body' => 'New folder
@ -1728,6 +1742,14 @@ URL: [url]</p>',
'revisions_without_group' => 'Revisions without group',
'revisions_without_user' => 'Revisions without user',
'revision_date' => 'Date of revision',
'revision_deletion_email_body' => '<p>Revision request deleted</p>
<p>Document: [name]<br />
Version: [version]<br />
Parent folder: [folder_path]<br />
User: [username]<br />
URL: [url]</p>',
'revision_deletion_email_subject' => '[sitename]: [name] - Revision request removed',
'revision_log' => 'Revision log',
'revision_request_email_body' => 'Revision request
@ -1931,6 +1953,10 @@ If you did not receive a password, please use the password forgotten function on
'settings' => 'Settings',
'settings_activate_module' => 'Activate module',
'settings_activate_php_extension' => 'Activate PHP extension',
'settings_addManagerAsApprover' => 'Add group manager as approver',
'settings_addManagerAsApprover_desc' => 'All uploaded documents of a user will be approved by the managers of the users\'s groups.',
'settings_addManagerAsReviewer' => 'Add group manager as reviewer',
'settings_addManagerAsReviewer_desc' => 'All uploaded documents of a user will be reviewed by the managers of the users\'s groups.',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'If set, admin can login only by specified IP address. Leave empty to avoid lose of access. NOTE: works only with local authentication (no LDAP)',
'settings_Advanced' => 'Advanced',
@ -1941,12 +1967,12 @@ If you did not receive a password, please use the password forgotten function on
'settings_allowReviewerOnly' => 'Allow to set reviewer only',
'settings_allowReviewerOnly_desc' => 'Enable this, if it shall be allow to set just a reviewer but no approver in traditional workflow mode.',
'settings_apache_mod_rewrite' => 'Apache - Module Rewrite',
'settings_apiKey' => 'Authentification key for rest api',
'settings_apiKey_desc' => 'This key is used a alternative authentication for the rest api. Choose a 32 char long string.',
'settings_apiKey' => 'Authentification key for REST api',
'settings_apiKey_desc' => 'This key is used a alternative authentication for the REST api. Choose a 32 char long string.',
'settings_apiOrigin' => 'Allowed origin of api calls',
'settings_apiOrigin_desc' => 'A list of addresses separated by semicolon. Each address has the form <protocol>://<domain>[:<port>]. The port can be omitted. If this field is left empty, no restrictions will apply.',
'settings_apiUserId' => 'User for rest api',
'settings_apiUserId_desc' => 'This user will be used by the rest api, if authentication was done with the configured api key.',
'settings_apiUserId' => 'User for REST api',
'settings_apiUserId_desc' => 'This user will be used by the REST api, if authentication was done with the configured api key.',
'settings_Authentication' => 'Authentication settings',
'settings_autoLoginUser' => 'Automatic login',
'settings_autoLoginUser_desc' => 'Use this user id for accesses if the user is not already logged in. Such an access will not create a session.',
@ -2078,6 +2104,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_enableLanguageSelector_desc' => 'Show selector for user interface language after being logged in.',
'settings_enableLargeFileUpload' => 'Enable large file upload',
'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_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_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_enableMultiUpload' => 'Allow upload of multiple files',
@ -2152,6 +2180,16 @@ If you did not receive a password, please use the password forgotten function on
'settings_fullSearchEngine_desc' => 'Set the method used for the fulltext search.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => 'Add approver for all documents',
'settings_globalApprover_desc' => 'This users will be added to each uploaded document as mandatory approvers.',
'settings_globalGroupApprover' => 'Add group approver for all documents',
'settings_globalGroupApprover_desc' => 'This groups will be added to each uploaded document as mandatory approvers.',
'settings_globalGroupReviewer' => 'Add group reviewer for all documents',
'settings_globalGroupReviewer_desc' => 'This groups will be added to each uploaded document as mandatory reviewers.',
'settings_globalReviewer' => 'Add reviewer for all documents',
'settings_globalReviewer_desc' => 'This users will be added to each uploaded document as mandatory reviewers.',
'settings_global_approver_is_admin' => 'Approver \'[login]\' for all documents is administrator, but administrators may not approve.',
'settings_global_reviewer_is_admin' => 'Reviewer \'[login]\' for all documents is administrator, but administrators may not review.',
'settings_guestID' => 'Guest user',
'settings_guestID_desc' => 'ID of guest-user used when logged in as guest (mostly no need to change)',
'settings_guestid_is_admin' => 'Guest user is an administrator',
@ -2189,6 +2227,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_luceneClassDir_desc' => 'Path to SeedDMS_Lucene (optional). Leave this empty if you have installed SeedDMS_Lucene at a place where it can be found by PHP, e.g. Extra PHP Include-Path',
'settings_luceneDir' => 'Directory for full text index',
'settings_luceneDir_desc' => 'Path to Lucene index',
'settings_manager_approver_is_admin' => 'Manager ist adminstrator and a mandatory approver, but administrators may not approve.',
'settings_manager_reviewer_is_admin' => 'Manager ist adminstrator and a mandatory reviewer, but administrators may not review.',
'settings_markdownComments' => 'Parse comments as markdown',
'settings_markdownComments_desc' => 'Enable this, if comments of folders, documents and versions are interpreted as markdown.',
'settings_maxDirID' => 'Max Directory ID',
@ -2199,7 +2239,7 @@ If you did not receive a password, please use the password forgotten function on
'settings_maxItemsPerPage_desc' => 'Restricts the number of folders and documents shown on the view folder page. Further objects will be loaded when scrolling to the end of the page. Set to 0 to always show all objects.',
'settings_maxRecursiveCount' => 'Max. number of recursive document/folder count',
'settings_maxRecursiveCount_desc' => 'This is the maximum number of documents or folders that will be checked for access rights, when recursively counting objects. If this number is exceeded, the number of documents and folders in the folder view will be estimated.',
'settings_maxSizeForFullText' => 'Maximum filesize for instant indexing',
'settings_maxSizeForFullText' => 'Maximum file size for instant indexing',
'settings_maxSizeForFullText_desc' => 'All new document version smaller than the configured size will be fully indexed right after uploading. In all other cases only the metadata will be indexed.',
'settings_maxUploadSize' => 'Maxium size for uploaded files',
'settings_maxUploadSize_desc' => 'This is the maximum size for uploaded files. It will take affect for document versions and attachments.',
@ -2218,7 +2258,7 @@ If you did not receive a password, please use the password forgotten function on
'settings_overrideMimeType_desc' => 'Override the MimeType delivered by the browser, if a file is uploaded. The new MimeType is determined by SeedDMS itself.',
'settings_overrideTheme' => 'Override theme',
'settings_overrideTheme_desc' => 'Enable this for overriding the theme store in the user record with the theme configured in this configuration.',
'settings_partitionSize' => 'Partial filesize',
'settings_partitionSize' => 'Partial file size',
'settings_partitionSize_desc' => 'Size of partial files in bytes, uploaded by jumploader. Do not set a value larger than the maximum upload size set by the server.',
'settings_passwordExpiration' => 'Password expiration',
'settings_passwordExpiration_desc' => 'The number of days after which a password expireѕ and must be reset. 0 turns password expiration off.',
@ -2377,6 +2417,7 @@ If you did not receive a password, please use the password forgotten function on
'splash_add_group' => 'New group added',
'splash_add_group_member' => 'New group member added',
'splash_add_keyword' => 'New keyword added',
'splash_add_keyword_category' => 'New list of keywords added',
'splash_add_notify' => 'Added new notification',
'splash_add_role' => 'Added new role',
'splash_add_task' => 'Added new task',
@ -2384,6 +2425,7 @@ If you did not receive a password, please use the password forgotten function on
'splash_add_transmittal' => 'Added new transmittal',
'splash_add_user' => 'Added new user',
'splash_cancel_checkout' => 'Checkout canceled',
'splash_checked_in' => 'Document checked in',
'splash_cleared_cache' => 'Cache cleared',
'splash_cleared_clipboard' => 'Clipboard cleared',
'splash_delete_access' => 'Access right deleted',
@ -2395,17 +2437,20 @@ If you did not receive a password, please use the password forgotten function on
'splash_document_locked' => 'Document locked',
'splash_document_name_changed' => 'Document name changed',
'splash_document_unlocked' => 'Document unlocked',
'splash_document_updated' => 'Document updated',
'splash_edit_access' => 'Access right changed',
'splash_edit_attribute' => 'Attribute saved',
'splash_edit_category' => 'Category saved',
'splash_edit_event' => 'Event saved',
'splash_edit_group' => 'Group saved',
'splash_edit_keyword' => 'Keyword saved',
'splash_edit_keyword_category' => 'Name of keyword list changed',
'splash_edit_role' => 'Role saved',
'splash_edit_task' => 'Task saved',
'splash_edit_transmittal' => 'Transmittal saved',
'splash_edit_user' => 'User saved',
'splash_error_add_to_transmittal' => 'Error while adding document to transmittal',
'splash_error_checkin_ended' => 'Ended checkin and discarded changes',
'splash_error_rm_download_link' => 'Error when removing download link',
'splash_error_saving_file' => 'Error while saving file',
'splash_error_send_download_link' => 'Error while sending download link',
@ -2439,6 +2484,7 @@ If you did not receive a password, please use the password forgotten function on
'splash_rm_group' => 'Group removed',
'splash_rm_group_member' => 'Member of group removed',
'splash_rm_keyword' => 'Keyword removed',
'splash_rm_keyword_category' => 'List of keywords removed',
'splash_rm_notify' => 'Notification deleted',
'splash_rm_role' => 'Role deleted',
'splash_rm_transmittal' => 'Transmittal deleted',
@ -2457,9 +2503,9 @@ If you did not receive a password, please use the password forgotten function on
'splash_substituted_user' => 'Substituted user',
'splash_switched_back_user' => 'Switched back to original user',
'splash_toogle_group_manager' => 'Group manager toogled',
'splash_transfer_content' => 'Content transfered',
'splash_transfer_document' => 'Document transfered',
'splash_transfer_objects' => 'Objects transfered',
'splash_transfer_content' => 'Content transferred',
'splash_transfer_document' => 'Document transferred',
'splash_transfer_objects' => 'Objects transferred',
'splash_trigger_workflow' => 'Triggered transition of workflow',
'startdate' => 'Start date',
'state_and_next_state' => 'State/Next state',
@ -2522,6 +2568,7 @@ If you did not receive a password, please use the password forgotten function on
'target_equals_source_folder' => 'Target folder equals source folder',
'tasks' => 'Tasks',
'task_core_expireddocs_days' => 'Days',
'task_core_expireddocs_dryrun' => 'Dry run',
'task_core_expireddocs_email' => 'Email',
'task_core_expireddocs_peruser' => 'Per user',
'task_core_importdropfolder_dryrun' => 'Dry run',
@ -2581,7 +2628,7 @@ If you did not receive a password, please use the password forgotten function on
'transfer_content' => 'Transfer content',
'transfer_document' => 'Transfer document',
'transfer_no_read_access' => 'The user does not have read access in the folder',
'transfer_no_users' => 'There are currenlty no users the document can be transfered to.',
'transfer_no_users' => 'There are currently no users the document can be transferred to.',
'transfer_no_write_access' => 'The user does not have write access in the folder',
'transfer_objects' => 'Transfer objects',
'transfer_objects_to_user' => 'New owner',
@ -2628,6 +2675,7 @@ URL: [url]</p>',
'type_to_filter' => 'Type to filter list',
'type_to_search' => 'Type to search',
'uk_UA' => 'Ukrainian',
'undefined' => 'undefined',
'under_folder' => 'In Folder',
'unknown_attrdef' => 'Unknown attribute definition',
'unknown_command' => 'Command not recognized.',
@ -2646,6 +2694,7 @@ URL: [url]</p>',
'unlock_cause_locking_user' => 'You can still update it because you are also the one that locked it. Locking will automatically be removed.',
'unlock_document' => 'Unlock',
'update' => 'Update',
'updated' => 'updated',
'updated_documents' => 'Updated documents',
'update_approvers' => 'Update List of Approvers',
'update_document' => 'Update document',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: acabello (20), Admin (1353), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (1354), angel (123), francisco (2), jaimem (14)
$text = array(
'2_factor_auth' => 'Autenticación de doble factor',
@ -162,6 +162,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'El número mínimo de valores es mayor que el numero máximo de valores',
'attrdef_multiple' => 'Permitir múltiples valores',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'El atributo debe tener más de un valor, pero no está seteado para valores múltiples',
'attrdef_name' => 'Nombre',
@ -290,6 +291,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Seleccione categoría',
'choose_group' => 'Seleccione grupo',
'choose_link_type' => '',
'choose_role' => 'Seleccione Usuario',
'choose_target_category' => 'Seleccione categoría',
'choose_target_document' => 'Seleccione documento',
@ -386,7 +388,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.',
'discspace' => 'Espacio en disco',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documentos recibidos sin acceso por recipiente',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documentos en revisión sin acceso para el revisor',
'docs_with_missing_revision_date' => '',
'document' => 'Documento',
@ -647,6 +651,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Castellano',
'event' => '',
'event_details' => 'Detalles del evento',
'exclude_items' => 'Registros excluidos',
'expired' => 'Caducado',
@ -705,6 +710,7 @@ URL: [url]',
'filter_for_documents' => 'Filtro adicional para documentos',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtro adicional para carpetas',
'finished_workflow_log' => '',
'folder' => 'Carpeta',
'folders' => 'Carpetas',
'folders_and_documents_statistic' => 'Vista general de contenidos',
@ -805,6 +811,7 @@ URL: [url]',
'global_attributedefinitions' => 'Definición de atributos',
'global_default_keywords' => 'Palabras clave globales',
'global_document_categories' => 'Categorías',
'global_link_types' => '',
'global_workflows' => 'Flujos de Trabajo',
'global_workflow_actions' => 'Acciones de Flujo de Trabajo',
'global_workflow_states' => 'Estados de Flujo de Trabajo',
@ -838,7 +845,7 @@ URL: [url]',
'hu_HU' => 'Hungaro',
'id' => 'ID',
'identical_version' => 'La nueva versión es idéntica a la actual.',
'id_ID' => '',
'id_ID' => 'Indones',
'import' => 'Importar',
'importfs' => '',
'import_extension' => '',
@ -870,6 +877,7 @@ URL: [url]',
'individuals_in_groups' => 'Miembros del grupo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'heredado',
'inherits_access_copy_msg' => 'Copiar lista de acceso heredado',
@ -950,6 +958,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Leyenda',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Documentos relacionados',
'linked_files' => 'Adjuntos',
'linked_to_current_version' => 'Vinculado a la versión actual',
@ -963,6 +972,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Mis bloques',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Fichero local',
'locked_by' => 'Bloqueado por',
@ -1028,6 +1038,7 @@ URL: [url]',
'move_document' => 'Mover documento',
'move_folder' => 'Mover carpeta',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Mi cuenta',
'my_documents' => 'Mis documentos',
'my_transmittals' => 'Mi transmision',
@ -1071,6 +1082,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nuevo adjunto',
'new_folder' => 'Nueva carpeta',
'new_link_type' => '',
'new_password' => 'Nueva contraseña',
'new_subfolder_email' => 'Nueva carpeta',
'new_subfolder_email_body' => 'Nueva carpeta
@ -1346,6 +1358,8 @@ URL: [url]',
'revisions_without_group' => 'Revisiones sin grupo',
'revisions_without_user' => 'Revisiones sin usuario',
'revision_date' => 'Fecha de revisión',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Histórico de revisiones',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1497,6 +1511,10 @@ URL: [url]',
'settings' => 'Configuración',
'settings_activate_module' => 'Activar módulo',
'settings_activate_php_extension' => 'Activar extensión PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP de administración',
'settings_adminIP_desc' => 'Si establece que el administrador solo puede conectar desde una dirección IP específica, deje en blanco para evitar el control. NOTA: funciona únicamente con autenticación local (no LDAP).',
'settings_Advanced' => 'Avanzado',
@ -1644,6 +1662,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Mostrar selector de lenguaje para usuario despues de identificarse.',
'settings_enableLargeFileUpload' => 'Habilitar la carga de ficheros grandes',
'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_desc' => '',
'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_enableMultiUpload' => 'Permitir subir múltiples archivos',
@ -1718,6 +1738,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Establece el metodo utilizado para la busqueda de texto completa',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID de invitado',
'settings_guestID_desc' => 'ID del usuario invitado cuando se conecta como invitado (mayormente no necesita cambiarlo)',
'settings_guestid_is_admin' => '',
@ -1755,6 +1785,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Ruta hacia SeedDMS_Lucene (opcional)',
'settings_luceneDir' => 'Carpeta del índice de texto completo',
'settings_luceneDir_desc' => 'Ruta hacia el índice Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'ID máximo de carpeta',
@ -1943,6 +1975,7 @@ URL: [url]',
'splash_add_group' => 'Nuevo grupo agregado',
'splash_add_group_member' => 'Nuevo miembro del grupo agregado',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1950,6 +1983,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Nuevo usuario agregado',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Portapapeles limpiado',
'splash_delete_access' => '',
@ -1961,17 +1995,20 @@ URL: [url]',
'splash_document_locked' => 'Documento bloqueado',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Documento desbloqueado',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Atributo guardado',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Grupo guardado',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Usuario guardado',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2005,6 +2042,7 @@ URL: [url]',
'splash_rm_group' => 'Grupo eliminado',
'splash_rm_group_member' => 'Miembro eliminado del grupo',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2088,6 +2126,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => 'Tareas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2183,6 +2222,7 @@ URL: [url]',
'type_to_filter' => 'Escriba para filtrar lista',
'type_to_search' => 'Tipo de búsqueda',
'uk_UA' => 'Ucraniano',
'undefined' => '',
'under_folder' => 'En carpeta',
'unknown_attrdef' => 'Definición de atributo desconocida',
'unknown_command' => 'Orden no reconocida.',
@ -2201,6 +2241,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Puede actualizarlo porque fue quién lo bloqueó. El bloqueo será automáticamente eliminado.',
'unlock_document' => 'Desbloquear',
'update' => 'Actualizar',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Actualizar lista de aprobadores',
'update_document' => 'Actualizar documento',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1169), jeromerobert (50), lonnnew (9), Oudiceval (1171)
// Translators: Admin (1170), jeromerobert (50), lonnnew (9), Oudiceval (1171)
$text = array(
'2_factor_auth' => 'Authentification forte',
@ -181,6 +181,7 @@ URL : [url]</p>',
'attrdef_minvalues_help' => 'Nombre minimum de valeurs. Définir à 1 si lattribut doit être défini.',
'attrdef_min_greater_max' => 'Le nombre minimum de valeurs est supérieur au maximum',
'attrdef_multiple' => 'Permettre des valeurs multiples',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Une définition dattribut à valeurs multiples nécessite un ensemble de valeurs.',
'attrdef_must_be_multiple' => 'L\'attribut a plusieurs valeurs mais n\'est pas définit comme possédant des valeurs multiples',
'attrdef_name' => 'Nom',
@ -319,6 +320,7 @@ URL : [url]</p>',
'choose_attrdefgroup' => 'Choisir un groupe dattributs',
'choose_category' => 'Sélectionnez une catégorie',
'choose_group' => 'Choisir un groupe',
'choose_link_type' => '',
'choose_role' => 'Choisir un rôle',
'choose_target_category' => 'Choisir une catégorie',
'choose_target_document' => 'Choisir un document',
@ -415,7 +417,9 @@ URL : [url]</p>',
'disable_extension' => 'Désactiver lextension',
'disclaimer' => 'Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.<br/>Tout accès non autorisé est punissable par les lois internationales.',
'discspace' => 'Espace disque',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documents en attente de réception sans accès du destinataire',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documents en révision sans accès du réviseur',
'docs_with_missing_revision_date' => '',
'document' => 'Document',
@ -762,6 +766,7 @@ URL : [url]</p>',
'error_update_document' => 'Erreur lors de la mise à jour du document',
'error_uploading_reviewer_only' => 'Erreur lors de la création du document. Le document a un examinateur, mais pas dapprobateur.',
'es_ES' => 'Espagnol',
'event' => '',
'event_details' => 'Détails de l\'événement',
'exclude_items' => 'Exclure des élements',
'expired' => 'Expiré',
@ -826,6 +831,7 @@ URL : [url]</p>',
'filter_for_documents' => 'Filtre additionnel pour les documents',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtre additionnel pour les dossiers',
'finished_workflow_log' => '',
'folder' => 'Dossier',
'folders' => 'Dossiers',
'folders_and_documents_statistic' => 'Aperçu du contenu',
@ -989,6 +995,7 @@ URL : [url]</p>',
'global_attributedefinitions' => 'Définitions d\'attributs',
'global_default_keywords' => 'Mots-clés globaux',
'global_document_categories' => 'Catégories',
'global_link_types' => '',
'global_workflows' => 'Workflows',
'global_workflow_actions' => 'Actions de Workflow',
'global_workflow_states' => 'États de Workflow',
@ -1054,6 +1061,7 @@ URL : [url]</p>',
'individuals_in_groups' => 'Membres dun groupe',
'ind_review_removed' => 'Changement de statut car la vérification de lutilisateur [name] a été supprimée.',
'info_recipients_tab_not_released' => 'Laccusé de réception pour cette version du document nest pas possible car la version nest pas en état « publié ».',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => 'Seules les tâches non traitées peuvent être transférées à un autre utilisateur. Pour les tâches déjà traitées, une entrée sera ajoutée dans lhistorique, comme si lutilisateur lui-même avait été supprimé.',
'inherited' => 'hérité',
'inherits_access_copy_msg' => 'Recopier la liste des accès hérités',
@ -1134,6 +1142,7 @@ URL : [url]</p>',
'latest_updateddocuments' => '',
'legend' => 'Légende',
'librarydoc' => 'Document de la bibliothèque',
'linked_document' => '',
'linked_documents' => 'Documents liés',
'linked_files' => 'Fichiers attachés',
'linked_to_current_version' => 'Lié à la version actuelle',
@ -1147,6 +1156,7 @@ URL : [url]</p>',
'list_conversion_services' => '',
'list_hooks' => 'Liste des appels internes',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Liste des tâches',
'local_file' => 'Fichier local',
'locked_by' => 'Verrouillé par',
@ -1212,6 +1222,7 @@ URL : [url]</p>',
'move_document' => 'Déplacer le document',
'move_folder' => 'Déplacer le dossier',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Mon compte',
'my_documents' => 'Mes documents',
'my_transmittals' => 'Mes transmissions',
@ -1270,6 +1281,7 @@ Utilisateur : [username]<br />
URL : [url]</p>',
'new_file_email_subject' => '[sitename] : [document] - Nouveau fichier attaché',
'new_folder' => 'Nouveau dossier',
'new_link_type' => '',
'new_password' => 'Nouveau mot de passe',
'new_subfolder_email' => 'Nouveau dossier',
'new_subfolder_email_body' => 'Nouveau dossier
@ -1683,6 +1695,8 @@ URL : [url]</p>',
'revisions_without_group' => 'Révisions sans groupe',
'revisions_without_user' => 'Révisions sans utilisateur',
'revision_date' => 'Date de révision',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Journal des révisions',
'revision_request_email_body' => 'Demande de révision
@ -1884,6 +1898,10 @@ Nom : [username]
'settings' => 'Configuration',
'settings_activate_module' => 'Activez le module',
'settings_activate_php_extension' => 'Activez l\'extension PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Si activé l\'administrateur ne peut se connecter que par l\'adresse IP spécifiées, laisser vide pour éviter le contrôle. NOTE: fonctionne uniquement avec autentication locale (sans LDAP)',
'settings_Advanced' => 'Avancé',
@ -2031,6 +2049,8 @@ Nom : [username]
'settings_enableLanguageSelector_desc' => 'Montrer le sélecteur de langue d\'interface après connexion de l\'utilisateur.',
'settings_enableLargeFileUpload' => 'Activer le dépôt de fichiers très volumineux',
'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_desc' => '',
'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_enableMultiUpload' => 'Autoriser le dépôt de plusieurs fichiers',
@ -2105,6 +2125,16 @@ Nom : [username]
'settings_fullSearchEngine_desc' => 'Définissez la méthode utilisée pour la recherche complète de texte.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID invité',
'settings_guestID_desc' => 'ID de l\'invité utilisé lorsque vous êtes connecté en tant qu\'invité (la plupart du temps pas besoin de changer)',
'settings_guestid_is_admin' => 'Lutilisateur invité est administrateur',
@ -2142,6 +2172,8 @@ Nom : [username]
'settings_luceneClassDir_desc' => 'Chemin vers SeedDMS_Lucene (optionnel)',
'settings_luceneDir' => 'Répertoire index Lucene',
'settings_luceneDir_desc' => 'Chemin vers index Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Nombre max. de sous-dossiers',
@ -2330,6 +2362,7 @@ Nom : [username]
'splash_add_group' => 'Nouveau groupe ajouté',
'splash_add_group_member' => 'Nouveau membre ajouté au groupe',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => 'Nouvelle notification ajoutée',
'splash_add_role' => 'Nouveau rôle ajouté',
'splash_add_task' => 'Nouvelle tâche ajoutée',
@ -2337,6 +2370,7 @@ Nom : [username]
'splash_add_transmittal' => 'Ajouté à la transmission',
'splash_add_user' => 'Nouvel utilisateur ajouté',
'splash_cancel_checkout' => 'Vérification annulée',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache vidé',
'splash_cleared_clipboard' => 'Presse-papier vidé',
'splash_delete_access' => 'Droits daccès supprimés',
@ -2348,17 +2382,20 @@ Nom : [username]
'splash_document_locked' => 'Document verrouillé',
'splash_document_name_changed' => 'Nom du document modifié',
'splash_document_unlocked' => 'Document déverrouillé',
'splash_document_updated' => '',
'splash_edit_access' => 'Droits daccès modifiés',
'splash_edit_attribute' => 'Attribut modifié',
'splash_edit_category' => '',
'splash_edit_event' => 'Événement modifié',
'splash_edit_group' => 'Groupe modifié',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Rôle modifié',
'splash_edit_task' => 'Tâche modifiée',
'splash_edit_transmittal' => 'Transmission enregistrée',
'splash_edit_user' => 'Utilisateur modifié',
'splash_error_add_to_transmittal' => 'Erreur lors de lajout du document à la transmission',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement',
'splash_error_saving_file' => 'Erreur lors de lenregistrement du fichier',
'splash_error_send_download_link' => 'Erreur lors de lenvoi du lien de téléchargement',
@ -2392,6 +2429,7 @@ Nom : [username]
'splash_rm_group' => 'Groupe supprimé',
'splash_rm_group_member' => 'Membre retiré du groupe',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => 'Notification supprimée',
'splash_rm_role' => 'Rôle supprimé',
'splash_rm_transmittal' => 'Transmission supprimée',
@ -2475,6 +2513,7 @@ Nom : [username]
'target_equals_source_folder' => 'Le dossier de destination est identique au dossier source',
'tasks' => 'Tâches',
'task_core_expireddocs_days' => 'jours',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => 'E-mail',
'task_core_expireddocs_peruser' => 'Par utilisateur',
'task_core_importdropfolder_dryrun' => '',
@ -2581,6 +2620,7 @@ URL : [url]</p>',
'type_to_filter' => 'Filtrer dans la liste',
'type_to_search' => 'Effectuer une recherche',
'uk_UA' => 'Ukrénien',
'undefined' => '',
'under_folder' => 'Dans le dossier',
'unknown_attrdef' => 'Définition dattribut inconnue',
'unknown_command' => 'Commande non reconnue.',
@ -2599,11 +2639,12 @@ 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_document' => 'Déverrouiller',
'update' => 'Mettre à jour',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Mettre à jour la liste des approbateurs',
'update_document' => 'Mettre à jour',
'update_fulltext_index' => 'Mettre à jour l\'index de recherche plein texte',
'update_fulltext_messages' => '',
'update_fulltext_messages' => 'Messages',
'update_info' => 'Informations de mise à jour',
'update_locked_msg' => 'Ce document est verrouillé.',
'update_recipients' => 'Mettre à jour la liste des destinataires',

View File

@ -167,6 +167,7 @@ Internet poveznica: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimalni broj vrijednosti je veći od maksimalnog broja vrijednosti',
'attrdef_multiple' => 'Dozvoli više vrijednosti',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Atribut s višestrukim vrijednostima mora imati set vrijednosti',
'attrdef_must_be_multiple' => 'Atribut mora imati više od jedne vrijednosti, ali nije postavljeno više vrijednosti',
'attrdef_name' => 'Naziv',
@ -295,6 +296,7 @@ Internet poveznica: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Molim odaberite',
'choose_group' => 'Odaberite grupu',
'choose_link_type' => '',
'choose_role' => 'Izaberi rolu',
'choose_target_category' => 'Odaberite kategoriju',
'choose_target_document' => 'Odaberite dokument',
@ -391,7 +393,9 @@ Internet poveznica: [url]',
'disable_extension' => '',
'disclaimer' => 'Ovo je klasificirano područje. Pristup je omogućen samo ovlaštenim osobama. Sa svakim kršenjem bit će postupano sukladno nacionalnim i međunarodnim zakonima.',
'discspace' => 'Prostor na disku',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -646,6 +650,7 @@ Internet poveznica: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Španjolski',
'event' => '',
'event_details' => 'Detalji događaja',
'exclude_items' => 'Isključivanje stavki',
'expired' => 'Isteklo',
@ -704,6 +709,7 @@ Internet poveznica: [url]',
'filter_for_documents' => 'Dodatni filter za dokumente',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Dodatni filter za dokumente',
'finished_workflow_log' => '',
'folder' => 'Mapa',
'folders' => 'Mape',
'folders_and_documents_statistic' => 'Pregled sadržaja',
@ -802,6 +808,7 @@ Internet poveznica: [url]',
'global_attributedefinitions' => 'Atributi',
'global_default_keywords' => 'Globalne ključne riječi',
'global_document_categories' => 'Kategorije',
'global_link_types' => '',
'global_workflows' => 'Tokovi rada',
'global_workflow_actions' => 'Radnje toka rada',
'global_workflow_states' => 'Statusi toka rada',
@ -867,6 +874,7 @@ Internet poveznica: [url]',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'naslijeđeno',
'inherits_access_copy_msg' => 'Kopiraj listu naslijeđenih prava pristupa',
@ -947,6 +955,7 @@ Internet poveznica: [url]',
'latest_updateddocuments' => '',
'legend' => 'Kazalo',
'librarydoc' => 'Dokument iz biblioteke',
'linked_document' => '',
'linked_documents' => 'Vezani dokumenti',
'linked_files' => 'Prilozi',
'linked_to_current_version' => 'Povezano sa trenutnom verzijom',
@ -960,6 +969,7 @@ Internet poveznica: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Kuke za popise',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Lokalna datoteka',
'locked_by' => 'Zaključao',
@ -1025,6 +1035,7 @@ Internet poveznica: [url]',
'move_document' => 'Premjesti dokument',
'move_folder' => 'Premjesti mapu',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Moj korisnički račun',
'my_documents' => 'Moji dokumenti',
'my_transmittals' => 'Moja proslijeđivanja',
@ -1067,6 +1078,7 @@ Internet poveznica: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Novi privitak',
'new_folder' => 'Nova mapa',
'new_link_type' => '',
'new_password' => 'Nova lozinka',
'new_subfolder_email' => 'Nova mapa',
'new_subfolder_email_body' => 'Nova mapa
@ -1359,6 +1371,8 @@ Internet poveznica: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => 'Datum revizije',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Zapisi revizije',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1510,6 +1524,10 @@ Internet poveznica: [url]',
'settings' => 'Postavke',
'settings_activate_module' => 'Aktiviraj modul',
'settings_activate_php_extension' => 'Aktiviraj PHP ekstenziju',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Ako se postavljeni administrator može prijaviti samo s određenom IP adresom, ostavite prazno da izbjegnete kontrolu. NAPOMENA: radi samo s lokalnom autentifikacijom (ne LDAP)',
'settings_Advanced' => 'Napredno',
@ -1657,6 +1675,8 @@ Internet poveznica: [url]',
'settings_enableLanguageSelector_desc' => 'Prikaži izbornik za jezik korisničkog sučelja nakon prijave.',
'settings_enableLargeFileUpload' => 'Omogući učitavanje velikih datoteka',
'settings_enableLargeFileUpload_desc' => 'Ako je postavljeno, učitavanje datoteke je također dostupno kroz Java aplet naziva "jumploader" bez postavljenog ograničenja veličine datoteke od strane pretraživača. To također omogućuje učitavanje nekoliko datoteka u jednom koraku. Uključivanjem ovoga isključit će se samo http kolačići.',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => 'Omogućavanje liste zadataka u izborniku',
'settings_enableMenuTasks_desc' => 'Omogućavanje/onemogućavanje stavke izbornika koja sadrži sve zadatke za korisnika. Ovo sadrži dokumente koji trebaju biti revidirani, odobreni itd.',
'settings_enableMultiUpload' => '',
@ -1731,6 +1751,16 @@ Internet poveznica: [url]',
'settings_fullSearchEngine_desc' => 'Postavite metodu koja će se koristiti za pretragu punog teksta',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID gosta',
'settings_guestID_desc' => 'ID gost korisnika koja se koristi kada je prijavljen kao gost (uglavnom se ne treba mijenjati)',
'settings_guestid_is_admin' => '',
@ -1768,6 +1798,8 @@ Internet poveznica: [url]',
'settings_luceneClassDir_desc' => 'Putanja do ProsperaDMS_Lucene (opcija). Ostavite ovo prazno ako ste instalirali ProsperaDMS_Lucene na mjestu gdje se može pronaći PHP-om, npr. Extra PHP Include-Path',
'settings_luceneDir' => 'Mapa za indeksiranje cijelog teksta',
'settings_luceneDir_desc' => 'Putanja to Lucene indeksa',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max Directory ID',
@ -1956,6 +1988,7 @@ Internet poveznica: [url]',
'splash_add_group' => 'Dodana nova grupa',
'splash_add_group_member' => 'Dodan novi član grupe',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1963,6 +1996,7 @@ Internet poveznica: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Dodan novi korisnik',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Očišćen međuspremnik',
'splash_delete_access' => '',
@ -1974,17 +2008,20 @@ Internet poveznica: [url]',
'splash_document_locked' => 'Dokument zaključan',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokument otključan',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Atribut pohranjen',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Groupa pohranjena',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Korisnik pohranjen',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2018,6 +2055,7 @@ Internet poveznica: [url]',
'splash_rm_group' => 'Grupa uklonjena',
'splash_rm_group_member' => 'Član grupe uklonjen',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2101,6 +2139,7 @@ Internet poveznica: [url]',
'target_equals_source_folder' => '',
'tasks' => 'Zadaci',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2196,6 +2235,7 @@ Internet poveznica: [url]',
'type_to_filter' => '',
'type_to_search' => 'Unesi za pretragu',
'uk_UA' => 'Ukrajinski',
'undefined' => '',
'under_folder' => 'U mapi',
'unknown_attrdef' => 'Nepoznata definicija atributa',
'unknown_command' => 'Naredba nije prepoznata.',
@ -2214,6 +2254,7 @@ Internet poveznica: [url]',
'unlock_cause_locking_user' => 'I dalje ga možete ažurirati jer ste ga vi zaključali. Zaključavanje će automatski biti ukinuto.',
'unlock_document' => 'Otključaj',
'update' => 'Ažuriraj',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Ažuriraj popis validatora',
'update_document' => 'Ažuriraj dokument',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (661), Kalpy (113), ribaz (1036)
// Translators: Admin (667), Kalpy (113), ribaz (1036)
$text = array(
'2_factor_auth' => 'Kétfaktoros azonosítás',
@ -162,6 +162,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'A minimum érték magasabb mint a maximum érték',
'attrdef_multiple' => 'Több érték is megadható',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'A tulajdonságnak több értékkel kell rendelkeznie, de nincs több érték megadva',
'attrdef_name' => 'Név',
@ -290,6 +291,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Kérjük válasszon',
'choose_group' => 'Válasszon csoportot',
'choose_link_type' => '',
'choose_role' => 'Válassz szabályt!',
'choose_target_category' => 'Válasszon kategóriát',
'choose_target_document' => 'Válasszon dokumentumot',
@ -355,7 +357,7 @@ URL: [url]',
'current_state' => 'Aktuális állapot',
'current_version' => 'Aktuális verzió',
'daily' => 'Napi',
'dashboard' => '',
'dashboard' => 'Irányítópult',
'databasesearch' => 'Adatbázis keresés',
'database_schema_version' => 'Adatbázis séma verziója',
'data_loading' => 'Kérjük várjon, adatok betöltése folyamatban',
@ -386,7 +388,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Ez egy bizalmas terület. Hozzáférés kizárólag a meghatalmazott személyek részére engedélyezett. Bárminemű megsértését a nemzeti, illetve a nemzetközi jog szerint fogják büntetni.',
'discspace' => 'Lemezterület',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Dokumentum',
@ -568,7 +572,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Gyors feltöltés',
'drop_files_here' => 'Húzz ide egy fájlt',
'drop_files_here_or_click' => '',
'drop_files_here_or_click' => 'Dobd ide a fájlokat feltöltéshez',
'dump_creation' => 'Adatbázis mentés létrehozása',
'dump_creation_warning' => 'Ezzel a művelettel az adatbázis tartalmáról lehet adatbázis mentést készíteni. Az adatbázis mentés létrehozását követően a mentési állomány a kiszolgáló adat mappájába lesz mentve.',
'dump_list' => 'Meglévő adatbázis metések',
@ -641,6 +645,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spanyol',
'event' => '',
'event_details' => 'Esemény részletek',
'exclude_items' => 'Kizárt elemek',
'expired' => 'Lejárt',
@ -699,6 +704,7 @@ URL: [url]',
'filter_for_documents' => 'További dokumentum szűrők',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'További mappa szűrők',
'finished_workflow_log' => '',
'folder' => 'Mappa',
'folders' => 'Mappák',
'folders_and_documents_statistic' => 'Tartalmak áttekintése',
@ -796,6 +802,7 @@ URL: [url]',
'global_attributedefinitions' => 'Jellemzők',
'global_default_keywords' => 'Globális kulcsszavak',
'global_document_categories' => 'Kategóriák',
'global_link_types' => '',
'global_workflows' => 'Munkafolyamatok',
'global_workflow_actions' => 'Munkafolyamat műveletek',
'global_workflow_states' => 'Munkafolyamat állapotok',
@ -861,6 +868,7 @@ URL: [url]',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'örökölt',
'inherits_access_copy_msg' => 'Örökített hozzáférési lista másolása',
@ -941,6 +949,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Jelmagyarázat',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Kapcsolódó dokumentumok',
'linked_files' => 'Mellékletek',
'linked_to_current_version' => '',
@ -954,6 +963,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Hook lista',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Helyi állomány',
'locked_by' => 'Zárolta',
@ -1019,6 +1029,7 @@ URL: [url]',
'move_document' => 'Dokumentum áthelyezése',
'move_folder' => 'Könyvtár áthelyezése',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Saját hozzáférés',
'my_documents' => 'Saját dokumentumok',
'my_transmittals' => 'Átviteleim',
@ -1062,6 +1073,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Új melléklet',
'new_folder' => 'Új mappa',
'new_link_type' => '',
'new_password' => 'Új jelszó',
'new_subfolder_email' => 'Új mappa',
'new_subfolder_email_body' => 'Új mappa
@ -1337,6 +1349,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1441,10 +1455,10 @@ URL: [url]',
'select_group' => 'Csoport kiválasztása',
'select_groups' => 'Kattintson a csoportok kijelöléséhez',
'select_grp_approvers' => 'Kattintson a csoport jóváhagyó kijelöléséhez',
'select_grp_ind_approvers' => '',
'select_grp_ind_approvers' => 'Válassz csoportot',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_recipients' => 'Válassz csoportot',
'select_grp_ind_reviewers' => 'Válassz csoportot',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Kattintson a csoport értesítés kiválasztásához',
'select_grp_recipients' => '',
@ -1487,6 +1501,10 @@ URL: [url]',
'settings' => 'Beállítások',
'settings_activate_module' => 'Modul aktiválása',
'settings_activate_php_extension' => 'PHP kiterjesztés aktiválása',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Adminisztációs IP',
'settings_adminIP_desc' => 'Amennyiben beállítja az adminisztrátor csak a megadott IP címről tud bejelentkezni. Hagyja üresen az ellenőrzés elkerüléséhez. MEGJEGYZÉS: csak helyi azonosítás esetén működik (LDAP használatakor nem)',
'settings_Advanced' => 'Részletek',
@ -1634,6 +1652,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Megjelenít egy választást a felhasználói felületen a bejelentkezést követően.',
'settings_enableLargeFileUpload' => 'Nagy méretű állományok feltöltésének engedélyezése',
'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_desc' => '',
'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_enableMultiUpload' => 'Több fájl feltöltésének engedélyezése',
@ -1708,6 +1728,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Állítsa be a kereséséhez használt módot.',
'settings_fullSearchEngine_vallucene' => 'Dokumentum tartalom keresés',
'settings_fullSearchEngine_valsqlitefts' => 'Adatbázis keresés',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Vendég azonosító',
'settings_guestID_desc' => 'A vendég felhasználó azonosítója ami a vendégként történő bejelentkezéskor lesz használva (általában nem szükséges módosítani)',
'settings_guestid_is_admin' => '',
@ -1745,6 +1775,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Elérési útvonal a SeedDMS_Lucene programhoz (opcionális). Hagyja üresen, ha már telepített SeedDMS_Lucene alkalmazást olyan helyre, ahol azt megtalálja a PHP, pl.: Extra PHP Include-Path segítségével',
'settings_luceneDir' => 'Teljes szöveg index könyvtára',
'settings_luceneDir_desc' => 'Lucene index elérési útvonal',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Legnagyobb könyvtár azonosító',
@ -1933,6 +1965,7 @@ URL: [url]',
'splash_add_group' => 'Új csoport hozzáadva',
'splash_add_group_member' => 'Új csoporttag hozzáadva',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1940,6 +1973,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Új felhasználó hozzáadva',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Vágólap törölve',
'splash_delete_access' => '',
@ -1951,17 +1985,20 @@ URL: [url]',
'splash_document_locked' => 'Dokumentum zárolva',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokumentum zárolás feloldva',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Jellemző mentve',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Csoport mentve',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Felhasználó mentve',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -1995,6 +2032,7 @@ URL: [url]',
'splash_rm_group' => 'Csoport eltávolítva',
'splash_rm_group_member' => 'Csoporttag eltávolítva',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2025,7 +2063,7 @@ URL: [url]',
'status_approval_rejected' => 'Piszkozat elutasítva',
'status_approved' => 'Jóváhagyott',
'status_approver_removed' => 'Jóváhagyó eltávolítva a folyamatból',
'status_change' => '',
'status_change' => 'Státusz változás',
'status_needs_correction' => '',
'status_not_approved' => 'Nem jóváhagyott',
'status_not_receipted' => '',
@ -2078,6 +2116,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2173,6 +2212,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Adja meg a keresendő kifejezést',
'uk_UA' => 'Ukrán',
'undefined' => '',
'under_folder' => 'Mappában',
'unknown_attrdef' => 'Ismeretlen tulajdonság meghatározás',
'unknown_command' => 'Parancs nem ismerhető fel.',
@ -2191,6 +2231,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Ön még módosíthatja mivel egyike azoknak akik zárolták. A zárolás automatikusan el lesz távolítva.',
'unlock_document' => 'Felszabadít',
'update' => 'Frissítés',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Jóváhagyók listájának frissítése',
'update_document' => 'Dokumentum frissítése',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (482), atoz-chevara (835)
// Translators: Admin (485), atoz-chevara (835)
$text = array(
'2_factor_auth' => '',
@ -82,7 +82,7 @@ $text = array(
'add_workflow_action' => 'Tambah new workflow action',
'add_workflow_state' => 'Tambah new workflow state',
'admin' => '',
'admin_tools' => '',
'admin_tools' => 'Pengaturan Admin',
'all' => 'Semua',
'all_categories' => 'Semua kategori',
'all_documents' => 'Semua Dokumen',
@ -170,6 +170,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Jumlah nilai minimum lebih besar dari jumlah nilai maksimum',
'attrdef_multiple' => '',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Definisi atribut dengan beberapa nilai membutuhkan nilai yang ditetapkan.',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Nama',
@ -265,7 +266,7 @@ URL: [url]</p>',
'category_info' => 'Informasi',
'category_in_use' => 'Kategori ini telah digunakan oleh dokumen.',
'category_noname' => 'Tidak ada nama kategori yang diberikan.',
'ca_ES' => '',
'ca_ES' => 'Catalan',
'changelog_loading' => 'Harap tunggu, sampai log perubahan dimuat ...',
'change_assignments' => 'Tetapkan pengulas/pemberi persetujuan',
'change_password' => 'Terapkan kata sandi',
@ -299,6 +300,7 @@ URL: [url]</p>',
'choose_attrdefgroup' => 'Pilih kelompok label',
'choose_category' => 'Harap pilih',
'choose_group' => 'Pilih kelompok',
'choose_link_type' => '',
'choose_role' => 'Pilih role',
'choose_target_category' => 'Pilih kategori',
'choose_target_document' => 'Pilih dokumen',
@ -395,7 +397,9 @@ URL: [url]</p>',
'disable_extension' => 'Nonaktifkan ekstensi',
'disclaimer' => 'Ini adalah area rahasia. Akses hanya diizinkan untuk personel yang berwenang. Setiap pelanggaran akan dituntut sesuai dengan hukum nasional dan internasional.',
'discspace' => 'Ruang penyimpanan',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Dokumen dalam revisi tanpa akses oleh revisor',
'docs_with_missing_revision_date' => '',
'document' => 'Dokumen',
@ -696,6 +700,7 @@ URL: [url]</p>',
'error_update_document' => '',
'error_uploading_reviewer_only' => 'Kesalahan saat membuat dokumen. Dokumen memiliki peninjau, tetapi tidak ada pemberi persetujuan.',
'es_ES' => 'Spanyol',
'event' => '',
'event_details' => '',
'exclude_items' => 'Kecualikan item ini',
'expired' => 'Kedaluwarsa',
@ -755,6 +760,7 @@ URL: [url]',
'filter_for_documents' => '',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filter tambahan untuk folder',
'finished_workflow_log' => '',
'folder' => '',
'folders' => 'Folder',
'folders_and_documents_statistic' => '',
@ -863,7 +869,7 @@ Nama awal: [old_name]<br />
Pengguna: [username]<br />
URL: [url]</p>',
'folder_renamed_email_subject' => '',
'folder_title' => '',
'folder_title' => 'Nama Folder',
'foot_note' => '',
'force_update' => 'Memperbarui',
'friday' => 'Jumat',
@ -880,6 +886,7 @@ URL: [url]</p>',
'global_attributedefinitions' => 'Atribut',
'global_default_keywords' => 'Kata kunci global',
'global_document_categories' => 'Kategori',
'global_link_types' => '',
'global_workflows' => 'Alur kerja',
'global_workflow_actions' => '',
'global_workflow_states' => 'Status alur kerja',
@ -945,6 +952,7 @@ URL: [url]</p>',
'individuals_in_groups' => '',
'ind_review_removed' => 'Perubahan status, karena ulasan pengguna [name] telah dihapus.',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => 'Hanya tugas yang tidak disentuh yang dapat ditransfer ke pengguna lain. Tugas yang telah diurus, hanya akan menambahkan item dalam riwayat, seolah-olah pengguna telah dihapus.',
'inherited' => '',
'inherits_access_copy_msg' => 'Salin daftar akses yang diwarisi',
@ -1025,6 +1033,7 @@ URL: [url]</p>',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Dokumen dari perpustakaan',
'linked_document' => '',
'linked_documents' => 'Dokumen Terkait',
'linked_files' => 'Lampiran',
'linked_to_current_version' => '',
@ -1038,6 +1047,7 @@ URL: [url]</p>',
'list_conversion_services' => '',
'list_hooks' => 'Daftar hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Daftar tasks',
'local_file' => 'Berkas lokal',
'locked_by' => 'Dikunci oleh',
@ -1103,6 +1113,7 @@ URL: [url]</p>',
'move_document' => 'Pindah dokumen',
'move_folder' => 'Pindah Folder',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Akun Saya',
'my_documents' => 'Dokumen Saya',
'my_transmittals' => 'Transmisi Saya',
@ -1154,6 +1165,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Lampiran baru',
'new_folder' => 'Folder baru',
'new_link_type' => '',
'new_password' => 'Kata sandi baru',
'new_subfolder_email' => 'Folder baru',
'new_subfolder_email_body' => 'Folder baru
@ -1432,6 +1444,8 @@ URL: [url]',
'revisions_without_group' => 'Revisi tanpa kelompok',
'revisions_without_user' => '',
'revision_date' => 'Tanggal revisi',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1577,6 +1591,10 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings' => 'Pengaturan',
'settings_activate_module' => 'Aktifkan modul',
'settings_activate_php_extension' => 'Aktifkan ekstensi PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP Admin',
'settings_adminIP_desc' => 'Jika disetel, admin hanya dapat login dengan alamat IP yang ditentukan. Biarkan kosong untuk menghindari kehilangan akses. CATATAN: hanya berfungsi dengan autentikasi lokal (tanpa LDAP)',
'settings_Advanced' => 'Lanjutan',
@ -1724,6 +1742,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_enableLanguageSelector_desc' => 'Tampilkan pemilihan bahasa antarmuka pengguna setelah masuk.',
'settings_enableLargeFileUpload' => 'Aktifkan unggahan file besar',
'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_desc' => '',
'settings_enableMenuTasks' => 'Aktifkan daftar task di menu',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => 'Izinkan mengunggah banyak berkas',
@ -1798,6 +1818,16 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => '',
'settings_fullSearchEngine_valsqlitefts' => '',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => '',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
@ -1835,6 +1865,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_luceneClassDir_desc' => '',
'settings_luceneDir' => '',
'settings_luceneDir_desc' => '',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '',
@ -2023,6 +2055,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_add_group' => 'Kelompok baru ditambahkan',
'splash_add_group_member' => 'Anggota kelompok baru ditambahkan',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => 'Menambahkan notifikasi baru',
'splash_add_role' => 'Menambahkan izin baru',
'splash_add_task' => 'Menambahkan tugas baru',
@ -2030,6 +2063,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_add_transmittal' => 'Menambahkan transmisi baru',
'splash_add_user' => 'Pengguna baru ditambahkan',
'splash_cancel_checkout' => 'Pembayaran dibatalkan',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => '',
'splash_delete_access' => '',
@ -2041,17 +2075,20 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_document_locked' => 'Dokumen terkunci',
'splash_document_name_changed' => 'Nama dokumen diubah',
'splash_document_unlocked' => '',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Label telah disimpan',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Kelompok telah disimpan',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Izin disimpan',
'splash_edit_task' => 'Tugas disimpan',
'splash_edit_transmittal' => 'Pengiriman disimpan',
'splash_edit_user' => 'Pengguna telah disimpan',
'splash_error_add_to_transmittal' => 'Kesalahan saat menambahkan dokumen ke pengiriman',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Kesalahan saat menghapus tautan unduhan',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2085,6 +2122,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_rm_group' => 'Kelompok dihapus',
'splash_rm_group_member' => '',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => 'Notifikasi dihapus',
'splash_rm_role' => 'Izin dihapus',
'splash_rm_transmittal' => '',
@ -2168,6 +2206,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'target_equals_source_folder' => '',
'tasks' => 'Tugas',
'task_core_expireddocs_days' => 'Hari',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2254,6 +2293,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'type_to_filter' => '',
'type_to_search' => '',
'uk_UA' => 'Ukraina',
'undefined' => '',
'under_folder' => 'Dalam Folder',
'unknown_attrdef' => 'Definisi atribut tidak diketahui',
'unknown_command' => 'Perintah tidak dikenali.',
@ -2272,6 +2312,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'unlock_cause_locking_user' => '',
'unlock_document' => 'Membuka kunci',
'update' => 'Perbarui',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Perbarui Daftar Penyetuju',
'update_document' => 'Perbarui dokumen',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2069), rickr (144), s.pnt (26)
// Translators: Admin (2072), rickr (144), s.pnt (26)
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Il numero minimo di valori è maggiore del massimo',
'attrdef_multiple' => 'Permetti valori multipli',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Attributo definizione con i molteplici valori esigenze un valore impostato.',
'attrdef_must_be_multiple' => 'Gli attributi devono avere più di un valore, ma non sono permessi valori multipli',
'attrdef_name' => 'Nome',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Scegli gruppo di attributi',
'choose_category' => 'Seleziona',
'choose_group' => 'Seleziona il gruppo',
'choose_link_type' => '',
'choose_role' => 'Scegli ruolo',
'choose_target_category' => 'Seleziona la categoria',
'choose_target_document' => 'Seleziona il documento',
@ -360,7 +362,7 @@ URL: [url]',
'current_state' => 'Stato corrente',
'current_version' => 'Versione attuale',
'daily' => 'Giornaliero',
'dashboard' => '',
'dashboard' => 'Cruscotto',
'databasesearch' => 'Ricerca nel Database',
'database_schema_version' => 'Versione dello schema del database',
'data_loading' => 'Attendere il caricamento dei dati...',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Questa è un\'area riservata. L\'accesso è consentito solo agli utenti autorizzati. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.',
'discspace' => 'Spazio su disco',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documenti con ricezione senza accesso dai destinatari',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documenti in riesame senza accesso dai revisori',
'docs_with_missing_revision_date' => '',
'document' => 'Documento',
@ -651,6 +655,7 @@ URL: [url]',
'error_update_document' => 'Errore durante l\'aggiornamento del documento',
'error_uploading_reviewer_only' => 'Errore durante la creazione del documento. Il documento ha un revisore, ma non un approvatore.',
'es_ES' => 'Spagnolo',
'event' => '',
'event_details' => 'Dettagli evento',
'exclude_items' => 'Escludi elementi',
'expired' => 'Scaduto',
@ -709,6 +714,7 @@ URL: [url]',
'filter_for_documents' => 'Filtro aggiuntivo per i documenti',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtro aggiuntivo per le cartelle',
'finished_workflow_log' => '',
'folder' => 'Cartella',
'folders' => 'Cartelle',
'folders_and_documents_statistic' => 'Visualizzazione generale',
@ -803,6 +809,7 @@ URL: [url]',
'global_attributedefinitions' => 'Definizione attributi',
'global_default_keywords' => 'Parole-chiave globali',
'global_document_categories' => 'Categorie',
'global_link_types' => '',
'global_workflows' => 'Flussi di lavoro',
'global_workflow_actions' => 'Azioni dei flussi di lavoro',
'global_workflow_states' => 'Stati dei flussi di lavoro',
@ -852,7 +859,7 @@ URL: [url]',
'indexing_tasks_in_queue' => 'Operazione di indicizzazione in corso',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_unchanged' => 'Documento non modificato',
'index_document_updated' => '',
'index_done' => 'Eseguito',
'index_error' => 'Errore di indicizzazione',
@ -868,6 +875,7 @@ URL: [url]',
'individuals_in_groups' => 'I membri de la gruppo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Non è possibile confermare la ricezione di questa versione del documento, poiché la versione non è stata rilasciata.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ereditato',
'inherits_access_copy_msg' => 'Copia la lista degli accessi ereditati',
@ -948,6 +956,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Documento da cartella',
'linked_document' => '',
'linked_documents' => 'Documenti collegati',
'linked_files' => 'Allegati',
'linked_to_current_version' => 'Collegato al documento attuale',
@ -961,6 +970,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Elenco hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Elenco attività',
'local_file' => 'File locale',
'locked_by' => 'Bloccato da',
@ -1026,6 +1036,7 @@ URL: [url]',
'move_document' => 'Sposta documento',
'move_folder' => 'Sposta cartella',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Account personale',
'my_documents' => 'Documenti personali',
'my_transmittals' => 'Mie trasmissioni',
@ -1069,6 +1080,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nuovo allegato',
'new_folder' => 'Nuova cartella',
'new_link_type' => '',
'new_password' => 'Nuova password',
'new_subfolder_email' => 'Nuova sottocartella',
'new_subfolder_email_body' => 'Nuova sottocartella
@ -1372,6 +1384,8 @@ URL: [url]',
'revisions_without_group' => 'Riesami senza gruppo',
'revisions_without_user' => 'Riesami senza utente',
'revision_date' => 'data riesame',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log riesame',
'revision_request_email_body' => 'Richiesta di riesame
Document: [name]
@ -1533,6 +1547,10 @@ Name: [username]
'settings' => 'Impostazioni',
'settings_activate_module' => 'Attivazione modulo',
'settings_activate_php_extension' => 'Attivazione estensione PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP Amministratore',
'settings_adminIP_desc' => 'Se attivato l\'amministratore si può collegare solo da un IP specifico; lasciare vuoto per evitare il controllo. NOTA: funziona solo con autenticazione locale (no LDAP)',
'settings_Advanced' => 'Avanzate',
@ -1680,6 +1698,8 @@ Name: [username]
'settings_enableLanguageSelector_desc' => 'Mostra/nasconde il selettore di lingua successivamente al login.',
'settings_enableLargeFileUpload' => 'Abilita caricamento grandi files',
'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_desc' => '',
'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_enableMultiUpload' => 'Consenti il caricamento di più files',
@ -1754,6 +1774,16 @@ Name: [username]
'settings_fullSearchEngine_desc' => 'Configurazioni del sistema di ricerca a testo libero.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID Ospite',
'settings_guestID_desc' => 'ID o utenza ospite utilizzata quando collegati al sito come ospite (da cambiare solo in casi eccezionali).',
'settings_guestid_is_admin' => '',
@ -1791,6 +1821,8 @@ Name: [username]
'settings_luceneClassDir_desc' => 'Cartella del pacchetto SeedDMS_Lucene (opzionale). Lasciare il campo vuoto se SeedDMS_Lucene è stato installato in una cartella localizzabile dal PHP, ad esempio quella indicata per gli include PHP addizionali.',
'settings_luceneDir' => 'Cartella di indicizzazione fulltext',
'settings_luceneDir_desc' => 'Cartella di memorizzazione dell\'indice utilizzato da Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max numero di ID cartella',
@ -1979,6 +2011,7 @@ Name: [username]
'splash_add_group' => 'Gruppo aggiunto',
'splash_add_group_member' => 'Membro aggiunto al gruppo',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Aggiunto nuovo ruolo',
'splash_add_task' => '',
@ -1986,6 +2019,7 @@ Name: [username]
'splash_add_transmittal' => 'Aggiungere trasmissione',
'splash_add_user' => 'Utente aggiunto',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache cancellata',
'splash_cleared_clipboard' => 'Appunti cancellati',
'splash_delete_access' => 'Diritto d\'accesso cancellato',
@ -1997,17 +2031,20 @@ Name: [username]
'splash_document_locked' => 'Documento bloccato',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Documento sbloccato',
'splash_document_updated' => '',
'splash_edit_access' => 'Accesso modificato',
'splash_edit_attribute' => 'Attributo modificato',
'splash_edit_category' => '',
'splash_edit_event' => 'Evento modificato',
'splash_edit_group' => 'Gruppo modificato',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Ruolo memorizzato',
'splash_edit_task' => 'Attività modificata',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Utente modificato',
'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Errore durante la rimozione del collegamento di scaricamento',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Errore durante l\'invio del collegamento di scaricamento',
@ -2041,6 +2078,7 @@ Name: [username]
'splash_rm_group' => 'Gruppo eliminato',
'splash_rm_group_member' => 'Membro del gruppo eliminato',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Ruolo cancellato',
'splash_rm_transmittal' => 'Trasmissione cancellato',
@ -2124,6 +2162,7 @@ Name: [username]
'target_equals_source_folder' => '',
'tasks' => 'Attività',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2219,6 +2258,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Digitare per cercare',
'uk_UA' => 'Ucraino',
'undefined' => '',
'under_folder' => 'Nella cartella',
'unknown_attrdef' => 'Attributo sconosciuto',
'unknown_command' => 'Comando non riconosciuto',
@ -2237,11 +2277,12 @@ URL: [url]',
'unlock_cause_locking_user' => 'Puoi ancora aggiornarlo, perchè sei l\'utente che ha eseguito il blocco. Il blocco sarà rimosso automaticamente.',
'unlock_document' => 'Sblocca',
'update' => 'Aggiorna',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Aggiornamento lista approvatori',
'update_document' => 'Aggiorna documento',
'update_fulltext_index' => 'Aggiorna indice fulltext',
'update_fulltext_messages' => '',
'update_fulltext_messages' => 'Messaggi',
'update_info' => 'Aggiorna informazioni',
'update_locked_msg' => 'Questo documento è bloccato.',
'update_recipients' => 'Aggiorna lista cartelle',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (962), daivoc (421), fofwisdom (166)
// Translators: Admin (965), daivoc (421), fofwisdom (166)
$text = array(
'2_factor_auth' => '이중 인증',
@ -148,7 +148,7 @@ URL: [url]',
'archive_creation_warning' => '본 작업은 전체 DMS 폴더 내의 파일 모두에 아카이브를 만듭니다. 생성한 아카이브는 서버의 데이터 폴더에 저장됩니다.<br>경고 : 이렇게 만들어진 자료는 서버의 백업과 같이 가독성이 저하 됩니다.',
'ar_EG' => '아랍어',
'assign_approvers' => '승인자 지정',
'assign_recipients' => '',
'assign_recipients' => '수신자를 할당하여 주십시요.',
'assign_reviewers' => '검토자 배정',
'assign_user_property_to' => '사용자 속성에 할당',
'assumed_released' => 'Assumed released',
@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '최소값은 최대 값 보다 큽니다',
'attrdef_multiple' => '여러 값 허용',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '정의된 복수의 속성',
'attrdef_must_be_multiple' => '속성은 하나 이상의 값을 가져야하지만, 여러 값을 설정하지 않습니다.',
'attrdef_name' => '이름',
@ -297,6 +298,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => '선택하세요',
'choose_group' => '그룹을 선택',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => '카테고리 선택',
'choose_target_document' => '문서 선택',
@ -366,7 +368,7 @@ URL: [url]',
'dashboard' => '',
'databasesearch' => '데이터베이스 검색',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => '데이터 로딩이 완료될 때까지 잠시만 기다려주십시요.',
'date' => '날짜',
'days' => '일',
'debug' => '디버그',
@ -394,7 +396,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => '본 사이트는 접근이 허가된 자에게만 사용이 허용된 곳 입니다. 허가받지 않은 접근이나 불법행위는 국내 및 국제법에 따라 기소 될 것입니다.',
'discspace' => '디스크 공간',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => '문서',
@ -647,6 +651,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => '스페인어',
'event' => '',
'event_details' => '이벤트의 자세한 사항',
'exclude_items' => '항목 제외',
'expired' => '만료됨',
@ -705,6 +710,7 @@ URL: [url]',
'filter_for_documents' => '문서에 대한 추가 필터',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => '폴더에 대한 추가 필터',
'finished_workflow_log' => '',
'folder' => '폴더',
'folders' => '폴더',
'folders_and_documents_statistic' => '개요 내용',
@ -803,6 +809,7 @@ URL: [url]',
'global_attributedefinitions' => '속성',
'global_default_keywords' => '글로벌 키워드',
'global_document_categories' => '카테고리',
'global_link_types' => '',
'global_workflows' => '워크플로우',
'global_workflow_actions' => '작업 워크플로우',
'global_workflow_states' => '워크플로우 상태',
@ -868,6 +875,7 @@ URL: [url]',
'individuals_in_groups' => '개별 그룹',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '상속',
'inherits_access_copy_msg' => '상속 액세스 목록 복사',
@ -948,6 +956,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => '전설',
'librarydoc' => '라이브러리의 문서',
'linked_document' => '',
'linked_documents' => '관련 문서',
'linked_files' => '첨부',
'linked_to_current_version' => '',
@ -961,6 +970,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => '로컬 파일',
'locked_by' => '잠근이',
@ -1026,6 +1036,7 @@ URL: [url]',
'move_document' => '문서 옮기기',
'move_folder' => '폴더 이동',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => '내 계정',
'my_documents' => '내 문서',
'my_transmittals' => '내 송부',
@ -1069,6 +1080,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename] : [document] - 새 첨부 파일',
'new_folder' => '새 폴더',
'new_link_type' => '',
'new_password' => '새 암호',
'new_subfolder_email' => '새 폴더',
'new_subfolder_email_body' => ' 폴더
@ -1353,6 +1365,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '개정 일자',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '개정 로그',
'revision_request_email_body' => '수정 요청 메일 내용',
'revision_request_email_body_html' => '',
@ -1460,7 +1474,7 @@ URL : [url]',
'select_grp_approvers' => '그룹 승인을 선택합니다',
'select_grp_ind_approvers' => '그룹 승인 선택',
'select_grp_ind_notification' => '알림 그룹 선택',
'select_grp_ind_recipients' => '',
'select_grp_ind_recipients' => '그룹 선택을 하여 주십시요.',
'select_grp_ind_reviewers' => '그룹 검토자 선택',
'select_grp_ind_revisors' => '',
'select_grp_notification' => '그룹 통지를 선택합니다',
@ -1504,6 +1518,10 @@ URL : [url]',
'settings' => '설정',
'settings_activate_module' => '모듈 활성화',
'settings_activate_php_extension' => 'PHP 확장 활성화',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => '관리 IP',
'settings_adminIP_desc' => '설정 관리자가 지정된 IP로 만 로그인 할 경우, 컨트롤을 피하기 위해 비워 둡니다. 참고 : 로컬 인증작동 (NO LDAP)',
'settings_Advanced' => '고급',
@ -1651,6 +1669,8 @@ URL : [url]',
'settings_enableLanguageSelector_desc' => '로그인 된 후 사용자 인터페이스 언어 선택기 보기 . 이것은 로그인 페이지에서 언어 선택에 영향을 주지 않습니다.',
'settings_enableLargeFileUpload' => '대용량 파일 업로드 사용',
'settings_enableLargeFileUpload_desc' => '설정하면, 브라우저가 설정 한 파일 크기 제한없이 jumploader라는 파일 업로드 자바 애플릿을 통해 사용할 수 있습니다. 또한 한 번에 여러 파일을 업로드 할 수 있습니다.',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '메뉴의 작업 목록 허용',
'settings_enableMenuTasks_desc' => '사용자의 모든 작업이 포함되어있는 메뉴 항목을 활성/비활성 합니다. 이것은 검토, 승인등이 필요한 문서를 포함 합니다',
'settings_enableMultiUpload' => '',
@ -1725,6 +1745,16 @@ URL : [url]',
'settings_fullSearchEngine_desc' => '전체 텍스트 검색에 사용되는 방법을 설정합니다.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Guest ID',
'settings_guestID_desc' => 'Guest로 로그인 할 때 사용하는 ID (변경이 필요치 않음)',
'settings_guestid_is_admin' => '',
@ -1762,6 +1792,8 @@ URL : [url]',
'settings_luceneClassDir_desc' => 'SeedDMS_Lucene 경로 (선택 사항). 이이 PHP에 의해 발견 될 수있는 장소에 SeedDMS_Lucene를 설치된 경우 설정하지 않음',
'settings_luceneDir' => '전체 텍스트 인덱스에 대한 디렉토리',
'settings_luceneDir_desc' => 'Lucene 색인 경로',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '최대 디렉토리 ID',
@ -1950,6 +1982,7 @@ URL : [url]',
'splash_add_group' => '새 그룹이 추가',
'splash_add_group_member' => '새 그룹 구성원 추가',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1957,6 +1990,7 @@ URL : [url]',
'splash_add_transmittal' => '',
'splash_add_user' => '새 사용자 추가',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => '클립 보드 비우기',
'splash_delete_access' => '',
@ -1968,17 +2002,20 @@ URL : [url]',
'splash_document_locked' => '문서 잠김',
'splash_document_name_changed' => '',
'splash_document_unlocked' => '문서 잠금 해제',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => '속성 저장',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => '그룹 저장',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => '사용자 저장',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2012,6 +2049,7 @@ URL : [url]',
'splash_rm_group' => '그룹 제거',
'splash_rm_group_member' => '회원 그룹 제거',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '역할 지워짐',
'splash_rm_transmittal' => '',
@ -2095,6 +2133,7 @@ URL : [url]',
'target_equals_source_folder' => '',
'tasks' => '작업',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2190,6 +2229,7 @@ URL : [url]',
'type_to_filter' => '',
'type_to_search' => '유형 검색',
'uk_UA' => '우크라이나어',
'undefined' => '',
'under_folder' => '폴더',
'unknown_attrdef' => '알수 없는 속성 정의',
'unknown_command' => '명령을 인식 할 수 없습니다.',
@ -2208,6 +2248,7 @@ URL : [url]',
'unlock_cause_locking_user' => '당신은 여전히 업데이트 할 수 있습니다. 잠금이 자동으로 제거됩니다.',
'unlock_document' => '잠금풀기',
'update' => '업데이트',
'updated' => '',
'updated_documents' => '',
'update_approvers' => '승인자의 업데이트 목록',
'update_document' => '문서 갱신하기',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'ຈຳນວນມູນຄ່ານ້ອຍສຸດຫຼາຍກວ່າມູນຄ່າຫຼາຍສຸດ',
'attrdef_multiple' => 'ອະນຸຍາດຄ່າຫຼາຍຄ່າ',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'ນິຍາມແອັດທີບິວທີ່ມີຫຼາຍຄ່າຕ້ອງມີການຕັ້ງຄ່າ',
'attrdef_must_be_multiple' => 'ແອັດທີບິວຕ້ອງມີຫຼາຍກວ່າໜື່ງຄ່າ ແຕ່ບໍ່ໄດ້ມີການຕັ້ງຄ່າຫຼາຍຄ່າ',
'attrdef_name' => 'ຊື່',
@ -293,6 +294,7 @@ URL: [url]',
'choose_attrdefgroup' => 'ເລືອກກຸ່ມແອັດທິບິວ',
'choose_category' => 'ກະລຸນາເລືອກ',
'choose_group' => 'ເລືອກກຸຸ່ມ',
'choose_link_type' => '',
'choose_role' => 'ເລືອກບົດບາດ',
'choose_target_category' => 'ເລືອກໝວດ',
'choose_target_document' => 'ເລືອກເອກະສານ',
@ -389,7 +391,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'ນີ້ແມ່ນພື້ນທີ່ທີ່ຈຳແນກ ອະນຸຍາດໃຫ້ເຂົ້າເຖິງສະເພາະຜູ້ທີໄດ້ຮັບອານຸຍາດເທົ່ານັ້ນ ຖ້າມີການລະເມີດໄດ້ໆ ຈະຖືກຟ້ອງຮ້ອງຕາມກົດໝາຍຂອງພາຍໃນ ແລະ ຕ່າງປະເທດ',
'discspace' => 'ຟື້ນທີ່ວ່າງໃນດິສ',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'ເອກະສານທີ່ໄດ້ຮັບແມ່ນບໍ່ສາມາດເຂົ້າເບີ່ງໄດ້',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'ເອກະສານທີ້ແກ້ໄຂໂດຍບໍ່ຕ້ອງເຂົ້າໄຊ້ງານ',
'docs_with_missing_revision_date' => '',
'document' => 'ຟື້ນທີ່ວ່າງໃນດິສ',
@ -644,6 +648,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'ສະເປນ',
'event' => '',
'event_details' => 'ລາຍລະອຽດກິດຈະກຳ',
'exclude_items' => 'ຍົກເວັນລາຍການ',
'expired' => 'ໝົດອາຍຸ',
@ -702,6 +707,7 @@ URL: [url]',
'filter_for_documents' => 'ຕົວກອງເພີ່ມເຕົມສຳລັບເອກະສານ',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'ຕົວກອງເພີ່ມເຕີມສຳລັບໂຟລເດີ',
'finished_workflow_log' => '',
'folder' => 'ໂຟລເດີ',
'folders' => 'ໂຟລເດີ',
'folders_and_documents_statistic' => 'ພາບລວມເນື້ອຫາ',
@ -800,6 +806,7 @@ URL: [url]',
'global_attributedefinitions' => 'ແອັດທີບິວ',
'global_default_keywords' => 'ຄຳຫຼັກທົ່ວໂລກ',
'global_document_categories' => 'ຫມວດໝູ່',
'global_link_types' => '',
'global_workflows' => 'ເວີກໂຟລ',
'global_workflow_actions' => 'ການດຳເນີນການເວີກໂຟລ',
'global_workflow_states' => 'ຂັນຕອນການເຮັດວຽກຂອງລັດ',
@ -865,6 +872,7 @@ URL: [url]',
'individuals_in_groups' => 'ສະມາຊິກຂອງກຸ່ມ',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ຮັບການຖ່າຍທອດ',
'inherits_access_copy_msg' => 'ຄັດລັອກລາຍການເຂົາເຖິງທີສືບທອດ',
@ -945,6 +953,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'ຕຳນານ',
'librarydoc' => 'ເອກະສານຈາກຫ້ອງສະໝຸດ',
'linked_document' => '',
'linked_documents' => 'ເອກະສານທີ່ກ່ຽວຂອງ',
'linked_files' => 'ສິ່ງທີ່ແນບມາ',
'linked_to_current_version' => 'ເຊື່ອໂຍງກັບເວີຊັນປະຈຸບັນແລ້ວ',
@ -958,6 +967,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'ລາບການ hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'ໄຟລທ້ອງຖິນ',
'locked_by' => 'ຖູກລັອກໂດຍ',
@ -1023,6 +1033,7 @@ URL: [url]',
'move_document' => 'ຍ້າຍເອກະສານ',
'move_folder' => 'ຍ້າຍໂຟລເດີ',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'ບັນຊີຂອງຂ້ອຍ',
'my_documents' => 'ເອກະສານຂອງຂ້ອຍ',
'my_transmittals' => 'ການຂົນສົ່ງຂອງຂ້ອຍ',
@ -1066,6 +1077,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]:[document] - ແນບໄຟລໄຫມ່',
'new_folder' => 'ແຟ້ມໄຫມ່',
'new_link_type' => '',
'new_password' => 'ລະຫັດຜ່ານໄຫມ່',
'new_subfolder_email' => 'ແຟ້ມໄຫມ່',
'new_subfolder_email_body' => 'ແຟ້ມໄຫມ່
@ -1369,6 +1381,8 @@ URL: [url]',
'revisions_without_group' => 'ການປັບປຸງໂດຍບໍ່ຢູ່ໃນກຸ່ມ',
'revisions_without_user' => 'ການແກ້ໄຂໂດຍບໍ່ມີຜູ້ໄຊ້',
'revision_date' => 'ວັນທີ່ແກ້ໄຂ',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'ບັນທຶກການແກ້ໄຂ',
'revision_request_email_body' => 'ຄຳຂໍແກ້ໄຂ
ເອກະສານຊື່: [name]
@ -1530,6 +1544,10 @@ URL: [url]',
'settings' => 'ການຕັ້ງຄ່າ',
'settings_activate_module' => 'ເປີດໄຊ້ງານໂມດູນ',
'settings_activate_php_extension' => 'ຂະຫຍາຍພື້ນທີການໄຊ້ງານຂອງ PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'ຜູ້ດູແລລະບົບ IP',
'settings_adminIP_desc' => 'ຫາກຕັ້ງຄ່າ ຜູ້ດູແລລະບົບສະມາດເຂົ້າສູ້ລະບົບໄດ້ຕາມທີຢູ່ IP ທີລະບຸເທົ່ານັ້ນ ປ່ອຍໃຫ້ວ່າງເພື່ອຫຼີກລ້ຽງການສູນເສຍການເຂົ້າເຖິງ ໝາຍເຫດ: ທຳງານໄດ້ສະເພາະກັບການຮອງຮັບຄວາມຖືກຕ້ອງໂດຍສະເພາະແມ່ນ (ບໍ່ມີ LDAP)',
'settings_Advanced' => 'ຂັນສູງ',
@ -1677,6 +1695,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'ສະແດງຕົວເລືອກສຳລັບພາສາອິນເທິເຟກ ສຳລັບຜູ້ໄຊ້ຫຼັງຈາກທີ່ເຂົ້າລະບົບ',
'settings_enableLargeFileUpload' => 'ເປີດໄຊ້ງານການອັບໂຫລດໄຟລຂະໜາດໃຫ່ຍ',
'settings_enableLargeFileUpload_desc' => 'ການຕັ້ງຄ່າອັບໂຫລດໄຟລຈະມີໃຫ້ບໍລິການຜ່ານທາງດ້ານຂວາຂອງເອັບເຟັກທີ່ເອີ້ນວ່າ jumploader ໂດຍບໍ່ມີຂິດຈຳກັດຂອງຂະໜາດໄຟລທີກຳນົດໂດຍບາວເຊີ ນອກຈາກນີຍັງຊ່ວຍໃນການອັບໂຫລດໄຟລຫຼາຍໄຟລໃນຂັນຕອນດຽວການເປີດຄຸນລັກສະນະນີ້ຈະປິດຄຸກກີ້ສະເພາະ Http ເທົ່ານັ້ນ',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => 'ເປີດການໄຊ້ງານ',
'settings_enableMenuTasks_desc' => 'ເປີດ/ປິດ ລາຍການເມນູທີ່ມີວຽກທັງໝົດສຳລັບຜູ້ໄຊ້ເອກະສານນີ້ມີເອກະສານທີຈ້ອງໄດ້ຮັບການກວດສອບ',
'settings_enableMultiUpload' => 'ອະນຸຍາດໃຫ້ອັບໂຫລດໄຟລຫຼາຍໄຟລ',
@ -1751,6 +1771,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'ພິເສດ',
'settings_fullSearchEngine_vallucene' => 'ເສັ້ນທາງ',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ລະຫັດຂອງແຂກຜູ້ທີມາຢ້ຽມເຢືອນ',
'settings_guestID_desc' => 'ລະຫັດຂອງແຂກຜູ້ທີມານຳໄຊ້ເມື່ອລັອກອອນເຂົ້າສູ້ລະບົບໃນຖານະແຂກ (ສ່ວນຫຼາຍແມ່ນບໍ່ຈຳເປັນຕ້ອງປ່ຽນແປງຫຍັງ)',
'settings_guestid_is_admin' => '',
@ -1788,6 +1818,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'เส้นทางไป SeedDMS_Lucene (ตัวเลือก) เว้นว่างไว้ถ้าคุณได้ติดตั้ง SeedDMS_Lucene ไว้ ณ ตำแหน่งที่ PHP สามารถพบได้เช่น PHP รวมเส้นทาง.',
'settings_luceneDir' => 'การจัดการดัชนีข้อความเต็มรูปแบบ',
'settings_luceneDir_desc' => 'เส้นทางไปยังดัชนี Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'ລະຫັດໄດເລັກທໍລີຂັນສູງ',
@ -1976,6 +2008,7 @@ URL: [url]',
'splash_add_group' => 'ເພີ່ມກຸ່ມໄຫມ່ແລ້ວ',
'splash_add_group_member' => 'ເພີ່ມສະມາຊິກໄໝ່ແລ້ວ',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'ເພີ່ມບົດບາດໄຫມ່',
'splash_add_task' => '',
@ -1983,6 +2016,7 @@ URL: [url]',
'splash_add_transmittal' => 'ເພີ່ມການສົ່ງຜ່ານ',
'splash_add_user' => 'ເພີ່ມຜູ້ໄຊ້ໄຫມ່ແລ້ວ',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'ລ້າງແຄຣແລ້ວ',
'splash_cleared_clipboard' => 'ລ້າງຄິບບອດແລ້ວ',
'splash_delete_access' => '',
@ -1994,17 +2028,20 @@ URL: [url]',
'splash_document_locked' => 'ເອກະສານຖືກລັອກ',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'ເອກະສານປົດລັອກແລ້ວ',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'ບັນທຶກແອັດທີບິວແລ້ວ',
'splash_edit_category' => '',
'splash_edit_event' => 'ບັນທຶກກິດຈະກຳແລ້ວ',
'splash_edit_group' => 'ບັນທຶກກຸ່ມແລ້ວ',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'ບັນທຶກບົດບາດແລ້ວ',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'ບັນທຶກຜູ້ໄຊ້ແລ້ວ',
'splash_error_add_to_transmittal' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ເພີ່ມເອກະສານເພື່ອຕິດຕໍ່',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'ຂໍ້ຜິດພາດໃນການລົບລິງການດາວໂຫລດ',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'ຂໍ້ຜິດພາດໃນການລົບລິງການດາວໂຫລດ',
@ -2038,6 +2075,7 @@ URL: [url]',
'splash_rm_group' => 'ລົບກຸ່ມແລ້ວ',
'splash_rm_group_member' => 'ສະມະຊິກຂອງກຸ່ມໄດ້ຖືກລົບອອກຈາກກູຸ່ມ',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'ລົບບົດບາດແລ້ວ',
'splash_rm_transmittal' => 'ຍົກເລີກການລົບແລ້ວ',
@ -2121,6 +2159,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => 'ງານ',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2216,6 +2255,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'ພິມເພື່ອຄົ້ນຫາ',
'uk_UA' => 'ຢູເຄຣນ',
'undefined' => '',
'under_folder' => 'ໃນໂຟລເດີ',
'unknown_attrdef' => 'ນິຍາມຂອງຄຸນສົມບັດທີບໍ່ຮູ້ຈັກ',
'unknown_command' => 'ບໍ່ຮູ້ຈັກຄຳສັ່ງ',
@ -2234,6 +2274,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'ເຈົ້າຍັງສາມາດອັບເດດໄດ້ເນື່ອງຈາກເຈົ້າເປັນຄົນລັອກຂໍ້ມູນນັ້ນ ການລັອກຈະຖືກປົດອອກໂດຍອັດຕະໂນມັດ',
'unlock_document' => 'ປົດລັອກ',
'update' => 'ປັບປຸງ',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'ອັບເດດລາຍຊື່ຜູ້ອະນຸມັດ',
'update_document' => 'ອັບເດດເອກະສານ',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1743)
// Translators: Admin (1744)
$text = array(
'2_factor_auth' => '2-trinns autentisering',
@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Verdien av minste tall er større en verdien av maksimum tall',
'attrdef_multiple' => 'Tillat flere verdier',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Egenskaps definisjon med flere verdier trenger verdisettes.',
'attrdef_must_be_multiple' => 'Egenskapet må ha mer enn én verdi, men er ikke angitt flere verdier',
'attrdef_name' => 'Navn',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Velg egenskaps gruppe',
'choose_category' => 'Venligst velg',
'choose_group' => 'Velg gruppe',
'choose_link_type' => '',
'choose_role' => 'Velg rolle',
'choose_target_category' => 'Velg kategori',
'choose_target_document' => 'Velg dokument',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Dette er et klassifisert område. Tilgang er bare tillatt for autorisert personell. Ethvert brudd vil bli tiltalt i henhold til nasjonale og internasjonale lover.',
'discspace' => 'Diskplass',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Dokumenter med mottak uten tilgang fra mottaker',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Dokumenter i revisjon uten tilgang fra korrekturleser',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -658,6 +662,7 @@ URL: [url]',
'error_update_document' => 'Feil under oppdatering av dokument',
'error_uploading_reviewer_only' => 'Feil når du oppretter dokumentet. Dokumentet har en korrekturleser, men ingen godkjenner.',
'es_ES' => 'Spansk',
'event' => '',
'event_details' => 'Arrangementsdetaljer',
'exclude_items' => 'Ekskluderte elementer',
'expired' => 'Utløpt',
@ -716,6 +721,7 @@ URL: [url]',
'filter_for_documents' => 'Tilleggsfilter for dokumentet',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Tilleggsfilter for mapper',
'finished_workflow_log' => '',
'folder' => 'Mappe',
'folders' => 'Mapper',
'folders_and_documents_statistic' => 'Innholdsoversikt',
@ -821,6 +827,7 @@ URL: [url]',
'global_attributedefinitions' => 'Egenskaper',
'global_default_keywords' => 'Globale søkeord',
'global_document_categories' => 'Kategorier',
'global_link_types' => '',
'global_workflows' => 'Arbeidsflyt',
'global_workflow_actions' => 'Arbeidsflyt-handlinger',
'global_workflow_states' => 'Arbeidsflyt-status',
@ -886,6 +893,7 @@ URL: [url]',
'individuals_in_groups' => 'Medlemmer i en gruppe',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Bekreftelse av mottak for denne dokumentversjonen er ikke mulig fordi versjonen ikke er utgitt.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'arvet',
'inherits_access_copy_msg' => 'Kopier arvet adgangsliste',
@ -966,6 +974,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Innholdsfortegnelse',
'librarydoc' => 'Dokumenter fra biblioteket',
'linked_document' => '',
'linked_documents' => 'Relaterte dokumenter',
'linked_files' => 'Vedlegg',
'linked_to_current_version' => 'Link til nåverende versjon',
@ -979,6 +988,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Liste hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Liste oppgaver',
'local_file' => 'Lokal fil',
'locked_by' => 'Låst av',
@ -1044,6 +1054,7 @@ URL: [url]',
'move_document' => 'Flytte dokument',
'move_folder' => 'Flytte mappe',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Min side',
'my_documents' => 'Mine dokumenter',
'my_transmittals' => 'Mine sendinger',
@ -1087,6 +1098,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nytt bilag',
'new_folder' => 'Ny mappe',
'new_link_type' => '',
'new_password' => 'Nytt passord',
'new_subfolder_email' => 'Ny mappe',
'new_subfolder_email_body' => 'Ny mappe
@ -1372,7 +1384,7 @@ URL: [url]',
'review_update_failed' => 'Feil ved oppdatering av korrekturstatus. Oppdatering mislyktes.',
'revise_document' => 'Korrektur av dokumentet',
'revise_document_on' => 'Neste korrektur av dokumentversjonen den [date]',
'revision' => '',
'revision' => 'Versjon',
'revisions_accepted' => '[no_revisions] korrektur allerede godkjent',
'revisions_accepted_latest' => '(er [no_revisions] i siste versjon)',
'revisions_not_touched' => '[no_revisions] korrektur blir ikke berørt',
@ -1384,6 +1396,8 @@ URL: [url]',
'revisions_without_group' => 'Korrekturer som savner grupp',
'revisions_without_user' => 'Korrekturer som savner bruker',
'revision_date' => 'Dato for korrektur',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Korrekturlogg',
'revision_request_email_body' => 'Korrektur forespørsel
Dokument: [name]
@ -1543,6 +1557,10 @@ Bruker: [username]
'settings' => 'Innstillinger',
'settings_activate_module' => 'Aktiver modul',
'settings_activate_php_extension' => 'Aktiver PHP-utvidelse',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Hvis den er angitt, kan administrator bare logge på med spesifisert IP-adresse. La stå tomt for å unngå at du mister tilgangen. MERKNAD: fungerer bare med lokal autentisering (ingen LDAP)',
'settings_Advanced' => 'Avansert',
@ -1690,6 +1708,8 @@ Bruker: [username]
'settings_enableLanguageSelector_desc' => 'Vis velger for språk for bruker etter at du er logget inn.',
'settings_enableLargeFileUpload' => 'Aktiver for store filopplastinger',
'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_desc' => '',
'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_enableMultiUpload' => 'Tillat opplasting av flere filer',
@ -1764,6 +1784,16 @@ Bruker: [username]
'settings_fullSearchEngine_desc' => 'Angi metoden som brukes for fulltekstsøk.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Gjestenavn',
'settings_guestID_desc' => 'Navn til gjestebruker som ble brukt når han er logget inn som gjest (trenger stort sett ikke å endre)',
'settings_guestid_is_admin' => '',
@ -1801,6 +1831,8 @@ Bruker: [username]
'settings_luceneClassDir_desc' => 'Sti til SeedDMS_Lucene (valgfritt). La dette være tomt hvis du har installert SeedDMS_Lucene på et sted der det kan bli funnet av PHP, f.eks. Ekstra PHP inkluderer-bane.',
'settings_luceneDir' => 'Mappe for fulltekstindeks',
'settings_luceneDir_desc' => 'Sti til Lucene-indeksen',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Maks mappenavn',
@ -1989,6 +2021,7 @@ Bruker: [username]
'splash_add_group' => 'Ny gruppe lagt til',
'splash_add_group_member' => 'Nytt gruppemedlem lagt til',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Lagt til ny rolle',
'splash_add_task' => '',
@ -1996,6 +2029,7 @@ Bruker: [username]
'splash_add_transmittal' => 'Lagt til overføring',
'splash_add_user' => 'Ny bruker lagt til',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache ble slettet',
'splash_cleared_clipboard' => 'Utklippstavlen ryddet',
'splash_delete_access' => 'Adgangs retten er slettet',
@ -2007,17 +2041,20 @@ Bruker: [username]
'splash_document_locked' => 'Dokumentet er låst',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokumentet åpnet',
'splash_document_updated' => '',
'splash_edit_access' => 'Adgangsretten ble endret',
'splash_edit_attribute' => 'Egenskapen ble lagret',
'splash_edit_category' => '',
'splash_edit_event' => 'Hendelsen lagret',
'splash_edit_group' => 'Gruppen lagret',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Rollen er lagret',
'splash_edit_task' => 'Oppgaven lagret',
'splash_edit_transmittal' => 'Overføring lagret',
'splash_edit_user' => 'Bruker lagret',
'splash_error_add_to_transmittal' => 'Feil under tilføyelse av dokument til overføringen',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Feil ved fjerning av nedlastingslenke',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Feil under sending av nedlastingslenke',
@ -2051,6 +2088,7 @@ Bruker: [username]
'splash_rm_group' => 'Gruppen fjernet',
'splash_rm_group_member' => 'Gruppemedlem fjernet',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rolle slettet',
'splash_rm_transmittal' => 'Overføring slettet',
@ -2134,6 +2172,7 @@ Bruker: [username]
'target_equals_source_folder' => '',
'tasks' => 'Oppgaver',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2229,6 +2268,7 @@ URL: [url]',
'type_to_filter' => 'Skriv for filter liste',
'type_to_search' => 'Skriv for å søke',
'uk_UA' => 'Ukrainsk',
'undefined' => '',
'under_folder' => 'I mappe',
'unknown_attrdef' => 'Ukjent egenskaps definisjon',
'unknown_command' => 'Kommando ikke gjenkjent.',
@ -2247,6 +2287,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Du kan fortsatt oppdatere den fordi du også er den som låste den. Låsen fjernes automatisk.',
'unlock_document' => 'Lås opp',
'update' => 'Opptatere',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Oppdater liste over godkjennere',
'update_document' => 'Oppdater dokumentet',

View File

@ -160,6 +160,7 @@ URL: [url]',
'attrdef_minvalues_help' => 'Minimum aantal waardes. Zet het op 1.',
'attrdef_min_greater_max' => 'Het minimum aantal is groter dan het maximum aantal',
'attrdef_multiple' => 'Meerdere waarden toegestaan',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Meerdere waarden nodig',
'attrdef_must_be_multiple' => 'Het attribuut moet meer dan 1 waarde hebben maar is niet ingesteld om meerdere waardes te bevatten',
'attrdef_name' => 'Naam',
@ -288,6 +289,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Kies een attribuutdefinitie-groep',
'choose_category' => 'Selecteer a.u.b.',
'choose_group' => 'Selecteer Groep',
'choose_link_type' => '',
'choose_role' => 'Selecteer een rol',
'choose_target_category' => 'Selecteer categorie',
'choose_target_document' => 'Selecteer Document',
@ -384,7 +386,9 @@ URL: [url]',
'disable_extension' => 'Schakel de extensie uit',
'disclaimer' => 'Dit is een beveiligde omgeving. Gebruik is alleen toegestaan voor geautoriseerde leden. Ongeautoriseerde toegang kan worden bestraft overeenkomstig (inter)nationale wetgeving.',
'discspace' => 'Schijfruimte',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documenten zonder toegang ontvanger',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documenten in revisie zonder toegang ontvanger',
'docs_with_missing_revision_date' => '',
'document' => 'Document',
@ -651,6 +655,7 @@ URL: [url]',
'error_update_document' => 'Fout tijdens updaten van het document',
'error_uploading_reviewer_only' => 'Fout bij het creëren van het document. Er is alleen een beoordelaar, geen goedkeurder.',
'es_ES' => 'Spaans',
'event' => '',
'event_details' => 'Activiteit-details',
'exclude_items' => 'Sluit iets uit',
'expired' => 'Verlopen',
@ -709,6 +714,7 @@ URL: [url]',
'filter_for_documents' => 'Extra filter voor documenten',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Extra filter voor mappen',
'finished_workflow_log' => '',
'folder' => 'Map',
'folders' => 'Mappen',
'folders_and_documents_statistic' => 'Inhoudsopgave',
@ -814,6 +820,7 @@ URL: [url]',
'global_attributedefinitions' => 'attribuutdefinities',
'global_default_keywords' => 'Algemene sleutelwoorden',
'global_document_categories' => 'Categorieën',
'global_link_types' => '',
'global_workflows' => 'Workflows',
'global_workflow_actions' => 'Workflow-acties',
'global_workflow_states' => 'Workflow-status',
@ -879,6 +886,7 @@ URL: [url]',
'individuals_in_groups' => 'Individuen in groepen',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Ontvangstbevestiging van deze versie van het document is niet mogelijk omdat de versie nog niet is vrijgegeven.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'overgeërfd',
'inherits_access_copy_msg' => 'Lijst van overgeërfde toegang',
@ -959,6 +967,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Bibliotheek',
'linked_document' => '',
'linked_documents' => 'Gerelateerde Documenten',
'linked_files' => 'Bijlagen',
'linked_to_current_version' => 'Bijlagen bij huidige versie',
@ -972,6 +981,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Taken',
'local_file' => 'Lokaal bestand',
'locked_by' => 'In gebruik door',
@ -1037,6 +1047,7 @@ URL: [url]',
'move_document' => 'Verplaats document',
'move_folder' => 'Map verplaatsen',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Mijn Account',
'my_documents' => 'Mijn Documenten',
'my_transmittals' => 'Mijn zendingen',
@ -1079,6 +1090,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nieuwe bijlage',
'new_folder' => 'Nieuwe map',
'new_link_type' => '',
'new_password' => 'Nieuw wachtwoord',
'new_subfolder_email' => 'Nieuwe map',
'new_subfolder_email_body' => 'Nieuwe map
@ -1381,6 +1393,8 @@ URL: [url]',
'revisions_without_group' => '[no_revisions] revisies zonder groep',
'revisions_without_user' => '[no_revisions] revisies zonder gebruiker',
'revision_date' => 'Datum revisie',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log herziening',
'revision_request_email_body' => 'Verzoek tot herziening
Document: [name]
@ -1542,6 +1556,10 @@ Name: [username]
'settings' => 'Instellingen',
'settings_activate_module' => 'Activeer module',
'settings_activate_php_extension' => 'Activeer PHP uitbreiding',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Beheer IP',
'settings_adminIP_desc' => 'Indien ingesteld kan de beheerder alleen vanaf het ingestelde IP adres inloggen. Leeg laten om controle te vermijden. Opmerking: Werkt alleen met lokale authenticatie (Geen LDAP)',
'settings_Advanced' => 'Uitgebreid',
@ -1689,6 +1707,8 @@ Name: [username]
'settings_enableLanguageSelector_desc' => 'Laat selector zien voor taalinterface, nadat gebruikers inloggen.',
'settings_enableLargeFileUpload' => 'Grote bestanden uploaden',
'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_desc' => '',
'settings_enableMenuTasks' => 'Menu-taken aanzetten',
'settings_enableMenuTasks_desc' => 'Menu-taken aanzetten',
'settings_enableMultiUpload' => 'Multi-upload',
@ -1763,6 +1783,16 @@ Name: [username]
'settings_fullSearchEngine_desc' => 'Instellingen Fulltext search',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Gast ID',
'settings_guestID_desc' => 'ID van gastgebruiker gebruikt indien ingelogd als gast (meestal geen wijziging nodig)',
'settings_guestid_is_admin' => '',
@ -1800,6 +1830,8 @@ Name: [username]
'settings_luceneClassDir_desc' => 'Pad naar SeedDMS_Lucene (optioneel)',
'settings_luceneDir' => 'Map voor volledigetekst index',
'settings_luceneDir_desc' => 'Pad naar Lucene index',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max Map-ID',
@ -1988,6 +2020,7 @@ Name: [username]
'splash_add_group' => 'Nieuwe groep toegevoegd',
'splash_add_group_member' => 'Nieuwe groepslid toegevoegd',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Nieuwe rol toegevoegd',
'splash_add_task' => 'Taak toegevoegd',
@ -1995,6 +2028,7 @@ Name: [username]
'splash_add_transmittal' => 'Verzending toegevoegd',
'splash_add_user' => 'Nieuwe gebruiker toegevoegd',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache leeggemaakt',
'splash_cleared_clipboard' => 'Klembord leeg gemaakt',
'splash_delete_access' => 'Toegangsrechten verwijderd',
@ -2006,17 +2040,20 @@ Name: [username]
'splash_document_locked' => 'Document vergrendeld',
'splash_document_name_changed' => 'Documentnaam veranderd',
'splash_document_unlocked' => 'Document ontgrendeld',
'splash_document_updated' => '',
'splash_edit_access' => 'Wijzig toegangsrechten',
'splash_edit_attribute' => 'Attribuut opgeslagen',
'splash_edit_category' => '',
'splash_edit_event' => 'Gebeurtenis opgeslagen',
'splash_edit_group' => 'Groep opgeslagen',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Rol opgeslagen',
'splash_edit_task' => 'Taak opgeslagen',
'splash_edit_transmittal' => 'Zending opgeslagen',
'splash_edit_user' => 'Gebruiker opgeslagen',
'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Fout bij verwijderen download-link',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Fout bij verzenden download-link',
@ -2050,6 +2087,7 @@ Name: [username]
'splash_rm_group' => 'Groep verwijderd',
'splash_rm_group_member' => 'Lid van de groep verwijderd',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rol verwijderd',
'splash_rm_transmittal' => 'Verzending verwijderd',
@ -2133,6 +2171,7 @@ Name: [username]
'target_equals_source_folder' => 'Doel- en bronmap zijn dezelfde',
'tasks' => 'taken',
'task_core_expireddocs_days' => 'Dagen',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2228,6 +2267,7 @@ URL: [url]',
'type_to_filter' => 'Type om de lijst te filteren',
'type_to_search' => 'zoeken naar',
'uk_UA' => 'Oekraïens',
'undefined' => '',
'under_folder' => 'In map',
'unknown_attrdef' => 'Onbekende attribuut definitie',
'unknown_command' => 'Opdracht nietherkend.',
@ -2246,6 +2286,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'U kunt toch e.e.a. bijwerken omdat U degene bent die dit heeft geblokeerd. Blokkering wordt automatisch opgeheven.',
'unlock_document' => 'De-blokkeer',
'update' => 'Bijwerken',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Bijwerken lijst van [Goedkeurders]',
'update_document' => 'Bijwerken',

View File

@ -155,6 +155,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimalna ilość wartości jest większa od ich maksymalnej ilości',
'attrdef_multiple' => 'Pozwól na wiele wartości',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Definiowanie atrybutów z wieloma wartościami wymaga podania tych wartości',
'attrdef_must_be_multiple' => 'Atrybut musi mieć więcej niż jedną wartość, ale nie może zawierać wielu wartości',
'attrdef_name' => 'Nazwa',
@ -283,6 +284,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Wybierz grupę atrybutów',
'choose_category' => 'Proszę wybrać',
'choose_group' => 'Wybierz grupę',
'choose_link_type' => '',
'choose_role' => 'Wybierz rolę',
'choose_target_category' => 'Wybierz kategorię',
'choose_target_document' => 'Wybierz dokument',
@ -379,7 +381,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'To jest zastrzeżona strefa. Dostęp do niej ma wyłącznie wyznaczony personel. Wszelkie naruszenia będą ścigane zgodnie z prawem krajowym i międzynarodowym.',
'discspace' => 'Zajęta przestrzeń dyskowa',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Dokumenty z odbiorem bez dostępu odbiorcy',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Dokumenty w wersji bez dostępu przez audytora',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -634,6 +638,7 @@ URL: [url]',
'error_update_document' => 'Błąd podczas aktualizacji dokumentu',
'error_uploading_reviewer_only' => 'Błąd podczas tworzenia dokumentu. Dokument ma recenzenta, ale nie ma osoby zatwierdzającej.',
'es_ES' => 'Hiszpański',
'event' => '',
'event_details' => 'Szczegóły zdarzenia',
'exclude_items' => 'Pozycje wykluczone',
'expired' => 'Wygasły',
@ -692,6 +697,7 @@ URL: [url]',
'filter_for_documents' => 'Dodatkowe filtrowanie dla dokumentów',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Dodatkowe filtrowanie dla folderów',
'finished_workflow_log' => '',
'folder' => 'Folder',
'folders' => 'Foldery',
'folders_and_documents_statistic' => 'Podsumowanie zawartości',
@ -790,6 +796,7 @@ URL: [url]',
'global_attributedefinitions' => 'Definicje atrybutów',
'global_default_keywords' => 'Globalne słowa kluczowe',
'global_document_categories' => 'Kategorie',
'global_link_types' => '',
'global_workflows' => 'Procesy',
'global_workflow_actions' => 'Akcje procesu',
'global_workflow_states' => 'Statusy procesu',
@ -855,6 +862,7 @@ URL: [url]',
'individuals_in_groups' => 'Członkowie grupy',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potwierdzenie odbioru dla tej wersji dokumentu nie jest możliwe, ponieważ wersja nie została wydana.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'dziedziczony',
'inherits_access_copy_msg' => 'Kopiuj odziedziczoną listę dostępu',
@ -935,6 +943,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Nie zmieniaj',
'linked_document' => '',
'linked_documents' => 'Powiązane dokumenty',
'linked_files' => 'Załączniki',
'linked_to_current_version' => 'Link do obecnej wersji',
@ -948,6 +957,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Lista błędów',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Lista zadań',
'local_file' => 'Lokalny plik',
'locked_by' => 'Zablokowane przez',
@ -1013,6 +1023,7 @@ URL: [url]',
'move_document' => 'Przenieś dokument',
'move_folder' => 'Przenieś folder',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Moje konto',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'Moi recenzenci',
@ -1056,6 +1067,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nowy załącznik',
'new_folder' => 'Nowy folder',
'new_link_type' => '',
'new_password' => 'Nowe hasło',
'new_subfolder_email' => 'Nowy folder',
'new_subfolder_email_body' => 'Nowy folder
@ -1317,6 +1329,8 @@ URL: [url]',
'revisions_without_group' => 'Korekty bez grupy',
'revisions_without_user' => 'Korekty bez użytkownika',
'revision_date' => 'Data korekty',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log korekty',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1473,6 +1487,10 @@ Name: [username]
'settings' => 'Ustawienia',
'settings_activate_module' => 'Aktywuj moduł',
'settings_activate_php_extension' => 'Aktywuj rozszerzenie PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Adres IP Administratora',
'settings_adminIP_desc' => 'Wprowadzenie tego adresu IP spowoduje, że administrator będzie mógł się logować tylko z tego adresu. Zostaw puste aby tego nie kontrolować. Uwaga! Działa tylko z autentykacją lokalną (nie w LDAP-ie)',
'settings_Advanced' => 'Zaawansowane',
@ -1620,6 +1638,8 @@ Name: [username]
'settings_enableLanguageSelector_desc' => 'Pokaż selektor języka dla interfejsu użytkownika po zalogowaniu To nie ma wpływu na wybór języka na stronie logowania.',
'settings_enableLargeFileUpload' => 'Zezwól na wczytywanie dużych plików',
'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_desc' => '',
'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_enableMultiUpload' => 'Zezwól na wysyłanie wielu plików',
@ -1694,6 +1714,16 @@ Name: [username]
'settings_fullSearchEngine_desc' => 'Ustaw metodę używaną do pełnotekstowego wyszukiwania',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID gościa',
'settings_guestID_desc' => 'ID gościa używane kiedy gość jest zalogowany (zazwyczaj nie wymaga zmiany)',
'settings_guestid_is_admin' => '',
@ -1731,6 +1761,8 @@ Name: [username]
'settings_luceneClassDir_desc' => 'Ścieżka do Path to SeedDMS_Lucene (opcjonalnie)',
'settings_luceneDir' => 'Katalog dla indeksu pełnotekstowego',
'settings_luceneDir_desc' => 'Ścieżka do indeksu Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Maksymalny ID katalogu',
@ -1919,6 +1951,7 @@ Name: [username]
'splash_add_group' => 'Dodano nową grupę',
'splash_add_group_member' => 'Dodano nowego członka grupy',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Dodano nową rolę',
'splash_add_task' => '',
@ -1926,6 +1959,7 @@ Name: [username]
'splash_add_transmittal' => 'Dodano przekaz',
'splash_add_user' => 'Dodano nowego użytkownika',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Pamięć podręczna wyczyszczona',
'splash_cleared_clipboard' => 'Wyczyszczono schowek',
'splash_delete_access' => 'Prawo dostępu zostało usunięte',
@ -1937,17 +1971,20 @@ Name: [username]
'splash_document_locked' => 'Dokument zablokowany',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Odblokowano dokument',
'splash_document_updated' => '',
'splash_edit_access' => 'Prawo dostępu zostało zmienione',
'splash_edit_attribute' => 'Zapisano atrybuty',
'splash_edit_category' => '',
'splash_edit_event' => 'Wydarzenie zapisane',
'splash_edit_group' => 'Grupa zapisana',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Rola zapisana',
'splash_edit_task' => 'Zadanie zapisane',
'splash_edit_transmittal' => 'Przesyłanie zapisane',
'splash_edit_user' => 'Zapisano użytkownika',
'splash_error_add_to_transmittal' => 'Błąd podczas dodawania dokumentu do przekazu',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Błąd podczas usuwania linku do pobrania',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Błąd podczas wysyłania linku do pobrania',
@ -1981,6 +2018,7 @@ Name: [username]
'splash_rm_group' => 'Grupę usunięto',
'splash_rm_group_member' => 'Usunięto członka grupy',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rola usunięta',
'splash_rm_transmittal' => 'Przekazywanie usunięte',
@ -2064,6 +2102,7 @@ Name: [username]
'target_equals_source_folder' => '',
'tasks' => 'Zadania',
'task_core_expireddocs_days' => 'Rdzeń zadania wygasa',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2159,6 +2198,7 @@ URL: [url]',
'type_to_filter' => 'Wpisz, aby przefiltrować listę',
'type_to_search' => 'Wpisz wyszukiwane',
'uk_UA' => 'Ukrainski',
'undefined' => '',
'under_folder' => 'W folderze',
'unknown_attrdef' => 'Nieznana definicja atrybutu',
'unknown_command' => 'Polecenie nierozpoznane.',
@ -2177,6 +2217,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Nadal możesz zaktualizować dokument ponieważ jesteś też osobą, która go zablokowała. Blokada będzie automatycznie zdjęta.',
'unlock_document' => 'Odblokuj',
'update' => 'Uaktualnij',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Aktualizuj listę osób zatwierdzających',
'update_document' => 'Aktualizuj dokument',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Número mínimo de valores é maior do que o número máximo de valores',
'attrdef_multiple' => 'Permitir múltiplos valores',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'A definição de atributo com vários valores precisa de um conjunto de valores.',
'attrdef_must_be_multiple' => 'Atributo deve ter mais de um valor, mas não está definido valor múltiplo',
'attrdef_name' => 'Nome',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Escolher o grupo de atributos',
'choose_category' => 'Por favor escolha',
'choose_group' => 'Escolher grupo',
'choose_link_type' => '',
'choose_role' => 'Escolher o papel',
'choose_target_category' => 'Escolha a categoria',
'choose_target_document' => 'Escolha documento',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Esta é uma área restrita, o acesso é permitido apenas ao pessoal autorizado. Qualquer violação será tratado de acordo com as normas internas e leis vigentes.',
'discspace' => 'Espaço em Disco',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documentos com recepção sem acesso pelo destinatário',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documentos em revisão sem acesso por revisor',
'docs_with_missing_revision_date' => '',
'document' => 'Documento',
@ -658,6 +662,7 @@ URL: [url]',
'error_update_document' => 'Erro ao atualizar o documento',
'error_uploading_reviewer_only' => 'Erro ao criar o documento. O documento tem um revisor, mas não tem um aprovador',
'es_ES' => 'Espanhol',
'event' => '',
'event_details' => 'Detalhes do evento',
'exclude_items' => 'Excluir ítens',
'expired' => 'Expirado',
@ -716,6 +721,7 @@ URL: [url]',
'filter_for_documents' => 'Filtro adicional para documentos',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtro adicional para pasta',
'finished_workflow_log' => '',
'folder' => 'Pasta',
'folders' => 'Pastas',
'folders_and_documents_statistic' => 'Relatórios de pastas e documentos',
@ -821,6 +827,7 @@ URL: [url]',
'global_attributedefinitions' => 'Atributos',
'global_default_keywords' => 'palavras-chave globais',
'global_document_categories' => 'Categorias',
'global_link_types' => '',
'global_workflows' => 'Fluxos de trabalho',
'global_workflow_actions' => 'Ações de fluxo de trabalho',
'global_workflow_states' => 'Estado de fluxos de trabalho',
@ -886,6 +893,7 @@ URL: [url]',
'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Confirmação de recebimento para esta versão do documento não é possível, porque a versão não é liberada.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'herdado',
'inherits_access_copy_msg' => 'Copiar lista de acesso herdada',
@ -966,6 +974,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Documento da biblioteca',
'linked_document' => '',
'linked_documents' => 'Documentos relacionados',
'linked_files' => 'Arquivos anexados',
'linked_to_current_version' => 'Vinculado à versão atual',
@ -979,6 +988,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Listar ganchos',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'Listar tarefas',
'local_file' => 'Arquivo local',
'locked_by' => 'Bloqueado por',
@ -1044,6 +1054,7 @@ URL: [url]',
'move_document' => 'Mover documento',
'move_folder' => 'Mover Pasta',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Minha Conta',
'my_documents' => 'Meus Documentos',
'my_transmittals' => 'Minhas Transmissões',
@ -1086,6 +1097,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Novo anexo',
'new_folder' => 'Nova pasta',
'new_link_type' => '',
'new_password' => 'Nova senha',
'new_subfolder_email' => 'Nova pasta',
'new_subfolder_email_body' => 'Nova pasta
@ -1388,6 +1400,8 @@ URL: [url]',
'revisions_without_group' => 'Revisões sem grupo',
'revisions_without_user' => 'Revisões sem usuário',
'revision_date' => 'Data da revisão',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log de revisão',
'revision_request_email_body' => 'Pedido de revisão
Documento: [name]
@ -1549,6 +1563,10 @@ Nome: [username]
'settings' => 'Configurações',
'settings_activate_module' => 'Ativar módulo',
'settings_activate_php_extension' => 'Ativar extensão PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP Administrador',
'settings_adminIP_desc' => 'Se definido administrador pode entrar apenas por endereço IP especificado, deixe em branco para evitar o controle. NOTA: só funciona com Autenticação local (não LDAP)',
'settings_Advanced' => 'Avançado',
@ -1696,6 +1714,8 @@ Nome: [username]
'settings_enableLanguageSelector_desc' => 'Mostrar seletor para idioma de interface de usuário após login.',
'settings_enableLargeFileUpload' => 'Ativar envio de grandes arquivos',
'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_desc' => '',
'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_enableMultiUpload' => 'Permitir envio de vários arquivos',
@ -1770,6 +1790,16 @@ Nome: [username]
'settings_fullSearchEngine_desc' => 'Selecione o método utilizado para a busca textual',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID convidado',
'settings_guestID_desc' => 'ID do usuário-convidado usada quando conectado como convidado (na maioria das vezes não há necessidade de mudar)',
'settings_guestid_is_admin' => '',
@ -1807,6 +1837,8 @@ Nome: [username]
'settings_luceneClassDir_desc' => 'Caminho para Sistema GED_Lucene (opcional). Deixe em branco se você tiver instalado Sistema GED_Lucene em um lugar onde ele pode ser encontrado por PHP, por exemplo, PHP extras incluem-Path',
'settings_luceneDir' => 'Diretório para o índice de texto completo',
'settings_luceneDir_desc' => 'Caminho para o índice Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'ID máxima de diretório',
@ -1995,6 +2027,7 @@ Nome: [username]
'splash_add_group' => 'Novo grupo adicionado',
'splash_add_group_member' => 'Novo membro do grupo adicionado',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Novo papel adicionado',
'splash_add_task' => '',
@ -2002,6 +2035,7 @@ Nome: [username]
'splash_add_transmittal' => 'Transmissão adicionada',
'splash_add_user' => 'Novo usuário adicionado',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache limpo',
'splash_cleared_clipboard' => 'Área de transferência limpa',
'splash_delete_access' => 'Direito de acesso removido',
@ -2013,17 +2047,20 @@ Nome: [username]
'splash_document_locked' => 'Documento bloqueado',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Documento desbloqueado',
'splash_document_updated' => '',
'splash_edit_access' => 'Direito de acesso alterado',
'splash_edit_attribute' => 'Atributo salvo',
'splash_edit_category' => '',
'splash_edit_event' => 'Evento salvo',
'splash_edit_group' => 'Grupo salvo',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Papel salvo',
'splash_edit_task' => 'Tarefa salva',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Usuário salvo',
'splash_error_add_to_transmittal' => 'Erro ao adicionar documento à transmissão',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Erro ao remover o link de download',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Erro ao enviar o link de download',
@ -2057,6 +2094,7 @@ Nome: [username]
'splash_rm_group' => 'Grupo removido',
'splash_rm_group_member' => 'Membro do grupo removido',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Papel removido',
'splash_rm_transmittal' => 'Transmissão excluída',
@ -2140,6 +2178,7 @@ Nome: [username]
'target_equals_source_folder' => '',
'tasks' => 'Tarefas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2235,6 +2274,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Tipo de pesquisa',
'uk_UA' => 'Ucraniano',
'undefined' => '',
'under_folder' => 'Na pasta',
'unknown_attrdef' => 'Definição de atributo desconhecido',
'unknown_command' => 'Comando não reconhecido.',
@ -2253,6 +2293,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Você pode pode atualizá-lo, porque você o travou também. A trava será automaticamente removida.',
'unlock_document' => 'Remover trava',
'update' => 'Atualizar',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Atualizar lista de aprovadores',
'update_document' => 'Atualizar',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Numărul minim de valori este mai mare decât numărul maxim de valori',
'attrdef_multiple' => 'Permiteți valori multiple',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Atributul trebuie să aibă mai mult de o valoare, dar nu este setat valoare multiplu',
'attrdef_name' => 'Nume',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Vă rugăm să alegeți',
'choose_group' => 'Alege grup',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => 'Alege categorie',
'choose_target_document' => 'Alege document',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Aceasta este o zonă clasificată. Accesul este permis numai personalului autorizat. Orice încălcare va fi urmărită penal în conformitate cu legile naționale și internaționale.',
'discspace' => 'Spațiu pe disc',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Document',
@ -646,6 +650,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spaniola',
'event' => '',
'event_details' => 'Detalii eveniment',
'exclude_items' => 'Elemente excluse',
'expired' => 'Expirat',
@ -704,6 +709,7 @@ URL: [url]',
'filter_for_documents' => 'Filtru suplimentar pentru documente',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Filtru suplimentar pentru foldere',
'finished_workflow_log' => '',
'folder' => 'Folder',
'folders' => 'Foldere',
'folders_and_documents_statistic' => 'Privire de ansamblu asupra continutului',
@ -802,6 +808,7 @@ URL: [url]',
'global_attributedefinitions' => 'Atribute',
'global_default_keywords' => 'Cuvinte cheie globale',
'global_document_categories' => 'Categorii',
'global_link_types' => '',
'global_workflows' => 'Workflow-uri',
'global_workflow_actions' => 'Actiuni Workflow',
'global_workflow_states' => 'Stări Workflow',
@ -867,6 +874,7 @@ URL: [url]',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'moștenit',
'inherits_access_copy_msg' => 'Copie lista de acces moștenită',
@ -947,6 +955,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legendă',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'Documente relationate',
'linked_files' => 'Atașamente',
'linked_to_current_version' => '',
@ -960,6 +969,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Fișier local',
'locked_by' => 'Blocat de',
@ -1025,6 +1035,7 @@ URL: [url]',
'move_document' => 'Mută document',
'move_folder' => 'Mută Folder',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Contul Meu',
'my_documents' => 'Documentele Mele',
'my_transmittals' => 'Trimiterile mele',
@ -1068,6 +1079,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Atașament nou',
'new_folder' => 'Folder nou',
'new_link_type' => '',
'new_password' => 'Parolă noua',
'new_subfolder_email' => 'Folder nou',
'new_subfolder_email_body' => 'Folder nou
@ -1360,6 +1372,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Log revizuire',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1511,6 +1525,10 @@ URL: [url]',
'settings' => 'Setări',
'settings_activate_module' => 'Activați modulul',
'settings_activate_php_extension' => 'Activați extensia PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP Admin',
'settings_adminIP_desc' => 'Dacă este setat, adminul se poate autentifica numai de la adresa IP specificată, lăsați gol pentru a evita controlul. NOTĂ: funcționează numai cu autentificarea locală (pe LDAP)',
'settings_Advanced' => 'Avansat',
@ -1658,6 +1676,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Arată selectorul de limbă pentru interfața cu utilizatorul după ce a fost autentificat.',
'settings_enableLargeFileUpload' => 'Activare încărcare fișier mare',
'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_desc' => '',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => '',
@ -1732,6 +1752,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Selectează metoda folosită pentru căutarea în tot textul',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'ID oaspete',
'settings_guestID_desc' => 'ID-ul utilizatorului oaspete folosit când la Logarea ca oaspete (de cele mai multe ori nu este nevoie să se schimbe)',
'settings_guestid_is_admin' => '',
@ -1769,6 +1799,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Calea catre SeedDMS_Lucene (optional). Lăsați gol dacă ați instalat SeedDMS_Lucene într-un loc unde poate fi găsit de PHP (exemplu: Extra PHP Include-Path)',
'settings_luceneDir' => 'Directorul pentru indexul de text integral(full text index)',
'settings_luceneDir_desc' => 'Calea catre indexul Lucene',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'ID director Maxim',
@ -1957,6 +1989,7 @@ URL: [url]',
'splash_add_group' => 'Grup nou adăugat',
'splash_add_group_member' => 'Membru grup nou adăugat',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1964,6 +1997,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Utilizator nou adăugat',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Clipboard golit',
'splash_delete_access' => '',
@ -1975,17 +2009,20 @@ URL: [url]',
'splash_document_locked' => 'Document blocat',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Document deblocat',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Atribut salvat',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Grup salvat',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Utilizator salvat',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2019,6 +2056,7 @@ URL: [url]',
'splash_rm_group' => 'Grup eliminat',
'splash_rm_group_member' => 'Membru grup eliminat',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2102,6 +2140,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2197,6 +2236,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Tastați pentru a căuta',
'uk_UA' => 'Ucraineană',
'undefined' => '',
'under_folder' => 'In Folder',
'unknown_attrdef' => 'Definiție atribut necunoscută',
'unknown_command' => 'Comandă nerecunoscută.',
@ -2215,6 +2255,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Puteți încă să-l actualizați pentru că sunteți cel care l-a blocat. Blocarea va fi eliminată automat.',
'unlock_document' => 'Deblocare',
'update' => 'Actualizare',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Actualizare Listă de aprobatori',
'update_document' => 'Actualizare document',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Минимальное значений превышает максимальное значение',
'attrdef_multiple' => 'Несколько значений',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Атрибут с несколькими значениями нуждается в установке значений',
'attrdef_must_be_multiple' => 'Атрибут должен иметь несколько значений, но несколько значений не установлены',
'attrdef_name' => 'Название',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Выберите группу атрибута',
'choose_category' => 'Выберите категорию',
'choose_group' => 'Выберите группу',
'choose_link_type' => '',
'choose_role' => 'Выберите роль',
'choose_target_category' => 'Выберите категорию',
'choose_target_document' => 'Выберите документ',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Работник, помни! От тебя зависит успех фирмы и всей страны!',
'discspace' => 'Дисковое пространство',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Документ',
@ -646,6 +650,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spanish',
'event' => '',
'event_details' => 'Информация о событии',
'exclude_items' => 'Не показывать события:',
'expired' => 'Срок действия вышел',
@ -704,6 +709,7 @@ URL: [url]',
'filter_for_documents' => 'Дополнительный фильтр по документам',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Дополнительный фильтр по папкам',
'finished_workflow_log' => '',
'folder' => 'Каталог',
'folders' => 'кат.',
'folders_and_documents_statistic' => 'Обзор содержимого',
@ -802,6 +808,7 @@ URL: [url]',
'global_attributedefinitions' => 'Атрибуты',
'global_default_keywords' => 'Глобальные метки',
'global_document_categories' => 'Категории',
'global_link_types' => '',
'global_workflows' => 'Процессы',
'global_workflow_actions' => 'Действия процессов',
'global_workflow_states' => 'Статусы процессов',
@ -867,6 +874,7 @@ URL: [url]',
'individuals_in_groups' => 'Пользователи группы',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'унаследованный',
'inherits_access_copy_msg' => 'Скопировать наследованный список',
@ -947,6 +955,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Обозначения',
'librarydoc' => 'Документ из библиотеки',
'linked_document' => '',
'linked_documents' => 'Связанные документы',
'linked_files' => 'Приложения',
'linked_to_current_version' => '',
@ -960,6 +969,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Список хуков',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Локальный файл',
'locked_by' => 'Заблокирован',
@ -1025,6 +1035,7 @@ URL: [url]',
'move_document' => 'Переместить документ',
'move_folder' => 'Переместить каталог',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Моя учётка',
'my_documents' => 'Мои документы',
'my_transmittals' => 'Мои пересылки',
@ -1067,6 +1078,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: новое приложение к документу «[document]»',
'new_folder' => 'Новый каталог',
'new_link_type' => '',
'new_password' => 'Новый пароль',
'new_subfolder_email' => 'Новый каталог',
'new_subfolder_email_body' => 'Новый каталог
@ -1362,6 +1374,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => 'Дата ревизии',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Лог ревизии',
'revision_request_email_body' => 'Запрос на ревизию
Документ: [name]
@ -1518,6 +1532,10 @@ URL: [url]',
'settings' => 'Настройки',
'settings_activate_module' => 'Активировать модуль',
'settings_activate_php_extension' => 'Активировать расширение PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Администраторский IP',
'settings_adminIP_desc' => 'Если установлено, то администратор сможет зайти только с этого IP-адреса. Оставьте пустым, если это не требуется. Не работает с LDAP.',
'settings_Advanced' => 'Дополнительно',
@ -1665,6 +1683,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Показывать меню выбора языка пользовательского интерфейса после входа в систему. Это не влияет на выбор языка на странице входа.',
'settings_enableLargeFileUpload' => 'Включить Java-загрузчик файлов',
'settings_enableLargeFileUpload_desc' => 'Если включено, загрузка файлов доступна так же через Java-апплет, называемый jumploader, без ограничения размера файла. Это также позволит загружать несколько файлов за раз.',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => 'Включить список задач в меню',
'settings_enableMenuTasks_desc' => 'Включить/отключить пункт меню, который содержит все задачи пользователя. Там содержатся документы, которые нуждаются в рецензии, утверждении и т.д.',
'settings_enableMultiUpload' => 'Разрешить загрузку нескольких файлов',
@ -1739,6 +1759,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Установить метод, используемый для полнотекстового поиска.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Идентификатор гостя',
'settings_guestID_desc' => 'Идентификатор гостя (можно не изменять).',
'settings_guestid_is_admin' => '',
@ -1776,6 +1806,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Путь к SeedDMS_Lucene (не обязательно).',
'settings_luceneDir' => 'Каталог полнотекстового индекса Lucene',
'settings_luceneDir_desc' => 'Путь, куда Lucene будет записывать свой индекс.',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Максимальный ID каталога',
@ -1964,6 +1996,7 @@ URL: [url]',
'splash_add_group' => 'Добавлена новая группа',
'splash_add_group_member' => 'Добавлен новый член группы',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1971,6 +2004,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Добавлен новый пользователь',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Буфер обмена очищен',
'splash_delete_access' => '',
@ -1982,17 +2016,20 @@ URL: [url]',
'splash_document_locked' => 'Документ заблокирован',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Документ разблокирован',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Атрибут сохранён',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Группа сохранена',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Пользователь сохранён',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2026,6 +2063,7 @@ URL: [url]',
'splash_rm_group' => 'Группа удалена',
'splash_rm_group_member' => 'Удалён член группы',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2109,6 +2147,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => 'Задания',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2204,6 +2243,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Введите запрос',
'uk_UA' => 'Украинский',
'undefined' => '',
'under_folder' => 'В каталоге',
'unknown_attrdef' => 'Неизвестное значение атрибута',
'unknown_command' => 'Команда не опознана.',
@ -2222,6 +2262,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Вы все ещё можете его обновить, потому что вы один из тех кто его заблокировал. Блокировка будет снята автоматически.',
'unlock_document' => 'Разблокировать',
'update' => 'Обновить',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Обновить список утверждающих',
'update_document' => 'Обновить документ',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimum number of values is larger than maximum number of values',
'attrdef_multiple' => 'Allow multiple values',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Attribute definition with multiple values needs value set.',
'attrdef_must_be_multiple' => 'Atribút musí mať viac ako jednu hodnotu, ale nie je nastavená viacnásobná hodnota',
'attrdef_name' => 'Meno',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Vyberte skupinu atribútov',
'choose_category' => 'Vyberte prosím',
'choose_group' => 'Vyberte skupinu',
'choose_link_type' => '',
'choose_role' => 'Vybrať rolu',
'choose_target_category' => 'Vybrať kategóriu',
'choose_target_document' => 'Vyberte dokument',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Toto je zabezpečená zóna. Prístup je povolený len autorizovaným osobám.',
'discspace' => 'Priestor na disku',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Documents with reception without access by recipient',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Documents in revision without access by revisor',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -658,6 +662,7 @@ URL: [url]',
'error_update_document' => 'Chyba pri aktualizácii dokumentu',
'error_uploading_reviewer_only' => 'Chyba pri vytváraní dokumentu. Dokument má recenzenta, ale nemá schvaľovateľa.',
'es_ES' => 'Španielčina',
'event' => '',
'event_details' => 'Detail udalosti',
'exclude_items' => 'Vylúčiť položky',
'expired' => 'Platnosť vypršala',
@ -716,6 +721,7 @@ URL: [url]',
'filter_for_documents' => 'Ďalší filter pre dokumenty',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Ďalší filter pre zložky',
'finished_workflow_log' => '',
'folder' => 'Zložka',
'folders' => 'Zložky',
'folders_and_documents_statistic' => 'Prehľad zložiek a dokumentov',
@ -821,6 +827,7 @@ URL: [url]',
'global_attributedefinitions' => 'Atribúty',
'global_default_keywords' => 'Globálne kľúčové slová',
'global_document_categories' => 'Kategórie',
'global_link_types' => '',
'global_workflows' => 'Pracovné postupy',
'global_workflow_actions' => 'Workflow Actions',
'global_workflow_states' => 'Workflow States',
@ -886,6 +893,7 @@ URL: [url]',
'individuals_in_groups' => 'Členovia skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'zdedené',
'inherits_access_copy_msg' => 'Skopírovať zdedený zoznam riadenia prístupu',
@ -966,6 +974,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Legenda',
'librarydoc' => 'Dokument z knižnice',
'linked_document' => '',
'linked_documents' => 'Súvisiace dokumenty',
'linked_files' => 'Prílohy',
'linked_to_current_version' => 'Prepojené s aktuálnou verziou',
@ -979,6 +988,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'List hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => 'List tasks',
'local_file' => 'Lokálny súbor',
'locked_by' => 'Uzamkol',
@ -1044,6 +1054,7 @@ URL: [url]',
'move_document' => 'Presunúť dokument',
'move_folder' => 'Presunúť zložku',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Môj účet',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'My Transmittals',
@ -1087,6 +1098,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Nová príloha',
'new_folder' => 'Nová zložka',
'new_link_type' => '',
'new_password' => 'Nové heslo',
'new_subfolder_email' => 'Nová zložka',
'new_subfolder_email_body' => 'Nová zložka
@ -1390,6 +1402,8 @@ URL: [url]',
'revisions_without_group' => 'Revízie bez skupiny',
'revisions_without_user' => 'Revízie bez používateľa',
'revision_date' => 'Dátum revízie',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Protokol revízie',
'revision_request_email_body' => 'Žiadosť o revíziu
Dokument: [name]
@ -1551,6 +1565,10 @@ Meno: [username]
'settings' => 'Nastavenia',
'settings_activate_module' => 'Aktivovať modul',
'settings_activate_php_extension' => 'Aktivovať PHP rozšírenie',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'IP administrátora',
'settings_adminIP_desc' => 'If set, admin can login only by specified IP address. Leave empty to avoid lose of access. NOTE: works only with local authentication (no LDAP)',
'settings_Advanced' => 'Rozšírené',
@ -1698,6 +1716,8 @@ Meno: [username]
'settings_enableLanguageSelector_desc' => 'Zobraziť výber pre jazyk používateľského rozhrania potom, čo bol prihlásený.',
'settings_enableLargeFileUpload' => 'Povoliť nahrávať veľké súbory',
'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_desc' => '',
'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_enableMultiUpload' => 'Povoliť nahrať viacero súborov',
@ -1772,6 +1792,16 @@ Meno: [username]
'settings_fullSearchEngine_desc' => 'Set the method used for the fulltext search.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Hosť ID',
'settings_guestID_desc' => 'ID of guest-user used when logged in as guest (mostly no need to change)',
'settings_guestid_is_admin' => '',
@ -1809,6 +1839,8 @@ Meno: [username]
'settings_luceneClassDir_desc' => 'Path to SeedDMS_Lucene (optional). Leave this empty if you have installed SeedDMS_Lucene at a place where it can be found by PHP, e.g. Extra PHP Include-Path',
'settings_luceneDir' => 'Directory for full text index',
'settings_luceneDir_desc' => 'Cesta do Lucene indexu',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max Zložka ID',
@ -1997,6 +2029,7 @@ Meno: [username]
'splash_add_group' => 'Bola pridaná nová skupina',
'splash_add_group_member' => 'New group member added',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Nová rola bola pridaná',
'splash_add_task' => '',
@ -2004,6 +2037,7 @@ Meno: [username]
'splash_add_transmittal' => 'Added transmittal',
'splash_add_user' => 'Pridaný nový používateľ',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Vymazanie vyrovnávacej pamäte',
'splash_cleared_clipboard' => 'Schránka bola vymazaná',
'splash_delete_access' => 'Access right deleted',
@ -2015,17 +2049,20 @@ Meno: [username]
'splash_document_locked' => 'Dokument uzamknutý',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokument odomknutý',
'splash_document_updated' => '',
'splash_edit_access' => 'Access right changed',
'splash_edit_attribute' => 'Atribút bol uložený',
'splash_edit_category' => '',
'splash_edit_event' => 'Udalosť bola uložená',
'splash_edit_group' => 'Skupina bola uložená',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Rola bola uložená',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Používateľ bol uložený',
'splash_error_add_to_transmittal' => 'Error while adding document to transmittal',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Error when removing download link',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Error while sending download link',
@ -2059,6 +2096,7 @@ Meno: [username]
'splash_rm_group' => 'Skupina bola odstránená',
'splash_rm_group_member' => 'Člen skupiny odstránený',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rola bola odstránená',
'splash_rm_transmittal' => 'Transmittal deleted',
@ -2142,6 +2180,7 @@ Meno: [username]
'target_equals_source_folder' => '',
'tasks' => 'Úlohy',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2237,6 +2276,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Zadajte na vyhľadanie',
'uk_UA' => 'Ukrajinsky',
'undefined' => '',
'under_folder' => 'V zložke',
'unknown_attrdef' => 'Neznáme definovanie atribútu',
'unknown_command' => 'Príkaz nebol rozpoznaný.',
@ -2255,6 +2295,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Môžete ho stále aktualizovať, pretože ste ten, kto ho aj zamkol. Zámok bude automaticky odstránený.',
'unlock_document' => 'Odomknúť',
'update' => 'Aktualizovať',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Aktualizovať zoznam schvaľovateľov',
'update_document' => 'Aktualizovať',

View File

@ -168,6 +168,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimum antal värden är större än maximum antal värden',
'attrdef_multiple' => 'Tillåt flera värden',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Attribut med flera värden behöver definieras.',
'attrdef_must_be_multiple' => 'Attribut måste ha mer än ett värde',
'attrdef_name' => 'Namn',
@ -296,6 +297,7 @@ URL: [url]',
'choose_attrdefgroup' => 'Välj gruppattribut',
'choose_category' => 'Välj',
'choose_group' => 'Välj grupp',
'choose_link_type' => '',
'choose_role' => 'Välj roll',
'choose_target_category' => 'Välj kategori',
'choose_target_document' => 'Välj dokument',
@ -392,7 +394,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Detta är ett sekretessbelagt område. Bara auktoriserade personer äger tillträde. Vid överträdelse kommer åtal att väckas i enlighet med nationella och internationella lagar.',
'discspace' => 'Diskutrymme',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => 'Dokument med angiven mottagare som saknar behörighet till dokumentet',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => 'Dokument med angiven granskare som saknar behörighet till dokumentet',
'docs_with_missing_revision_date' => '',
'document' => 'Dokument',
@ -652,6 +656,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spanska',
'event' => '',
'event_details' => 'Händelseinställningar',
'exclude_items' => '',
'expired' => 'Har gått ut',
@ -710,6 +715,7 @@ URL: [url]',
'filter_for_documents' => 'Tilläggsfilter för dokument',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Tilläggsfilter för kataloger',
'finished_workflow_log' => '',
'folder' => 'Katalog',
'folders' => 'Kataloger',
'folders_and_documents_statistic' => 'Innehållsöversikt',
@ -808,6 +814,7 @@ URL: [url]',
'global_attributedefinitions' => 'Attributdefinitioner',
'global_default_keywords' => 'Globala nyckelord',
'global_document_categories' => 'Kategorier',
'global_link_types' => '',
'global_workflows' => 'Arbetsflöden',
'global_workflow_actions' => 'Åtgärder för arbetsflödet',
'global_workflow_states' => 'Status för arbetsflödet',
@ -873,6 +880,7 @@ URL: [url]',
'individuals_in_groups' => 'Medlemmar i en grupp',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ärvd',
'inherits_access_copy_msg' => 'Kopiera lista för behörighetsarv',
@ -953,6 +961,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Förteckning',
'librarydoc' => 'Dokument från bibliotek',
'linked_document' => '',
'linked_documents' => 'Relaterade dokument',
'linked_files' => 'Bilagor',
'linked_to_current_version' => 'Länkad till nuvarande version',
@ -966,6 +975,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => 'Lista hooks',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Lokal fil',
'locked_by' => 'Låst av',
@ -1031,6 +1041,7 @@ URL: [url]',
'move_document' => 'Flytta dokument',
'move_folder' => 'Flytta katalog',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Min Sida',
'my_documents' => 'Mina dokument',
'my_transmittals' => 'Mina överföringar',
@ -1074,6 +1085,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Ny bilaga',
'new_folder' => 'Ny katalog',
'new_link_type' => '',
'new_password' => 'Nytt lösenord',
'new_subfolder_email' => 'Ny katalog',
'new_subfolder_email_body' => 'Ny katalog
@ -1363,6 +1375,8 @@ URL: [url]',
'revisions_without_group' => 'Revisioner som saknar grupp',
'revisions_without_user' => 'Revisioner som saknar användare',
'revision_date' => 'Datum för revision',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Revisionslogg',
'revision_request_email_body' => 'Begäran om revision
Dokument: [name]
@ -1524,6 +1538,10 @@ Kommentar: [comment]',
'settings' => 'Inställningar',
'settings_activate_module' => 'Aktivera modul',
'settings_activate_php_extension' => 'Aktivera PHP-extension',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin-IP',
'settings_adminIP_desc' => 'Om den har satts, kan administratören bara logga in från den angivna IP-adressen. Lämna detta fält tomt för att undvika begränsningar. OBS! Fungerar bara med lokal autentisering (ingen LDAP).',
'settings_Advanced' => 'Avancerat',
@ -1671,6 +1689,8 @@ Kommentar: [comment]',
'settings_enableLanguageSelector_desc' => 'Visa språkurval i användargränssnittet efter inloggning.',
'settings_enableLargeFileUpload' => 'Aktivera uppladdning av stora filer',
'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_desc' => '',
'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_enableMultiUpload' => 'Tillåt uppladdning av multipla filer',
@ -1745,6 +1765,16 @@ Kommentar: [comment]',
'settings_fullSearchEngine_desc' => 'Se metoder som används för fulltextsökning.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Gäst-ID',
'settings_guestID_desc' => 'ID som används för inloggad gästanvändare (behöver oftast inte ändras)',
'settings_guestid_is_admin' => '',
@ -1782,6 +1812,8 @@ Kommentar: [comment]',
'settings_luceneClassDir_desc' => 'Sökväg till LetoDMS_Lucene (valfritt)',
'settings_luceneDir' => 'Mapp för fulltext-index',
'settings_luceneDir_desc' => 'Sökväg till Lucene-index',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Max. mapp-ID',
@ -1970,6 +2002,7 @@ Kommentar: [comment]',
'splash_add_group' => 'Ny grupp tillagd',
'splash_add_group_member' => 'Ny gruppmedlem tillagt',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => 'Lägg till ny roll',
'splash_add_task' => '',
@ -1977,6 +2010,7 @@ Kommentar: [comment]',
'splash_add_transmittal' => 'Meddelande tillagt',
'splash_add_user' => 'Ny användare tillagd',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cachen är rensad',
'splash_cleared_clipboard' => 'Urklipp rensat',
'splash_delete_access' => '',
@ -1988,17 +2022,20 @@ Kommentar: [comment]',
'splash_document_locked' => 'Dokument låst',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Dokument upplåst',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Attribut sparat',
'splash_edit_category' => '',
'splash_edit_event' => 'Händelse sparad',
'splash_edit_group' => 'Grupp sparad',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => 'Roll sparad',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Användare sparad',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => 'Fel vid borttagande av nedladdningslänk',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Fel vid sändning av nedladdningslänk',
@ -2032,6 +2069,7 @@ Kommentar: [comment]',
'splash_rm_group' => 'Grupp har tagits bort',
'splash_rm_group_member' => 'Gruppmedlem har tagits bort',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rollen raderad',
'splash_rm_transmittal' => 'Meddelande raderat',
@ -2115,6 +2153,7 @@ Kommentar: [comment]',
'target_equals_source_folder' => '',
'tasks' => 'Uppgifter',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2210,6 +2249,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Skriv för att söka',
'uk_UA' => 'Ukrainska',
'undefined' => '',
'under_folder' => 'I katalogen',
'unknown_attrdef' => 'Okänd attributdefinition',
'unknown_command' => 'Okänt kommando',
@ -2228,6 +2268,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Du kan fortfarande uppdatera, eftersom du är samma person som låste dokumentet. Låsningen kommer automatiskt att tas bort.',
'unlock_document' => 'Lås upp',
'update' => 'Uppdatera',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Uppdatera lista med personer som godkänner',
'update_document' => 'Uppdatera dokument',

View File

@ -162,6 +162,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimum değer maksimum değerden büyük',
'attrdef_multiple' => 'Birden fazla değere izin ver',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Nitelik birden fazla değere sahip olmalı, fakat birden fazla değer ayarlanmamış',
'attrdef_name' => 'İsim',
@ -290,6 +291,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Lütfen seçiniz',
'choose_group' => 'Grup seçiniz',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => 'Kategori seçiniz',
'choose_target_document' => 'Doküman seçiniz',
@ -386,7 +388,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Bu sisteme sadece yetkilendirilmiş personel yetki seviyesine göre erişebilir. Herhangi bir ihlalde veya ihlal girişiminde, ulusal ve uluslararası yasalara göre takibat yapılacaktır.',
'discspace' => 'Disk alanı',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Doküman',
@ -640,6 +644,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'İspanyolca',
'event' => '',
'event_details' => 'Etkinkil detayları',
'exclude_items' => '',
'expired' => 'Süresi doldu',
@ -698,6 +703,7 @@ URL: [url]',
'filter_for_documents' => 'Dokümanlar için ek filtreler',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Klasörler için ek filtreler',
'finished_workflow_log' => '',
'folder' => 'Klasör',
'folders' => 'Klasör',
'folders_and_documents_statistic' => 'İçeriğe Bakış',
@ -794,6 +800,7 @@ URL: [url]',
'global_attributedefinitions' => 'Nitelikler',
'global_default_keywords' => 'Global anahtar kelimeler',
'global_document_categories' => 'Kategoriler',
'global_link_types' => '',
'global_workflows' => 'İş akışları',
'global_workflow_actions' => 'İş Akış Eylemleri',
'global_workflow_states' => 'İş Akış Durumları',
@ -859,6 +866,7 @@ URL: [url]',
'individuals_in_groups' => 'Ekip Üyeleri',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'devralındı',
'inherits_access_copy_msg' => 'Devralınan erişim listesini kopyala',
@ -939,6 +947,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Lejand',
'librarydoc' => '',
'linked_document' => '',
'linked_documents' => 'İlgili Dokümanlar',
'linked_files' => 'Ekler',
'linked_to_current_version' => '',
@ -952,6 +961,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Yerel dosya',
'locked_by' => 'Kilitleyen',
@ -1017,6 +1027,7 @@ URL: [url]',
'move_document' => 'Dokümanı taşı',
'move_folder' => 'Klasörü Taşı',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Hesabım',
'my_documents' => 'Dokümanlarım',
'my_transmittals' => 'Çevirilerim',
@ -1060,6 +1071,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - Yeni ek',
'new_folder' => 'Yeni klasör',
'new_link_type' => '',
'new_password' => 'Yeni parola',
'new_subfolder_email' => 'Yeni klasör',
'new_subfolder_email_body' => 'Yeni klasör
@ -1337,6 +1349,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => '',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_body_html' => '',
@ -1488,6 +1502,10 @@ URL: [url]',
'settings' => 'Ayarlar',
'settings_activate_module' => 'Modülü etkinleştir',
'settings_activate_php_extension' => 'PHP uzantısını etkinleştir',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => 'Yöneticinin sadece belli bir IP adresinden erişmesini istiyorsanız IP adresini giriniz. Kontrolü kaybetme riski olduğunu düşünüyorsanız boş bırakınız. NOT: sadece yerel yetkilendirme ile çalışır (LDAP ile çalışmaz)',
'settings_Advanced' => 'Gelişmiş ayarlar',
@ -1635,6 +1653,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Kullanıcının giriş yaparken dil seçimi yapabilmesi için bu seçeneği etkinleştirin.',
'settings_enableLargeFileUpload' => 'Büyük dosya yüklemeyi etkinleştir',
'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_desc' => '',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => '',
@ -1709,6 +1729,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Full text arama metodunu ayarlayın',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Misafir ID',
'settings_guestID_desc' => 'Misafir kullanıcı için ID (genelde değiştirmek gerekmez)',
'settings_guestid_is_admin' => '',
@ -1746,6 +1776,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'SeedDMS_Lucene yolu (isteğe bağlı). SeedDMS_Lucene\'i PHP tarafından bulunabilecek bir yere kurduysanız bu alanı boş bırakabilirsiniz. Ör. Ekstra PHP Include-Path',
'settings_luceneDir' => 'Tam metin dizini',
'settings_luceneDir_desc' => 'Lucene indeks dizini yolu',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Maks Dizin ID',
@ -1934,6 +1966,7 @@ URL: [url]',
'splash_add_group' => 'Yeni grup eklendi',
'splash_add_group_member' => 'Yeni grup üyesi eklendi',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1941,6 +1974,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Yeni kullanıcı eklendi',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Pano temizlendi',
'splash_delete_access' => '',
@ -1952,17 +1986,20 @@ URL: [url]',
'splash_document_locked' => 'Doküman kilitlendi',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Doküman kiliti açıldı',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Nitelik kaydedildi',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Grup kaydedildi',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Kullanıcı kaydedildi',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -1996,6 +2033,7 @@ URL: [url]',
'splash_rm_group' => 'Grup silindi',
'splash_rm_group_member' => 'Grup üyesi silindi',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2079,6 +2117,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2174,6 +2213,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Aranacak sözcük yazınız',
'uk_UA' => 'Ukraynaca',
'undefined' => '',
'under_folder' => 'Klasörde',
'unknown_attrdef' => 'Bilinmeyen nitelik tanımı',
'unknown_command' => 'Komut anlaşılamadı.',
@ -2192,6 +2232,7 @@ URL: [url]',
'unlock_cause_locking_user' => 'Bunu halen güncelleyebilirsiniz çünkü kilitleyen sizsiniz. Kilit otomatik olarak açılacaktır.',
'unlock_document' => 'Kilidi aç',
'update' => 'Güncelle',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Onaylayanlar listesini güncelle',
'update_document' => 'Doküman güncelle',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1352)
// Translators: Admin (1365)
$text = array(
'2_factor_auth' => '',
@ -35,7 +35,7 @@ $text = array(
'abbr_week' => '',
'abbr_year' => '',
'accept' => 'Прийняти',
'access_control' => '',
'access_control' => 'Контроль доступу',
'access_control_is_off' => '',
'access_denied' => 'Доступ заборонений',
'access_inheritance' => 'Наслідування доступу',
@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Мінімальна кількість значень більша за максимальну кількість значень',
'attrdef_multiple' => 'Декілька значень',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => 'Атрибут з кількома значеннями потребує встановлення значень',
'attrdef_must_be_multiple' => 'Атрибут повинен мати кілька значень, але кілька значень не встановлено',
'attrdef_name' => 'Назва',
@ -295,6 +296,7 @@ URL: [url]',
'choose_attrdefgroup' => '',
'choose_category' => 'Оберіть категорію',
'choose_group' => 'Оберіть групу',
'choose_link_type' => '',
'choose_role' => '',
'choose_target_category' => 'Оберіть категорію',
'choose_target_document' => 'Оберіть групу',
@ -362,7 +364,7 @@ URL: [url]',
'daily' => 'Щоденно',
'dashboard' => '',
'databasesearch' => 'Пошук по БД',
'database_schema_version' => '',
'database_schema_version' => 'Версія схеми БД',
'data_loading' => 'Зачекайте, дані завантажуються...',
'date' => 'Дата',
'days' => 'дні',
@ -391,7 +393,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => 'Авторизована зона. Несанкціонований доступ переслідується згідно національного законодавства.',
'discspace' => 'Дисковий простір',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '',
'docs_with_missing_revision_date' => '',
'document' => 'Документ',
@ -572,7 +576,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Швидке завантаження',
'drop_files_here' => 'Перемістіть файли сюди',
'drop_files_here_or_click' => '',
'drop_files_here_or_click' => 'Перетягніть файли сюди, або натисніть, щоб завантажити!',
'dump_creation' => 'Створити дамп БД',
'dump_creation_warning' => 'Ця операція створить дамп бази даних. Після створення файл буде збережено в каталозі даних сервера.',
'dump_list' => 'Існуючі дампи',
@ -645,6 +649,7 @@ URL: [url]',
'error_update_document' => '',
'error_uploading_reviewer_only' => '',
'es_ES' => 'Spanish',
'event' => '',
'event_details' => 'Інформація про подію',
'exclude_items' => 'Виключені елементи',
'expired' => 'Термін виконання вийшов',
@ -703,6 +708,7 @@ URL: [url]',
'filter_for_documents' => 'Додатковий фільтр по документах',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => 'Додатковий фільтр по каталогах',
'finished_workflow_log' => '',
'folder' => 'Каталог',
'folders' => 'кат.',
'folders_and_documents_statistic' => 'Огляд вмісту',
@ -801,6 +807,7 @@ URL: [url]',
'global_attributedefinitions' => 'Атрибути',
'global_default_keywords' => 'Глобальні ключові слова',
'global_document_categories' => 'Категорії',
'global_link_types' => '',
'global_workflows' => 'Процеси',
'global_workflow_actions' => 'Дії процесів',
'global_workflow_states' => 'Статуси процесів',
@ -834,23 +841,23 @@ URL: [url]',
'hu_HU' => 'Hungarian',
'id' => 'Ідентифікатор',
'identical_version' => 'Нова версія ідентична поточній.',
'id_ID' => '',
'id_ID' => 'Індонезійський',
'import' => '',
'importfs' => '',
'import_extension' => '',
'import_fs' => 'Імпортувати з файлової системи',
'import_fs_warning' => '',
'import_users' => '',
'import_users' => 'Імпорт користувачів',
'import_users_addnew' => '',
'import_users_no_column_mapping' => '',
'import_users_update' => '',
'include_content' => 'Включно з вмістом',
'include_documents' => 'Включно з документами',
'include_subdirectories' => 'Включно з підкаталогами',
'indexing_tasks_in_queue' => '',
'indexing_tasks_in_queue' => 'Індексування завдань в черзі',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_unchanged' => 'Документ не змінено',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
@ -861,11 +868,12 @@ URL: [url]',
'index_no_content' => '',
'index_pending' => '',
'index_processing' => '',
'index_waiting' => '',
'index_waiting' => 'Очікується',
'individuals' => 'Користувачі',
'individuals_in_groups' => 'Користувачі групи',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'успадкований',
'inherits_access_copy_msg' => 'Скопіювати успадкований список',
@ -946,6 +954,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => 'Позначення',
'librarydoc' => 'Документ з бібліотеки',
'linked_document' => '',
'linked_documents' => 'Пов\'язані документи',
'linked_files' => 'Пов\'язані файли',
'linked_to_current_version' => '',
@ -959,6 +968,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '',
'local_file' => 'Локальний файл',
'locked_by' => 'Заблоковано',
@ -1024,6 +1034,7 @@ URL: [url]',
'move_document' => 'Перемістити документ',
'move_folder' => 'Перемістити каталог',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => 'Мій обліковий запис',
'my_documents' => 'Мої документи',
'my_transmittals' => 'Мої перенесення',
@ -1066,6 +1077,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: новий додаток до документа «[document]»',
'new_folder' => 'Новий каталог',
'new_link_type' => '',
'new_password' => 'Новий пароль',
'new_subfolder_email' => 'Новий каталог',
'new_subfolder_email_body' => 'Новий каталог
@ -1354,6 +1366,8 @@ URL: [url]',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revision_date' => 'Дата ревізії',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => 'Лог ревізії',
'revision_request_email_body' => 'Запит на ревізію
Документ: [name]
@ -1408,7 +1422,7 @@ URL: [url]',
'role_admin' => 'Адміністратор',
'role_guest' => 'Гість',
'role_info' => '',
'role_management' => '',
'role_management' => 'Управління ролями',
'role_name' => '',
'role_type' => '',
'role_user' => 'Користувач',
@ -1432,7 +1446,7 @@ URL: [url]',
'scheduler_class_description' => '',
'scheduler_class_parameter' => '',
'scheduler_class_tasks' => '',
'scheduler_task_mgr' => '',
'scheduler_task_mgr' => 'Планувальник',
'search' => 'Пошук',
'search_fulltext' => 'Повнотекстовий пошук',
'search_in' => 'Пошук',
@ -1452,8 +1466,8 @@ URL: [url]',
'search_results_access_filtered' => 'Результати пошуку можуть містити об\'єкти, до яких у вас немає доступу',
'search_time' => 'Пройшло: [time] с',
'seconds' => 'секунди',
'seeddms_info' => '',
'seeddms_version' => '',
'seeddms_info' => 'Інформація про SeedDMS',
'seeddms_version' => 'Версія SeedDMS',
'selection' => 'Вибір',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
@ -1510,6 +1524,10 @@ URL: [url]',
'settings' => 'Налаштування',
'settings_activate_module' => 'Активувати модуль',
'settings_activate_php_extension' => 'Активувати розширення PHP',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Адміністраторська IP',
'settings_adminIP_desc' => 'Якщо встановлено, то адміністратор зможе зайти лише з цієї IP-адреси. Залиште порожнім, якщо це не потрібно. Не працює з LDAP.',
'settings_Advanced' => 'Додатково',
@ -1657,6 +1675,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Відображати меню вибору мови інтерфейсу користувача після входу в систему. Це не впливає на вибір мови на сторінці авторизації.',
'settings_enableLargeFileUpload' => 'Увімкнути Java-завантажувач файлів',
'settings_enableLargeFileUpload_desc' => 'Якщо увімкнено, завантаження файлів доступне також через Java-аплет jumploader без обмеження розміру файлів. Це також дозволить завантажувати кілька файлів за раз.',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => 'Включити список завдань в меню',
'settings_enableMenuTasks_desc' => 'Включити/відключити пункт меню, який містить всі завдання користувача. Там містяться документи, які потребують рецензії, затвердження і т.ін.',
'settings_enableMultiUpload' => '',
@ -1731,6 +1751,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => 'Встановити метод, який використовується для повнотекстового пошуку.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Ідентифікатор гостя',
'settings_guestID_desc' => 'Ідентифікатор гостя (можна не змінювати).',
'settings_guestid_is_admin' => '',
@ -1768,6 +1798,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'Шлях до SeedDMS_Lucene (не обов\'язково).',
'settings_luceneDir' => 'Каталог повнотекстового індексу Lucene',
'settings_luceneDir_desc' => 'Шлях, куди Lucene буде записувати свій індекс.',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => 'Максимальний ID каталогу',
@ -1956,6 +1988,7 @@ URL: [url]',
'splash_add_group' => 'Додана нова група',
'splash_add_group_member' => 'Додано нового члена групи',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
@ -1963,6 +1996,7 @@ URL: [url]',
'splash_add_transmittal' => '',
'splash_add_user' => 'Додано нового користувача',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '',
'splash_cleared_clipboard' => 'Буфер обміну очищено',
'splash_delete_access' => '',
@ -1974,17 +2008,20 @@ URL: [url]',
'splash_document_locked' => 'Документ заблоковано',
'splash_document_name_changed' => '',
'splash_document_unlocked' => 'Документ розблоковано',
'splash_document_updated' => '',
'splash_edit_access' => '',
'splash_edit_attribute' => 'Атрибут збережено',
'splash_edit_category' => '',
'splash_edit_event' => '',
'splash_edit_group' => 'Групу збережено',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '',
'splash_edit_task' => '',
'splash_edit_transmittal' => '',
'splash_edit_user' => 'Користувача збережено',
'splash_error_add_to_transmittal' => '',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
@ -2018,6 +2055,7 @@ URL: [url]',
'splash_rm_group' => 'Групу видалено',
'splash_rm_group_member' => 'Члена групи видалено',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
@ -2101,6 +2139,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => 'Завдання',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2196,6 +2235,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => 'Введіть запит',
'uk_UA' => 'Українська',
'undefined' => '',
'under_folder' => 'В каталозі',
'unknown_attrdef' => 'Невідоме визначення атрибуту',
'unknown_command' => 'Не зрозуміла команда.',
@ -2214,11 +2254,12 @@ URL: [url]',
'unlock_cause_locking_user' => 'Ви все ще можете його оновлювати, тому що ви один з тих, хто його заблокував. Блокування буде автоматично зняте.',
'unlock_document' => 'Розблокувати',
'update' => 'Оновити',
'updated' => '',
'updated_documents' => '',
'update_approvers' => 'Оновити список затверджувачів',
'update_document' => 'Оновити документ',
'update_fulltext_index' => 'Оновити повнотекстовий пошук',
'update_fulltext_messages' => '',
'update_fulltext_messages' => 'Повідомлень',
'update_info' => 'Оновити інформацію',
'update_locked_msg' => 'Цей документ заблоковано',
'update_recipients' => 'Оновити список отримувачів',

View File

@ -167,6 +167,7 @@ URL: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '最小值数目大于最大值数目',
'attrdef_multiple' => '允许多个值',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '有多个值的属性定义需要设置值',
'attrdef_must_be_multiple' => '必须为多个值',
'attrdef_name' => '名称',
@ -287,6 +288,7 @@ URL: [url]',
'choose_attrdefgroup' => '选择属性组',
'choose_category' => '请选择',
'choose_group' => '选择组别',
'choose_link_type' => '',
'choose_role' => '选择角色',
'choose_target_category' => '选择类别',
'choose_target_document' => '选择文档',
@ -385,7 +387,9 @@ URL: [url]',
'disable_extension' => '',
'disclaimer' => '警告:这是机密区.只有授权用户才被允许访问.任何违反行为将受到法律制裁',
'discspace' => '磁盘空间',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '收件人未访问接收到的文档',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '修订人未访问带修订文档',
'docs_with_missing_revision_date' => '',
'document' => '文档',
@ -646,6 +650,7 @@ URL: [url]',
'error_update_document' => '文档升级时报错',
'error_uploading_reviewer_only' => '创建文档时报错!文档有复核人,但没有审核人。',
'es_ES' => '西班牙语',
'event' => '',
'event_details' => '错误详情',
'exclude_items' => '排除项目',
'expired' => '过期',
@ -706,6 +711,7 @@ URL: [url]',
'filter_for_documents' => '文档新增过滤',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => '文件夹新增过滤',
'finished_workflow_log' => '',
'folder' => '文件夹',
'folders' => '文件夹',
'folders_and_documents_statistic' => '内容概要',
@ -804,6 +810,7 @@ URL: [url]',
'global_attributedefinitions' => '属性',
'global_default_keywords' => '全局关键字',
'global_document_categories' => '分类',
'global_link_types' => '',
'global_workflows' => '工作流',
'global_workflow_actions' => '工作流程节点',
'global_workflow_states' => '工作流状态',
@ -869,6 +876,7 @@ URL: [url]',
'individuals_in_groups' => '组成员',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '由于该版本尚未发布因此无法确认收到此文件版本',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '继承',
'inherits_access_copy_msg' => '复制继承访问权限列表',
@ -949,6 +957,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => '图例',
'librarydoc' => '库内文件',
'linked_document' => '',
'linked_documents' => '相关文档',
'linked_files' => '附件',
'linked_to_current_version' => '已链接到当前版本',
@ -962,6 +971,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '钩子列表',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '任务列表',
'local_file' => '本地文件',
'locked_by' => '锁定人',
@ -1027,6 +1037,7 @@ URL: [url]',
'move_document' => '移动文档',
'move_folder' => '移动文件夹',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => '我的账户',
'my_documents' => '我的文档',
'my_transmittals' => '我的传送',
@ -1070,6 +1081,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - 新建附件',
'new_folder' => '新建文件夹',
'new_link_type' => '',
'new_password' => '新密码',
'new_subfolder_email' => '创建新文件夹',
'new_subfolder_email_body' => '新建文件夹
@ -1343,6 +1355,8 @@ URL: [url]',
'revisions_without_group' => '无修订群组',
'revisions_without_user' => '无修改用户',
'revision_date' => '修订日期',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '修订日志',
'revision_request_email_body' => '修订请求
文档: [name]
@ -1498,6 +1512,10 @@ URL: [url]',
'settings' => '设置',
'settings_activate_module' => '启用模块',
'settings_activate_php_extension' => '启用 PHP 扩展',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => '管理员IP',
'settings_adminIP_desc' => '如果设置管理员只能通过指定的IP地址登录请确认网络连接和端口。注意:只适用于本地认证(没有LDAP)',
'settings_Advanced' => '高级设置',
@ -1645,6 +1663,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => '登录后显示用户界面语言选择',
'settings_enableLargeFileUpload' => '开启大文件上传',
'settings_enableLargeFileUpload_desc' => '如果设置了文件上传也可以通过一个名为jumploader的浏览器java小程序来实现文件上传。它还允许一次上传多个文件。打开此选项将关闭网页cookie。',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '在菜单中启用任务列表',
'settings_enableMenuTasks_desc' => '启用/禁用包含用户所有任务的菜单项。其中包含需要审核、批准的文件等。',
'settings_enableMultiUpload' => '允许一次性上传多个文件',
@ -1719,6 +1739,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => '设置用于全文检索的方法',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => '访客名称',
'settings_guestID_desc' => '来宾用户登录时使用的ID(基本不需要更改)',
'settings_guestid_is_admin' => '',
@ -1756,6 +1786,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => '路径到DMS_Lucene(可选)。如果你已经在PHP可以找到的地方安装了DMS_Lucene请将此空例如Extra PHP Include-Path',
'settings_luceneDir' => '全文索引目录',
'settings_luceneDir_desc' => 'Lucene 索引路径',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '最大目录编号',
@ -1944,6 +1976,7 @@ URL: [url]',
'splash_add_group' => '组已添加',
'splash_add_group_member' => '组成员已添加',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '添加新角色',
'splash_add_task' => '',
@ -1951,6 +1984,7 @@ URL: [url]',
'splash_add_transmittal' => '添加传输',
'splash_add_user' => '用户已添加',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => 'Cache 缓存已清理',
'splash_cleared_clipboard' => '剪贴板已清空',
'splash_delete_access' => '访问权限已删除',
@ -1962,17 +1996,20 @@ URL: [url]',
'splash_document_locked' => '文档已被锁定',
'splash_document_name_changed' => '',
'splash_document_unlocked' => '已解锁的文档',
'splash_document_updated' => '',
'splash_edit_access' => '访问权限已改变',
'splash_edit_attribute' => '属性已保存',
'splash_edit_category' => '',
'splash_edit_event' => '事件已保存',
'splash_edit_group' => '组已保存',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '角色已保存',
'splash_edit_task' => '任务保存',
'splash_edit_transmittal' => '',
'splash_edit_user' => '用户信息已保存',
'splash_error_add_to_transmittal' => '在传送中添加文件时出错',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '移除下载链接时报错',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '发送下载链接时报错',
@ -2006,6 +2043,7 @@ URL: [url]',
'splash_rm_group' => '组信息已删除',
'splash_rm_group_member' => '组成员已移除',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '角色已删除',
'splash_rm_transmittal' => '传送删除',
@ -2089,6 +2127,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '任务',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2175,6 +2214,7 @@ URL: [url]',
'type_to_filter' => '',
'type_to_search' => '搜索类型',
'uk_UA' => '乌克兰语',
'undefined' => '',
'under_folder' => '文件夹内',
'unknown_attrdef' => '未知属性',
'unknown_command' => '未知命令',
@ -2193,6 +2233,7 @@ URL: [url]',
'unlock_cause_locking_user' => '您仍然可以更新,因为是您锁定了该文件. 锁定状态被自动解除.',
'unlock_document' => '解锁',
'update' => '更新',
'updated' => '',
'updated_documents' => '',
'update_approvers' => '更新审核人名单',
'update_document' => '更新',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2442)
// Translators: Admin (2444)
$text = array(
'2_factor_auth' => '2階段認證',
@ -167,6 +167,7 @@ $text = array(
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => '最小數值大於最大數值',
'attrdef_multiple' => '允許多個值',
'attrdef_multiple_but_doc_or_folder' => '',
'attrdef_multiple_needs_valueset' => '具有多個值的屬性定義需要設置值。',
'attrdef_must_be_multiple' => '屬性必須具有多個值,但不能設置多個值',
'attrdef_name' => '名稱',
@ -295,6 +296,7 @@ $text = array(
'choose_attrdefgroup' => '選擇屬性組',
'choose_category' => '請選擇',
'choose_group' => '選擇組別',
'choose_link_type' => '',
'choose_role' => '選擇角色',
'choose_target_category' => '選擇類別',
'choose_target_document' => '選擇文件',
@ -391,7 +393,9 @@ $text = array(
'disable_extension' => '',
'disclaimer' => '警告:這是機密區.只有授權使用者才被允許訪問.任何違反行為將受到法律制裁',
'discspace' => '磁碟空間',
'docs_in_reception_disabled' => '',
'docs_in_reception_no_access' => '帶有收件人的文件,收件人無法訪問',
'docs_in_revision_disabled' => '',
'docs_in_revision_no_access' => '修訂中的文件,沒有修訂者可以訪問',
'docs_with_missing_revision_date' => '',
'document' => '文件',
@ -658,6 +662,7 @@ URL: [url]',
'error_update_document' => '更新文件時發生錯誤',
'error_uploading_reviewer_only' => '創建文件時出錯。該文件具有審閱者,但沒有批准者。',
'es_ES' => '西班牙語',
'event' => '事件',
'event_details' => '錯誤詳情',
'exclude_items' => '例外項目',
'expired' => '過期',
@ -716,6 +721,7 @@ URL: [url]',
'filter_for_documents' => '附加文件過濾器',
'filter_for_documents_and_folders' => '',
'filter_for_folders' => '文件夾的附加過濾器',
'finished_workflow_log' => '',
'folder' => '資料夾',
'folders' => '資料夾',
'folders_and_documents_statistic' => '內容概要',
@ -821,6 +827,7 @@ URL: [url]',
'global_attributedefinitions' => '屬性',
'global_default_keywords' => '全域關鍵字',
'global_document_categories' => '分類',
'global_link_types' => '',
'global_workflows' => '全域流程',
'global_workflow_actions' => '全域流程行為',
'global_workflow_states' => '全域流程狀態',
@ -886,6 +893,7 @@ URL: [url]',
'individuals_in_groups' => '小組成員',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。',
'info_rm_user_from_processes_none' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '繼承',
'inherits_access_copy_msg' => '複製繼承存取權限列表',
@ -966,6 +974,7 @@ URL: [url]',
'latest_updateddocuments' => '',
'legend' => '說明',
'librarydoc' => '文件庫',
'linked_document' => '',
'linked_documents' => '相關文件',
'linked_files' => '附件',
'linked_to_current_version' => '連結到當前版本',
@ -979,6 +988,7 @@ URL: [url]',
'list_conversion_services' => '',
'list_hooks' => '掛勾列表',
'list_notification_services' => '',
'list_of_recipients_has_disabled_users' => '',
'list_tasks' => '工作列表',
'local_file' => '選擇檔案',
'locked_by' => '鎖定人',
@ -1044,6 +1054,7 @@ URL: [url]',
'move_document' => '移動文件',
'move_folder' => '移動資料夾',
'move_into_rootfolder' => '',
'must_drop_one_file' => '',
'my_account' => '我的帳戶',
'my_documents' => '我的文件',
'my_transmittals' => '我的傳送',
@ -1087,6 +1098,7 @@ URL: [url]',
'new_file_email_body_html' => '',
'new_file_email_subject' => '[sitename]: [document] - 新附件',
'new_folder' => '新建資料夾',
'new_link_type' => '',
'new_password' => '新密碼',
'new_subfolder_email' => '創建新資料夾',
'new_subfolder_email_body' => '新建文件夾
@ -1388,6 +1400,8 @@ URL: [url]',
'revisions_without_group' => '沒有組的修訂',
'revisions_without_user' => '沒有使用者的修訂',
'revision_date' => '修訂日期',
'revision_deletion_email_body' => '',
'revision_deletion_email_subject' => '',
'revision_log' => '修訂日誌',
'revision_request_email_body' => '修訂要求
文件:[name]
@ -1549,6 +1563,10 @@ URL: [url]',
'settings' => '設置',
'settings_activate_module' => '激活模塊',
'settings_activate_php_extension' => '激活PHP擴展',
'settings_addManagerAsApprover' => '',
'settings_addManagerAsApprover_desc' => '',
'settings_addManagerAsReviewer' => '',
'settings_addManagerAsReviewer_desc' => '',
'settings_adminIP' => 'Admin IP',
'settings_adminIP_desc' => '如果設置則管理員只能通過指定的IP地址登錄。留空以免失去訪問權限。注意僅適用於本地身份驗證無LDAP',
'settings_Advanced' => '進階',
@ -1696,6 +1714,8 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => '登錄後顯示用戶界面語言的選擇器。',
'settings_enableLargeFileUpload' => '啟用大文件上傳',
'settings_enableLargeFileUpload_desc' => '如果設置了該選項則還可以通過一個名為Jumploader的Java小程序來上傳文件而瀏覽器沒有設置文件大小限制。它還允許一步上傳幾個文件。啟用此功能將關閉僅HTTP cookie。',
'settings_enableLoginByEmail' => '',
'settings_enableLoginByEmail_desc' => '',
'settings_enableMenuTasks' => '在菜單中啟用任務列表',
'settings_enableMenuTasks_desc' => '啟用/禁用包含用戶所有任務的菜單項。其中包含需要審查,批准等的文件。',
'settings_enableMultiUpload' => '允許上傳多個文件',
@ -1770,6 +1790,16 @@ URL: [url]',
'settings_fullSearchEngine_desc' => '設置用於全文搜索的方法。',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_globalApprover' => '',
'settings_globalApprover_desc' => '',
'settings_globalGroupApprover' => '',
'settings_globalGroupApprover_desc' => '',
'settings_globalGroupReviewer' => '',
'settings_globalGroupReviewer_desc' => '',
'settings_globalReviewer' => '',
'settings_globalReviewer_desc' => '',
'settings_global_approver_is_admin' => '',
'settings_global_reviewer_is_admin' => '',
'settings_guestID' => 'Guest ID',
'settings_guestID_desc' => '以訪客身份登錄時使用的訪客用戶ID通常無需更改',
'settings_guestid_is_admin' => '',
@ -1807,6 +1837,8 @@ URL: [url]',
'settings_luceneClassDir_desc' => 'SeedDMS_Lucene的路徑可選。如果您已在PHP可以找到SeedDMS_Lucene的位置安裝了該字段請將該字段留空。額外的PHP包含路徑',
'settings_luceneDir' => '全文索引目錄',
'settings_luceneDir_desc' => 'Lucene索引的路徑',
'settings_manager_approver_is_admin' => '',
'settings_manager_reviewer_is_admin' => '',
'settings_markdownComments' => '',
'settings_markdownComments_desc' => '',
'settings_maxDirID' => '最大目錄編號',
@ -1995,6 +2027,7 @@ URL: [url]',
'splash_add_group' => '新增群組',
'splash_add_group_member' => '新群組會員新增',
'splash_add_keyword' => '',
'splash_add_keyword_category' => '',
'splash_add_notify' => '',
'splash_add_role' => '新增一個角色',
'splash_add_task' => '',
@ -2002,6 +2035,7 @@ URL: [url]',
'splash_add_transmittal' => '加入傳送',
'splash_add_user' => '新增新的使用者',
'splash_cancel_checkout' => '',
'splash_checked_in' => '',
'splash_cleared_cache' => '快取清除',
'splash_cleared_clipboard' => '剪貼簿已清除',
'splash_delete_access' => '訪問權限已刪除',
@ -2013,17 +2047,20 @@ URL: [url]',
'splash_document_locked' => '文件已被鎖定',
'splash_document_name_changed' => '',
'splash_document_unlocked' => '已解鎖的文件',
'splash_document_updated' => '',
'splash_edit_access' => '訪問權限已更改',
'splash_edit_attribute' => '屬性已保存',
'splash_edit_category' => '',
'splash_edit_event' => '活動已保存',
'splash_edit_group' => '群組已保存',
'splash_edit_keyword' => '',
'splash_edit_keyword_category' => '',
'splash_edit_role' => '角色已保存',
'splash_edit_task' => '任務已儲存',
'splash_edit_transmittal' => '傳送已儲存',
'splash_edit_user' => '使用者已儲存',
'splash_error_add_to_transmittal' => '將文件添加到傳送時出錯',
'splash_error_checkin_ended' => '',
'splash_error_rm_download_link' => '刪除下載鏈接時出錯',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '發送下載鏈接時出錯',
@ -2057,6 +2094,7 @@ URL: [url]',
'splash_rm_group' => '組已刪除',
'splash_rm_group_member' => '組成員已刪除',
'splash_rm_keyword' => '',
'splash_rm_keyword_category' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '角色已刪除',
'splash_rm_transmittal' => '傳送已刪除',
@ -2140,6 +2178,7 @@ URL: [url]',
'target_equals_source_folder' => '',
'tasks' => '任務',
'task_core_expireddocs_days' => '天數',
'task_core_expireddocs_dryrun' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_importdropfolder_dryrun' => '',
@ -2235,6 +2274,7 @@ URL: [url]',
'type_to_filter' => '鍵入到篩選列表',
'type_to_search' => '搜索類型',
'uk_UA' => '烏克蘭語',
'undefined' => '未定義',
'under_folder' => '資料夾內',
'unknown_attrdef' => '未知的屬性定義',
'unknown_command' => '未知命令',
@ -2253,6 +2293,7 @@ URL: [url]',
'unlock_cause_locking_user' => '您仍然可以更新,因為是您鎖定了該檔. 鎖定狀態被自動解除.',
'unlock_document' => '解鎖',
'update' => '更新',
'updated' => '',
'updated_documents' => '',
'update_approvers' => '更新審核人名單',
'update_document' => '更新',

View File

@ -234,13 +234,13 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers($folder, $user);
$mreviewers = getMandatoryReviewers($folder, null, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
$mapprovers = getMandatoryApprovers($folder, null, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])

View File

@ -122,7 +122,8 @@ switch($command) {
foreach($hits['docs'] as $hit) {
if($hit->getAccessMode($user, 'search') >= M_READ) {
if($hit->getLatestContent()) {
$result[] = $hit->getID().'#'.$hit->getName();
// $result[] = $hit->getID().'#'.$hit->getName();
$result[] = array('type'=>'D', 'id'=>$hit->getId(), 'name'=>htmlspecialchars($hit->getName()), 'path'=>htmlspecialchars($hit->getParent()->getFolderPathPlain(true, '/')));
}
}
}
@ -151,8 +152,8 @@ switch($command) {
$result = array();
foreach($hits['folders'] as $hit) {
if($hit->getAccessMode($user, 'search') >= M_READ)
//$result[] = $hit->getID().'#'.$basefolder->getName().'/'.$hit->getName();
$result[] = $hit->getID().'#'.$hit->getFolderPathPlain(true, '/');
// $result[] = $hit->getID().'#'.$hit->getFolderPathPlain(true, '/');
$result[] = array('type'=>'F', 'id'=>$hit->getId(), 'name'=>htmlspecialchars($hit->getFolderPathPlain(true, '/')), 'path'=>htmlspecialchars($hit->getParent()->getFolderPathPlain(true, '/')));
}
header('Content-Type: application/json');
echo json_encode($result);
@ -164,7 +165,8 @@ switch($command) {
$result = array();
foreach($subfolders as $subfolder) {
//$result[] = $subfolder->getID().'#'.$basefolder->getName().'/'.$subfolder->getName();
$result[] = $subfolder->getID().'#'.$subfolder->getFolderPathPlain(true, '/');
// $result[] = $subfolder->getID().'#'.$subfolder->getFolderPathPlain(true, '/');
$result[] = array('type'=>'F', 'id'=>$subfolder->getId(), 'name'=>htmlspecialchars($subfolder->getFolderPathPlain(true, '/')), 'path'=>htmlspecialchars($subfolder->getParent()->getFolderPathPlain(true, '/')));
}
header('Content-Type: application/json');
echo json_encode($result);
@ -179,7 +181,8 @@ switch($command) {
$result = array();
foreach($hits['folders'] as $hit) {
if($hit->getAccessMode($user, 'search') >= M_READ)
$result[] = $hit->getID().'#'.$hit->getFolderPathPlain(true, '/');
// $result[] = $hit->getID().'#'.$hit->getFolderPathPlain(true, '/');
$result[] = array('type'=>'F', 'id'=>$hit->getId(), 'name'=>htmlspecialchars($hit->getFolderPathPlain(true, '/')), 'path'=>htmlspecialchars($hit->getParent()->getFolderPathPlain(true, '/')));
}
header('Content-Type: application/json');
echo json_encode($result);
@ -794,13 +797,13 @@ switch($command) {
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers($folder, $user);
$mreviewers = getMandatoryReviewers($folder, null, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
$mapprovers = getMandatoryApprovers($folder, null, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
@ -922,6 +925,162 @@ switch($command) {
}
break; /* }}} */
case 'updatedocument': /* {{{ */
if($user) {
if(checkFormKey('')) {
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_document_id")));
exit;
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_document_id")));
exit;
}
if ($document->getAccessMode($user, 'addDocument') < M_READWRITE) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("access_denied")));
exit;
}
if($settings->_quota > 0) {
$remain = checkQuota($user);
if ($remain < 0) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("quota_exceeded", array('bytes'=>SeedDMS_Core_File::format_filesize(abs($remain))))));
exit;
}
}
if (!is_uploaded_file($_FILES["userfile"]["tmp_name"]) || $_FILES['userfile']['error']!=0){
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_failed")));
exit;
}
if ($_FILES["userfile"]["size"]==0) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_zerosize")));
exit;
}
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
if ($maxuploadsize && $_FILES["userfile"]["size"] > $maxuploadsize) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_maxsize")));
exit;
}
$userfiletmp = $_FILES["userfile"]["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if($settings->_overrideMimeType) {
$userfiletype = SeedDMS_Core_File::mimetype($userfiletmp);
}
if (!empty($_POST["name"]))
$name = $_POST["name"];
else
$name = utf8_basename($userfilename);
if(isset($_POST["attributes"]))
$attributes = $_POST["attributes"];
else
$attributes = array();
if(isset($_POST["comment"]))
$comment = trim($_POST["comment"]);
else
$comment = '';
// Get the list of reviewers and approvers for this document.
$reviewers = array();
$approvers = array();
$reviewers["i"] = array();
$reviewers["g"] = array();
$approvers["i"] = array();
$approvers["g"] = array();
$workflow = null;
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers(null, $document, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers(null, $document, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
$approvers['g'] = array_merge($approvers['g'], $mapprovers['g']);
} elseif($settings->_workflowMode == 'advanced') {
$workflow = $user->getMandatoryWorkflow();
}
$expires = false;
if($settings->_presetExpirationDate) {
$expires = strtotime($settings->_presetExpirationDate);
}
$controller = Controller::factory('UpdateDocument', array('dms'=>$dms, 'user'=>$user));
$controller->setParam('documentsource', 'upload');
$controller->setParam('fulltextservice', $fulltextservice);
$controller->setParam('document', $document);
$controller->setParam('folder', $document->getFolder());
$controller->setParam('name', $name);
$controller->setParam('comment', $comment);
$controller->setParam('expires', $expires);
$controller->setParam('userfiletmp', $userfiletmp);
$controller->setParam('userfilename', $userfilename);
$controller->setParam('filetype', $fileType);
$controller->setParam('userfiletype', $userfiletype);
$controller->setParam('reviewers', $reviewers);
$controller->setParam('approvers', $approvers);
$controller->setParam('reqversion', 1);
$controller->setParam('attributes', $attributes);
$controller->setParam('workflow', $workflow);
$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText);
if(!$content = $controller()) {
$err = $controller->getErrorMsg();
if(is_string($err))
$errmsg = getMLText($err);
elseif(is_array($err)) {
$errmsg = getMLText($err[0], $err[1]);
} else {
$errmsg = $err;
}
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>$errmsg));
exit;
} else {
// Send notification to subscribers of folder.
if($notifier) {
$notifier->sendNewDocumentVersionMail($document, $user);
}
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_updated'), 'data'=>$document->getID()));
add_log_line("updated document ".$document->getId());
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
}
}
break; /* }}} */
/* Deprecated, has moved to op/op.TransmittalMgr.php */
case '___updatetransmittalitem': /* {{{ */
if($user) {
@ -957,6 +1116,99 @@ switch($command) {
}
break; /* }}} */
case 'addfolder': /* {{{ */
if($user) {
if(checkFormKey('')) {
if (!isset($_POST["folderid"]) || !is_numeric($_POST["folderid"]) || intval($_POST["folderid"])<1) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_folder_id")));
exit;
}
$folderid = $_POST["folderid"];
$folder = $dms->getFolder($folderid);
if (!is_object($folder)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_folder_id")));
exit;
}
if ($folder->getAccessMode($user, 'addFolder') < M_READWRITE) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("access_denied")));
exit;
}
if (!empty($_POST["name"]))
$name = $_POST["name"];
else
$name = utf8_basename($userfilename);
/* Check if name already exists in the folder */
if(!$settings->_enableDuplicateDocNames) {
if($folder->hasDocumentByName($name)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("document_duplicate_name")));
exit;
}
}
if(isset($_POST["attributes"]))
$attributes = $_POST["attributes"];
else
$attributes = array();
if(isset($_POST["comment"]))
$comment = trim($_POST["comment"]);
else
$comment = '';
$controller = Controller::factory('AddSubFolder', array('dms'=>$dms, 'user'=>$user));
$controller->setParam('documentsource', 'upload');
$controller->setParam('folder', $folder);
$controller->setParam('fulltextservice', $fulltextservice);
$controller->setParam('name', $name);
$controller->setParam('comment', $comment);
$minmax = $folder->getFoldersMinMax();
$deviation = rand(10, 1000)/10;
if($settings->_defaultFolderPosition == 'start')
$controller->setParam('sequence', $minmax['min'] - $deviation);
else
$controller->setParam('sequence', $minmax['max'] + $deviation);
$controller->setParam('owner', $user);
$controller->setParam('attributes', $attributes);
$controller->setParam('notificationgroups', array());
$controller->setParam('notificationusers', array());
if(!$subfolder = $controller()) {
$err = $controller->getErrorMsg();
if(is_string($err))
$errmsg = getMLText($err);
elseif(is_array($err)) {
$errmsg = getMLText($err[0], $err[1]);
} else {
$errmsg = $err;
}
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>$errmsg));
exit;
} else {
// Send notification to subscribers of folder.
if($notifier) {
$notifier->sendNewFolderMail($subfolder, $user);
}
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_folder_added'), 'data'=>$subfolder->getID()));
add_log_line("add folder ".$subfolder->getId()." in folder ".$folder->getId());
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
}
}
break; /* }}} */
case 'addfile': /* {{{ */
if($user) {
if(checkFormKey('addfile')) {

View File

@ -73,8 +73,13 @@ if ($action == "addattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
if($multiple) {
if(in_array($type, array(SeedDMS_Core_AttributeDefinition::type_document, SeedDMS_Core_AttributeDefinition::type_folder))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_but_doc_or_folder"));
}
if($valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
}
$controller->setParam('name', $name);
@ -150,8 +155,13 @@ else if ($action == "editattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
if($multiple) {
if(in_array($type, array(SeedDMS_Core_AttributeDefinition::type_document, SeedDMS_Core_AttributeDefinition::type_folder))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_but_doc_or_folder"));
}
if($valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
}
$controller->setParam('name', $name);

View File

@ -23,10 +23,23 @@ 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");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_controller_access($controller, $_POST)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
/* if post_max_size is to small, then $_POST will not be set and the content
* lenght will exceed post_max_size
*/
if(empty($_POST) && $_SERVER['CONTENT_LENGTH'] > SeedDMS_Core_File::parse_filesize(ini_get('post_max_size'))) {
UI::exitError(getMLText("folder_title", array("foldername" => '')),getMLText("uploading_postmaxsize"));
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('checkindocument')) {
@ -45,7 +58,7 @@ if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if ($document->getAccessMode($user) < M_READWRITE) {
if ($document->getAccessMode($user, 'checkinDocument') < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied"));
}
@ -73,6 +86,34 @@ if(isset($_POST["comment"]))
else
$comment = "";
$oldexpires = $document->getExpires();
switch($_POST["presetexpdate"]) {
case "date":
$expires = makeTsFromDate($_POST["expdate"]);
// $tmp = explode('-', $_POST["expdate"]);
// $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
break;
case "1w":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]);
break;
case "1m":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]);
break;
case "1y":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1);
break;
case "2y":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2);
break;
case "never":
default:
$expires = null;
break;
}
// Get the list of reviewers and approvers for this document.
$reviewers = array();
@ -141,13 +182,17 @@ else
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers($folder, $user);
$mreviewers = getMandatoryReviewers($folder, $document, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
$mapprovers = getMandatoryApprovers($folder, $document, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
$approvers['g'] = array_merge($approvers['g'], $mapprovers['g']);
if($settings->_workflowMode == 'traditional' && !$settings->_allowReviewerOnly) {
/* Check if reviewers are send but no approvers */
@ -156,11 +201,19 @@ else
}
}
} elseif($settings->_workflowMode == 'advanced') {
if(!$workflow = $user->getMandatoryWorkflow()) {
if(!$workflows = $user->getMandatoryWorkflows()) {
if(isset($_POST["workflow"]))
$workflow = $dms->getWorkflow($_POST["workflow"]);
else
$workflow = null;
} else {
/* If there is excactly 1 mandatory workflow, then set no matter what has
* been posted in 'workflow', otherwise check if the posted workflow is in the
* list of mandatory workflows. If not, then take the first one.
*/
$workflow = array_shift($workflows);
foreach($workflows as $mw)
if($mw->getID() == $_POST['workflow']) {$workflow = $mw; break;}
}
}
@ -184,7 +237,7 @@ else
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
/* Do not add the uploader itself and reviewers */
/* Do not add the uploader itself as recipient */
if(!$settings->_enableFilterReceipt || ($member->getID() != $user->getID() && !in_array($member->getID(), $reviewers['i'])))
if(!in_array($member->getID(), $recipients["i"]))
$recipients["i"][] = $member->getID();
@ -215,175 +268,44 @@ else
$attributes = array();
}
$contentResult=$document->checkIn($comment, $user, $reviewers, $approvers, $version=0, $attributes, $workflow, $settings->_initialDocumentStatus);
if (is_bool($contentResult) && !$contentResult) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} elseif (is_bool($contentResult) && $contentResult) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_no_checkin"));
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_error_checkin_ended')));
$controller->setParam('documentsource', 'checkin');
$controller->setParam('folder', $folder);
$controller->setParam('document', $document);
$controller->setParam('fulltextservice', $fulltextservice);
$controller->setParam('comment', $comment);
if($oldexpires != $expires)
$controller->setParam('expires', $expires);
$controller->setParam('reviewers', $reviewers);
$controller->setParam('approvers', $approvers);
$controller->setParam('recipients', $recipients);
$controller->setParam('attributes', $attributes);
$controller->setParam('workflow', $workflow);
$controller->setParam('initialdocumentstatus', $settings->_initialDocumentStatus);
$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText);
if(!$content = $controller()) {
$err = $controller->getErrorMsg();
if(is_string($err))
$errmsg = getMLText($err);
elseif(is_array($err)) {
$errmsg = getMLText($err[0], $err[1]);
} else {
$errmsg = $err;
}
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
} else {
if($controller->hasHook('cleanUpDocument')) {
$controller->callHook('cleanUpDocument', $document, $file);
}
// Send notification to subscribers.
if ($notifier){
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
if($notifier) {
$notifier->sendNewDocumentVersionMail($document, $user);
$subject = "document_updated_email_subject";
$message = "document_updated_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['comment'] = $document->getComment();
$params['version_comment'] = $contentResult->getContent()->getComment();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
if($workflow && $settings->_enableNotificationWorkflow) {
$subject = "request_workflow_action_email_subject";
$message = "request_workflow_action_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $contentResult->getContent()->getVersion();
$params['workflow'] = $workflow->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['current_state'] = $workflow->getInitState()->getName();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
foreach($ntransition->getGroups() as $tuser) {
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
}
}
if($settings->_enableNotificationAppRev) {
/* Reviewers and approvers will be informed about the new document */
if($reviewers['i'] || $reviewers['g']) {
$subject = "review_request_email_subject";
$message = "review_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $contentResult->getContent()->getVersion();
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
foreach($reviewers['g'] as $reviewergrpid) {
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
elseif($approvers['i'] || $approvers['g']) {
$subject = "approval_request_email_subject";
$message = "approval_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $contentResult->getContent()->getVersion();
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
foreach($approvers['g'] as $approvergrpid) {
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}
$notifier->sendChangedExpiryMail($document, $user, $oldexpires);
}
if($recipients['i']) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $contentResult->getContent()->addIndRecipient($u, $user);
}
}
}
if($recipients['g']) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $contentResult->getContent()->addGrpRecipient($g, $user);
}
}
}
$oldexpires = $document->getExpires();
switch($_POST["presetexpdate"]) {
case "date":
$tmp = explode('-', $_POST["expdate"]);
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
break;
case "1w":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]);
break;
case "1m":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]);
break;
case "1y":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1);
break;
case "2y":
$tmp = explode('-', date('Y-m-d'));
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2);
break;
case "never":
default:
$expires = null;
break;
}
if($oldexpires != $expires) {
if($document->setExpires($expires)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
// Send notification to subscribers.
$subject = "expiry_changed_email_subject";
$message = "expiry_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_checked_in')));
}
add_log_line("?documentid=".$documentid);
add_log_line("checkin document ".$documentid." with version ".$content->getVersion());
header("Location:../out/out.ViewDocument.php?documentid=".$documentid);

View File

@ -52,37 +52,39 @@ $action = $_POST["action"];
if (isset($_POST["userid"]) && (!is_numeric($_POST["userid"]) || $_POST["userid"]<-1)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user"));
}
$userid = isset($_POST["userid"]) ? $_POST["userid"] : -1;
$userid = 0;
if(isset($_POST["userid"]))
$userid = $_POST["userid"];
if ($userid > 0){
$u=$dms->getUser($userid);
if (($u->getId() != $user->getId()) && !$user->isAdmin())
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
if (isset($_POST["groupid"]) && (!is_numeric($_POST["groupid"]) || $_POST["groupid"]<-1)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group"));
}
if(isset($_POST["groupid"]))
$groupid = $_POST["groupid"];
$groupid = isset($_POST["groupid"]) ? $_POST["groupid"] : -1;
if (isset($_POST["groupid"])&&$_POST["groupid"]!=-1){
if ($groupid > 0){
$group=$dms->getGroup($groupid);
if (!$group->isMember($user,true) && !$user->isAdmin())
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
$folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / <a href=\"../out/out.ViewDocument.php?documentid=".$documentid."\">".$document->getName()."</a>";
if ($document->getAccessMode($user) < M_READ) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
// delete notification
if ($action == "delnotify"){
if ($userid) {
if ($action == "delnotify") {
if ($userid > 0) {
$obj = $dms->getUser($userid);
$res = $document->removeNotify($userid, true);
} elseif (isset($groupid)) {
} elseif ($groupid > 0) {
$obj = $dms->getGroup($groupid);
$res = $document->removeNotify($groupid, false);
}
@ -137,7 +139,7 @@ else if ($action == "addnotify") {
break;
}
}
if ($groupid != -1) {
if ($groupid > 0) {
$res = $document->addNotify($groupid, false);
switch ($res) {
case -1:

View File

@ -75,27 +75,55 @@ foreach($version->getAttributes() as $ai=>$aa)
$attributes = $_POST["attributes"];
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
break;
}
if(!$attrdef->validate($attribute, $version, false)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$version->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if($attribute) {
switch($attrdef->getType()) {
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));
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, $version, false)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$version->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} elseif(isset($oldattributes[$attrdefid])) {
if(!$version->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("error_occured"));
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} elseif(isset($oldattributes[$attrdefid])) {
if(!$version->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("error_occured"));
}
}
}

View File

@ -53,19 +53,24 @@ if (isset($_POST["userid"]) && (!is_numeric($_POST["userid"]) || $_POST["userid"
}
$userid = isset($_POST["userid"]) ? $_POST["userid"] : -1;
if ($userid > 0){
$u=$dms->getUser($userid);
if (($u->getId() != $user->getId()) && !$user->isAdmin())
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
if (isset($_POST["groupid"]) && (!is_numeric($_POST["groupid"]) || $_POST["groupid"]<-1)) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("unknown_group"));
}
$groupid = isset($_POST["groupid"]) ? $_POST["groupid"] : -1;
if (isset($_POST["groupid"])&&$_POST["groupid"]!=-1){
if ($groupid > 0){
$group=$dms->getGroup($groupid);
if (!$group->isMember($user,true) && !$user->isAdmin())
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
$folderPathHTML = getFolderPathHTML($folder, true);
if ($folder->getAccessMode($user) < M_READ) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
@ -74,12 +79,11 @@ if ($folder->getAccessMode($user) < M_READ) {
if ($action == "delnotify") {
if ($userid > 0) {
$res = $folder->removeNotify($userid, true);
$obj = $dms->getUser($userid);
}
elseif ($groupid > 0) {
$res = $folder->removeNotify($groupid, false);
$res = $folder->removeNotify($userid, true);
} elseif ($groupid > 0) {
$obj = $dms->getGroup($groupid);
$res = $folder->removeNotify($groupid, false);
}
switch ($res) {
case -1:
@ -106,7 +110,7 @@ if ($action == "delnotify") {
// Add notification ----------------------------------------------------------
else if ($action == "addnotify") {
if ($userid != -1) {
if ($userid > 0) {
$res = $folder->addNotify($userid, true);
switch ($res) {
case -1:
@ -132,7 +136,7 @@ else if ($action == "addnotify") {
break;
}
}
if ($groupid != -1) {
if ($groupid > 0) {
$res = $folder->addNotify($groupid, false);
switch ($res) {
case -1:

View File

@ -95,28 +95,8 @@ if(!$controller->run()) {
if ($_POST["receiptType"] == "ind" || $_POST["receiptType"] == "grp") {
if($notifier) {
$nl=$document->getNotifyList();
$subject = "receipt_submit_email_subject";
$message = "receipt_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getReceiptStatusText($_POST["receiptStatus"]);
$params['comment'] = strip_tags($_POST['comment']);
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
// if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
// $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
$receiptlog = $latestContent->getReceiptLog();
$notifier->sendSubmittedReceiptMail($latestContent, $user, $receiptlog ? $receiptlog[0] : false);
}
}

View File

@ -93,64 +93,26 @@ $controller->setParam('group', $group);
$controller->setParam('comment', $_POST["comment"]);
$controller->setParam('onevotereject', $settings->_enableRevisionOneVoteReject);
if(!$controller->run()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText($controller->getErrorMsg()));
$err = $controller->getErrorMsg();
if(is_string($err))
$errmsg = getMLText($err);
elseif(is_array($err)) {
$errmsg = getMLText($err[0], $err[1]);
} else {
$errmsg = $err;
}
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText($errmsg));
}
if ($_POST["revisionType"] == "ind" || $_POST["revisionType"] == "grp") {
if($notifier) {
$nl=$document->getNotifyList();
$subject = "revision_submit_email_subject";
$message = "revision_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getRevisionStatusText($_POST["revisionStatus"]);
$params['comment'] = strip_tags($_POST['comment']);
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
// if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
// $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
if($notifier) {
if ($_POST["revisionType"] == "ind" || $_POST["revisionType"] == "grp") {
$revisionlog = $latestContent->getRevisionLog();
$notifier->sendSubmittedRevisionMail($latestContent, $user, $revisionlog ? $revisionlog[0] : false);
}
}
/* Send notification about status change only if status has actually changed */
$newdocstatus = $content->getStatus();
if($olddocstatus['status'] != $newdocstatus['status']) {
// Send notification to subscribers.
if($notifier) {
$nl=$document->getNotifyList();
$subject = "document_status_changed_email_subject";
$message = "document_status_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText($olddocstatus['status']).' → '.getOverallStatusText($newdocstatus['status']);
$params['new_status_code'] = $newdocstatus['status'];
$params['old_status_code'] = $olddocstatus['status'];
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Send mail to owner only if the currently logged in user is not the
* owner and the owner is not already in the list of notifiers.
*/
// if($user->getID() != $document->getOwner()->getID() && false === SeedDMS_Core_DMS::inList($document->getOwner(), $nl['users']))
// $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
/* Send notification about status change only if status has actually changed */
if($controller->oldstatus != $controller->newstatus)
$notifier->sendChangedDocumentStatusMail($latestContent, $user, $controller->oldstatus);
}
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=revision");

View File

@ -140,20 +140,7 @@ foreach ($pIndRev as $p) {
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "receipt_request_email_subject";
$message = "receipt_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['recipient'] = $accessIndex["i"][$p]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $accessIndex["i"][$p], $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
$notifier->sendAddReceiptMail($content, $user, $accessIndex["i"][$p]);
}
}
break;
@ -187,20 +174,7 @@ if (count($receiptIndex["i"]) > 0) {
// Send an email notification to the recipients.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "receipt_deletion_email_subject";
$message = "receipt_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['recipient'] = $accessIndex["i"][$rx]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $accessIndex["i"][$rx], $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
$notifier->sendDeleteReceiptMail($content, $user, $accessIndex["i"][$rx]);
}
}
break;
@ -247,20 +221,7 @@ foreach ($pGrpRev as $p) {
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "receipt_request_email_subject";
$message = "receipt_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['recipient'] = $accessIndex["g"][$p]->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $accessIndex["g"][$p], $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
$notifier->sendAddReceiptMail($content, $user, $accessIndex["g"][$p]);
}
}
break;
@ -290,20 +251,7 @@ if (count($receiptIndex["g"]) > 0) {
// Send an email notification to the recipients group.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "receipt_deletion_email_subject";
$message = "receipt_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['recipient'] = $accessIndex["g"][$rx]->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $accessIndex["g"][$rx], $subject, $message, $params, SeedDMS_NotificationService::RECV_RECIPIENT);
$notifier->sendDeleteReceiptMail($content, $user, $accessIndex["g"][$rx]);
}
}
break;

View File

@ -127,20 +127,7 @@ foreach ($pIndRev as $p) {
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "revision_request_email_subject";
$message = "revision_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["i"][$p]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $accessIndex["i"][$p], $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
$notifier->sendAddRevisionMail($content, $user, $accessIndex["i"][$p]);
}
}
break;
@ -186,20 +173,7 @@ if (count($revisionIndex["i"]) > 0) {
// Send an email notification to the recipients.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "revision_deletion_email_subject";
$message = "revision_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["i"][$rx]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $accessIndex["i"][$rx], $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
$notifier->sendDeleteRevisionMail($content, $user, $accessIndex["i"][$rx]);
}
}
break;
@ -234,20 +208,7 @@ foreach ($pGrpRev as $p) {
// Send an email notification to the new recipient.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "revision_request_email_subject";
$message = "revision_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["g"][$p]->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $accessIndex["g"][$p], $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
$notifier->sendAddRevisionMail($content, $user, $accessIndex["g"][$p]);
}
}
break;
@ -289,20 +250,7 @@ if (count($revisionIndex["g"]) > 0) {
// Send an email notification to the recipients group.
if($settings->_enableNotificationAppRev) {
if ($notifier) {
$subject = "revision_deletion_email_subject";
$message = "revision_deletion_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->getVersion();
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["g"][$rx]->getName();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $accessIndex["g"][$rx], $subject, $message, $params, SeedDMS_NotificationService::RECV_REVISOR);
$notifier->sendDeleteRevisionMail($content, $user, $accessIndex["g"][$rx]);
}
}
break;

View File

@ -198,6 +198,7 @@ if ($action == "saveSettings")
setBoolValue("enableGuestLogin");
setBoolValue("enableGuestAutoLogin");
setBoolValue("enable2FactorAuthentication");
setBoolValue("enableLoginByEmail");
setBoolValue("restricted");
setBoolValue("enableUserImage");
setBoolValue("disableSelfEdit");
@ -260,6 +261,12 @@ if ($action == "saveSettings")
setBoolValue("enableOwnerRevApp");
setBoolValue("enableSelfRevApp");
setBoolValue("enableSelfReceipt");
setBoolValue("addManagerAsReviewer");
setBoolValue("addManagerAsApprover");
setArrayValue("globalReviewer");
setArrayValue("globalApprover");
setArrayValue("globalGroupReviewer");
setArrayValue("globalGroupApprover");
setBoolValue("enableUpdateRevApp");
setBoolValue("enableRemoveRevApp");
setBoolValue("enableAdminReceipt");

View File

@ -278,13 +278,13 @@ default:
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers($folder, $user);
$mreviewers = getMandatoryReviewers($folder, $document, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
$mapprovers = getMandatoryApprovers($folder, $document, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
@ -333,7 +333,7 @@ default:
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
/* Do not add the uploader itself and approvers */
/* Do not add the uploader itself as recipient */
if(!$settings->_enableFilterReceipt || ($member->getID() != $user->getID() && !in_array($member->getID(), $reviewers['i'])))
if(!in_array($member->getID(), $recipients["i"]))
$recipients["i"][] = $member->getID();

View File

@ -74,6 +74,7 @@ if($view) {
$view->setParam('enableadminrevapp', $settings->_enableAdminRevApp);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('enablehiddenrevapp', $settings->_enableHiddenRevApp);
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enableselfreceipt', $settings->_enableSelfReceipt);
$view->setParam('dropfolderdir', $settings->_dropFolderDir);

View File

@ -55,6 +55,7 @@ if($view) {
$view->setParam('folder', $folder);
$view->setParam('document', $document);
$view->setParam('sortusersinlist', $settings->_sortUsersInList);
$view->setParam('enableusersview', $settings->_enableUsersView);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;

View File

@ -46,11 +46,28 @@ if (isset($_GET["orderdir"]) && strlen($_GET["orderdir"])==1 ) {
$orderdir=$_GET["orderdir"];
}
$days = null;
$startts = null;
$endts = null;
if(isset($_GET['days']) && is_numeric($_GET['days'])) {
$days = (int) $_GET['days'];
} else {
if(isset($_GET['startdate'])) {
$startts = makeTsFromDate($_GET['startdate']);
}
if(isset($_GET['enddate'])) {
$endts = makeTsFromDate($_GET['enddate']);
}
}
if($view) {
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('showtree', showtree());
$view->setParam('orderby', $orderby);
$view->setParam('orderdir', $orderdir);
$view->setParam('days', $days);
$view->setParam('startts', $startts);
$view->setParam('endts', $endts);
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout);

View File

@ -27,6 +27,7 @@ require_once("inc/inc.Init.php");
require_once("inc/inc.Extension.php");
require_once("inc/inc.DBInit.php");
require_once("inc/inc.ClassUI.php");
require_once("inc/inc.ClassAccessOperation.php");
require_once("inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
@ -36,6 +37,7 @@ $accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!isset($_GET["folderid"]) || !is_numeric($_GET["folderid"]) || intval($_GET["folderid"])<1) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
}
$folder = $dms->getFolder($_GET["folderid"]);
if (!is_object($folder)) {
@ -46,16 +48,15 @@ if ($folder->getAccessMode($user) < M_READ) {
UI::exitError(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))),getMLText("access_denied"));
}
$allUsers = $dms->getAllUsers($settings->_sortUsersInList);
$allGroups = $dms->getAllGroups();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings);
if($view) {
$view->setParam('showtree', showtree());
$view->setParam('folder', $folder);
$view->setParam('allusers', $allUsers);
$view->setParam('allgroups', $allGroups);
$view->setParam('accessobject', $accessop);
$view->setParam('enableusersview', $settings->_enableUsersView);
$view->setParam('sortusersinlist', $settings->_sortUsersInList);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -60,6 +60,7 @@ if($view) {
$view->setParam('enablelanguageselector', $settings->_enableLanguageSelector);
$view->setParam('enablethemeselector', $settings->_enableThemeSelector);
$view->setParam('enable2factauth', $settings->_enable2FactorAuthentication);
$view->setParam('defaultlanguage', $settings->_language);
$view($_GET);
exit;
}

View File

@ -112,9 +112,10 @@ foreach(array('review', 'approval', 'receipt', 'revision') as $process) {
}
}
}
$docsinrevision = array();
$docsinrevisionnoaccess = array();
$docsinrevisiondisabled = array();
$docsmissingrevsiondate = array();
if(!isset($_GET['action']) || $_GET['action'] == 'listDocsWithMissingRevisionDate') {
if(!isset($_GET['action']) || $_GET['action'] == 'listDocsWithMissingRevisionDate' || $_GET['action'] == 'listDocsInRevisionNoAccess' || $_GET['action'] == 'listDocsInRevisionDisabled') {
$tmprevs = $dms->getDocumentsInRevision();
foreach($tmprevs as $rev) {
if($doc = $dms->getDocument($rev['documentID'])) {
@ -133,8 +134,10 @@ foreach($tmprevs as $rev) {
/* Caution: $content->getAccessMode($ruser) doesn't work as it uses the role
* restrictions of the currently logged in user
*/
if($mode < M_READ || $cmode < M_READ || $isdisabled)
$docsinrevision[] = $doc;
if($mode < M_READ || $cmode < M_READ)
$docsinrevisionnoaccess[$doc->getId()] = $doc;
if($isdisabled)
$docsinrevisiondisabled[$doc->getId()] = $doc;
/* If a document has a sleeping revisor then it must have a
* revision date, otherwise the revision will never be started.
@ -147,8 +150,9 @@ foreach($tmprevs as $rev) {
}
}
$docsinreception = array();
if(!isset($_GET['action']) || $_GET['action'] == 'listDocsInReceptionNoAccess') {
$docsinreceptionnoaccess = array();
$docsinreceptiondisabled = array();
if(!isset($_GET['action']) || $_GET['action'] == 'listDocsInReceptionNoAccess' || $_GET['action'] == 'listDocsInReceptionDisabled') {
$tmprevs = $dms->getDocumentsInReception();
foreach($tmprevs as $rev) {
if($doc = $dms->getDocument($rev['documentID'])) {
@ -167,8 +171,14 @@ foreach($tmprevs as $rev) {
/* Caution: $content->getAccessMode($ruser) doesn't work as it uses the role
* restrictions of the currently logged in user
*/
if($mode < M_READ || $cmode < M_READ || $isdisabled)
$docsinreception[] = $doc;
/* A document can appear several times in the list if there are more than
* 1 user without access. Using the document id as an index will create a
* unique list of documents.
*/
if($mode < M_READ || $cmode < M_READ)
$docsinreceptionnoaccess[$doc->getId()] = $doc;
if($isdisabled)
$docsinreceptiondisabled[$doc->getId()] = $doc;
}
}
}
@ -246,9 +256,11 @@ if($view) {
$view->setParam('wrongfiletypeversions', $wrongfiletypeversions);
$view->setParam('duplicateversions', $duplicateversions);
$view->setParam('duplicatesequences', $duplicatesequences);
$view->setParam('docsinrevision', $docsinrevision);
$view->setParam('docsinrevisionnoaccess', $docsinrevisionnoaccess);
$view->setParam('docsinrevisiondisabled', $docsinrevisiondisabled);
$view->setParam('docsmissingrevsiondate', $docsmissingrevsiondate);
$view->setParam('docsinreception', $docsinreception);
$view->setParam('docsinreceptionnoaccess', $docsinreceptionnoaccess);
$view->setParam('docsinreceptiondisabled', $docsinreceptiondisabled);
$view->setParam('processwithoutusergroup', $processwithoutusergroup);
$view->setParam('unlink', $unlink);
$view->setParam('setfilesize', $setfilesize);

View File

@ -72,6 +72,7 @@ if($view) {
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->setParam('convertToPdf', $settings->_convertToPdf);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop);
$view($_GET);

View File

@ -728,13 +728,13 @@ class RestapiController { /* {{{ */
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
// add mandatory reviewers/approvers
if($settings->_workflowMode == 'traditional') {
$mreviewers = getMandatoryReviewers($mfolder, $userobj);
$mreviewers = getMandatoryReviewers($mfolder, null, $userobj);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($mfolder, $userobj);
$mapprovers = getMandatoryApprovers($mfolder, null, $userobj);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])

View File

@ -38,6 +38,7 @@
this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false
this.timeout = null
this.listen()
}
@ -156,10 +157,13 @@
, next = active.next()
if (!next.length) {
next = $(this.$menu.find('li')[0])
next = $(this.$menu.find(this.options.itemtag)[0])
}
next.addClass('active')
var index = this.$menu.children().index(next)
var r = this.$menu.height()/next.height()-1;
this.$menu.scrollTop(this.$menu.scrollTop()+next.offset().top-50-index*r)
}
, prev: function (event) {
@ -167,10 +171,13 @@
, prev = active.prev()
if (!prev.length) {
prev = this.$menu.find('li').last()
prev = this.$menu.find(this.options.itemtag).last()
}
prev.addClass('active')
var index = this.$menu.children().index(prev)
var r = this.$menu.height()/prev.height()-1;
this.$menu.scrollTop(this.$menu.scrollTop()+prev.offset().top-50-index*r)
}
, listen: function () {
@ -186,8 +193,8 @@
this.$menu
.on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
.on('mouseenter', this.options.itemtag, $.proxy(this.mouseenter, this))
.on('mouseleave', this.options.itemtag, $.proxy(this.mouseleave, this))
}
, eventSupported: function(eventName) {
@ -254,7 +261,11 @@
break
default:
this.lookup()
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
this.lookup()
}, 1000);
}
e.stopPropagation()
@ -311,6 +322,7 @@
, items: 8
, menu: '<ul class="typeahead dropdown-menu"></ul>'
, item: '<li><a href="#"></a></li>'
, itemtag: 'li'
, minLength: 1
}

View File

@ -256,7 +256,7 @@ console.log(params);
}
}
if(!$nodocumentformfields || !in_array('sequence', $nodocumentformfields)) {
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getDocuments('s')).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder, 'd').($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
} else {
$minmax = $folder->getDocumentsMinMax();
if($this->params['defaultposition'] == 'start') {
@ -514,33 +514,30 @@ console.log(params);
}
if($settings->_initialDocumentStatus == S_RELEASED)
$this->warningMsg(getMLText("add_doc_workflow_warning"));
$this->contentContainerEnd();
} elseif($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
$this->contentContainerEnd();
if($workflowmode == 'traditional') {
$this->contentSubHeading(getMLText("assign_reviewers"));
$this->contentContainerStart();
$mreviewers = getMandatoryReviewers($folder, null, $user);
/* List all mandatory reviewers */
$res=$user->getMandatoryReviewers();
$tmp = array();
if($res) {
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
foreach ($mreviewers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
$options = array();
foreach ($docAccess["users"] as $usr) {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mreviewers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_reviewer')));
$options[] = $option;
}
$this->formField(
@ -557,17 +554,15 @@ console.log(params);
);
/* Check for mandatory reviewer without access */
foreach($res as $r) {
if($r['reviewerUserID']) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['reviewerUserID']==$usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['reviewerUserID']);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
foreach($mreviewers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
@ -590,22 +585,15 @@ console.log(params);
/* List all mandatory groups of reviewers */
$tmp = array();
if($res) {
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
foreach ($mreviewers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['reviewerGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($grp->getId(), $mreviewers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_reviewer')));
$options[] = $option;
}
$this->formField(
@ -621,17 +609,15 @@ console.log(params);
array('field_wrap'=>array('', ($tmp ? '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp).'</div>' : '')))
);
/* Check for mandatory reviewer group without access */
foreach($res as $r) {
if ($r['reviewerGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['reviewerGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mreviewers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();
@ -639,28 +625,24 @@ console.log(params);
$this->contentSubHeading(getMLText("assign_approvers"));
$this->contentContainerStart();
$res=$user->getMandatoryApprovers();
$mapprovers = getMandatoryApprovers($folder, null, $user);
/* List all mandatory approvers */
$tmp = array();
if($res) {
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
foreach ($mapprovers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
$options = array();
foreach ($docAccess["users"] as $usr) {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['approverUserID']==$usr->getID()) $mandatory=true;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mapprovers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_approver')));
$options[] = $option;
}
$this->formField(
@ -677,17 +659,15 @@ console.log(params);
);
/* Check for mandatory approvers without access */
foreach($res as $r) {
if($r['approverUserID']) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['approverUserID']==$usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['approverUserID']);
$this->warningMsg(getMLText("mandatory_approver_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
foreach($mapprovers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_approver_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
@ -710,24 +690,16 @@ console.log(params);
/* List all mandatory groups of approvers */
$tmp = array();
if($res) {
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
foreach ($mapprovers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['approverGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mapprovers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_approver')));
$options[] = $option;
}
$this->formField(
@ -744,25 +716,23 @@ console.log(params);
);
/* Check for mandatory approver groups without access */
foreach($res as $r) {
if ($r['approverGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['approverGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['approverGroupID']);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mapprovers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();
$this->warningMsg(getMLText("add_doc_reviewer_approver_warning"));
} else {
}
if($enablereceiptworkflow) {
$this->contentContainerEnd();
$this->contentSubHeading(getMLText("assign_recipients"));
$this->contentContainerStart();
$options = array();
@ -817,9 +787,9 @@ console.log(params);
)
);
$this->contentContainerEnd();
}
$this->contentContainerEnd();
$this->columnEnd();
$this->rowEnd();
$this->formSubmit("<i class=\"fa fa-save\"></i> ".getMLText('add_document'));

View File

@ -98,7 +98,7 @@ $(document).ready( function() {
)
);
if(!$nofolderformfields || !in_array('sequence', $nofolderformfields)) {
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getSubFolders('s')).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder, 'f').($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
} else {
$minmax = $folder->getFoldersMinMax();
if($this->params['defaultposition'] == 'start') {

View File

@ -93,14 +93,26 @@ $(document).ready( function() {
$content .= "</tr></thead>\n<tbody>\n";
$separator = $selattrdef->getValueSetSeparator();
foreach($res['frequencies'][$type] as $entry) {
$value = $selattrdef->parseValue($entry['value']);
if(is_array($entry['value'])) {
$values = $entry['value'];
} else {
$values = [$entry['value']];
}
$value = [];
foreach($values as $v) {
if(is_object($v))
$value[] = $v->getId();
else
$value[] = $v;
}
// $value = $selattrdef->parseValue($entry['value']);
$content .= "<tr>";
$content .= "<td>".htmlspecialchars(implode('<span style="color: #aaa;">'.($separator ? ' '.$separator.' ' : ' ; ').'</span>', $value))."</td>";
$content .= "<td><a href=\"../out/out.Search.php?fullsearch=0&resultmode=".($type == 'folder' ? 2 : ($type == 'document' ? 1 : 3))."&";
if($selattrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date)
$content .= "attributes[".$selattrdef->getID()."][from]=".urlencode($entry['value'])."&attributes[".$selattrdef->getID()."][to]=".urlencode($entry['value']);
else
$content .= "attributes[".$selattrdef->getID()."]=".urlencode($entry['value']);
$content .= "attributes[".$selattrdef->getID()."]=".urlencode($value[0]);
$content .= "\">".urlencode($entry['c'])."</a></td>";
$content .= "<td>";
/* various checks, if the value is valid */
@ -142,10 +154,14 @@ $(document).ready( function() {
print $this->folderListHeader();
print "<tbody>\n";
foreach($res['folders'] as $subFolder) {
echo $this->folderListRow($subFolder);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($subFolder);
echo $this->folderListRow($subFolder, false, $extracontent);
}
foreach($res['docs'] as $document) {
echo $this->documentListRow($document, $previewer);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, false, 0, $extracontent);
}
echo "</tbody>\n</table>\n";
@ -161,7 +177,9 @@ $(document).ready( function() {
print "</tr>\n</thead>\n<tbody>\n";
foreach($res['contents'] as $content) {
$doc = $content->getDocument();
echo $this->documentListRow($doc, $previewer);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($doc);
echo $this->documentListRow($doc, $previewer, false, 0, $extracontent);
}
print "</tbody></table>";
}

View File

@ -796,7 +796,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessobject->check_view_access('FolderAccess'))
$menuitems['edit_folder_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access'));
}
if ($accessobject->check_controller_access('FolderNotify'))
if ($accessobject->check_view_access('FolderNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify'));
if ($accessMode == M_ALL) {
$menuitems['edit_folder_attrdefgrp'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_attrdefgrp'));
@ -880,7 +880,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
}
if ($accessMode >= M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
$menuitems['edit_document_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_document_notify'));
}
if($enableClipboard) {
$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"));
@ -1334,9 +1334,29 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
case 'input':
default:
switch($value['type']) {
default:
if(!empty($value['type']) && $value['type'] == 'checkbox' && isset($value['default']) && !empty($value['name']))
case 'checkbox':
if(isset($value['default']) && !empty($value['name']))
echo '<input type="hidden" name="'.$value['name'].'" value="'.$value['default'].'" />';
echo '<label class="checkbox"><input'.
(!empty($value['type']) ? ' type="'.$value['type'].'"' : '').
(!empty($value['id']) ? ' id="'.$value['id'].'"' : '').
(!empty($value['name']) ? ' name="'.$value['name'].'"' : '').
(!empty($value['class']) ? ' class="'.$value['class'].'"' : '').
((isset($value['value']) && is_string($value['value'])) || !empty($value['value']) ? ' value="'.$value['value'].'"' : '').
(!empty($value['placeholder']) ? ' placeholder="'.$value['placeholder'].'"' : '').
(!empty($value['autocomplete']) ? ' autocomplete="'.$value['autocomplete'].'"' : '').
(isset($value['min']) ? ' min="'.$value['min'].'"' : '').
(!empty($value['checked']) ? ' checked' : '').
(!empty($value['required']) ? ' required="required"' : '');
if(!empty($value['attributes']) && is_array($value['attributes']))
foreach($value['attributes'] as $a)
echo ' '.$a[0].'="'.$a[1].'"';
echo "/>";
if(!empty($value['label']))
echo $value['label'];
echo "</label>";
break;
default:
if(!empty($value['addon']))
echo "<span class=\"input-append\">";
echo '<input'.
@ -1725,17 +1745,43 @@ $(document).ready(function() {
print "</select>";
} /* }}} */
function printSequenceChooser($objArr, $keepID = -1) { /* {{{ */
echo $this->getSequenceChooser($objArr, $keepID);
function printSequenceChooser($parent, $type, $keepID = -1) { /* {{{ */
echo $this->getSequenceChooser($parent, $type, $keepID);
} /* }}} */
function getSequenceChooser($objArr, $keepID = -1) { /* {{{ */
if (count($objArr) > 0) {
$max = $objArr[count($objArr)-1]->getSequence() + 1;
$min = $objArr[0]->getSequence() - 1;
/**
* Return html code for sequence chooser
*
* This method will return the html code of the ѕelect menu for setting
* the ѕequence number of a document or folder. The select menu will contain
* a list of all siblings to select to positon relative to a sibling.
* For performance reasons the select menu will not contain any siblings
* if the number of siblings is greater than 50.
*
* @param $parent object parent folder of new or updated document/folder
* @param $type string type of new object 'f'=folder, 'd'=document
* @param $keepID integer id of current object
*/
function getSequenceChooser($parent, $type, $keepID = -1) { /* {{{ */
$objArr = [];
if($type == 'd') {
if(($c = $parent->hasDocuments()) < 50)
$objArr = $parent->getDocuments('s');
$minmax = $parent->getDocumentsMinMax();
} elseif($type = 'f') {
if(($c = $parent->hasSubFolders()) < 50)
$objArr = $parent->getSubFolders('s');
$minmax = $parent->getFoldersMinMax();
} else
return '';
if ($objArr) {
$min = $minmax['min']-1.0;
$max = $minmax['max']+1.0;
}
else {
$max = 1.0;
$min = (float) $minmax['min'];
$max = $minmax['max']+1.0;
}
$content = "<select name=\"sequence\">\n";
if ($keepID != -1) {
@ -1743,7 +1789,7 @@ $(document).ready(function() {
}
if($this->params['defaultposition'] != 'start')
$content .= " <option value=\"".$max."\">" . getMLText("seq_end");
if (count($objArr) > 0) {
if ($c > 0) {
$content .= " <option value=\"".$min."\">" . getMLText("seq_start");
}
if($this->params['defaultposition'] == 'start')
@ -1833,7 +1879,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
$formname = "targetid";
$formid = md5($formname.$form);
$content = '';
$content .= "<input type=\"hidden\" id=\"".$formid."\" name=\"".$formname."\" value=\"". (($default) ? $default->getID() : "") ."\" data-target-highlight=\"choosefoldersearch".$formid."\">";
$content .= "<input type=\"hidden\" id=\"".$formid."\" name=\"".$formname."\" value=\"". ($default ? $default->getID() : "") ."\" data-target-highlight=\"choosefoldersearch".$formid."\">";
$content .= "<div class=\"input-append\">\n";
$content .= "<input type=\"text\" id=\"choosefoldersearch".$formid."\" data-target=\"".$formid."\" data-provide=\"typeahead\" name=\"targetname".$formid."\" value=\"". (($default) ? htmlspecialchars($default->getName()) : "") ."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" target=\"".$formid."\"".($default ? ' title="'.htmlspecialchars($default->getFolderPathPlain()).'"' : '')."/>";
$content .= "<button type=\"button\" class=\"btn\" id=\"clearfolder".$formid."\" data-target=\"".$formid."\"><i class=\"fa fa-remove\"></i></button>";
@ -1986,26 +2032,23 @@ $(document).ready(function() {
case SeedDMS_Core_AttributeDefinition::type_folder:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
if($targetfolder = $dms->getFolder(intval($attr)))
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
foreach($attrs as $targetfolder) {
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
}
return implode('<br />', $tmp);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
if($targetdoc = $dms->getDocument(intval($attr)))
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
foreach($attrs as $targetdoc) {
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
}
return implode('<br />', $tmp);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
$curuser = $dms->getUser((int) $attr);
foreach($attrs as $curuser) {
$tmp[] = htmlspecialchars($curuser->getFullname()." (".$curuser->getLogin().")");
}
return implode('<br />', $tmp);
@ -2013,8 +2056,7 @@ $(document).ready(function() {
case SeedDMS_Core_AttributeDefinition::type_group:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
$curgroup = $dms->getGroup((int) $attr);
foreach($attrs as $curgroup) {
$tmp[] = htmlspecialchars($curgroup->getName());
}
return implode('<br />', $tmp);
@ -2045,7 +2087,7 @@ $(document).ready(function() {
case SeedDMS_Core_AttributeDefinition::type_boolean:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValue() : $attribute) : '';
$content .= "<input type=\"hidden\" name=\"".$attr_name."\" value=\"\" />";
$content .= "<input type=\"checkbox\" id=\"".$attr_id."\" name=\"".$attr_name."\" value=\"1\" ".($objvalue ? 'checked' : '')." />";
$content .= "<label class=\"checkbox\"><input type=\"checkbox\" id=\"".$attr_id."\" name=\"".$attr_name."\" value=\"1\" ".($objvalue ? 'checked' : '')." /></label>";
break;
case SeedDMS_Core_AttributeDefinition::type_date:
$objvalue = $attribute ? getReadableDate((is_object($attribute) ? $attribute->getValue() : $attribute)) : '';
@ -2064,23 +2106,18 @@ $(document).ready(function() {
$content .= "<input type=\"text\" id=\"".$attr_id."\" name=\"".$attr_name."\" value=\"".htmlspecialchars($objvalue)."\"".((!$norequire && $attrdef->getMinValues() > 0) ? ' required="required"' : '')." data-rule-number=\"true\"/>";
break; */
case SeedDMS_Core_AttributeDefinition::type_folder:
$objvalue = $attribute ? (is_object($attribute) ? (int) $attribute->getValue() : (int) $attribute) : 0;
if($objvalue)
$target = $dms->getFolder($objvalue);
else
$target = null;
$target = $attribute ? $attribute->getValue() : null;
$content .= $this->getFolderChooserHtml("attr".$attrdef->getId(), M_READWRITE, -1, $target, $attr_name, false);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$objvalue = $attribute ? (is_object($attribute) ? (int) $attribute->getValue() : (int) $attribute) : 0;
if($objvalue)
$target = $dms->getDocument($objvalue);
else
$target = null;
$target = $attribute ? $attribute->getValue() : null;
$content .= $this->getDocumentChooserHtml("attr".$attrdef->getId(), M_READ, -1, $target, $attr_name);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValueAsArray() : (is_string($attribute) ? [$attribute] : $attribute)) : array();
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = [];
foreach($target as $t)
$objvalue[] = $t->getId();
$users = $dms->getAllUsers();
if($users) {
$allowempty = $attrdef->getMinValues() == 0;
@ -2100,7 +2137,10 @@ $(document).ready(function() {
}
break;
case SeedDMS_Core_AttributeDefinition::type_group:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValueAsArray() : (is_string($attribute) ? [$attribute] : $attribute)) : array();
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = [];
foreach($target as $t)
$objvalue[] = $t->getId();
$groups = $dms->getAllGroups();
if($groups) {
$allowempty = $attrdef->getMinValues() == 0;
@ -3158,7 +3198,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
*/
function documentListRowStart($document, $class='') { /* {{{ */
$docID = $document->getID();
return "<tr id=\"table-row-document-".$docID."\" data-target-id=\"".$docID."\" class=\"table-row-document droptarget ".($class ? ' '.$class : '')."\" data-droptarget=\"document_".$docID."\" rel=\"document_".$docID."\" formtoken=\"".createFormKey('')."\" draggable=\"true\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\">";
return "<tr id=\"table-row-document-".$docID."\" data-target-id=\"".$docID."\" class=\"table-row-document droptarget ".($class ? ' '.$class : '')."\" data-droptarget=\"document_".$docID."\" rel=\"document_".$docID."\" formtoken=\"".createFormKey('')."\" data-uploadformtoken=\"".createFormKey('')."\" draggable=\"true\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\">";
} /* }}} */
function documentListRowEnd($document) { /* {{{ */

View File

@ -54,7 +54,14 @@ class SeedDMS_View_Calendar extends SeedDMS_Theme_Style {
else
$previewer->setConverters($previewconverters);
$document->verifyLastestContentExpriry();
echo $this->documentListRow($document, $previewer);
$txt = $this->callHook('documentListItem', $document, $previewer, false, 'calendar');
if(is_string($txt))
echo $txt;
else {
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, 0, false, $extracontent);
}
echo "</tbody>\n</table>\n";
}
if($event) {

View File

@ -266,7 +266,7 @@ $(document).ready( function() {
break;
case 'sizeperuser':
foreach($data as $item) {
echo "<tr><td>".htmlspecialchars($item['key'])."</td><td>".SeedDMS_Core_File::format_filesize($item['total'])."</td></tr>";
echo "<tr><td>".htmlspecialchars($item['key'])."</td><td>".SeedDMS_Core_File::format_filesize((int) $item['total'])."</td></tr>";
$total += $item['total'];
}
echo "<tr><th></th><th>".SeedDMS_Core_File::format_filesize($total)."<th></tr>";

View File

@ -69,6 +69,7 @@ $(document).ready(function() {
$enableadminrevapp = $this->params['enableadminrevapp'];
$enableownerrevapp = $this->params['enableownerrevapp'];
$enableselfrevapp = $this->params['enableselfrevapp'];
$enablehiddenrevapp = $this->params['enablehiddenrevapp'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enableselfreceipt = $this->params['enableselfreceipt'];
$workflowmode = $this->params['workflowmode'];
@ -203,18 +204,18 @@ $(document).ready(function() {
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all));
if($attrdefs) {
foreach($attrdefs as $attrdef) {
$arr = $this->callHook('editDocumentContentAttribute', $document, $attrdef);
$arr = $this->callHook('editDocumentContentAttribute', $latestContent, $attrdef);
if(is_array($arr)) {
if($arr)
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
} elseif(is_string($arr)) {
echo $arr;
} else {
$this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $document->getAttribute($attrdef), 'attributes_version'));
$this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $latestContent->getAttribute($attrdef), 'attributes_version'));
}
}
}
$arrs = $this->callHook('addDocumentContentAttributes', $document);
$arrs = $this->callHook('addDocumentContentAttributes', $latestContent);
if(is_array($arrs)) {
foreach($arrs as $arr) {
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
@ -272,28 +273,27 @@ $(document).ready(function() {
$this->warningMsg(getMLText("add_doc_workflow_warning"));
} elseif($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
if($workflowmode == 'traditional') {
$this->contentContainerEnd();
$this->contentSubHeading(getMLText("assign_reviewers"));
$res=$user->getMandatoryReviewers();
$this->contentContainerStart();
$mreviewers = getMandatoryReviewers($folder, $document, $user);
$options = array();
foreach ($docAccess["users"] as $usr) {
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true;
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mreviewers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_reviewer')));
$options[] = $option;
}
$tmp = array();
foreach($reviewStatus as $r) {
if($r['type'] == 0) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['reviewerUserID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mreviewers) {
if(!in_array($r['required'], $mreviewers['i']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -305,20 +305,17 @@ $(document).ready(function() {
$fieldwrap = array('', $this->getSelectPresetButtonHtml("IndReviewers", $tmp));
}
/* List all mandatory reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mreviewers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -336,17 +333,15 @@ $(document).ready(function() {
);
/* Check for mandatory reviewer without access */
foreach($res as $r) {
if($r['reviewerUserID']) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['reviewerUserID']==$usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['reviewerUserID']);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
foreach($mreviewers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
@ -369,24 +364,17 @@ $(document).ready(function() {
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['reviewerGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($grp->getId(), $mreviewers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_reviewer')));
$options[] = $option;
}
$tmp = array();
foreach($reviewStatus as $r) {
if($r['type'] == 1) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['reviewerGroupID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mreviewers) {
if(!in_array($r['required'], $mreviewers['g']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -398,18 +386,18 @@ $(document).ready(function() {
$fieldwrap = array('', $this->getSelectPresetButtonHtml("GrpReviewers", $tmp));
}
/* List all mandatory groups of reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mreviewers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
getMLText("groups"),
array(
@ -425,44 +413,41 @@ $(document).ready(function() {
);
/* Check for mandatory reviewer group without access */
foreach($res as $r) {
if ($r['reviewerGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['reviewerGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mreviewers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();
}
$this->contentSubHeading(getMLText("assign_approvers"));
$options = array();
$res=$user->getMandatoryApprovers();
foreach ($docAccess["users"] as $usr) {
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$this->contentContainerStart();
$mapprovers = getMandatoryApprovers($folder, $document, $user);
$options = array();
foreach ($docAccess["users"] as $usr) {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['approverUserID']==$usr->getID()) $mandatory=true;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mapprovers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_approver')));
$options[] = $option;
}
$tmp = array();
foreach($approvalStatus as $r) {
if($r['type'] == 0) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['approverUserID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mapprovers) {
if(!in_array($r['required'], $mapprovers['i']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -473,18 +458,18 @@ $(document).ready(function() {
if($tmp) {
$fieldwrap = array('', $this->getSelectPresetButtonHtml("IndApprovers", $tmp));
}
/* List all mandatory approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
$tmp = array();
foreach ($mapprovers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n";
}
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -502,18 +487,16 @@ $(document).ready(function() {
);
/* Check for mandatory approvers without access */
foreach($res as $r) {
if($r['approverUserID']) {
foreach($mapprovers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['approverUserID']==$usr->getID())
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['approverUserID']);
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_approver_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
}
$options = array();
@ -536,28 +519,18 @@ $(document).ready(function() {
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['approverGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($grp->getId(), $mapprovers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_approver')));
$options[] = $option;
}
$tmp = array();
foreach($approvalStatus as $r) {
if($r['type'] == 1) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['approverGroupID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
$tmp[] = $r['required'];
} else {
if(!in_array($r['required'], $mapprovers['g']))
$tmp[] = $r['required'];
}
} else {
$tmp[] = $r['required'];
}
}
$fieldwrap = array('', '');
@ -565,17 +538,13 @@ $(document).ready(function() {
$fieldwrap = array('', $this->getSelectPresetButtonHtml("GrpApprovers", $tmp));
}
/* List all mandatory groups of approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mapprovers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -593,22 +562,25 @@ $(document).ready(function() {
);
/* Check for mandatory approver groups without access */
foreach($res as $r) {
if ($r['approverGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['approverGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['approverGroupID']);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mapprovers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();
$this->warningMsg(getMLText("add_doc_reviewer_approver_warning"));
} else {
$this->contentContainerEnd();
}
if($enablereceiptworkflow) {
$this->contentSubHeading(getMLText("assign_recipients"));
$this->contentContainerStart();
$options = array();
foreach ($docAccess["users"] as $usr) {
if (!$enableselfreceipt && $usr->getID()==$user->getID()) continue;
@ -683,8 +655,8 @@ $(document).ready(function() {
array('field_wrap'=>$fieldwrap)
);
$this->contentContainerEnd();
}
$this->contentContainerEnd();
$this->formSubmit(getMLText('checkin_document'));
?>
</form>

View File

@ -47,7 +47,9 @@ class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style {
if(is_string($txt))
echo $txt;
else {
echo $this->documentListRow($document, $previewer);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, false, 0, $extracontent);
}
}

View File

@ -70,6 +70,7 @@ $(document).ready( function() {
$folder = $this->params['folder'];
$document = $this->params['document'];
$sortusersinlist = $this->params['sortusersinlist'];
$enableusersview = $this->params['enableusersview'];
$notifyList = $document->getNotifyList(0, true);
@ -151,10 +152,10 @@ $(document).ready( function() {
} else {
print "<table class=\"table table-condensed table-sm mt-4\">\n";
foreach ($notifyList["users"] as $userNotify) {
print "<tr>";
print "<td><i class=\"fa fa-user\"></i></td>";
print "<td>" . htmlspecialchars($userNotify->getLogin() . " - " . $userNotify->getFullName()) . "</td>";
if ($user->isAdmin() || $user->getID() == $userNotify->getID()) {
if ($user->isAdmin() || /*$enableusersview || */$user->getID() == $userNotify->getID()) {
print "<tr>";
print "<td><i class=\"fa fa-user\"></i></td>";
print "<td>" . htmlspecialchars($userNotify->getLogin() . " - " . $userNotify->getFullName()) . "</td>";
print "<form action=\"../op/op.DocumentNotify.php\" method=\"post\">\n";
echo createHiddenFieldWithKey('documentnotify')."\n";
print "<input type=\"hidden\" name=\"documentid\" value=\"".$document->getID()."\">\n";
@ -164,14 +165,15 @@ $(document).ready( function() {
print "<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button>";
print "</td>";
print "</form>\n";
}else print "<td></td>";
print "</tr>";
print "</tr>";
}
}
foreach ($notifyList["groups"] as $groupNotify) {
print "<tr>";
print "<td><i class=\"fa fa-group\"></i></td>";
print "<td>" . htmlspecialchars($groupNotify->getName()) . "</td>";
if ($user->isAdmin() || $groupNotify->isMember($user,true)) {
/* admins and members of a group may see exiting notifications */
if ($user->isAdmin() || /*$enableusersview || */$groupNotify->isMember($user,false)) {
print "<tr>";
print "<td><i class=\"fa fa-group\"></i></td>";
print "<td>" . htmlspecialchars($groupNotify->getName()) . "</td>";
print "<form action=\"../op/op.DocumentNotify.php\" method=\"post\">\n";
echo createHiddenFieldWithKey('documentnotify')."\n";
print "<input type=\"hidden\" name=\"documentid\" value=\"".$document->getID()."\">\n";
@ -181,8 +183,8 @@ $(document).ready( function() {
print "<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button>";
print "</td>";
print "</form>\n";
}else print "<td></td>";
print "</tr>";
print "</tr>";
}
}
print "</table>\n";
}

View File

@ -202,7 +202,7 @@ $(document).ready( function() {
}
if(!$nodocumentformfields || !in_array('sequence', $nodocumentformfields)) {
if ($folder->getAccessMode($user) > M_READ) {
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getDocuments('s'), $document->getID()).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder, 'd', $document->getID()).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
}
}

View File

@ -109,7 +109,7 @@ $(document).ready(function() {
$parent = ($folder->getID() == $rootfolderid) ? false : $folder->getParent();
if(!$nofolderformfields || !in_array('sequence', $nofolderformfields)) {
if ($parent && $parent->getAccessMode($user) > M_READ) {
$this->formField(getMLText("sequence"), $this->getSequenceChooser($parent->getSubFolders('s'), $folder->getID()).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
$this->formField(getMLText("sequence"), $this->getSequenceChooser($parent, 'f', $folder->getID()).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
}
}

View File

@ -53,6 +53,9 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile'];
$order = $orderby.$orderdir;
$days = $this->params['days'];
$startts = $this->params['startts'];
$endts = $this->params['endts'];
$db = $dms->getDB();
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
@ -64,17 +67,57 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
$this->contentStart();
$this->pageNavigation(getMLText("expired_documents"), "admin_tools");
$this->rowStart();
$this->columnStart(4);
$this->contentHeading(getMLText("expired_documents"));
// $this->contentContainerStart();
?>
<form class="form-horizontal">
<?php
$this->formField(
getMLText("days"),
array(
'element'=>'input',
'type'=>'number',
'name'=>'days',
'id'=>'days',
'value'=>$days
)
);
$this->formField(
getMLText("startdate"),
$this->getDateChooser(getReadableDate($startts), "startdate", $this->params['session']->getLanguage(), '', '')
);
$this->formField(
getMLText("enddate"),
$this->getDateChooser(getReadableDate($endts), "enddate", $this->params['session']->getLanguage(), '', '')
);
$this->formSubmit("<i class=\"fa fa-refresh\"></i> ".getMLText('update'));
?>
</form>
<?php
$this->columnEnd();
$this->columnStart(8);
if($docs = $dms->getDocumentsExpired(-1400, null, $orderby, $orderdir, true)) {
if(is_numeric($days)) {
$docs = $dms->getDocumentsExpired($days, null, $orderby, $orderdir, true);
$this->contentHeading(''.$days);
} else {
$d = [];
if($startts)
$d['start'] = $startts;
if($endts)
$d['end'] = $endts+86400;
$docs = $dms->getDocumentsExpired($d, null, $orderby, $orderdir, true);
$this->contentHeading(getReadableDate($startts)." - ".getReadableDate($endts));
}
if($docs) {
print "<table class=\"table table-condensed\">";
print "<table class=\"table table-condensed table-sm\">";
print "<thead>\n<tr>\n";
print "<th></th>";
print "<th>".getMLText("name");
print " <a class=\"order-btn\" href=\"../out/out.ExpiredDocuments.php?".($order=="na"?"&orderby=n&orderdir=d":"&orderby=n&orderdir=a")."\" \"title=\"".getMLText("sort_by_name")."\">".($order=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($order=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
print " <a class=\"order-btn\" href=\"../out/out.ExpiredDocuments.php?".($order=="ea"?"&orderby=e&orderdir=d":"&orderby=e&orderdir=a")."\" \"title=\"".getMLText("sort_by_expiration_date")."\">".($order=="ea"?' <i class="fa fa-sort-numeric-asc selected"></i>':($order=="ed"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
print " <a class=\"order-btn\" href=\"../out/out.ExpiredDocuments.php?".($order=="na"?"&orderby=n&orderdir=d":"&orderby=n&orderdir=a")."&days=".$days."&startdate=".getReadableDate($startts)."&enddate=".getReadableDate($endts)."\" \"title=\"".getMLText("sort_by_name")."\">".($order=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($order=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
print " <a class=\"order-btn\" href=\"../out/out.ExpiredDocuments.php?".($order=="ea"?"&orderby=e&orderdir=d":"&orderby=e&orderdir=a")."&days=".$days."&startdate=".getReadableDate($startts)."&enddate=".getReadableDate($endts)."\" \"title=\"".getMLText("sort_by_expiration_date")."\">".($order=="ea"?' <i class="fa fa-sort-numeric-asc selected"></i>':($order=="ed"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
print "</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
@ -87,7 +130,8 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Theme_Style {
}
else $this->infoMsg(getMLText("no_docs_expired"));
// $this->contentContainerEnd();
$this->columnEnd();
$this->rowEnd();
$this->contentEnd();
$this->htmlEndPage();

View File

@ -67,9 +67,8 @@ $(document).ready(function() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$allUsers = $this->params['allusers'];
$allGroups = $this->params['allgroups'];
$sortusersinlist = $this->params['sortusersinlist'];
$enableusersview = $this->params['enableusersview'];
$notifyList = $folder->getNotifyList(0, true);
@ -151,10 +150,10 @@ $(document).ready(function() {
} else {
print "<table class=\"table table-condensed table-sm\">\n";
foreach ($notifyList["users"] as $userNotify) {
print "<tr>";
print "<td><i class=\"fa fa-user\"></i></td>";
print "<td>" . htmlspecialchars($userNotify->getLogin() . " - " . $userNotify->getFullName()) . "</td>";
if ($user->isAdmin() || $user->getID() == $userNotify->getID()) {
if ($user->isAdmin() || /*$enableusersview || */$user->getID() == $userNotify->getID()) {
print "<tr>";
print "<td><i class=\"fa fa-user\"></i></td>";
print "<td>" . htmlspecialchars($userNotify->getLogin() . " - " . $userNotify->getFullName()) . "</td>";
print "<form action=\"../op/op.FolderNotify.php\" method=\"post\">\n";
echo createHiddenFieldWithKey('foldernotify')."\n";
print "<input type=\"Hidden\" name=\"folderid\" value=\"".$folder->getID()."\">\n";
@ -164,14 +163,15 @@ $(document).ready(function() {
print "<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button>";
print "</td>";
print "</form>\n";
}else print "<td></td>";
print "</tr>";
print "</tr>";
}
}
foreach ($notifyList["groups"] as $groupNotify) {
print "<tr>";
print "<td><i class=\"fa fa-group\"></i></td>";
print "<td>" . htmlspecialchars($groupNotify->getName()) . "</td>";
if ($user->isAdmin() || $groupNotify->isMember($user,true)) {
/* admins and members of a group may see exiting notifications */
if ($user->isAdmin() || /*$enableusersview || */$groupNotify->isMember($user,false)) {
print "<tr>";
print "<td><i class=\"fa fa-group\"></i></td>";
print "<td>" . htmlspecialchars($groupNotify->getName()) . "</td>";
print "<form action=\"../op/op.FolderNotify.php\" method=\"post\">\n";
echo createHiddenFieldWithKey('foldernotify')."\n";
print "<input type=\"Hidden\" name=\"folderid\" value=\"".$folder->getID()."\">\n";
@ -181,8 +181,8 @@ $(document).ready(function() {
print "<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button>";
print "</td>";
print "</form>\n";
}else print "<td></td>";
print "</tr>";
print "</tr>";
}
}
print "</table>\n";
}

View File

@ -149,6 +149,7 @@ $(document).ready( function() {
function showGroupForm($group) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$allUsers = $this->params['allusers'];
$groups = $this->params['allgroups'];
$sortusersinlist = $this->params['sortusersinlist'];
@ -207,13 +208,22 @@ $(document).ready( function() {
print "<tr>";
print "<td><i class=\"fa fa-user\"></i></td>";
print "<td>" . htmlspecialchars($member->getFullName()) . "</td>";
print "<td>" . htmlspecialchars($member->getFullName()." (".$member->getLogin().")") ."<br>".htmlspecialchars($member->getEmail()). "</td>";
print "<td>" . ($group->isMember($member,true)?getMLText("manager"):"&nbsp;") . "</td>";
print "<td>";
print "<form action=\"../op/op.GroupMgr.php\" method=\"post\" class=\"form-inline\" style=\"display: inline-block; margin-bottom: 0px;\"><input type=\"hidden\" name=\"action\" value=\"rmmember\" /><input type=\"hidden\" name=\"groupid\" value=\"".$group->getID()."\" /><input type=\"hidden\" name=\"userid\" value=\"".$member->getID()."\" />".createHiddenFieldWithKey('rmmember')."<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i><span class=\"d-none d-lg-block\"> ".getMLText("delete")."</span></button></form>";
print "&nbsp;";
print "<form action=\"../op/op.GroupMgr.php\" method=\"post\" class=\"form-inline\" style=\"display: inline-block; margin-bottom: 0px;\"><input type=\"hidden\" name=\"groupid\" value=\"".$group->getID()."\" /><input type=\"hidden\" name=\"action\" value=\"tmanager\" /><input type=\"hidden\" name=\"userid\" value=\"".$member->getID()."\" />".createHiddenFieldWithKey('tmanager')."<button type=\"submit\" class=\"btn btn-secondary btn-mini btn-sm\"><i class=\"fa fa-random\"></i><span class=\"d-none d-lg-block\"> ".getMLText("toggle_manager")."</span></button></form>";
print "</td></tr>";
print "</td>";
echo "<td>";
if($group->isMember($member, true) && $member->isAdmin() && $settings->_addManagerAsReviewer && !$settings->_enableAdminRevApp) {
$this->warningMsg(getMLText("settings_manager_reviewer_is_admin", ['login'=>$member->getLogin()]));
}
if($group->isMember($member, true) && $member->isAdmin() && $settings->_addManagerAsApprover && !$settings->_enableAdminRevApp) {
$this->warningMsg(getMLText("settings_manager_approver_is_admin", ['login'=>$member->getLogin()]));
}
echo "</td>";
print "</tr>";
}
}
?>

View File

@ -79,14 +79,14 @@ $(document).ready( function() {
foreach ($members as $member) {
$memberids[] = $member->getId();
echo "<li>".htmlspecialchars($member->getFullName());
echo "<li>".htmlspecialchars($member->getFullName().", ".$member->getLogin());
if ($member->getEmail()!="")
echo " (<a href=\"mailto:".htmlspecialchars($member->getEmail())."\">".htmlspecialchars($member->getEmail())."</a>)";
foreach($managers as $manager)
if($manager->getId() == $member->getId())
echo ", ".getMLText("manager");
if($ismanager && $member->getId() != $user->getId()) {
echo ' <a href="../op/op.GroupView.php?action=del&groupid='.$group->getId().'&userid='.$member->getId().'" class="btn btn-mini btn-sm"><i class="fa fa-remove"></i> '.getMLText("rm_user").'</a>';
echo ' <a href="../op/op.GroupView.php?action=del&groupid='.$group->getId().'&userid='.$member->getId().'" class="btn btn-danger btn-mini btn-sm"><i class="fa fa-remove"></i> '.getMLText("rm_user").'</a>';
}
echo "</li>";
}

View File

@ -88,6 +88,7 @@ $(document).ready( function() {
$themes = $this->params['themes'];
$msg = $this->params['msg'];
$languages = $this->params['languages'];
$defaultlanguage = $this->params['defaultlanguage'];
$enableLanguageSelector = $this->params['enablelanguageselector'];
$enableThemeSelector = $this->params['enablethemeselector'];
$enable2factauth = $this->params['enable2factauth'];
@ -162,6 +163,8 @@ $(document).ready( function() {
'options'=>$options
)
);
} elseif($defaultlanguage) {
echo "<input type='hidden' name='lang' id='languageselector' value='".htmlspecialchars($defaultlanguage)."'/>";
}
if($enableThemeSelector) {
$options = array();

View File

@ -474,7 +474,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Theme_Style {
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinrevision = $this->params['docsinrevision'];
$docsinrevision = $this->params['docsinrevisionnoaccess'];
$conversionmgr = $this->params['conversionmgr'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
@ -494,6 +494,30 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Theme_Style {
}
} /* }}} */
function listDocsInRevisionDisabled() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinrevision = $this->params['docsinrevisiondisabled'];
$conversionmgr = $this->params['conversionmgr'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
$this->contentHeading(getMLText("docs_in_revision_disabled"));
if($docsinrevision) {
$this->printList($docsinrevision, $previewer);
}
} /* }}} */
function listDocsWithMissingRevisionDate() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -522,7 +546,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Theme_Style {
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinreception = $this->params['docsinreception'];
$docsinreception = $this->params['docsinreceptionnoaccess'];
$conversionmgr = $this->params['conversionmgr'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
@ -535,13 +559,37 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Theme_Style {
else
$previewer->setConverters($previewconverters);
$this->contentHeading(getMLText("docs_in_revision_no_access"));
$this->contentHeading(getMLText("docs_in_recepition_no_access"));
if($docsinreception) {
$this->printList($docsinreception, $previewer, 'listDocsInReceptionNoAccess');
}
} /* }}} */
function listDocsInReceptionDisabled() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinreception = $this->params['docsinreceptiondisabled'];
$conversionmgr = $this->params['conversionmgr'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewConverters'];
$timeout = $this->params['timeout'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
$this->contentHeading(getMLText("docs_in_reception_disabled"));
if($docsinreception) {
$this->printList($docsinreception, $previewer, 'listDocsInReceptionDisabled');
}
} /* }}} */
function listProcessesWithoutUserGroup($process, $ug) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -674,8 +722,10 @@ $(document).ready( function() {
$nochecksumversions = $this->params['nochecksumversions'];
$duplicateversions = $this->params['duplicateversions'];
$duplicatesequences = $this->params['duplicatesequences'];
$docsinrevision = $this->params['docsinrevision'];
$docsinreception = $this->params['docsinreception'];
$docsinrevisionnoaccess = $this->params['docsinrevisionnoaccess'];
$docsinrevisiondisabled = $this->params['docsinrevisiondisabled'];
$docsinreceptionnoaccess = $this->params['docsinreceptionnoaccess'];
$docsinreceptiondisabled = $this->params['docsinreceptiondisabled'];
$processwithoutusergroup = $this->params['processwithoutusergroup'];
$docsmissingrevsiondate = $this->params['docsmissingrevsiondate'];
$wrongfiletypeversions = $this->params['wrongfiletypeversions'];
@ -709,8 +759,10 @@ $(document).ready( function() {
$menuitems = [];
$menuitems[] = array('label'=>getMLText('duplicate_content'), 'badge'=>count($duplicateversions), 'attributes'=>array(array('data-href', "#duplicate_content"), array('data-action', "listDuplicateContent")));
$menuitems[] = array('label'=>getMLText('duplicate_sequences'), 'badge'=>count($duplicatesequences), 'attributes'=>array(array('data-href', "#duplicate_sequences"), array('data-action', "listDuplicateSequence")));
$menuitems[] = array('label'=>getMLText('docs_in_revision_no_access'), 'badge'=>count($docsinrevision), 'attributes'=>array(array('data-href', "#inrevision_no_access"), array('data-action', "listDocsInRevisionNoAccess")));
$menuitems[] = array('label'=>getMLText('docs_in_reception_no_access'), 'badge'=>count($docsinreception), 'attributes'=>array(array('data-href', "#inreception_no_access"), array('data-action', "listDocsInReceptionNoAccess")));
$menuitems[] = array('label'=>getMLText('docs_in_revision_no_access'), 'badge'=>count($docsinrevisionnoaccess), 'attributes'=>array(array('data-href', "#inrevision_no_access"), array('data-action', "listDocsInRevisionNoAccess")));
$menuitems[] = array('label'=>getMLText('docs_in_revision_disabled'), 'badge'=>count($docsinrevisiondisabled), 'attributes'=>array(array('data-href', "#inrevision_disabled"), array('data-action', "listDocsInRevisionDisabled")));
$menuitems[] = array('label'=>getMLText('docs_in_reception_no_access'), 'badge'=>count($docsinreceptionnoaccess), 'attributes'=>array(array('data-href', "#inreception_no_access"), array('data-action', "listDocsInReceptionNoAccess")));
$menuitems[] = array('label'=>getMLText('docs_in_reception_disabled'), 'badge'=>count($docsinreceptiondisabled), 'attributes'=>array(array('data-href', "#inreception_disabled"), array('data-action', "listDocsInReceptionDisabled")));
$menuitems[] = array('label'=>getMLText('docs_with_missing_revision_date'), 'badge'=>count($docsmissingrevsiondate), 'attributes'=>array(array('data-href', "#missing_revision_date"), array('data-action', "listDocsWithMissingRevisionDate")));
foreach(array('review', 'approval', 'receipt', 'revision') as $process) {
foreach(array('user', 'group') as $ug) {

View File

@ -314,7 +314,6 @@ $(document).ready( function() {
$this->rowStart();
$this->columnStart(4);
$this->warningMsg(getMLText("confirm_rm_user_from_processes", array ("username" => htmlspecialchars($rmuser->getFullName()))));
$reviewStatus = $rmuser->getReviewStatus();
$tmpr = array();
@ -491,6 +490,8 @@ $(document).ready( function() {
);
}
if($out) {
$this->warningMsg(getMLText("confirm_rm_user_from_processes", array ("username" => htmlspecialchars($rmuser->getFullName()))));
?>
<form class="form-horizontal" action="../op/op.UsrMgr.php" name="form1" method="post">
@ -530,6 +531,9 @@ $(document).ready( function() {
</form>
<?php
} else {
$this->infoMsg(getMLText("info_rm_user_from_processes_none", array ("username" => htmlspecialchars($rmuser->getFullName()))));
}
$this->columnEnd();
$this->columnStart(8);
echo '<div id="kkkk" class="ajax" data-view="RemoveUserFromProcesses" data-action="printList" data-query="userid='.$rmuser->getId().'"></div>';

View File

@ -50,7 +50,7 @@ class SeedDMS_View_Search extends SeedDMS_Theme_Style {
function js() { /* {{{ */
header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder'));
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder', 'must_drop_one_file','confirm_upload_new_version', 'upload_new_version'));
?>
$(document).ready( function() {
@ -1073,7 +1073,7 @@ $(document).ready(function() {
$option = array($v, getReadableDate($v));
break;
default:
$option = array($v, $v);
$option = array(htmlspecialchars($v), htmlspecialchars($v));
}
if(isset($attributes[$facetname]) && is_array($attributes[$facetname]) && in_array($v, $attributes[$facetname]))
$option[] = true;
@ -1186,9 +1186,9 @@ $(document).ready(function() {
if($oldvalue) {
unset($allparams['attributes'][$facetname]);
$newrequest = Symfony\Component\HttpFoundation\Request::create($request->getBaseUrl(), 'GET', $allparams);
$menuitems[] = array('label'=>'<i class="fa fa-remove"></i> '.$dispname.' = '.implode(', ', $oldvalue), 'link'=>$newrequest->getRequestUri(), 'attributes'=>[['title', 'Click to remove']], '_badge'=>'x');
$menuitems[] = array('label'=>'<i class="fa fa-remove"></i> '.$dispname.' = '.htmlspecialchars(implode(', ', $oldvalue)), 'link'=>$newrequest->getRequestUri(), 'attributes'=>[['title', 'Click to remove']], '_badge'=>'x');
foreach($oldvalue as $ov)
echo '<input type="hidden" name="attributes['.$facetname.'][]" value="'.$ov.'" />';
echo '<input type="hidden" name="attributes['.$facetname.'][]" value="'.htmlspecialchars($ov).'" />';
}
}
}
@ -1244,9 +1244,9 @@ $(document).ready(function() {
if($oldvalue) {
unset($allparams[$facetname]);
$newrequest = Symfony\Component\HttpFoundation\Request::create($request->getBaseUrl(), 'GET', $allparams);
$menuitems[] = array('label'=>'<i class="fa fa-remove"></i> '.getMLText($facetname).' = '.implode(', ', $oldtransval), 'link'=>$newrequest->getRequestUri(), 'attributes'=>[['title', 'Click to remove']], '_badge'=>'x');
$menuitems[] = array('label'=>'<i class="fa fa-remove"></i> '.getMLText($facetname).' = '.htmlspecialchars(implode(', ', $oldtransval)), 'link'=>$newrequest->getRequestUri(), 'attributes'=>[['title', 'Click to remove']], '_badge'=>'x');
foreach($oldvalue as $ok=>$ov)
echo '<input type="hidden" name="'.$facetname.'['.$ok.']" value="'.$ov.'" />';
echo '<input type="hidden" name="'.$facetname.'['.$ok.']" value="'.htmlspecialchars($ov).'" />';
}
}
}
@ -1570,7 +1570,7 @@ $(document).ready(function() {
$attrstr .= $arr;
} else {
$attrdef = $lcattribute->getAttributeDefinition();
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars(implode(', ', $lcattribute->getValueAsArray()))."</td></tr>\n";
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars($lcattribute->getValueAsString())."</td></tr>\n";
// TODO: better use printAttribute()
// $this->printAttribute($lcattribute);
}
@ -1592,7 +1592,7 @@ $(document).ready(function() {
$attrstr .= $arr;
} else {
$attrdef = $docattribute->getAttributeDefinition();
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars(implode(', ', $docattribute->getValueAsArray()))."</td></tr>\n";
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars($docattribute->getValueAsString())."</td></tr>\n";
}
}
$attrstr .= "</table>\n";
@ -1623,7 +1623,7 @@ $(document).ready(function() {
$attrstr .= "<tr><th>".getMLText('name')."</th><th>".getMLText('attribute_value')."</th></tr>";
foreach($folderattributes as $folderattribute) {
$attrdef = $folderattribute->getAttributeDefinition();
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars(implode(', ', $folderattribute->getValueAsArray()))."</td></tr>\n";
$attrstr .= "<tr><td>".htmlspecialchars($attrdef->getName())."</td><td>".htmlspecialchars($folderattribute->getValueAsString())."</td></tr>\n";
}
$attrstr .= "</table>";
}

View File

@ -89,51 +89,48 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
$this->contentSubHeading(getMLText("update_reviewers"));
$this->contentContainerStart();
if($user->getID() != $owner->getID()) {
$res=$owner->getMandatoryReviewers();
if($user->isAdmin())
$res = array();
} else
$res=$user->getMandatoryReviewers();
/*
if($user->getID() != $owner->getID()) {
$res=$owner->getMandatoryReviewers();
if($user->isAdmin())
$res = array();
} else
$res=$user->getMandatoryReviewers();
*/
$mreviewers = getMandatoryReviewers($folder, $document, $user);
$options = [];
foreach ($docAccess["users"] as $usr) {
$mandatory=false;
foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true;
if ($mandatory){
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_reviewer'))));
} elseif (isset($reviewIndex["i"][$usr->getID()])) {
switch ($reviewIndex["i"][$usr->getID()]["status"]) {
case S_LOG_WAITING:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), true);
break;
case S_LOG_USER_REMOVED:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('data-subtitle', getMLText('user_previously_removed_from_reviewers'))));
break;
default:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('disabled', 'disabled')));
break;
$options = [];
foreach ($docAccess["users"] as $usr) {
if(in_array($usr->getId(), $mreviewers['i'])) {
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_reviewer'))));
} elseif (isset($reviewIndex["i"][$usr->getID()])) {
switch ($reviewIndex["i"][$usr->getID()]["status"]) {
case S_LOG_WAITING:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), true);
break;
case S_LOG_USER_REMOVED:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('data-subtitle', getMLText('user_previously_removed_from_reviewers'))));
break;
default:
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('disabled', 'disabled')));
break;
}
} else {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()));
}
} else {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()));
}
}
/* List all mandatory reviewers */
$extraparams = [];
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$tmp = array();
foreach ($mreviewers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$this->formField(
getMLText("individuals"),
@ -173,10 +170,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
$options = [];
foreach ($docAccess["groups"] as $group) {
$grpusers = $group->getUsers();
$mandatory=false;
foreach ($res as $r) if ($r['reviewerGroupID']==$group->getID()) $mandatory=true;
if ($mandatory) {
if(in_array($group->getId(), $mreviewers['g'])) {
$options[] = array($group->getID(), htmlspecialchars($group->getName().' ('.count($grpusers).')'), false, array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_reviewer'))));
} elseif (isset($reviewIndex["g"][$group->getID()])) {
switch ($reviewIndex["g"][$group->getID()]["status"]) {
@ -197,17 +191,13 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
/* List all mandatory groups of reviewers */
$extraparams = [];
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$tmp = array();
foreach ($mreviewers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$this->formField(
getMLText("groups"),
@ -228,20 +218,21 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
$this->contentSubHeading(getMLText("update_approvers"));
$this->contentContainerStart();
/*
if($user->getID() != $owner->getID()) {
$res=$owner->getMandatoryApprovers();
if($user->isAdmin())
$res = array();
} else
$res=$user->getMandatoryApprovers();
*/
$mapprovers = getMandatoryApprovers($folder, $document, $user);
$options = [];
foreach ($docAccess["users"] as $usr) {
$mandatory=false;
foreach ($res as $r) if ($r['approverUserID']==$usr->getID()) $mandatory=true;
if ($mandatory){
if(in_array($usr->getId(), $mapprovers['i'])) {
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()), false, array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_approver'))));
} elseif (isset($approvalIndex["i"][$usr->getID()])) {
@ -259,24 +250,20 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
}
else {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName()));
}
}
/* List all mandatory approvers */
$extraparams = [];
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$tmp = array();
foreach ($mapprovers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$this->formField(
getMLText("individuals"),
@ -316,10 +303,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
$options = [];
foreach ($docAccess["groups"] as $group) {
$grpusers = $group->getUsers();
$mandatory=false;
foreach ($res as $r) if ($r['approverGroupID']==$group->getID()) $mandatory=true;
if ($mandatory) {
if(in_array($group->getId(), $mapprovers['g'])) {
$options[] = array($group->getID(), htmlspecialchars($group->getName().' ('.count($grpusers).')'), false, array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_approver'))));
} elseif (isset($approvalIndex["g"][$group->getID()])) {
@ -342,17 +326,13 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style {
/* List all mandatory groups of approvers */
$extraparams = [];
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$tmp = array();
foreach ($mapprovers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
$extraparams['field_wrap'] = ['', '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> '.implode(', ', $tmp)."</div>\n"];
}
$this->formField(
getMLText("groups"),

View File

@ -59,7 +59,14 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
$class = 'input-medium';
else
$class = 'input-small';
$html .= '<div class="input-group'.($type=='password' ? ' show-hide-password' : '').'">';
$html .= '<input '.($type=='password' ? 'type="password"' : ($type=='number' ? 'type="number"' : ($type=='color' ? 'type="color"' : 'type="text"'))).' class="form-control '.$class.'" name="'.$name.'" value="'.$value.'" placeholder="'.$placeholder.'"/>';
if($this->getTheme() == 'bootstrap4' && $type == 'password') {
$html .= '<div class="input-group-addon">';
$html .= '<a href=""><i class="fa fa-eye-slash" style="position: absolute; right: 15px; top: 10px;" aria-hidden="true"></i></a>';
$html .= '</div>';
}
$html .= '</div>';
}
return $html;
} /* }}} */
@ -161,7 +168,14 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
?>
<tr title="<?= getMLText($title."_desc") ?>">
<td><?= getMLText($title) ?></td>
<td><input name="<?= $name ?>" type="checkbox" <?php if ($settings->{"_".$name}) echo "checked" ?> /></td>
<td>
<?php
if($this->isVisible($name))
echo '<input name="'.$name.'" type="checkbox" '.($settings->{"_".$name} ? "checked" : '').' />';
else
echo getMLText('settings_conf_field_not_editable');
echo "</td>\n";
?>
</tr>
<?php
} /* }}} */
@ -225,6 +239,37 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
<?php
} /* }}} */
protected function showConfigGroup($title, $name, $allowempty=false, $multiple=false, $size=0) { /* {{{ */
$settings = $this->params['settings'];
$dms = $this->params['dms'];
?>
<tr title="<?= getMLText($title."_desc") ?>">
<td><?= getMLText($title) ?></td>
<td>
<?php
$groups = $dms->getAllGroups();
if($groups) {
if(is_array($settings->{"_".$name}))
$selections = $settings->{"_".$name};
else
$selections = explode(',', $settings->{"_".$name});
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"".$name.($multiple ? "[]" : "")."\"".($multiple ? " multiple" : "").($size ? " size=\"".$size."\"" : "")." data-placeholder=\"".getMLText("select_group")."\" style=\"width: 100%;\">";
if($allowempty)
echo "<option value=\"\"></option>";
foreach($groups as $curgroup) {
echo "<option value=\"".$curgroup->getID()."\"";
if(in_array($curgroup->getID(), $selections))
echo " selected";
echo ">".htmlspecialchars($curgroup->getName())."</option>";
}
echo "</select>";
}
?>
</td>
</tr>
<?php
} /* }}} */
protected function showConfigFolder($title, $name, $allowempty=false, $multiple=false, $size=0) { /* {{{ */
$settings = $this->params['settings'];
$dms = $this->params['dms'];
@ -454,6 +499,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigCheckbox('settings_enableGuestLogin', 'enableGuestLogin'); ?>
<?php $this->showConfigCheckbox('settings_enableGuestAutoLogin', 'enableGuestAutoLogin'); ?>
<?php $this->showConfigCheckbox('settings_enable2FactorAuthentication', 'enable2FactorAuthentication'); ?>
<?php $this->showConfigCheckbox('settings_enableLoginByEmail', 'enableLoginByEmail'); ?>
<?php $this->showConfigCheckbox('settings_restricted', 'restricted'); ?>
<?php $this->showConfigCheckbox('settings_enableUserImage', 'enableUserImage'); ?>
<?php $this->showConfigCheckbox('settings_disableSelfEdit', 'disableSelfEdit'); ?>
@ -545,6 +591,12 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigCheckbox('settings_enableOwnerReceipt', 'enableOwnerReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableUpdateReceipt', 'enableUpdateReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableFilterReceipt', 'enableFilterReceipt'); ?>
<?php $this->showConfigCheckbox('settings_addManagerAsReviewer', 'addManagerAsReviewer'); ?>
<?php $this->showConfigCheckbox('settings_addManagerAsApprover', 'addManagerAsApprover'); ?>
<?php $this->showConfigUser('settings_globalReviewer', 'globalReviewer', true, true); ?>
<?php $this->showConfigUser('settings_globalApprover', 'globalApprover', true, true); ?>
<?php $this->showConfigGroup('settings_globalGroupReviewer', 'globalGroupReviewer', true, true); ?>
<?php $this->showConfigGroup('settings_globalGroupApprover', 'globalGroupApprover', true, true); ?>
<?php $this->showConfigCheckbox('settings_enableVersionDeletion', 'enableVersionDeletion'); ?>
<?php $this->showConfigCheckbox('settings_enableVersionModification', 'enableVersionModification'); ?>
<?php $this->showConfigCheckbox('settings_enableDuplicateDocNames', 'enableDuplicateDocNames'); ?>
@ -596,7 +648,8 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
-->
<?php
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
echo '<a class="scrollto" data-target="#'.$extname.'">'.$extconf['title']."</a> ● ";
if($extconf['config'])
echo '<a class="scrollto" data-target="#'.$extname.'">'.$extconf['title']."</a> ● ";
}
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
if($this->hasHook('processConfig'))
@ -783,6 +836,22 @@ if(is_writeable($settings->_configFilePath)) {
$this->warningMsg(getMLText("settings_partionsize_below_max_filesize"));
}
/* Check if globally defined reviewer/approvers are admins */
if(!$settings->_enableAdminRevApp) {
foreach($settings->_globalReviewer as $uid) {
$u = $dms->getUser($uid);
if($u->isAdmin()) {
$this->warningMsg(getMLText("settings_global_reviewer_is_admin", ['login'=>$u->getLogin()]));
}
}
foreach($settings->_globalReviewer as $uid) {
$u = $dms->getUser($uid);
if($u->isAdmin()) {
$this->warningMsg(getMLText("settings_global_approver_is_admin", ['login'=>$u->getLogin()]));
}
}
}
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
if($this->hasHook('checkConfig'))
$this->callHook('checkConfig', $extname, $extconf);

View File

@ -51,9 +51,14 @@ class SeedDMS_View_Timeline extends SeedDMS_Theme_Style {
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, 0, false, $extracontent);
$txt = $this->callHook('documentListItem', $document, $previewer, false, 'timeline');
if(is_string($txt))
echo $txt;
else {
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, 0, false, $extracontent);
}
echo "</tbody>\n</table>\n";
}
@ -141,7 +146,7 @@ class SeedDMS_View_Timeline extends SeedDMS_Theme_Style {
}
header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder'));
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder', 'must_drop_one_file','confirm_upload_new_version', 'upload_new_version'));
?>
$(document).ready(function () {
$('#update').click(function(ev){

View File

@ -348,28 +348,24 @@ console.log(element);
$this->contentContainerEnd();
$this->contentSubHeading(getMLText("assign_reviewers"));
$this->contentContainerStart();
$res=$user->getMandatoryReviewers();
$mreviewers = getMandatoryReviewers($folder, $document, $user);
$options = array();
foreach ($docAccess["users"] as $usr) {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mreviewers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_reviewer')));
$options[] = $option;
}
$tmp = array();
foreach($reviewStatus as $r) {
if($r['type'] == 0) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['reviewerUserID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mreviewers) {
if(!in_array($r['required'], $mreviewers['i']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -381,20 +377,17 @@ console.log(element);
$fieldwrap = array('', $this->getSelectPresetButtonHtml("IndReviewers", $tmp));
}
/* List all mandatory reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mreviewers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -412,17 +405,15 @@ console.log(element);
);
/* Check for mandatory reviewer without access */
foreach($res as $r) {
if($r['reviewerUserID']) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['reviewerUserID']==$usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['reviewerUserID']);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
foreach($mreviewers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_reviewer_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
@ -445,24 +436,17 @@ console.log(element);
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['reviewerGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($grp->getId(), $mreviewers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_reviewer')));
$options[] = $option;
}
$tmp = array();
foreach($reviewStatus as $r) {
if($r['type'] == 1) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['reviewerGroupID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mreviewers) {
if(!in_array($r['required'], $mreviewers['g']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -474,18 +458,18 @@ console.log(element);
$fieldwrap = array('', $this->getSelectPresetButtonHtml("GrpReviewers", $tmp));
}
/* List all mandatory groups of reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mreviewers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
getMLText("groups"),
array(
@ -501,17 +485,15 @@ console.log(element);
);
/* Check for mandatory reviewer group without access */
foreach($res as $r) {
if ($r['reviewerGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['reviewerGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mreviewers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['reviewerGroupID']);
$this->warningMsg(getMLText("mandatory_reviewergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();
@ -519,29 +501,25 @@ console.log(element);
$this->contentSubHeading(getMLText("assign_approvers"));
$this->contentContainerStart();
$mapprovers = getMandatoryApprovers($folder, $document, $user);
$options = array();
$res=$user->getMandatoryApprovers();
foreach ($docAccess["users"] as $usr) {
if(!$enablehiddenrevapp && $usr->isHidden()) continue;
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
if(!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
foreach ($res as $r) if ($r['approverUserID']==$usr->getID()) $mandatory=true;
$option = array($usr->getID(), htmlspecialchars($usr->getLogin()." - ".$usr->getFullName()), null);
if ($mandatory) $option[] = array(array('disabled', 'disabled'));
if(in_array($usr->getId(), $mapprovers['i']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('user_is_mandatory_approver')));
$options[] = $option;
}
$tmp = array();
foreach($approvalStatus as $r) {
if($r['type'] == 0) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['approverUserID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
if($mapprovers) {
if(!in_array($r['required'], $mapprovers['i']))
$tmp[] = $r['required'];
} else {
$tmp[] = $r['required'];
@ -552,18 +530,18 @@ console.log(element);
if($tmp) {
$fieldwrap = array('', $this->getSelectPresetButtonHtml("IndApprovers", $tmp));
}
/* List all mandatory approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
$tmp = array();
foreach ($mapprovers['i'] as $r) {
$u = $dms->getUser($r);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
if($tmp) {
if(isset($fieldwrap[1]))
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n";
}
else
$fieldwrap[1] = '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -581,18 +559,16 @@ console.log(element);
);
/* Check for mandatory approvers without access */
foreach($res as $r) {
if($r['approverUserID']) {
foreach($mapprovers['ni'] as $r) {
$hasAccess = false;
foreach ($docAccess["users"] as $usr) {
if ($r['approverUserID']==$usr->getID())
if ($r == $usr->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessUser = $dms->getUser($r['approverUserID']);
$noAccessUser = $dms->getUser($r);
$this->warningMsg(getMLText("mandatory_approver_no_access", array('user'=>htmlspecialchars($noAccessUser->getFullName()." (".$noAccessUser->getLogin().")"))));
}
}
}
$options = array();
@ -615,28 +591,18 @@ console.log(element);
$options = array();
foreach ($docAccess["groups"] as $grp) {
$mandatory=false;
foreach ($res as $r) if ($r['approverGroupID']==$grp->getID()) $mandatory=true;
$option = array($grp->getID(), htmlspecialchars($grp->getName()), null);
if ($mandatory || !$grp->getUsers()) $option[] = array(array('disabled', 'disabled'));
if(in_array($grp->getId(), $mapprovers['g']))
$option[] = array(array('disabled', 'disabled'), array('data-subtitle', getMLText('group_is_mandatory_approver')));
$options[] = $option;
}
$tmp = array();
foreach($approvalStatus as $r) {
if($r['type'] == 1) {
if($res) {
$mandatory=false;
foreach ($res as $rr)
if ($rr['approverGroupID']==$r['required']) {
$mandatory=true;
}
if(!$mandatory)
$tmp[] = $r['required'];
} else {
if(!in_array($r['required'], $mapprovers['g']))
$tmp[] = $r['required'];
}
} else {
$tmp[] = $r['required'];
}
}
$fieldwrap = array('', '');
@ -644,17 +610,13 @@ console.log(element);
$fieldwrap = array('', $this->getSelectPresetButtonHtml("GrpApprovers", $tmp));
}
/* List all mandatory groups of approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$tmp = array();
foreach ($mapprovers['g'] as $r) {
$u = $dms->getGroup($r);
$tmp[] = htmlspecialchars($u->getName());
}
if($tmp) {
$fieldwrap[1] .= '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> '.implode(', ', $tmp)."</div>\n";
}
$this->formField(
@ -672,17 +634,15 @@ console.log(element);
);
/* Check for mandatory approver groups without access */
foreach($res as $r) {
if ($r['approverGroupID']) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r['approverGroupID']==$grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r['approverGroupID']);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
foreach($mapprovers['ng'] as $r) {
$hasAccess = false;
foreach ($docAccess["groups"] as $grp) {
if ($r == $grp->getID())
$hasAccess = true;
}
if(!$hasAccess) {
$noAccessGroup = $dms->getGroup($r);
$this->warningMsg(getMLText("mandatory_approvergroup_no_access", array('group'=>htmlspecialchars($noAccessGroup->getName()))));
}
}
$this->contentContainerEnd();

View File

@ -68,7 +68,7 @@ class SeedDMS_View_UserList extends SeedDMS_Theme_Style {
<thead><tr><th></th><th><?php printMLText('name'); ?></th><th><?php printMLText('groups'); ?></th><th><?php printMLText('role'); ?></th><th><?php printMLText('discspace'); ?></th><th><?php printMLText('authentication'); ?></th><th></th></tr></thead><tbody>
<?php
foreach ($allUsers as $currUser) {
echo "<tr".($currUser->isDisabled() ? " class=\"table-error error\"" : ( $currUser->isHidden() ? " class=\"table-warning warning\"" : "")).">";
echo "<tr".($currUser->isDisabled() ? " class=\"table-danger error\"" : ( $currUser->isHidden() ? " class=\"table-warning warning\"" : "")).">";
echo "<td>";
if ($currUser->hasImage())
print "<img width=\"100\" src=\"".$this->html_url('UserImage', array('userid'=>$currUser->getId()))."\" >";

View File

@ -913,7 +913,6 @@ $(document).ready( function() {
if($islatest && $accessobject->mayOverrideStatus($latestContent->getDocument())) {
$items[] = array('link'=>$this->html_url('OverrideContentStatus', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'align-justify', 'label'=>'change_status');
}
if(0) {
if($islatest && $enablereceiptworkflow && $accessobject->check_controller_access('SetRecipients'))
if($accessobject->maySetRecipients($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.SetRecipients.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'check', 'label'=>'change_recipients');
@ -922,6 +921,7 @@ $(document).ready( function() {
if($accessobject->maySetRevisors($latestContent->getDocument())) {
$items[] = array('link'=>$this->params['settings']->_httpRoot."out/out.SetRevisors.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'refresh', 'label'=>'change_revisors');
}
if($islatest) {
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
// Allow changing reviewers/approvals only if not reviewed
if($accessobject->maySetReviewersApprovers($latestContent->getDocument())) {
@ -1171,7 +1171,7 @@ $(document).ready( function() {
$this->contentContainerEnd();
}
if(!$workflow) {
if($workflowmode == 'advanced' && !$workflow) {
if($accessobject->check_view_access($this, array('action'=>'finished_workflowlog'))) {
$wkfalllogs = $latestContent->getWorkflowLog();
if($wkfalllogs) {
@ -1286,7 +1286,7 @@ $(document).ready( function() {
print getReviewStatusText($r["status"])."</td>\n";
print "<td><ul class=\"actions unstyled\">";
if($accesserr)
echo "<li><span class=\"text-error\">".$accesserr."</span></li>";
echo "<li><span class=\"text-error text-danger\">".$accesserr."</span></li>";
if($accessobject->mayReview($latestContent->getDocument())) {
if ($is_reviewer) {
@ -1392,7 +1392,7 @@ $(document).ready( function() {
print getApprovalStatusText($a["status"])."</td>\n";
print "<td><ul class=\"actions unstyled\">";
if($accesserr)
echo "<li><span class=\"text-error\">".$accesserr."</span></li>";
echo "<li><span class=\"text-error text-danger\">".$accesserr."</span></li>";
if($accessobject->mayApprove($latestContent->getDocument())) {
if ($is_approver) {
@ -1680,7 +1680,7 @@ $(document).ready( function() {
print "<thead>\n";
print "<tr>\n";
print "<th width='20%'>".((count($receiptStatus) > 10) ? '<input type="text" id="filterRecipientsInput" placeholder="'.getMLText('type_to_filter').'">' : getMLText('name'))."</th>\n";
print "<th width='20%'>".((count($receiptStatus) > 10) ? '<input class="form-control" type="text" id="filterRecipientsInput" placeholder="'.getMLText('type_to_filter').'">' : getMLText('name'))."</th>\n";
print "<th width='20%'>".getMLText("last_update")."</th>\n";
print "<th width='25%'>".getMLText("comment")."</th>";
print "<th width='15%'>".getMLText("status")."</th>\n";
@ -1690,6 +1690,8 @@ $(document).ready( function() {
print "<tbody>\n";
$stat = array('-1'=>0, '0'=>0, '1'=>0, '-2'=>0);
$disabledcount = 0;
$removedusers = '';
foreach ($receiptStatus as $r) {
$required = null;
$is_recipient = false;
@ -1705,8 +1707,10 @@ $(document).ready( function() {
if($user->isAdmin()) {
if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ)
$accesserr = getMLText("access_denied");
elseif(is_object($required) && $required->isDisabled())
elseif(is_object($required) && $required->isDisabled()) {
$disabledcount++;
$accesserr = getMLText("login_disabled_title");
}
}
}
if($r["required"] == $user->getId()/* && ($user->getId() != $owner->getId() || $enableownerreceipt == 1)*/)
@ -1729,7 +1733,7 @@ $(document).ready( function() {
}
break;
}
/* Do not list users that has been removed from the list of recipients
/* Do not list users that have been removed from the list of recipients
* unless admin is logged in.
*/
if($user->isAdmin() || $r["status"] > -2) {
@ -1756,7 +1760,7 @@ $(document).ready( function() {
print getReceiptStatusText($r["status"])."</td>\n";
print "<td><ul class=\"actions unstyled\">";
if($accesserr)
echo "<li><span class=\"text-error\">".$accesserr."</span></li>";
echo "<li><span class=\"text-error text-danger\">".$accesserr."</span></li>";
if($accessobject->mayReceipt($document)) {
if ($is_recipient) {
if($r["status"]==0) {
@ -1775,6 +1779,9 @@ $(document).ready( function() {
<tbody>
</table>
<?php
if($disabledcount) {
$this->warningMsg(getMLText('list_of_recipients_has_disabled_users'));
}
// $this->contentContainerEnd();
if($accessobject->check_view_access('ViewDocument', array('action'=>'receptionBar'))/* $user->isAdmin() || $user->getId() == $document->getOwner()->getId()*/) {
/* Do not count entries '-2' as they are removed userѕ */
@ -1887,7 +1894,7 @@ $(document).ready( function() {
print getRevisionStatusText($r["status"])."</td>\n";
print "<td><ul class=\"actions unstyled\">";
if($accesserr)
echo "<li><span class=\"text-error\">".$accesserr."</span></li>";
echo "<li><span class=\"text-error text-danger\">".$accesserr."</span></li>";
if($accessobject->mayRevise($document)) {
if ($is_recipient && $r["status"]==0) {
print $this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_revision"), false, true, array('<li>', '</li>'));
@ -1990,7 +1997,9 @@ $(document).ready( function() {
if(is_string($txt))
echo $txt;
else {
echo $this->documentListRow($targetDoc, $previewer, true);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($targetDoc);
echo $this->documentListRow($targetDoc, $previewer, true, 0, $extracontent);
}
print "<td><span class=\"actions\">";
print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName());
@ -2075,7 +2084,9 @@ $(document).ready( function() {
if(is_string($txt))
echo $txt;
else {
echo $this->documentListRow($sourceDoc, $previewer, true);
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($sourceDoc);
echo $this->documentListRow($sourceDoc, $previewer, true, 0, $extracontent);
}
print "<td><span class=\"actions\">";
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))

View File

@ -500,13 +500,13 @@ $('body').on('click', '.order-btn', function(ev) {
$folder = $this->params['folder'];
$maxuploadsize = $this->params['maxuploadsize'];
$this->contentHeading(getMLText("dropupload"), true);
if ($folder->getAccessMode($user) >= M_READWRITE) {
$this->contentHeading(getMLText("dropupload"), true);
?>
<div id="draganddrophandler" class="well alert alert-warning" data-droptarget="folder_<?php echo $folder->getID(); ?>" data-target="<?php echo $folder->getID(); ?>" data-uploadformtoken="<?php echo createFormKey(''); ?>"><?php printMLText('drop_files_here', ['maxuploadsize'=>SeedDMS_Core_File::format_filesize($maxuploadsize)]); ?></div>
<?php
} else {
$this->errorMsg(getMLText('access_denied'));
//$this->errorMsg(getMLText('access_denied'));
}
} /* }}} */

View File

@ -90,6 +90,7 @@ function initMost() {
* for each hit and render could only process strings.
* */
$("#searchfield").typeahead({ /* {{{ */
menu: '<ul class="typeahead dropdown-menu" style="max-height: 600px; overflow-y: auto;"></ul>',
minLength: 3,
items: 100, /* the query will limit the number of hits */
source: function(query, process) {
@ -186,21 +187,42 @@ function initMost() {
});
},
/* updater is called when the item in the list is clicked. It is
* actually provided to update the input field where you type, but here
* we use it to update a second input field with the doc id. */
* provided to update the input field where you type. */
updater: function (item) {
strarr = item.value.split("#");
target = this.$element.data('target');
$('#'+target).attr('value', strarr[0]);
return strarr[1];
$('#'+target).attr('value', item.id);
return item.value;
},
sorter: function(items) {
return items;
},
/* Set a matcher that allows any returned value */
matcher : function (item) {
return true;
},
highlighter : function (item) {
strarr = item.split("#");
return '<i class="fa fa-file"></i> ' + strarr[1].replace(/</g, '&lt;');
return '<i class="fa fa-file"></i> ' + item.name.replace(/</g, '&lt;') + (typeof(item.path) != 'undefined' ? '<br /><span class="path">' + item.path + '</span>' : '');
},
/* This only works with a modified version of bootstrap typeahead located
* in boostrap-typeahead.js Search for 'render'
* The line
* this.render = this.options.render || this.render
* was added to bootstrap-typeahead.js
* The following function is a copy of the original render function but
* access item.name instead of item
*/
render : function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item.name).attr('data-id', item.id).attr('data-type', item.type);
i.find('a').html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
}); /* }}} */
@ -217,19 +239,40 @@ function initMost() {
* actually provided to update the input field, but here we use
* it to set the document location. */
updater: function (item) {
strarr = item.value.split("#");
//console.log(this.$element.data('target'));
target = this.$element.data('target');
$('#'+target).attr('value', strarr[0]);
return strarr[1];
$('#'+target).attr('value', item.id);
return item.value;
},
sorter: function(items) {
return items;
},
/* Set a matcher that allows any returned value */
matcher : function (item) {
return true;
},
highlighter : function (item) {
strarr = item.split("#");
return '<i class="fa fa-folder-o"></i> ' + strarr[1].replace(/</g, '&lt;');
return '<i class="fa fa-folder-o"></i> ' + item.name.replace(/</g, '&lt;') + (typeof(item.path) != 'undefined' ? '<br /><span class="path">' + item.path + '</span>' : '');
},
/* This only works with a modified version of bootstrap typeahead located
* in boostrap-typeahead.js Search for 'render'
* The line
* this.render = this.options.render || this.render
* was added to bootstrap-typeahead.js
* The following function is a copy of the original render function but
* access item.name instead of item
*/
render : function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item.name).attr('data-id', item.id).attr('data-type', item.type);
i.find('a').html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
}); /* }}} */
}
@ -697,8 +740,6 @@ function onAddClipboard(ev) { /* {{{ */
// function sendFileToServer(formData,status,callback) {
SeedDMSUpload.sendFileToServer = function(formData,status,callback) {
var uploadURL = ajaxurl; //Upload URL
var extraData ={}; //Extra Data.
var jqXHR=$.ajax({
xhr: function() {
var xhrobj = $.ajaxSettings.xhr();
@ -716,7 +757,7 @@ function onAddClipboard(ev) { /* {{{ */
}
return xhrobj;
},
url: uploadURL,
url: ajaxurl,
type: "POST",
contentType: false,
dataType:"json",
@ -755,6 +796,43 @@ function onAddClipboard(ev) { /* {{{ */
status.setAbort(jqXHR);
}
SeedDMSUpload.addSubFolder = function(formData) {
var ret = false;
$.ajax({
url: ajaxurl,
type: "POST",
contentType: false,
dataType:"json",
processData: false,
cache: false,
async: false,
data: formData,
success: function(data, textStatus) {
if(data.success) {
noty({
text: data.message,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500
});
ret = data.data;
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500
});
}
}
});
return ret;
}
//function createStatusbar(obj) {
SeedDMSUpload.createStatusbar = function(obj) {
rowCount++;
@ -839,7 +917,7 @@ function onAddClipboard(ev) { /* {{{ */
afteruploadfunc = function() {
if(target_id == seeddms_folder)
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
}
}
}
if(target_type == 'folder' && target_id) {
for (var i = 0; i < items.length; i++) {
@ -879,24 +957,29 @@ function onAddClipboard(ev) { /* {{{ */
}
});
} else if(item.isDirectory) {
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
});
/*
noty({
text: 'Folders currently not supported',
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 5000
});
*/
var fd = new FormData();
fd.append('folderid', target_id);
fd.append('formtoken', obj.data('uploadformtoken'));
fd.append('command', 'addfolder');
fd.append('name', item.name);
var fid = SeedDMSUpload.addSubFolder(fd);
if(fid) {
obj.data('target', fid);
obj.data('droptarget', 'folder_'+fid);
/* Set void afterupload to prevent tons of noty messages */
obj.data('afterupload', '()=>{}');
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
});
}
/* Just reload the parent folder */
if(target_id == seeddms_folder) {
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
}
}
}
} else if(target_type == 'document' && target_id) {
/*
for (var i = 0; i < items.length; i++) {
var item = items[i]; //.webkitGetAsEntry();
if (item.isFile) {
@ -906,15 +989,16 @@ function onAddClipboard(ev) { /* {{{ */
fd.append('targettype', target_type);
fd.append('documentid', target_id);
fd.append('formtoken', obj.data('uploadformtoken'));
fd.append('userfile', files[i]);
fd.append('command', 'uploaddocument');
fd.append('userfile', file);
fd.append('command', 'updatedocument');
var status = new SeedDMSUpload.createStatusbar(statusbar);
status.setFileNameSize(files[i].name,files[i].size);
status.setFileNameSize(file.name,file.size);
SeedDMSUpload.sendFileToServer(fd,status);
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
} else {
noty({
text: maxFileSizeMsg + '<br /><em>' + files[i].name + ' (' + files[i].size + ' Bytes)</em>',
text: maxFileSizeMsg + '<br /><em>' + file.name + ' (' + file.size + ' Bytes)</em>',
type: 'error',
dismissQueue: true,
layout: 'topRight',
@ -925,7 +1009,6 @@ function onAddClipboard(ev) { /* {{{ */
});
}
}
*/
} else if(target_type == 'attachment' && target_id) {
for (var i = 0; i < items.length; i++) {
var item = items[i]; //.webkitGetAsEntry();
@ -1012,9 +1095,9 @@ $(document).ready(function() { /* {{{ */
target_type = attr_rel.split("_")[0];
target_id = attr_rel.split("_")[1];
target_name = $(e.currentTarget).data('name')+''; // Force this to be a string
files = e.originalEvent.dataTransfer.files;
items = e.originalEvent.dataTransfer.items;
if(target_type == 'folder') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
/* check for files, because items has an entry if no file was dropped */
if(files.length > 0) {
// console.log('Drop '+files.length+' files on '+target_type+' '+target_id);
@ -1121,8 +1204,6 @@ $(document).ready(function() { /* {{{ */
}
}
} else if(target_type == 'document') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
/* check for files, because items has an entry if no file was dropped */
if(files.length > 0) {
// console.log('Drop '+files.length+' files on '+target_type+' '+target_id);
@ -1135,37 +1216,23 @@ $(document).ready(function() { /* {{{ */
theme: 'defaultTheme',
timeout: 5000
});
} else if(0) {
bootbox.dialog({
"message" : trans.confirm_upload_new_version,
"buttons" : {
"cancel" : {
"label" : trans.cancel,
"className" : "btn-secondary",
"callback": function() {
}
},
"newversion" : {
"label" : "<i class='fa fa-link'></i> "+trans.upload_new_version,
"className" : "btn-danger",
"callback": function() {
console.log('Hallo');
/*
newitems = [];
for (var i=0; i<items.length; i++) {
newitems.push(items[i].webkitGetAsEntry());
}
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1'));
*/
}
}
}
});
} else if(1) {
newitems = [];
for (var i=0; i<items.length; i++) {
newitems.push(items[i].webkitGetAsEntry());
}
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
bootbox.dialog(trans.confirm_upload_new_version, [{
"label" : "<i class='fa fa-arrow-right'></i> "+trans.upload_new_version,
"class" : "btn-danger",
"callback": function() {
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1'));
}
}, {
"label" : trans.cancel,
"class" : "btn-cancel",
"callback": function() {
}
}]);
}
} else {
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
@ -1248,8 +1315,6 @@ $(document).ready(function() { /* {{{ */
}
}
} else if(target_type == 'attachment') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
if(files.length > 0) {
newitems = [];
for (var i=0; i<items.length; i++) {
@ -1544,7 +1609,7 @@ $(document).ready(function() { /* {{{ */
}( window.SeedDMSAjax = window.SeedDMSAjax || {}, jQuery )); /* }}} */
(function( SeedDMSBox, $, undefined ) { /* {{{ */
/* Open dialog box and
/* Open confirm box (which has just one callback) and
* redirect to the given url if confirm was pressed
*/
SeedDMSBox.redirect = function(url, boxparams) {
@ -1562,7 +1627,7 @@ $(document).ready(function() { /* {{{ */
}]);
}
/* Open confirm box and
/* Open confirm box (which has just one callback) and
* calls the callback if the confirm button was pressed
*/
SeedDMSBox.callback = function(callback, boxparams) {

View File

@ -727,7 +727,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessobject->check_view_access('FolderAccess'))
$menuitems['edit_folder_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access'));
}
if ($accessobject->check_controller_access('FolderNotify'))
if ($accessobject->check_view_access('FolderNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify'));
if ($accessMode == M_ALL) {
$menuitems['edit_folder_attrdefgrp'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_attrdefgrp'));
@ -807,7 +807,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
}
if ($accessMode >= M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
$menuitems['edit_document_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_document_notify'));
}
if($enableClipboard) {
$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"));
@ -1262,6 +1262,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
foreach($value['attributes'] as $a)
echo ' '.$a[0].'="'.$a[1].'"';
echo ">";
echo '<label class="form-check-label" '.(!empty($value['id']) ?? 'for="'.$value['id'].'"').'>'.(!empty($value['label']) ?? $value['label']).'</label>';
echo "</div>";
break;
default:
@ -1680,17 +1681,43 @@ $(document).ready(function() {
print "</select>";
} /* }}} */
function printSequenceChooser($objArr, $keepID = -1) { /* {{{ */
echo $this->getSequenceChooser($objArr, $keepID);
function printSequenceChooser($parent, $type, $keepID = -1) { /* {{{ */
echo $this->getSequenceChooser($parent, $type, $keepID);
} /* }}} */
function getSequenceChooser($objArr, $keepID = -1) { /* {{{ */
if (count($objArr) > 0) {
$max = $objArr[count($objArr)-1]->getSequence() + 1;
$min = $objArr[0]->getSequence() - 1;
/**
* Return html code for sequence chooser
*
* This method will return the html code of the ѕelect menu for setting
* the ѕequence number of a document or folder. The select menu will contain
* a list of all siblings to select to positon relative to a sibling.
* For performance reasons the select menu will not contain any siblings
* if the number of siblings is greater than 50.
*
* @param $parent object parent folder of new or updated document/folder
* @param $type string type of new object 'f'=folder, 'd'=document
* @param $keepID integer id of current object
*/
function getSequenceChooser($parent, $type, $keepID = -1) { /* {{{ */
$objArr = [];
if($type == 'd') {
if(($c = $parent->hasDocuments()) < 50)
$objArr = $parent->getDocuments('s');
$minmax = $parent->getDocumentsMinMax();
} elseif($type = 'f') {
if(($c = $parent->hasSubFolders()) < 50)
$objArr = $parent->getSubFolders('s');
$minmax = $parent->getFoldersMinMax();
} else
return '';
if ($objArr) {
$min = $minmax['min']-1.0;
$max = $minmax['max']+1.0;
}
else {
$max = 1.0;
$min = (float) $minmax['min'];
$max = $minmax['max']+1.0;
}
$content = "<select class=\"form-control\" name=\"sequence\">\n";
if ($keepID != -1) {
@ -1698,7 +1725,7 @@ $(document).ready(function() {
}
if($this->params['defaultposition'] != 'start')
$content .= " <option value=\"".$max."\">" . getMLText("seq_end");
if (count($objArr) > 0) {
if ($c > 0) {
$content .= " <option value=\"".$min."\">" . getMLText("seq_start");
}
if($this->params['defaultposition'] == 'start')
@ -1723,7 +1750,7 @@ $(document).ready(function() {
else
$folderid = $folder->getID();
$content = '';
$content .= "<input type=\"hidden\" class=\"fileupload-group\" id=\"".$formid."\" name=\"".$formname."\" data-target-highlight=\"choosedocsearch".$formid."\" value=\"". (($default) ? $default->getID() : "") ."\">";
$content .= "<input type=\"hidden\" class=\"fileupload-group\" id=\"".$formid."\" name=\"".$formname."\" data-target-highlight=\"choosedocsearch".$formid."\" value=\"". ($default ? $default->getID() : "") ."\">";
$content .= "<div class=\"input-group\">\n";
$content .= "<input class=\"form-control\" type=\"text\" id=\"choosedocsearch".$formid."\" data-target=\"".$formid."\" data-provide=\"typeahead\" name=\"docname".$formid."\"value=\"" . (($default) ? htmlspecialchars($default->getName()) : "") ."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" />";
$content .= '<div class="input-group-append">';
@ -1790,7 +1817,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
$formname = "targetid";
$formid = md5($formname.$form);
$content = '';
$content .= "<input type=\"hidden\" id=\"".$formid."\" name=\"".$formname."\" value=\"". (($default) ? $default->getID() : "") ."\" data-target-highlight=\"choosefoldersearch".$formid."\">";
$content .= "<input type=\"hidden\" id=\"".$formid."\" name=\"".$formname."\" value=\"". ($default ? $default->getID() : "") ."\" data-target-highlight=\"choosefoldersearch".$formid."\">";
$content .= "<div class=\"input-group\">\n";
$content .= "<input class=\"form-control\" type=\"text\" id=\"choosefoldersearch".$formid."\" data-target=\"".$formid."\" data-provide=\"typeahead\" name=\"targetname".$formid."\" value=\"". (($default) ? htmlspecialchars($default->getName()) : "") ."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" target=\"".$formid."\"/>";
$content .= '<div class="input-group-append">';
@ -1947,26 +1974,23 @@ $(document).ready(function() {
case SeedDMS_Core_AttributeDefinition::type_folder:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
if($targetfolder = $dms->getFolder(intval($attr)))
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
foreach($attrs as $targetfolder) {
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
}
return implode('<br />', $tmp);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
if($targetdoc = $dms->getDocument(intval($attr)))
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
foreach($attrs as $targetdoc) {
$tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
}
return implode('<br />', $tmp);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
$curuser = $dms->getUser((int) $attr);
foreach($attrs as $curuser) {
$tmp[] = htmlspecialchars($curuser->getFullname()." (".$curuser->getLogin().")");
}
return implode('<br />', $tmp);
@ -1974,8 +1998,7 @@ $(document).ready(function() {
case SeedDMS_Core_AttributeDefinition::type_group:
$attrs = $attribute->getValueAsArray();
$tmp = array();
foreach($attrs as $attr) {
$curgroup = $dms->getGroup((int) $attr);
foreach($attrs as $curgroup) {
$tmp[] = htmlspecialchars($curgroup->getName());
}
return implode('<br />', $tmp);
@ -2007,19 +2030,14 @@ $(document).ready(function() {
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValue() : $attribute) : '';
$content .= "<input type=\"hidden\" name=\"".$attr_name."\" value=\"\" />";
$content .= "<input type=\"checkbox\" id=\"".$attr_id."\" name=\"".$attr_name."\" value=\"1\" ".($objvalue ? 'checked' : '')." />";
$content .= '<label class="form-check-label" for="'.$attr_id.'"></label>';
break;
case SeedDMS_Core_AttributeDefinition::type_date:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValue() : $attribute) : '';
$objvalue = $attribute ? getReadableDate((is_object($attribute) ? $attribute->getValue() : $attribute)) : '';
$dateformat = getConvertDateFormat($this->params['settings']->_dateformat);
/*
$content .= '<span class="input-append date datepicker" data-date="'.getReadableDate(').'" data-date-format="'.$dateformat.'" data-date-language="'.str_replace('_', '-', $this->params['session']->getLanguage()).'">
<input id="'.$attr_id.'" class="span9" size="16" name="'.$attr_name.'" type="text" value="'.($objvalue ? $objvalue : '').'">
<span class="add-on"><i class="fa fa-calendar"></i></span>
</span>';
*/
$content = '
<div class="input-group date">
<input type="text" class="form-control" id="'.$attr_id.'" name="'.$attr_name.'" value="'.($objvalue ? getReadableDate($objvalue) : '').'" data-date="'.getReadableDate().'" data-date-format="'.$dateformat.'" data-date-language="'.str_replace('_', '-', $this->params['session']->getLanguage()).'" data-date-autoclose="true" data-provide="datepicker">
<input type="text" class="form-control" id="'.$attr_id.'" name="'.$attr_name.'" value="'.($objvalue ? $objvalue : '').'" data-date="'.getReadableDate().'" data-date-format="'.$dateformat.'" data-date-language="'.str_replace('_', '-', $this->params['session']->getLanguage()).'" data-date-autoclose="true" data-provide="datepicker">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-calendar"></i></span>
</div>
@ -2035,23 +2053,18 @@ $(document).ready(function() {
$content .= "<input type=\"text\" class=\"form-control\" id=\"".$attr_id."\" name=\"".$attr_name."\" value=\"".htmlspecialchars($objvalue)."\"".((!$norequire && $attrdef->getMinValues() > 0) ? ' required="required"' : '')." data-rule-number=\"true\"/>";
break; */
case SeedDMS_Core_AttributeDefinition::type_folder:
$objvalue = $attribute ? (is_object($attribute) ? (int) $attribute->getValue() : (int) $attribute) : 0;
if($objvalue)
$target = $dms->getFolder($objvalue);
else
$target = null;
$target = $attribute ? $attribute->getValue() : null;
$content .= $this->getFolderChooserHtml("attr".$attrdef->getId(), M_READWRITE, -1, $target, $attr_name, false);
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$objvalue = $attribute ? (is_object($attribute) ? (int) $attribute->getValue() : (int) $attribute) : 0;
if($objvalue)
$target = $dms->getDocument($objvalue);
else
$target = null;
$target = $attribute ? $attribute->getValue() : null;
$content .= $this->getDocumentChooserHtml("attr".$attrdef->getId(), M_READ, -1, $target, $attr_name);
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValueAsArray() : (is_string($attribute) ? [$attribute] : $attribute)) : array();
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = [];
foreach($target as $t)
$objvalue[] = $t->getId();
$users = $dms->getAllUsers();
if($users) {
$allowempty = $attrdef->getMinValues() == 0;
@ -2071,7 +2084,10 @@ $(document).ready(function() {
}
break;
case SeedDMS_Core_AttributeDefinition::type_group:
$objvalue = $attribute ? (is_object($attribute) ? $attribute->getValueAsArray() : (is_string($attribute) ? [$attribute] : $attribute)) : array();
$target = $attribute ? $attribute->getValueAsArray() : [];
$objvalue = [];
foreach($target as $t)
$objvalue[] = $t->getId();
$groups = $dms->getAllGroups();
if($groups) {
$allowempty = $attrdef->getMinValues() == 0;
@ -3155,7 +3171,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$class = 'table-'.$class;
}
$docID = $document->getID();
return "<tr id=\"table-row-document-".$docID."\" data-target-id=\"".$docID."\" class=\"table-row-document droptarget ".($class ? ' '.$class : '')."\" data-droptarget=\"document_".$docID."\" rel=\"document_".$docID."\" formtoken=\"".createFormKey('')."\" draggable=\"true\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\">";
return "<tr id=\"table-row-document-".$docID."\" data-target-id=\"".$docID."\" class=\"table-row-document droptarget ".($class ? ' '.$class : '')."\" data-droptarget=\"document_".$docID."\" rel=\"document_".$docID."\" formtoken=\"".createFormKey('')."\" data-uploadformtoken=\"".createFormKey('')."\" draggable=\"true\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\">";
} /* }}} */
function documentListRowEnd($document) { /* {{{ */

View File

@ -93,8 +93,9 @@ function initMost() {
* for each hit and render could only process strings.
* */
$("#searchfield").typeahead({ /* {{{ */
menu: '<div class="typeahead dropdown-menu"></div>',
item: '<li><a class="dropdown-item" href="#"></a></li>',
menu: '<div class="typeahead dropdown-menu" style="max-height: 600px; overflow-y: auto;"></div>',
item: '<a class="dropdown-item" href="#"></a>',
itemtag: 'a',
minLength: 3,
items: 100, /* the query will limit the number of hits */
source: function(query, process) {
@ -170,7 +171,8 @@ function initMost() {
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item.name).attr('data-id', item.id).attr('data-type', item.type);
i.find('a').html(that.highlighter(item))
/* i is already the 'a' tag, there is no 'li' as used by bootstrap 2 */
i./*find('a').*/html(that.highlighter(item))
return i[0]
})
@ -184,7 +186,8 @@ function initMost() {
/* Document chooser */
$("[id^=choosedocsearch]").typeahead({ /* {{{ */
menu: '<div class="typeahead dropdown-menu"></div>',
item: '<li><a class="dropdown-item" href="#"></a></li>',
item: '<a class="dropdown-item" href="#"></a>',
itemtag: 'a',
minLength: 3,
source: function(query, process) {
// console.log(this.options);
@ -193,28 +196,50 @@ function initMost() {
});
},
/* updater is called when the item in the list is clicked. It is
* actually provided to update the input field where you type, but here
* we use it to update a second input field with the doc id. */
* provided to update the input field where you type. */
updater: function (item) {
strarr = item.value.split("#");
target = this.$element.data('target');
$('#'+target).attr('value', strarr[0]);
return strarr[1];
$('#'+target).attr('value', item.id);
return item.value;
},
sorter: function(items) {
return items;
},
/* Set a matcher that allows any returned value */
matcher : function (item) {
return true;
},
highlighter : function (item) {
strarr = item.split("#");
return '<i class="fa fa-file"></i> ' + strarr[1].replace(/</g, '&lt;');
return '<i class="fa fa-file"></i> ' + item.name.replace(/</g, '&lt;') + (typeof(item.path) != 'undefined' ? '<br /><span class="path">' + item.path + '</span>' : '');
},
/* This only works with a modified version of bootstrap typeahead located
* in boostrap-typeahead.js Search for 'render'
* The line
* this.render = this.options.render || this.render
* was added to bootstrap-typeahead.js
* The following function is a copy of the original render function but
* access item.name instead of item
*/
render : function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item.name).attr('data-id', item.id).attr('data-type', item.type);
i./*find('a').*/html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
}); /* }}} */
/* Folder chooser */
$("[id^=choosefoldersearch]").typeahead({ /* {{{ */
menu: '<div class="typeahead dropdown-menu"></div>',
item: '<li><a class="dropdown-item" href="#"></a></li>',
item: '<a class="dropdown-item" href="#"></a>',
itemtag: 'a',
minLength: 3,
source: function(query, process) {
// console.log(this.options);
@ -226,19 +251,40 @@ function initMost() {
* actually provided to update the input field, but here we use
* it to set the document location. */
updater: function (item) {
strarr = item.value.split("#");
//console.log(this.$element.data('target'));
target = this.$element.data('target');
$('#'+target).attr('value', strarr[0]);
return strarr[1];
$('#'+target).attr('value', item.id);
return item.value;
},
sorter: function(items) {
return items;
},
/* Set a matcher that allows any returned value */
matcher : function (item) {
return true;
},
highlighter : function (item) {
strarr = item.split("#");
return '<i class="fa fa-folder-o"></i> ' + strarr[1].replace(/</g, '&lt;');
return '<i class="fa fa-folder-o"></i> ' + item.name.replace(/</g, '&lt;') + (typeof(item.path) != 'undefined' ? '<br /><span class="path">' + item.path + '</span>' : '');
},
/* This only works with a modified version of bootstrap typeahead located
* in boostrap-typeahead.js Search for 'render'
* The line
* this.render = this.options.render || this.render
* was added to bootstrap-typeahead.js
* The following function is a copy of the original render function but
* access item.name instead of item
*/
render : function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item.name).attr('data-id', item.id).attr('data-type', item.type);
i./*find('a').*/html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
}); /* }}} */
}
@ -284,6 +330,21 @@ $(document).ready( function() {
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
});
$('body').on('click', '.show-hide-password a', function(ev){
ev.preventDefault();
// console.log($(this).closest('input'));
// console.log($(ev.target).parent().parent().children('input'));
if($('.show-hide-password input').attr("type") == "text"){
$('.show-hide-password input').attr('type', 'password');
$('.show-hide-password i').addClass( "fa-eye-slash" );
$('.show-hide-password i').removeClass( "fa-eye" );
}else if($('.show-hide-password input').attr("type") == "password"){
$('.show-hide-password input').attr('type', 'text');
$('.show-hide-password i').removeClass( "fa-eye-slash" );
$('.show-hide-password i').addClass( "fa-eye" );
}
});
// $('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); });
initMost();
@ -728,8 +789,6 @@ function onAddClipboard(ev) { /* {{{ */
// function sendFileToServer(formData,status,callback) {
SeedDMSUpload.sendFileToServer = function(formData,status,callback) {
var uploadURL = ajaxurl; //Upload URL
var extraData ={}; //Extra Data.
var jqXHR=$.ajax({
xhr: function() {
var xhrobj = $.ajaxSettings.xhr();
@ -747,7 +806,7 @@ function onAddClipboard(ev) { /* {{{ */
}
return xhrobj;
},
url: uploadURL,
url: ajaxurl,
type: "POST",
contentType: false,
dataType:"json",
@ -786,6 +845,43 @@ function onAddClipboard(ev) { /* {{{ */
status.setAbort(jqXHR);
}
SeedDMSUpload.addSubFolder = function(formData) {
var ret = false;
$.ajax({
url: ajaxurl,
type: "POST",
contentType: false,
dataType:"json",
processData: false,
cache: false,
async: false,
data: formData,
success: function(data, textStatus) {
if(data.success) {
noty({
text: data.message,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500
});
ret = data.data;
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500
});
}
}
});
return ret;
}
//function createStatusbar(obj) {
SeedDMSUpload.createStatusbar = function(obj) {
rowCount++;
@ -870,7 +966,7 @@ function onAddClipboard(ev) { /* {{{ */
afteruploadfunc = function() {
if(target_id == seeddms_folder)
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
}
}
}
if(target_type == 'folder' && target_id) {
for (var i = 0; i < items.length; i++) {
@ -910,24 +1006,29 @@ function onAddClipboard(ev) { /* {{{ */
}
});
} else if(item.isDirectory) {
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
});
/*
noty({
text: 'Folders currently not supported',
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 5000
});
*/
var fd = new FormData();
fd.append('folderid', target_id);
fd.append('formtoken', obj.data('uploadformtoken'));
fd.append('command', 'addfolder');
fd.append('name', item.name);
var fid = SeedDMSUpload.addSubFolder(fd);
if(fid) {
obj.data('target', fid);
obj.data('droptarget', 'folder_'+fid);
/* Set void afterupload to prevent tons of noty messages */
obj.data('afterupload', '()=>{}');
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
});
}
/* Just reload the parent folder */
if(target_id == seeddms_folder) {
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
}
}
}
} else if(target_type == 'document' && target_id) {
/*
for (var i = 0; i < items.length; i++) {
var item = items[i]; //.webkitGetAsEntry();
if (item.isFile) {
@ -937,15 +1038,16 @@ function onAddClipboard(ev) { /* {{{ */
fd.append('targettype', target_type);
fd.append('documentid', target_id);
fd.append('formtoken', obj.data('uploadformtoken'));
fd.append('userfile', files[i]);
fd.append('command', 'uploaddocument');
fd.append('userfile', file);
fd.append('command', 'updatedocument');
var status = new SeedDMSUpload.createStatusbar(statusbar);
status.setFileNameSize(files[i].name,files[i].size);
status.setFileNameSize(file.name,file.size);
SeedDMSUpload.sendFileToServer(fd,status);
$("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder});
} else {
noty({
text: maxFileSizeMsg + '<br /><em>' + files[i].name + ' (' + files[i].size + ' Bytes)</em>',
text: maxFileSizeMsg + '<br /><em>' + file.name + ' (' + file.size + ' Bytes)</em>',
type: 'error',
dismissQueue: true,
layout: 'topRight',
@ -956,7 +1058,6 @@ function onAddClipboard(ev) { /* {{{ */
});
}
}
*/
} else if(target_type == 'attachment' && target_id) {
for (var i = 0; i < items.length; i++) {
var item = items[i]; //.webkitGetAsEntry();
@ -1043,9 +1144,9 @@ $(document).ready(function() { /* {{{ */
target_type = attr_rel.split("_")[0];
target_id = attr_rel.split("_")[1];
target_name = $(e.currentTarget).data('name')+''; // Force this to be a string
files = e.originalEvent.dataTransfer.files;
items = e.originalEvent.dataTransfer.items;
if(target_type == 'folder') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
/* check for files, because items has an entry if no file was dropped */
if(files.length > 0) {
// console.log('Drop '+files.length+' files on '+target_type+' '+target_id);
@ -1164,8 +1265,6 @@ $(document).ready(function() { /* {{{ */
}
}
} else if(target_type == 'document') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
/* check for files, because items has an entry if no file was dropped */
if(files.length > 0) {
// console.log('Drop '+files.length+' files on '+target_type+' '+target_id);
@ -1178,7 +1277,11 @@ $(document).ready(function() { /* {{{ */
theme: 'defaultTheme',
timeout: 5000
});
} else if(0) {
} else if(1) {
newitems = [];
for (var i=0; i<items.length; i++) {
newitems.push(items[i].webkitGetAsEntry());
}
bootbox.dialog({
"message" : trans.confirm_upload_new_version,
"buttons" : {
@ -1192,23 +1295,11 @@ $(document).ready(function() { /* {{{ */
"label" : "<i class='fa fa-link'></i> "+trans.upload_new_version,
"className" : "btn-danger",
"callback": function() {
console.log('Hallo');
/*
newitems = [];
for (var i=0; i<items.length; i++) {
newitems.push(items[i].webkitGetAsEntry());
}
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1'));
*/
}
}
}
});
newitems = [];
for (var i=0; i<items.length; i++) {
newitems.push(items[i].webkitGetAsEntry());
}
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
}
} else {
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
@ -1298,8 +1389,6 @@ $(document).ready(function() { /* {{{ */
}
}
} else if(target_type == 'attachment') {
var files = e.originalEvent.dataTransfer.files;
var items = e.originalEvent.dataTransfer.items;
if(files.length > 0) {
newitems = [];
for (var i=0; i<items.length; i++) {