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

This commit is contained in:
Uwe Steinmann 2021-04-07 06:38:51 +02:00
commit ed8f6757ae
216 changed files with 4139 additions and 2537 deletions

View File

@ -1,5 +1,10 @@
Options -Indexes
<IfModule mod_headers.c>
Header set Strict-Transport-Security: "max-age=15768000; includeSubDomains; preload"
Header set X-Content-Type-Options: "nosniff"
</IfModule>
RewriteEngine On
RewriteRule ^favicon.ico$ styles/bootstrap/favicon.ico [L]

View File

@ -1,12 +1,23 @@
--------------------------------------------------------------------------------
Changes in version 6.1.0
--------------------------------------------------------------------------------
- merge changes up to 6.0.12
- merge changes up to 6.0.15
- add attribute groups and selective output of attributes
- add support for WebAuthn
- do not use md5 password hashing anymore, hashes will be updated automatically
when passwords are reset
--------------------------------------------------------------------------------
Changes in version 6.0.15
--------------------------------------------------------------------------------
- merge changes up to 5.1.22
- add a new task for checking the checksum of all document versions
- add searching for revision date
- list of open tasks will no longer contain expired documents but MyDocuments
page still list them
- fixed downloading approval file (Closes: #503)
- regular users can no longer set owner of document while uploading
--------------------------------------------------------------------------------
Changes in version 6.0.14
--------------------------------------------------------------------------------
@ -190,6 +201,35 @@
- add document list which can be exported as an archive
- search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.22
--------------------------------------------------------------------------------
- remove document/folder from index before adding a new one after editing the
meta data
- fix potential clickjacking attack with manipulated email address of a user
- loading more items on ViewFolder page obeys sort order
- fix possible csrf attacks due to missing form token
(CVE-202126215, CVE-202126216)
- show an error msg on the documents detail page if the checksum of version
mismatch
- overhaul notifications, type of receiver is now passed to notification
service which allows a more fine grained filtering
- show difference in number of documents on chart page
- list users on Folder Notifiy page which has been disabled
- use two column layout on AddDocument page
- initial support for sending html mails (not used yet)
- fix security hole which allowed under certain conditions to access
arbitrary files
- use mandatory reviewers/approvers when adding files by webdav
- set some http security headers in .htaccess
- add searching for last date of a document status change
- fix a potential problem when remove a document with files attached to
previous versions
- search hits in typeahead search are now links to the folder/document.
Only the first item in the list still opens the search page.
- make sure encryption key is always, prevents error when settings are
first saved and encryption key was not set initially
--------------------------------------------------------------------------------
Changes in version 5.1.21
--------------------------------------------------------------------------------
@ -213,9 +253,13 @@
- output format for dates can be configured
- add filter function to notification service
- reindex document after it was edited
- show preview images in drop folder menu after mouse over
- add support for indexing folders
- show preview images in drop folder menu on mouse over
- add support for indexing folders in fulltext search
- add support for start folder in fulltext search
- always call hook postAddSubFolder and postEditDocument
- call each notification service even if one of them fails
- support partial content downloads (useful for embedding videos)
- unfold all folders within current path in jqtree
--------------------------------------------------------------------------------
Changes in version 5.1.20

View File

@ -4,12 +4,6 @@ VIEWS ?= bootstrap
NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-upload utils/remote-upload utils/da-bv-reminder.php utils/seeddms-da-bv-reminder .svn .gitignore
EXTENSIONS := \
dynamic_content.tar.gz\
login_action.tar.gz\
example.tar.gz\
tbs_template.tar.gz
PHPDOC=~/Downloads/phpDocumentor.phar
dist:
@ -59,20 +53,6 @@ repository:
(cd tmp; tar --exclude=.svn -czvf ../seeddms-repository-$(VERSION).tar.gz seeddms-repository-$(VERSION))
rm -rf tmp
dynamic_content.tar.gz: ext/dynamic_content
tar czvf dynamic_content.tar.gz ext/dynamic_content
example.tar.gz: ext/example
tar czvf example.tar.gz ext/example
login_action.tar.gz: ext/login_action
tar czvf login_action.tar.gz ext/login_action
tbs_template.tar.gz: ext/tbs_template
tar czvf tbs_template.tar.gz ext/tbs_template
extensions: $(EXTENSIONS)
doc:
$(PHPDOC) -d SeedDMS_Core --ignore 'getusers.php,getfoldertree.php,config.php,reverselookup.php' --force -t html

View File

@ -96,6 +96,13 @@ class SeedDMS_Core_Attribute { /* {{{ */
$this->_dms = $dms;
} /* }}} */
/**
* Get dms of attribute
*
* @return object $dms
*/
function getDMS() { return $this->_dms; }
/**
* Get internal id of attribute
*
@ -170,12 +177,14 @@ class SeedDMS_Core_Attribute { /* {{{ */
if($values) {
$vsep = $this->getValueSetSeparator();
if($valueset) {
/* Validation should have been done before
$error = false;
foreach($values as $v) {
if(!in_array($v, $valueset)) { $error = true; break; }
}
if($error)
return false;
*/
$valuesetstr = $this->_attrdef->getValueSet();
$value = $vsep.implode($vsep, $values);
} else {
@ -196,12 +205,14 @@ class SeedDMS_Core_Attribute { /* {{{ */
}
if($valueset) {
/* Validation should have been done before
$error = false;
foreach($values as $v) {
if(!in_array($v, $valueset)) { $error = true; break; }
}
if($error)
return false;
*/
$value = $valuesetstr[0].implode($valuesetstr[0], $values);
} else {
$value = ','.implode(',', $values);
@ -469,6 +480,13 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
$this->_dms = $dms;
} /* }}} */
/**
* Get dms of attribute definition
*
* @return object $dms
*/
function getDMS() { return $this->_dms; }
/**
* Get internal id of attribute definition
*
@ -1122,15 +1140,24 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
* definition.
* If the validation fails the validation error will be set which
* can be requested by SeedDMS_Core_Attribute::getValidationError()
* Set $new to true if the value to be checked isn't saved to the database
* already. It will just be passed to the callback onAttributeValidate where
* it could be used to, e.g. check if a value is unique once it is saved to
* the database. $object is set to a folder, document or documentcontent
* if the attribute belongs to such an object. This will be null, if a
* new object is created.
*
* @param string|array $attrvalue attribute value
* @param object $object set if the current attribute is saved for this object
* @param boolean $new set to true if the value is new value and not taken from
* an existing attribute
* @return boolean true if validation succeds, otherwise false
*/
function validate($attrvalue) { /* {{{ */
function validate($attrvalue, $object=null, $new=false) { /* {{{ */
/* Check if 'onAttributeValidate' callback is set */
if(isset($this->_dms->callbacks['onAttributeValidate'])) {
foreach($this->_dms->callbacks['onAttributeValidate'] as $callback) {
$ret = call_user_func($callback[0], $callback[1], $this);
$ret = call_user_func($callback[0], $callback[1], $this, $attrvalue, $object, $new);
if(is_bool($ret))
return $ret;
}

View File

@ -163,6 +163,13 @@ class SeedDMS_Core_DMS {
*/
public $noReadForStatus;
/**
* @var boolean $checkWithinRootDir check if folder/document being accessed
* is within the rootdir
* @access public
*/
public $checkWithinRootDir;
/**
* @var string $version version of pear package
* @access public
@ -455,6 +462,7 @@ class SeedDMS_Core_DMS {
$this->rootFolderID = 1;
$this->maxDirID = 0; //31998;
$this->forceRename = false;
$this->checkWithinRootDir = false;
$this->enableConverting = false;
$this->convertFileTypes = array();
$this->noReadForStatus = array();
@ -922,7 +930,7 @@ class SeedDMS_Core_DMS {
* @param object $user user
* @return array list of documents records
*/
function countTasks($listtype, $user=null) { /* {{{ */
function countTasks($listtype, $user=null, $param5=true) { /* {{{ */
if (!$this->db->createTemporaryTable("ttstatid") || !$this->db->createTemporaryTable("ttcontentid")) {
return false;
}
@ -953,7 +961,10 @@ class SeedDMS_Core_DMS {
$queryStr .= "OR `tblDocumentReviewers`.`type` = 1 AND `tblDocumentReviewers`.`required` IN (".implode(',', $groups).") ";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentReviewLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_EXPIRED.") ";
$docstatarr = array(S_DRAFT_REV);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ";
break; /* }}} */
case 'ApproveByMe': // Documents I have to approve {{{
if (!$this->db->createTemporaryTable("ttapproveid")) {
@ -971,7 +982,10 @@ class SeedDMS_Core_DMS {
$queryStr .= ") ";
}
$queryStr .= "AND `tblDocumentApproveLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") ";
$docstatarr = array(S_DRAFT_APP);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ";
break; /* }}} */
case 'ReceiptByMe': // Documents I have to receipt {{{
if (!$this->db->createTemporaryTable("ttreceiptid")) {
@ -1009,6 +1023,25 @@ class SeedDMS_Core_DMS {
$queryStr .= "AND `tblDocumentRevisionLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_IN_REVISION.") ";
break; /* }}} */
case 'SleepingReviseByMe': // Documents I have to receipt {{{
if (!$this->db->createTemporaryTable("ttrevisionid")) {
return false;
}
$queryStr .=
"LEFT JOIN `tblDocumentRevisors` on `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` ".
"LEFT JOIN `ttrevisionid` ON `ttrevisionid`.`revisionID` = `tblDocumentRevisors`.`revisionID` ".
"LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogID` ";
if($user) {
$queryStr .= "WHERE (`tblDocumentRevisors`.`type` = 0 AND `tblDocumentRevisors`.`required` = ".$user->getID()." ";
if($groups)
$queryStr .= "OR `tblDocumentRevisors`.`type` = 1 AND `tblDocumentRevisors`.`required` IN (".implode(',', $groups).") ";
$queryStr .= ") ";
}
$queryStr .= "AND `tblDocumentContent`.`revisiondate` IS NOT NULL AND `tblDocumentContent`.`revisiondate` <= ".$this->db->getCurrentDatetime(14)." ";
$queryStr .= "AND `tblDocumentRevisionLog`.`status` = -3 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_RELEASED.") ";
break; /* }}} */
case 'NeedsCorrectionOwner': // Documents that need to be corrected {{{
$queryStr .=
"LEFT JOIN `tblDocuments` ON `tblDocuments`.`id` = `ttcontentid`.`document` ";
@ -1082,14 +1115,21 @@ class SeedDMS_Core_DMS {
* @param string $listtype type of document list, can be 'AppRevByMe',
* 'AppRevOwner', 'ReceiptByMe', 'ReviseByMe', 'LockedByMe', 'MyDocs'
* @param SeedDMS_Core_User $param1 user
* @param bool $param2 set to true
* if 'ReviewByMe', 'ApproveByMe', 'AppRevByMe', 'ReviseByMe', 'ReceiptByMe'
* shall return even documents І have already taken care of.
* @param bool|integer|string $param2 if set to true
* 'ReviewByMe', 'ApproveByMe', 'AppRevByMe', 'ReviseByMe', 'ReceiptByMe'
* will also return documents which the reviewer, approver, etc.
* has already taken care of. If set to false only
* untouched documents will be returned. In case of 'ExpiredOwner',
* 'SleepingReviseByMe' this
* parameter contains the number of days (a negative number is allowed)
* relativ to the current date or a date in format 'yyyy-mm-dd'
* (even in the past).
* @param string $param3 sort list by this field
* @param string $param4 order direction
* @param bool $param5 set to false if expired documents shall not be considered
* @return array|bool
*/
function getDocumentList($listtype, $param1=null, $param2=false, $param3='', $param4='') { /* {{{ */
function getDocumentList($listtype, $param1=null, $param2=false, $param3='', $param4='', $param5=true) { /* {{{ */
/* The following query will get all documents and lots of additional
* information. It requires the two temporary tables ttcontentid and
* ttstatid.
@ -1178,7 +1218,10 @@ class SeedDMS_Core_DMS {
}
if (strlen($docCSV)>0) {
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_EXPIRED.") ".
$docstatarr = array(S_DRAFT_REV, S_DRAFT_APP);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ".
"AND `tblDocuments`.`id` IN (" . $docCSV . ") ".
"ORDER BY `statusDate` DESC";
} else {
@ -1216,12 +1259,15 @@ class SeedDMS_Core_DMS {
$queryStr .= "OR `tblDocumentReviewers`.`type` = 1 AND `tblDocumentReviewers`.`required` IN (".implode(',', $groups).") ";
$queryStr .= ") ";
}
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_EXPIRED.") ";
$docstatarr = array(S_DRAFT_REV);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ";
if(!$param2)
$queryStr .= " AND `tblDocumentReviewLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else if ($orderby=='s') $queryStr .= "ORDER BY `tblDocumentStatusLog`.`status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
@ -1295,12 +1341,15 @@ class SeedDMS_Core_DMS {
$queryStr .= "OR `tblDocumentApprovers`.`type` = 1 AND `tblDocumentApprovers`.`required` IN (".implode(',', $groups).")";
$queryStr .= ") ";
}
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") ";
$docstatarr = array(S_DRAFT_APP);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ";
if(!$param2)
$queryStr .= " AND `tblDocumentApproveLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else if ($orderby=='s') $queryStr .= "ORDER BY `tblDocumentStatusLog`.`status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
@ -1330,7 +1379,10 @@ class SeedDMS_Core_DMS {
}
if (strlen($docCSV)>0) {
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") ".
$docstatarr = array(S_DRAFT_APP);
if($param5)
$docstatarr[] = S_EXPIRED;
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".implode(',', $docstatarr).") ".
"AND `tblDocuments`.`id` IN (" . $docCSV . ") ";
//$queryStr .= "ORDER BY `statusDate` DESC";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
@ -1376,7 +1428,7 @@ class SeedDMS_Core_DMS {
$queryStr .= " AND `tblDocumentReceiptLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else if ($orderby=='s') $queryStr .= "ORDER BY `tblDocumentStatusLog`.`status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
@ -1450,7 +1502,7 @@ class SeedDMS_Core_DMS {
$queryStr .= " AND `tblDocumentRevisionLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else if ($orderby=='s') $queryStr .= "ORDER BY `tblDocumentStatusLog`.`status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
@ -1490,10 +1542,57 @@ class SeedDMS_Core_DMS {
}
}
break; // }}}
case 'SleepingReviseByMe': // Documents I have to revise but are still sleeping {{{
if (!$this->db->createTemporaryTable("ttrevisionid")) {
return false;
}
$dayoffset = 0;
if(is_int($param2)) {
$dayoffset = (int) $param2;
}
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$groups = array();
$tmp = $user->getGroups();
foreach($tmp as $group)
$groups[] = $group->getID();
$selectStr .= ", `tblDocumentRevisionLog`.`date` as `duedate` ";
$queryStr .=
"LEFT JOIN `tblDocumentRevisors` on `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` ".
"LEFT JOIN `ttrevisionid` ON `ttrevisionid`.`revisionID` = `tblDocumentRevisors`.`revisionID` ".
"LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogID` ";
$queryStr .= "WHERE (`tblDocumentRevisors`.`type` = 0 AND `tblDocumentRevisors`.`required` = ".$user->getID()." ";
if($groups)
$queryStr .= "OR `tblDocumentRevisors`.`type` = 1 AND `tblDocumentRevisors`.`required` IN (".implode(',', $groups).")";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentContent`.`revisiondate` IS NOT NULL AND `tblDocumentContent`.`revisiondate` <= ".$this->db->getCurrentDatetime($dayoffset)." ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` = ".S_RELEASED." ";
$queryStr .= " AND `tblDocumentRevisionLog`.`status` = -3 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `tblDocumentStatusLog`.`status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
break; // }}}
case 'DueRevision': // Documents with a due revision, which is not started {{{
if (!$this->db->createTemporaryTable("ttrevisionid")) {
return false;
}
$dayoffset = 0;
if(is_int($param2)) {
$dayoffset = (int) $param2;
}
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
@ -1502,7 +1601,7 @@ class SeedDMS_Core_DMS {
$orderdir = 'ASC';
$selectStr .= ", `tblDocumentContent`.`revisiondate` ";
$queryStr .= "WHERE `tblDocumentContent`.`revisiondate` IS NOT NULL AND `tblDocumentContent`.`revisiondate` <= ".$this->db->getCurrentDatetime()." ";
$queryStr .= "WHERE `tblDocumentContent`.`revisiondate` IS NOT NULL AND `tblDocumentContent`.`revisiondate` <= ".$this->db->getCurrentDatetime($dayoffset)." ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` = ".S_RELEASED." ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
@ -1954,10 +2053,11 @@ class SeedDMS_Core_DMS {
*/
function search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=null, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x3, $expirationstartdate=array(), $expirationenddate=array(), $reception=array()) { /* {{{ */
$orderby = '';
$revisionstartdate = $revisionenddate = '';
if(is_array($query)) {
foreach(array('limit', 'offset', 'logicalmode', 'searchin', 'startFolder', 'owner', 'status', 'creationstartdate', 'creationenddate', 'modificationstartdate', 'modificationenddate', 'categories', 'attributes', 'mode', 'expirationstartdate', 'expirationenddate', 'reception') as $paramname)
foreach(array('limit', 'offset', 'logicalmode', 'searchin', 'startFolder', 'owner', 'status', 'creationstartdate', 'creationenddate', 'modificationstartdate', 'modificationenddate', 'categories', 'attributes', 'mode', 'revisionstartdate', 'revisionenddate', 'expirationstartdate', 'expirationenddate', 'reception') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : ${$paramname};
foreach(array('orderby') as $paramname)
foreach(array('orderby', 'statusstartdate', 'statusenddate') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : '';
$query = isset($query['query']) ? $query['query'] : '';
}
@ -1993,6 +2093,10 @@ class SeedDMS_Core_DMS {
$searchFolder = "";
if ($startFolder) {
$searchFolder = "`tblFolders`.`folderList` LIKE '%:".$startFolder->getID().":%'";
if($this->checkWithinRootDir)
$searchFolder = '('.$searchFolder." AND `tblFolders`.`folderList` LIKE '%:".$this->rootFolderID.":%')";
} elseif($this->checkWithinRootDir) {
$searchFolder = "`tblFolders`.`folderList` LIKE '%:".$this->rootFolderID.":%'";
}
// Check to see if the search has been restricted to a particular
@ -2023,10 +2127,22 @@ class SeedDMS_Core_DMS {
if(is_string($attribute))
$attribute = array($attribute);
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND (`tblFolderAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblFolderAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
} else
} else {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value`='".$attribute."' AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value` like '%".$attribute."%' AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
}
} else {
if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date && is_array($attribute)) {
$kkll = [];
if(!empty($attribute['from']))
$kkll[] = "`tblFolderAttributes`.`value`>='".$attribute['from']."'";
if(!empty($attribute['to']))
$kkll[] = "`tblFolderAttributes`.`value`<='".$attribute['to']."'";
if($kkll)
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND ".implode(' AND ', $kkll)." AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
} else {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value` like '%".$attribute."%' AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
}
}
}
}
}
@ -2037,7 +2153,7 @@ class SeedDMS_Core_DMS {
if ($creationstartdate) {
$startdate = SeedDMS_Core_DMS::makeTimeStamp($creationstartdate['hour'], $creationstartdate['minute'], $creationstartdate['second'], $creationstartdate['year'], $creationstartdate["month"], $creationstartdate["day"]);
if ($startdate) {
$searchCreateDate .= "`tblFolders`.`date` >= ".$startdate;
$searchCreateDate .= "`tblFolders`.`date` >= ".$this->db->qstr($startdate);
}
}
if ($creationenddate) {
@ -2046,7 +2162,7 @@ class SeedDMS_Core_DMS {
/** @noinspection PhpUndefinedVariableInspection */
if($startdate)
$searchCreateDate .= " AND ";
$searchCreateDate .= "`tblFolders`.`date` <= ".$stopdate;
$searchCreateDate .= "`tblFolders`.`date` <= ".$this->db->qstr($stopdate);
}
}
@ -2155,6 +2271,10 @@ class SeedDMS_Core_DMS {
$searchFolder = "";
if ($startFolder) {
$searchFolder = "`tblDocuments`.`folderList` LIKE '%:".$startFolder->getID().":%'";
if($this->checkWithinRootDir)
$searchFolder = '('.$searchFolder." AND `tblDocuments`.`folderList` LIKE '%:".$this->rootFolderID.":%')";
} elseif($this->checkWithinRootDir) {
$searchFolder = "`tblDocuments`.`folderList` LIKE '%:".$this->rootFolderID.":%'";
}
// Check to see if the search has been restricted to a particular
@ -2198,8 +2318,19 @@ class SeedDMS_Core_DMS {
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblDocumentAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else {
if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date && is_array($attribute)) {
$kkll = [];
if(!empty($attribute['from']))
$kkll[] = "`tblDocumentAttributes`.`value`>='".$attribute['from']."'";
if(!empty($attribute['to']))
$kkll[] = "`tblDocumentAttributes`.`value`<='".$attribute['to']."'";
if($kkll)
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND ".implode(' AND ', $kkll)." AND `tblDocumentAttributes`.`document`=`tblDocuments`.`id`)";
} else {
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
}
}
}
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
if($attrdef->getValueSet()) {
@ -2211,10 +2342,22 @@ class SeedDMS_Core_DMS {
} else {
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value`='".$attribute."' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id)";
}
} else
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id)";
} else {
if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date && is_array($attribute)) {
$kkll = [];
if(!empty($attribute['from']))
$kkll[] = "`tblDocumentContentAttributes`.`value`>='".$attribute['from']."'";
if(!empty($attribute['to']))
$kkll[] = "`tblDocumentContentAttributes`.`value`<='".$attribute['to']."'";
if($kkll)
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND ".implode(' AND ', $kkll)." AND `tblDocumentContentAttributes`.`content`=`tblDocumentContent`.`id`)";
} else {
$lsearchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id)";
}
}
}
$searchAttributes[] = "(".implode(" OR ", $lsearchAttributes).")";
if($lsearchAttributes)
$searchAttributes[] = "(".implode(" OR ", $lsearchAttributes).")";
}
}
}
@ -2224,7 +2367,7 @@ class SeedDMS_Core_DMS {
if ($creationstartdate) {
$startdate = SeedDMS_Core_DMS::makeTimeStamp($creationstartdate['hour'], $creationstartdate['minute'], $creationstartdate['second'], $creationstartdate['year'], $creationstartdate["month"], $creationstartdate["day"]);
if ($startdate) {
$searchCreateDate .= "`tblDocuments`.`date` >= ".$startdate;
$searchCreateDate .= "`tblDocuments`.`date` >= ".$this->db->qstr($startdate);
}
}
if ($creationenddate) {
@ -2232,7 +2375,7 @@ class SeedDMS_Core_DMS {
if ($stopdate) {
if($searchCreateDate)
$searchCreateDate .= " AND ";
$searchCreateDate .= "`tblDocuments`.`date` <= ".$stopdate;
$searchCreateDate .= "`tblDocuments`.`date` <= ".$this->db->qstr($stopdate);
}
}
if ($modificationstartdate) {
@ -2248,7 +2391,24 @@ class SeedDMS_Core_DMS {
if ($stopdate) {
if($searchCreateDate)
$searchCreateDate .= " AND ";
$searchCreateDate .= "`tblDocumentContent`.`date` <= ".$stopdate;
$searchCreateDate .= "`tblDocumentContent`.`date` <= ".$this->db->qstr($stopdate);
}
}
$searchRevisionDate = "";
if ($revisionstartdate) {
$startdate = $revisionstartdate['year'].'-'.$revisionstartdate["month"].'-'.$revisionstartdate["day"];
if ($startdate) {
if($searchRevisionDate)
$searchRevisionDate .= " AND ";
$searchRevisionDate .= "`tblDocumentContent`.`revisiondate` >= '".$startdate."'";
}
}
if ($revisionenddate) {
$stopdate = $revisionenddate["year"].'-'.$revisionenddate["month"].'-'.$revisionenddate["day"];
if ($stopdate) {
if($searchRevisionDate)
$searchRevisionDate .= " AND ";
$searchRevisionDate .= "`tblDocumentContent`.`revisiondate` <= '".$stopdate."'";
}
}
$searchExpirationDate = '';
@ -2257,7 +2417,7 @@ class SeedDMS_Core_DMS {
if ($startdate) {
if($searchExpirationDate)
$searchExpirationDate .= " AND ";
$searchExpirationDate .= "`tblDocuments`.`expires` >= ".$startdate;
$searchExpirationDate .= "`tblDocuments`.`expires` >= ".$this->db->qstr($startdate);
}
}
if ($expirationenddate) {
@ -2265,7 +2425,24 @@ class SeedDMS_Core_DMS {
if ($stopdate) {
if($searchExpirationDate)
$searchExpirationDate .= " AND ";
$searchExpirationDate .= "`tblDocuments`.`expires` <= ".$stopdate;
$searchExpirationDate .= "`tblDocuments`.`expires` <= ".$this->db->qstr($stopdate);
}
}
$searchStatusDate = '';
if ($statusstartdate) {
$startdate = $statusstartdate['year'].'-'.$statusstartdate["month"].'-'.$statusstartdate["day"].' '.$statusstartdate['hour'].':'.$statusstartdate['minute'].':'.$statusstartdate['second'];
if ($startdate) {
if($searchStatusDate)
$searchStatusDate .= " AND ";
$searchStatusDate .= "`tblDocumentStatusLog`.`date` >= ".$this->db->qstr($startdate);
}
}
if ($statusenddate) {
$stopdate = $statusenddate['year'].'-'.$statusenddate["month"].'-'.$statusenddate["day"].' '.$statusenddate['hour'].':'.$statusenddate['minute'].':'.$statusenddate['second'];
if ($stopdate) {
if($searchStatusDate)
$searchStatusDate .= " AND ";
$searchStatusDate .= "`tblDocumentStatusLog`.`date` <= ".$this->db->qstr($stopdate);
}
}
@ -2317,9 +2494,15 @@ class SeedDMS_Core_DMS {
if (strlen($searchCreateDate)>0) {
$searchQuery .= " AND (".$searchCreateDate.")";
}
if (strlen($searchRevisionDate)>0) {
$searchQuery .= " AND (".$searchRevisionDate.")";
}
if (strlen($searchExpirationDate)>0) {
$searchQuery .= " AND (".$searchExpirationDate.")";
}
if (strlen($searchStatusDate)>0) {
$searchQuery .= " AND (".$searchStatusDate.")";
}
if ($searchAttributes) {
$searchQuery .= " AND (".implode(" AND ", $searchAttributes).")";
}
@ -2350,7 +2533,7 @@ class SeedDMS_Core_DMS {
}
}
if($searchKey || $searchOwner || $searchCategories || $searchCreateDate || $searchExpirationDate || $searchAttributes || $status || $reception) {
if($searchKey || $searchOwner || $searchCategories || $searchCreateDate || $searchRevisionDate || $searchExpirationDate || $searchStatusDate || $searchAttributes || $status) {
// Count the number of rows that the search will produce.
$resArr = $this->db->getResultArray("SELECT COUNT(*) AS num FROM (SELECT DISTINCT `tblDocuments`.`id` ".$searchQuery.") a");
$totalDocs = 0;
@ -2471,6 +2654,9 @@ class SeedDMS_Core_DMS {
* @return SeedDMS_Core_Folder|boolean found folder or false
*/
function getFolderByName($name, $folder=null) { /* {{{ */
$classname = $this->classnames['folder'];
return $classname::getInstanceByName($name, $folder, $this);
if (!$name) return false;
$queryStr = "SELECT * FROM `tblFolders` WHERE `name` = " . $this->db->qstr($name);
@ -3717,11 +3903,14 @@ class SeedDMS_Core_DMS {
/** @var SeedDMS_Core_Document[] $versions */
$versions = array();
foreach($resArr as $row) {
/** @var SeedDMS_Core_Document $document */
$document = new $this->classnames['document']($row['document'], '', '', '', '', '', '', '', '', '', '', '');
$document->setDMS($this);
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum'], $row['fileSize'], $row['checksum']);
$versions[] = $version;
$document = $this->getDocument($row['document']);
/* getting the document can fail if it is outside the root folder
* and checkWithinRootDir is enabled.
*/
if($document) {
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum'], $row['fileSize'], $row['checksum']);
$versions[] = $version;
}
}
return $versions;
@ -3744,11 +3933,14 @@ class SeedDMS_Core_DMS {
/** @var SeedDMS_Core_Document[] $versions */
$versions = array();
foreach($resArr as $row) {
/** @var SeedDMS_Core_Document $document */
$document = new $this->classnames['document']($row['document'], '', '', '', '', '', '', '', '', '', '', '');
$document->setDMS($this);
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
$versions[] = $version;
$document = $this->getDocument($row['document']);
/* getting the document can fail if it is outside the root folder
* and checkWithinRootDir is enabled.
*/
if($document) {
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
$versions[] = $version;
}
}
return $versions;
@ -3812,12 +4004,17 @@ class SeedDMS_Core_DMS {
$versions = array();
foreach($resArr as $row) {
$document = $this->getDocument($row['document']);
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
if(!isset($versions[$row['dupid']])) {
$versions[$row['id']]['content'] = $version;
$versions[$row['id']]['duplicates'] = array();
} else
$versions[$row['dupid']]['duplicates'][] = $version;
/* getting the document can fail if it is outside the root folder
* and checkWithinRootDir is enabled.
*/
if($document) {
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
if(!isset($versions[$row['dupid']])) {
$versions[$row['id']]['content'] = $version;
$versions[$row['id']]['duplicates'] = array();
} else
$versions[$row['dupid']]['duplicates'][] = $version;
}
}
return $versions;

View File

@ -321,6 +321,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
// $queryStr = "SELECT * FROM `tblDocuments` WHERE `id` = " . (int) $id;
$queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lock` FROM `tblDocuments` LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id` = `tblDocumentLocks`.`document` WHERE `id` = " . (int) $id;
if($dms->checkWithinRootDir)
$queryStr .= " AND `folderList` LIKE '%:".$dms->rootFolderID.":%'";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
@ -1321,9 +1323,9 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$this->_accessList[$mode] = array("groups" => array(), "users" => array());
foreach ($resArr as $row) {
if ($row["userID"] != -1)
array_push($this->_accessList[$mode]["users"], new SeedDMS_Core_UserAccess($this->_dms->getUser($row["userID"]), $row["mode"]));
array_push($this->_accessList[$mode]["users"], new SeedDMS_Core_UserAccess($this->_dms->getUser($row["userID"]), (int) $row["mode"]));
else //if ($row["groupID"] != -1)
array_push($this->_accessList[$mode]["groups"], new SeedDMS_Core_GroupAccess($this->_dms->getGroup($row["groupID"]), $row["mode"]));
array_push($this->_accessList[$mode]["groups"], new SeedDMS_Core_GroupAccess($this->_dms->getGroup($row["groupID"]), (int) $row["mode"]));
}
}
@ -1894,12 +1896,19 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
/* $attribute can be a string or an array */
if($attribute)
if(!$content->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) {
if($attribute) {
if($attrdef = $this->_dms->getAttributeDefinition($attrdefid)) {
if(!$content->setAttributeValue($attrdef, $attribute)) {
$this->_removeContent($content);
$db->rollbackTransaction();
return false;
}
} else {
$this->_removeContent($content);
$db->rollbackTransaction();
return false;
}
}
}
}
@ -2004,7 +2013,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* @param string $orgFileName original file name
* @param string $fileType
* @param string $mimeType MimeType of the content
* @param integer $version version number of content or 0 if next higher version shall be used.
* @param integer $version version number of content or 0 if latest version shall be replaced.
* @return bool/array false in case of an error or a result set
*/
function replaceContent($version, $user, $tmpFile, $orgFileName, $fileType, $mimeType) { /* {{{ */
@ -2189,8 +2198,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* Get the latest version of document
*
* This function returns the latest accessible version of a document.
* If content access has been restricted by setting
* {@link SeedDMS_Core_DMS::noReadForStatus} the function will go
* If content access has been restricted by the role of the user
* the function will go
* backwards in history until an accessible version is found. If none
* is found null will be returned.
* Access rights based on the document status are calculated for the
@ -2637,7 +2646,11 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* @return array list of files, false in case of an sql error
*/
function getDocumentFiles($version=0, $incnoversion=true) { /* {{{ */
if (!isset($this->_documentFiles)) {
/* use a smarter caching because removing a document will call this function
* for each version and the document itself.
*/
$hash = substr(md5($version.$incnoversion), 0, 4);
if (!isset($this->_documentFiles[$hash])) {
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentFiles` WHERE `document` = " . $this->_id;
@ -2655,16 +2668,16 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr) return false;
$this->_documentFiles = array();
$this->_documentFiles = array($hash=>array());
$user = $this->_dms->getLoggedInUser();
foreach ($resArr as $row) {
$file = new SeedDMS_Core_DocumentFile($row["id"], $this, $row["userID"], $row["comment"], $row["date"], $row["dir"], $row["fileType"], $row["mimeType"], $row["orgFileName"], $row["name"], $row["version"], $row["public"]);
if($file->getAccessMode($user) >= M_READ)
array_push($this->_documentFiles, $file);
array_push($this->_documentFiles[$hash], $file);
}
}
return $this->_documentFiles;
return $this->_documentFiles[$hash];
} /* }}} */
function addDocumentFile($name, $comment, $user, $tmpFile, $orgFileName,$fileType, $mimeType,$version=0,$public=1) { /* {{{ */

View File

@ -205,21 +205,48 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$db = $dms->getDB();
$queryStr = "SELECT * FROM `tblFolders` WHERE `id` = " . (int) $id;
if($dms->checkWithinRootDir && ($id != $dms->rootFolderID))
$queryStr .= " AND `folderList` LIKE '%:".$dms->rootFolderID.":%'";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
else if (count($resArr) != 1)
elseif (count($resArr) != 1)
return null;
return self::getInstanceByData($resArr[0], $dms);
$resArr = $resArr[0];
$classname = $dms->getClassname('folder');
/** @var SeedDMS_Core_Folder $folder */
$folder = new $classname($resArr["id"], $resArr["name"], $resArr["parent"], $resArr["comment"], $resArr["date"], $resArr["owner"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr["sequence"]);
$folder->setDMS($dms);
$folder = $folder->applyDecorators();
return $folder;
} /* }}} */
/**
* Return a folder by its name
*
* This function retrieves a folder from the database by its name. The
* search covers the whole database. If
* the parameter $folder is not null, it will search for the name
* only within this parent folder. It will not be done recursively.
*
* @param string $name name of the folder
* @param SeedDMS_Core_Folder $folder parent folder
* @return SeedDMS_Core_Folder|boolean found folder or false
*/
public static function getInstanceByName($name, $folder=null, $dms) { /* {{{ */
if (!$name) return false;
$db = $dms->getDB();
$queryStr = "SELECT * FROM `tblFolders` WHERE `name` = " . $db->qstr($name);
if($folder)
$queryStr .= " AND `parent` = ". $folder->getID();
if($dms->checkWithinRootDir && ($id != $dms->rootFolderID))
$queryStr .= " AND `folderList` LIKE '%:".$dms->rootFolderID.":%'";
$queryStr .= " LIMIT 1";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
if(!$resArr)
return false;
return self::getInstanceByData($resArr[0], $dms);
} /* }}} */
/**
@ -673,7 +700,12 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
if($attribute)
if(!$newFolder->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) {
if($attrdef = $this->_dms->getAttributeDefinition($attrdefid)) {
if(!$newFolder->setAttributeValue($attrdef, $attribute)) {
$db->rollbackTransaction();
return false;
}
} else {
$db->rollbackTransaction();
return false;
}
@ -1000,12 +1032,19 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
/* $attribute can be a string or an array */
if($attribute)
if(!$document->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) {
if($attribute) {
if($attrdef = $this->_dms->getAttributeDefinition($attrdefid)) {
if(!$document->setAttributeValue($attrdef, $attribute)) {
$document->remove();
$db->rollbackTransaction();
return false;
}
} else {
$document->remove();
$db->rollbackTransaction();
return false;
}
}
}
}
@ -1261,9 +1300,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$this->_accessList[$mode] = array("groups" => array(), "users" => array());
foreach ($resArr as $row) {
if ($row["userID"] != -1)
array_push($this->_accessList[$mode]["users"], new SeedDMS_Core_UserAccess($this->_dms->getUser($row["userID"]), $row["mode"]));
array_push($this->_accessList[$mode]["users"], new SeedDMS_Core_UserAccess($this->_dms->getUser($row["userID"]), (int) $row["mode"]));
else //if ($row["groupID"] != -1)
array_push($this->_accessList[$mode]["groups"], new SeedDMS_Core_GroupAccess($this->_dms->getGroup($row["groupID"]), $row["mode"]));
array_push($this->_accessList[$mode]["groups"], new SeedDMS_Core_GroupAccess($this->_dms->getGroup($row["groupID"]), (int) $row["mode"]));
}
}
@ -1508,10 +1547,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
* notification for the folder
*
* @param integer $type type of notification (not yet used)
* @param bool $incdisabled set to true if disabled user shall be included
* @return SeedDMS_Core_User[]|SeedDMS_Core_Group[]|bool array with a the elements 'users' and 'groups' which
* contain a list of users and groups.
*/
function getNotifyList($type=0) { /* {{{ */
function getNotifyList($type=0, $incdisabled=false) { /* {{{ */
if (empty($this->_notifyList)) {
$db = $this->_dms->getDB();
@ -1525,7 +1565,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
{
if ($row["userID"] != -1) {
$u = $this->_dms->getUser($row["userID"]);
if($u && !$u->isDisabled())
if($u && (!$u->isDisabled() || $incdisabled))
array_push($this->_notifyList["users"], $u);
} else {//if ($row["groupID"] != -1)
$g = $this->_dms->getGroup($row["groupID"]);

View File

@ -124,6 +124,15 @@ class SeedDMS_Core_Group { /* {{{ */
return $groups;
} /* }}} */
/**
* Check if this object is of type 'group'.
*
* @param string $type type of object
*/
public function isType($type) { /* {{{ */
return $type == 'group';
} /* }}} */
/**
* @param SeedDMS_Core_DMS $dms
*/
@ -131,6 +140,13 @@ class SeedDMS_Core_Group { /* {{{ */
$this->_dms = $dms;
} /* }}} */
/**
* @return SeedDMS_Core_DMS $dms
*/
function getDMS() {
return $this->_dms;
}
/**
* @return int
*/

View File

@ -244,6 +244,7 @@ class SeedDMS_Core_Object { /* {{{ */
$sep = substr($attrdef->getValueSet(), 0, 1);
$value = $sep.implode($sep, $value);
}
/* Handle the case if an attribute is not set already */
if(!isset($this->_attributes[$attrdef->getId()])) {
switch(get_class($this)) {
case $this->_dms->getClassname('document'):
@ -271,6 +272,7 @@ class SeedDMS_Core_Object { /* {{{ */
return true;
}
/* The attribute already exists. setValue() will either update or delete it. */
$this->_attributes[$attrdef->getId()]->setValue($value);
return true;

View File

@ -698,6 +698,15 @@ class SeedDMS_Core_User { /* {{{ */
return $users;
} /* }}} */
/**
* Check if this object is of type 'user'.
*
* @param string $type type of object
*/
public function isType($type) { /* {{{ */
return $type == 'user';
} /* }}} */
/**
* @param SeedDMS_Core_DMS $dms
*/
@ -705,6 +714,13 @@ class SeedDMS_Core_User { /* {{{ */
$this->_dms = $dms;
}
/**
* @return SeedDMS_Core_DMS $dms
*/
function getDMS() {
return $this->_dms;
}
/**
* @return int
*/
@ -1137,7 +1153,8 @@ class SeedDMS_Core_User { /* {{{ */
$db = $this->_dms->getDB();
$homefolder = intval($homefolder);
$queryStr = "UPDATE `tblUsers` SET `homefolder` = " . ($homefolder ? $homefolder : NULL) . " WHERE `id` = " . $this->_id;
$queryStr = "UPDATE `tblUsers` SET `homefolder` = " . ($homefolder ? $homefolder : 'NULL') . " WHERE `id` = " . $this->_id;
echo $queryStr;
if (!$db->getResult($queryStr))
return false;

View File

@ -128,10 +128,10 @@ class SeedDMS_Core_DatabaseAccess {
function TableList() { /* {{{ */
switch($this->_driver) {
case 'mysql':
$sql = "select TABLE_NAME as name from information_schema.tables where TABLE_SCHEMA='".$this->_database."' and TABLE_TYPE='BASE TABLE'";
$sql = "SELECT `TABLE_NAME` AS `name` FROM `information_schema`.`tables` WHERE `TABLE_SCHEMA`='".$this->_database."' AND `TABLE_TYPE`='BASE TABLE'";
break;
case 'sqlite':
$sql = "select tbl_name as name from sqlite_master where type='table'";
$sql = "SELECT tbl_name AS name FROM sqlite_master WHERE type='table'";
break;
case 'pgsql':
$sql = "select tablename as name from pg_catalog.pg_tables where schemaname='public'";
@ -146,6 +146,33 @@ class SeedDMS_Core_DatabaseAccess {
return $res;
} /* }}} */
/**
* Check if database has a table
*
* This function will check if the database has a table with the given table name
*
* @return bool true if table exists, otherwise false
*/
function hasTable($name) { /* {{{ */
switch($this->_driver) {
case 'mysql':
$sql = "SELECT `TABLE_NAME` AS `name` FROM `information_schema`.`tables` WHERE `TABLE_SCHEMA`='".$this->_database."' AND `TABLE_TYPE`='BASE TABLE' AND `TABLE_NAME`=".$this->qstr($name);
break;
case 'sqlite':
$sql = "SELECT tbl_name AS name FROM sqlite_master WHERE type='table' AND `tbl_name`=".$this->qstr($name);
break;
case 'pgsql':
$sql = "SELECT tablename AS name FROM pg_catalog.pg_tables WHERE schemaname='public' AND tablename=".$this->qstr($name);
break;
default:
return false;
}
$arr = $this->getResultArray($sql);
if($arr)
return true;
return false;
} /* }}} */
/**
* Return list of all database views
*
@ -986,16 +1013,25 @@ class SeedDMS_Core_DatabaseAccess {
*
* @return string sql code
*/
function getCurrentDatetime() { /* {{{ */
function getCurrentDatetime($dayoffset=0) { /* {{{ */
switch($this->_driver) {
case 'mysql':
return "CURRENT_TIMESTAMP";
if($dayoffset)
return "DATE_ADD(CURRENT_TIMESTAMP, INTERVAL ".$dayoffset." DAY)";
else
return "CURRENT_TIMESTAMP";
break;
case 'sqlite':
return "datetime('now', 'localtime')";
if($dayoffset)
return "datetime('now', '".$dayoffset." days', 'localtime')";
else
return "datetime('now', 'localtime')";
break;
case 'pgsql':
return "now()";
if($dayoffset)
return "now() + interval '".$dayoffset." day'";
else
return "now()";
break;
}
return '';

View File

@ -12,7 +12,7 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2020-06-16</date>
<date>2021-04-07</date>
<time>09:43:12</time>
<version>
<release>6.1.0</release>
@ -1841,6 +1841,51 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp()
- set dms of new user instances in SeedDMS_Core_Group
</notes>
</release>
<release>
<date>2020-09-29</date>
<time>13:44:55</time>
<version>
<release>5.1.21</release>
<api>5.1.21</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- SeedDMS_Folder_DMS::getAccessList() and getDefaultAccess() do not return fals anymore if the parent does not exists. They just stop inheritance.
- pass attribute value to callback 'onAttributeValidate'
- new paramter 'new' of methode SeedDMЅ_Core_AttributeDefinition::validate()
- check if folder/document is below rootDir can be turned on (default off)
- SeedDMS_Core_User::setHomeFolder() can be used to unset the home folder
- check if attribute definition exists when setting attributes of folders and documents
</notes>
</release>
<release>
<date>2021-03-15</date>
<time>13:44:55</time>
<version>
<release>5.1.22</release>
<api>5.1.22</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add SeedDMS_Core_DatabaseAccess::hasTable()
- add SeedDMS_Core_User->isType() and SeedDMS_Core_Group->isType()
- add SeedDMS_Core_User->getDMS() and SeedDMS_Core_Group->getDMS()
- add new parameter to SeedDMS_Core_DMS->getDocumentList() for skipping expired documents
- add parameter $incdisabled to SeedDMS_Core_Folder::getNotifyList()
- do not validate value in SeedDMS_Core_Attribute::setValue(), it should have been done before
- SeedDMS_Core_DMS::search() can search for last date of document status change
- smarter caching in SeedDMS_Core_Document::getDocumentFiles() which fixes a potential
problem when removing a document
</notes>
</release>
<release>
<date>2017-02-28</date>
<time>06:34:50</time>
@ -2107,5 +2152,42 @@ SeedDMS_Core_DMS::filterAccess() properly checks for documents
- SeedDMS_Folder_DMS::getAccessList() and getDefaultAccess() do not return fals anymore if the parent does not exists. They just stop inheritance.
</notes>
</release>
<release>
<date>2021-01-04</date>
<time>13:44:55</time>
<version>
<release>6.0.14</release>
<api>6.0.14</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
better error checking in SeedDMS_Core_Document::cancelCheckOut()
</notes>
</release>
<release>
<date>2021-04-07</date>
<time>13:44:55</time>
<version>
<release>6.0.15</release>
<api>6.0.15</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add searching for revision date
- expired documents can be skipped from counting in countTasks()
- SeedDMS_Core_DMS::getDocumentList() uses ambiguous column name when sorting by status
- add list type SleepingReviseByMe to SeedDMS_Core_DMS::getDocumentList()
- parameter 2 of SeedDMS_Core_DMS::getDocumentList() is treated as number of
days for list DueRevisions
</notes>
</release>
</changelog>
</package>

View File

@ -128,6 +128,10 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
if($comment = $document->getComment()) {
$this->addField(Zend_Search_Lucene_Field::Text('comment', $comment, 'utf-8'));
}
$tmp = explode(':', substr($document->getFolderList(), 1, -1));
foreach($tmp as $t)
$this->addField(Zend_Search_Lucene_Field::Keyword('path', $t));
// $this->addField(Zend_Search_Lucene_Field::Keyword('path', str_replace(':', 'x', $document->getFolderList())));
if($document->isType('document')) {
$this->addField(Zend_Search_Lucene_Field::Keyword('document_id', 'D'.$document->getID()));

View File

@ -110,6 +110,26 @@ class SeedDMS_Lucene_Search {
$querystr .= implode('" || users:"', $fields['user']);
$querystr .= '")';
}
if(!empty($fields['rootFolder']) && $fields['rootFolder']->getFolderList()) {
if($querystr)
$querystr .= ' && ';
$querystr .= '(path:"';
$tmp[] = $fields['rootFolder']->getID();
$querystr .= implode('" && path:"', $tmp);
//$querystr .= $fields['rootFolder']->getFolderList().$fields['rootFolder']->getID().':';
$querystr .= '")';
}
if(!empty($fields['startFolder']) && $fields['startFolder']->getFolderList()) {
if($querystr)
$querystr .= ' && ';
$querystr .= '(path:"';
// $querystr .= str_replace(':', 'x', $fields['startFolder']->getFolderList().$fields['startFolder']->getID().':');
$tmp = array();//explode(':', substr($fields['startFolder']->getFolderList(), 1, -1));
$tmp[] = $fields['startFolder']->getID();
$querystr .= implode('" && path:"', $tmp);
// $querystr .= str_replace(':', ' ', $fields['startFolder']->getFolderList().$fields['startFolder']->getID());
$querystr .= '")';
}
try {
$query = Zend_Search_Lucene_Search_QueryParser::parse($querystr);
try {

View File

@ -80,7 +80,11 @@ class SeedDMS_Preview_Base {
$pipes = array();
$timeout += time();
$process = proc_open($cmd, $descriptorspec, $pipes);
// Putting an 'exec' before the command will not fork the command
// and therefore not create any child process. proc_terminate will
// then reliably terminate the cmd and not just shell. See notes of
// https://www.php.net/manual/de/function.proc-terminate.php
$process = proc_open('exec '.$cmd, $descriptorspec, $pipes);
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
@ -176,6 +180,8 @@ class SeedDMS_Preview_Base {
if($this->xsendfile && function_exists('apache_get_modules') && in_array('mod_xsendfile',apache_get_modules())) {
header("X-Sendfile: ".$filename);
} else {
$size = filesize($filename);
header("Content-Length: " . $size);
/* Make sure output buffering is off */
if (ob_get_level()) {
ob_end_clean();

View File

@ -4,17 +4,17 @@
<channel>pear.php.net</channel>
<summary>Create thumbnails from document content for SeedDMS</summary>
<description>SeedDMS is a web based document management system (DMS). These
are the classes to create preview images from the document content.</description>
are the classes to create preview images and pdf file from the document content.</description>
<lead>
<name>Uwe Steinmann</name>
<user>steinm</user>
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2020-03-21</date>
<date>2020-12-23</date>
<time>09:49:39</time>
<version>
<release>1.3.1</release>
<release>1.3.2</release>
<api>1.3.1</api>
</version>
<stability>
@ -23,7 +23,8 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
add parameter $target to SeedDMS_Preview_pdfPreviewer::hasRawPreview() and SeedDMS_Preview_pdfPreviewer::getRawPreview()
set header Content-Length
update package description
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -436,5 +437,21 @@ fix creation of pdf preview if document content class is not SeedDMS_Core_Docume
add new methode getPreviewFile()
</notes>
</release>
<release>
<date>2020-03-21</date>
<time>09:49:39</time>
<version>
<release>1.3.1</release>
<api>1.3.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
add parameter $target to SeedDMS_Preview_pdfPreviewer::hasRawPreview() and SeedDMS_Preview_pdfPreviewer::getRawPreview()
</notes>
</release>
</changelog>
</package>

View File

@ -119,6 +119,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
}
$owner = $document->getOwner();
$this->addField('owner', $owner->getLogin());
$this->addField('path', str_replace(':', 'x', $document->getFolderList()));
if($comment = $document->getComment()) {
$this->addField('comment', $comment);
}

View File

@ -63,9 +63,9 @@ class SeedDMS_SQLiteFTS_Indexer {
*/
$version = SQLite3::version();
if($version['versionNumber'] >= 3008000)
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, notindexed=created, matchinfo=fts3)';
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, notindexed=created, matchinfo=fts3)';
else
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, matchinfo=fts3)';
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, matchinfo=fts3)';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
@ -96,7 +96,7 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".(int)$doc->getFieldValue('created').", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($doc->getFieldValue('status'))/*time()*/.")";
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status, path) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".(int)$doc->getFieldValue('created').", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($doc->getFieldValue('status')).", ".$this->_conn->quote($doc->getFieldValue('path'))/*time()*/.")";
$res = $this->_conn->exec($sql);
if($res === false) {
return false;
@ -204,7 +204,7 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status FROM docs WHERE docid=".$id;
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path FROM docs WHERE docid=".$id;
$res = $this->_conn->query($sql);
$doc = false;
if($res) {
@ -222,6 +222,7 @@ class SeedDMS_SQLiteFTS_Indexer {
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('status', $rec['status']);
$doc->addField('path', $rec['path']);
}
return $doc;
} /* }}} */
@ -236,7 +237,7 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status FROM docs WHERE documentid='F".$id."'";
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path FROM docs WHERE documentid='F".$id."'";
$res = $this->_conn->query($sql);
$doc = false;
if($res) {
@ -249,6 +250,7 @@ class SeedDMS_SQLiteFTS_Indexer {
$doc->addField('owner', $rec['owner']);
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('path', $rec['path']);
}
return $doc;
} /* }}} */

View File

@ -111,6 +111,20 @@ class SeedDMS_SQliteFTS_Search {
$querystr .= implode(' OR users:', $fields['user']);
$querystr .= ')';
}
if(!empty($fields['rootFolder']) && $fields['rootFolder']->getFolderList()) {
if($querystr)
$querystr .= ' ';
$querystr .= '(path:';
$querystr .= str_replace(':', 'x', $fields['rootFolder']->getFolderList().$fields['rootFolder']->getID().':');
$querystr .= ')';
}
if(!empty($fields['startFolder']) && $fields['startFolder']->getFolderList()) {
if($querystr)
$querystr .= ' ';
$querystr .= '(path:';
$querystr .= str_replace(':', 'x', $fields['startFolder']->getFolderList().$fields['startFolder']->getID().':');
$querystr .= ')';
}
try {
$result = $this->index->find($querystr, $limit);
$recs = array();

View File

@ -59,7 +59,8 @@ class SeedDMS_SQLiteFTS_Term {
8 => 'content',
9 => 'created',
10 => 'user',
11 => 'status'
11 => 'status',
12 => 'path'
);
$this->field = $fields[$col];
$this->_occurrence = $occurrence;

View File

@ -60,6 +60,11 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
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));
break;
}
if(!$attrdef->validate($attribute)) {
$this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
@ -79,6 +84,11 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
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));
break;
}
if(!$attrdef->validate($attribute)) {
$this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
@ -167,7 +177,7 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
}
}
if(false ==== $this->callHook('postAddDocument', $document)) {
if(false === $this->callHook('postAddDocument', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_postAddDocument_failed';
return false;

View File

@ -46,7 +46,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(null === $this->callHook('version')) {
if(file_exists($dms->contentDir . $content->getPath())) {
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($dms->contentDir . $content->getPath() ));
$efilename = rawurlencode($content->getOriginalFileName());
header("Content-Disposition: attachment; filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename);
header("Content-Type: " . $content->getMimeType());
@ -65,7 +64,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(null === $this->callHook('file')) {
if(file_exists($dms->contentDir . $file->getPath())) {
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($dms->contentDir . $file->getPath() ));
header("Content-Disposition: attachment; filename=\"" . $file->getOriginalFileName() . "\"");
header("Content-Type: " . $file->getMimeType());
header("Cache-Control: must-revalidate");
@ -86,7 +84,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
header('Content-Description: File Transfer');
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($basedir . $filename ));
$efilename = rawurlencode($filename);
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: public");
@ -106,7 +103,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(file_exists($basedir . $filename)) {
header("Content-Type: text/plain; name=\"" . $filename . "\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($basedir . $filename ));
$efilename = rawurlencode($filename);
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: must-revalidate");
@ -126,7 +122,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(file_exists($basedir . $filename)) {
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($basedir . $filename ));
$efilename = rawurlencode($filename);
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: must-revalidate");
@ -154,7 +149,6 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
header("Content-Type: ".$mimetype);
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename ));
header("Content-Disposition: attachment; filename=\"approval-" . $document->getID()."-".(int) $_GET['approvelogid'] . get_extension($mimetype) . "\"");
header("Cache-Control: must-revalidate");
sendFile($filename);

View File

@ -120,7 +120,12 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
if(!$attrdef->validate($attribute)) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
break;
}
if(!$attrdef->validate($attribute, $document, true)) {
$this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
}
@ -160,6 +165,10 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $document) {
$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();
}

View File

@ -54,7 +54,7 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) {
if($attribute) {
if(!$attrdef->validate($attribute)) {
if(!$attrdef->validate($attribute, $folder, true)) {
$this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
}
@ -93,6 +93,10 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $folder) {
$idoc = $fulltextservice->IndexedDocument($folder);
if(false !== $this->callHook('preIndexFolder', $folder, $idoc)) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getFolder((int) $folder->getId())) {
$index->delete($hit->id);
}
$index->addDocument($idoc);
$index->commit();
}

View File

@ -41,7 +41,6 @@ class SeedDMS_Controller_ExtensionMgr extends SeedDMS_Controller_Common {
if(null === $this->callHook('download')) {
if(file_exists($filename)) {
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename));
header("Content-Disposition: attachment; filename=\"" . utf8_basename($filename) . "\"; filename*=UTF-8''".utf8_basename($filename));
header("Content-Type: application/zip");
header("Cache-Control: must-revalidate");

View File

@ -67,14 +67,14 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
}
}
if($recipients['i']) {
if(!empty($recipients['i'])) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $contentResult->getContent()->addIndRecipient($u, $user);
}
}
}
if($recipients['g']) {
if(!empty($recipients['g'])) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $contentResult->getContent()->addGrpRecipient($g, $user);
@ -94,12 +94,12 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
}
if($fulltextservice && ($index = $fulltextservice->Indexer()) && $content) {
$lucenesearch = $fulltextservice->Search();
if($hit = $lucenesearch->getDocument((int) $document->getId())) {
$index->delete($hit->id);
}
$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();
}

View File

@ -56,7 +56,6 @@ class SeedDMS_Controller_ViewOnline extends SeedDMS_Controller_Common {
} else {
header("Content-Disposition: filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename);
}
header("Content-Length: " . filesize($dms->contentDir . $content->getPath()));
header("Cache-Control: must-revalidate");
sendFile($dms->contentDir.$content->getPath());

View File

@ -80,6 +80,19 @@ http://your-domain/ or http://your-domain/seeddms51x.
SECURITY CONSIDERATIONS
=======================
First of all you should always access your SeedDMS installation through
a secured https connection, unless you know precisly what are you doing.
SeedDMS ships an .htaccess file which already has some common security
http headers set. In order for them to apply you need to activate the
headers module. On Debian this can be done with
```
a2enmod headers
```
Protect directories with data or configuration
---------------------------------------------
A crucial point when setting up SeedDMS is the propper placement of the
data directory. Do not place it below your document root as
configured in your web server! If you do so, there is good change that
@ -128,7 +141,7 @@ Just open the settings in the admin tools and empty the currently set
encryption key on the tab 'System'. Save the settings and check the key again.
It should be new one. Save the settings again
UPDATING FROM A PREVIOUS VERSION OR SEEDDMS
UPGRATING FROM A PREVIOUS VERSION OR SEEDDMS
=============================================
As SeedDMS is a smooth continuation of LetoDMS there is no difference
@ -173,7 +186,7 @@ Fresh installation and take over of data
contain database updates.
- test your new installation.
Updating your current installation
Upgrading your current installation
-----------------------------------
- make a backup of your data folder and the configuration file settings.xml

View File

@ -24,3 +24,13 @@ XSendFilePath /var/www/seeddms51x/data/
If the XSendFilePath is not set propperly, you will notice an error message
in your apache log file, probably telling you that the download file could not
be found.
A positive side effect of xsendfile is support for content ranges which are
currently *not* supported by seeddms' Download and ViewOnline scripts. This is
especially usefull when previewing videos. Without content ranges it is not
possible to jump to certain time in the video.
In order to check if the xsendfile module is loaded, php uses apache_get_modules()
which is only available if php is loaded as an apache module. Running php in fpm
mode will prevent php from checking for xsendfile and consequently xsendfile support
will not be available.

View File

@ -7,4 +7,3 @@ $__lang['en_GB'] = array(
'folder_contents' => 'This used to be "Folder contents". Was changed by sample Extension.',
'task_example_example_email' => 'Email',
);
?>

View File

@ -103,30 +103,14 @@ $theme = $resArr["theme"];
$lang = $resArr["language"];
$dms->setUser($user);
if($settings->_useHomeAsRootFolder && !$user->isAdmin() && $user->getHomeFolder()) {
$dms->checkWithinRootDir = true;
$dms->setRootFolderID($user->getHomeFolder());
}
$role = $user->getRole();
$dms->noReadForStatus = $role->getNoAccess();
$notifier = new SeedDMS_NotificationService();
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'preAddService')) {
$notificationObj->preAddService($dms, $notifier);
}
}
}
if($settings->_enableEmail) {
$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword), 'email');
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'postAddService')) {
$notificationObj->postAddService($dms, $notifier);
}
}
}
require_once('inc/inc.Notification.php');
/* Include additional language file for view
* This file must set $LANG[xx][]

View File

@ -275,7 +275,7 @@ class SeedDMS_AccessOperation {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
$workflow = $latestContent->getWorkflow();
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT_REV || ($workflow && $workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && (in_array($status["status"], array(S_DRAFT_REV, S_DRAFT_APP, S_IN_REVISION)) || ($workflow && $workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
return true;
}
}
@ -601,8 +601,13 @@ class SeedDMS_AccessOperation {
if(!$this->settings->_advancedAcl) {
if($this->user->isGuest())
return false;
else
elseif($this->user->isAdmin())
return true;
else {
if($controller == 'AddDocument' && isset($get['action']) && $get['action'] == 'setOwner')
return false;
return true;
}
}
if(is_string($controller)) {
$scripts = array($controller);

View File

@ -193,8 +193,12 @@ class SeedDMS_Controller_Common {
$tmps = array();
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
$tmp = explode('_', get_parent_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
// $tmp = explode('_', get_parent_class($this));
// $tmps[] = $tmp[2];
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
foreach($tmps as $tmp)

View File

@ -84,7 +84,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
* @return false or -1 in case of error, otherwise true
*/
function toIndividual($sender, $recipient, $subject, $messagekey, $params=array(), $attachments=array()) { /* {{{ */
if(is_object($recipient) && !strcasecmp(get_class($recipient), $this->_dms->getClassname('user')) && !$recipient->isDisabled() && $recipient->getEmail()!="") {
if(is_object($recipient) && $recipient->isType('user') && !$recipient->isDisabled() && $recipient->getEmail()!="") {
$to = $recipient->getEmail();
$lang = $recipient->getLanguage();
} elseif(is_string($recipient) && trim($recipient) != "") {
@ -97,6 +97,9 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
return false;
}
if(!$to)
return false;
$returnpath = $this->from_address;
if(is_object($sender) && !strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) {
$from = $sender->getFullName() ." <". $sender->getEmail() .">";
@ -111,17 +114,49 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
}
$message = '';
if(!isset($params['__skip_header__']) || !$params['__skip_header__'])
$message .= getMLText("email_header", $params, "", $lang)."\r\n\r\n";
$message .= getMLText($messagekey, $params, "", $lang);
if(!isset($params['__skip_footer__']) || !$params['__skip_footer__'])
$message .= "\r\n\r\n".getMLText("email_footer", $params, "", $lang);
$body = '';
if(!isset($params['__skip_header__']) || !$params['__skip_header__']) {
if(!isset($params['__header__']))
$body .= getMLText("email_header", $params, "", $lang)."\r\n\r\n";
elseif($params['__header__'])
$body .= getMLText($params['__header__'], $params, "", $lang)."\r\n\r\n";
}
if(isset($params['__body__']))
$body .= $params['__body__'];
else
$body .= getMLText($messagekey, $params, "", $lang);
if(!isset($params['__skip_footer__']) || !$params['__skip_footer__']) {
if(!isset($params['__footer__']))
$body .= "\r\n\r\n".getMLText("email_footer", $params, "", $lang);
elseif($params['__footer__'])
$body .= "\r\n\r\n".getMLText($params['__footer__'], $params, "", $lang);
}
$bodyhtml = '';
if(isset($params['__body_html__']) || getMLText($messagekey.'_html')) {
if(!isset($params['__skip_header__']) || !$params['__skip_header__']) {
if(!isset($params['__header_html__']))
$bodyhtml .= getMLText("email_header_html", $params, "", $lang)."\r\n\r\n";
elseif($params['__header_html__'])
$bodyhtml .= getMLText($params['__header_html__'], $params, "", $lang)."\r\n\r\n";
}
if(isset($params['__body_html__']))
$bodyhtml .= $params['__body_html__'];
else
$bodyhtml .= getMLText($messagekey.'_html', $params, "", $lang);
if(!isset($params['__skip_footer__']) || !$params['__skip_footer__']) {
if(!isset($params['__footer_html__']))
$bodyhtml .= "\r\n\r\n".getMLText("email_footer_html", $params, "", $lang);
elseif($params['__footer_html__'])
$bodyhtml .= "\r\n\r\n".getMLText($params['__footer_html__'], $params, "", $lang);
}
}
$mime = new Mail_mime(array('eol' => "\n"));
$mime->setTXTBody($message);
// $mime->setHTMLBody($bodyhtml);
$mime->setTXTBody($body);
if($bodyhtml)
$mime->setHTMLBody($bodyhtml);
if($attachments) {
foreach($attachments as $attachment) {
@ -197,6 +232,11 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
}
} /* }}} */
/**
* This method is deprecated!
*
* The dispatching is now done in SeedDMS_NotificationService::toGroup()
*/
function toGroup($sender, $groupRecipient, $subject, $message, $params=array()) { /* {{{ */
if ((!is_object($sender) && strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) ||
(!is_object($groupRecipient) || strcasecmp(get_class($groupRecipient), $this->_dms->getClassname('group')))) {
@ -210,16 +250,22 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
return true;
} /* }}} */
/**
* This method is deprecated!
*
* The dispatching is now done in SeedDMS_NotificationService::toList()
*/
function toList($sender, $recipients, $subject, $message, $params=array()) { /* {{{ */
if ((!is_object($sender) && strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) ||
(!is_array($recipients) && count($recipients)==0)) {
return false;
}
$ret = true;
foreach ($recipients as $recipient) {
$this->toIndividual($sender, $recipient, $subject, $message, $params);
$ret &= $this->toIndividual($sender, $recipient, $subject, $message, $params);
}
return true;
return $ret;
} /* }}} */
}

View File

@ -30,8 +30,12 @@
*/
class SeedDMS_ExtBase {
var $settings;
var $dms;
var $logger;
public function __construct($settings) {
public function __construct($settings, $dms, $logger) {
$this->settings = $settings;
$this->dms = $dms;
$this->logger = $logger;
}
}

View File

@ -301,6 +301,30 @@ class SeedDMS_Extension_Mgr {
return $tmpfile;
} /* }}} */
/**
* Migrate database tables of extension if one exists
*
* @param string $extname name of extension
* @param SeedDMS_Core_DMS $dms
* @return boolean true on success, false on error
*/
public function migrate($extname, $settings, $dms) { /* {{{ */
if(!isset($this->extconf[$extname]))
return false;
$extconf = $this->extconf[$extname];
$ret = null;
if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) {
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
if(file_exists($classfile)) {
require_once($classfile);
$obj = new $extconf['class']['name']($settings, $dms);
if(method_exists($obj, 'migrate'))
$ret = $obj->migrate();
}
}
return $ret;
} /* }}} */
/**
* Check content of extension directory or configuration of extension
*

View File

@ -65,12 +65,22 @@ class SeedDMS_FulltextService {
$this->cmdtimeout = $timeout;
}
public function IndexedDocument($document, $forceupdate=false) {
if($document->isType('document'))
$nocontent = ($document->getLatestContent()->getFileSize() > $this->maxsize) && !$forceupdate;
/**
* Return an indexable document from the given document or folder
*
* @param SeedDMS_Core_Document|SeedDMS_Core_Folder $object document or folder
* to be indexed
* @param boolean $forceupdate set to true if the document shall be updated no
* matter how large the content is. Setting this to false will only update the
* document if its content is below the configured size.
* @return object indexed Document ready for passing to the indexer
*/
public function IndexedDocument($object, $forceupdate=false) {
if($object->isType('document'))
$nocontent = ($object->getLatestContent()->getFileSize() > $this->maxsize) && !$forceupdate;
else
$nocontent = true;
return new $this->services[0]['IndexedDocument']($document->getDMS(), $document, $this->converters, $nocontent, $this->cmdtimeout);
return new $this->services[0]['IndexedDocument']($object->getDMS(), $object, $this->converters, $nocontent, $this->cmdtimeout);
}
/**

View File

@ -26,40 +26,125 @@ class SeedDMS_NotificationService {
*/
protected $services;
public function __construct() {
/*
* List of servives with errors
*/
protected $errors;
/*
* Service for logging
*/
protected $logger;
/*
* Possible types of receivers
*/
const RECV_ANY = 0;
const RECV_NOTIFICATION = 1;
const RECV_OWNER = 2;
const RECV_REVIEWER = 3;
const RECV_APPROVER = 4;
const RECV_WORKFLOW = 5;
const RECV_REVISOR = 6;
const RECV_RECIPIENT = 7;
public function __construct($logger = null) {
$this->services = array();
$this->errors = array();
$this->logger = $logger;
}
public function addService($service, $name='') {
$this->services[$name ? $name : md5(uniqid())] = $service;
if(!$name)
$name = md5(uniqid());
$this->services[$name] = $service;
$this->errors[$name] = true;
}
public function getServices() {
return $this->services;
}
public function toIndividual($sender, $recipient, $subject, $message, $params=array()) {
foreach($this->services as $name => $service) {
if(!is_callable([$service, 'filter']) || $service->filter($sender, $recipient, $subject, $message, $params)) {
return $service->toIndividual($sender, $recipient, $subject, $message, $params);
}
}
public function getErrors() {
return $this->errors;
}
public function toGroup($sender, $groupRecipient, $subject, $message, $params=array()) {
public function toIndividual($sender, $recipient, $subject, $message, $params=array(), $recvtype=0) {
$error = true;
foreach($this->services as $name => $service) {
if(!is_callable([$service, 'filter']) || $service->filter($sender, $groupRecipient, $subject, $message, $params)) {
return $service->toGroup($sender, $groupRecipient, $subject, $message, $params);
/* Set $to to email address of user or the string passed in $recipient
* This is only used for logging
*/
if(is_object($recipient) && $recipient->isType('user') && !$recipient->isDisabled() && $recipient->getEmail()!="") {
$to = $recipient->getEmail();
} elseif(is_string($recipient) && trim($recipient) != "") {
$to = $recipient;
} else {
$to = '';
}
/* Call filter of notification service if set */
if(!is_callable([$service, 'filter']) || $service->filter($sender, $recipient, $subject, $message, $params, $recvtype)) {
if(!$service->toIndividual($sender, $recipient, $subject, $message, $params)) {
$error = false;
$this->errors[$name] = false;
$this->logger->log('Notification service \''.$name.'\': Sending notification \''.$subject.'\' to user \''.$to.'\' ('.$recvtype.') failed.', PEAR_LOG_ERR);
} else {
$this->logger->log('Notification service \''.$name.'\': Sending notification \''.$subject.'\' to user \''.$to.'\' ('.$recvtype.') successful.', PEAR_LOG_INFO);
$this->errors[$name] = true;
}
} else {
$this->logger->log('Notification service \''.$name.'\': Notification \''.$subject.'\' to user \''.$to.'\' ('.$recvtype.') filtered out.', PEAR_LOG_INFO);
}
}
return $error;
}
public function toList($sender, $recipients, $subject, $message, $params=array()) {
/**
* Send a notification to each user of a group
*
*/
public function toGroup($sender, $groupRecipient, $subject, $message, $params=array(), $recvtype=0) {
$error = true;
foreach($this->services as $name => $service) {
if(!is_callable([$service, 'filter']) || $service->filter($sender, $recipients, $subject, $message, $params)) {
return $service->toList($sender, $recipients, $subject, $message, $params);
$ret = true;
foreach ($groupRecipient->getUsers() as $recipient) {
$ret &= $this->toIndividual($sender, $recipient, $subject, $message, $params, $recvtype);
}
$this->errors[$name] = $ret;
if(!$ret) {
$error = false;
}
}
return $error;
}
/**
* Send a notification to a list of recipients
*
* The list of recipients may contain both email addresses and users
*
* @param string|object $sender either an email address or a user
* @param array $recipients list of recipients
* @param string $subject key of translatable phrase for the subject
* @param string $message key of translatable phrase for the message body
* @param array $params list of parameters filled into the subject and body
* @param int $recvtype type of receiver
* @return boolean true on success, otherwise false
*/
public function toList($sender, $recipients, $subject, $message, $params=array(), $recvtype=0) {
$error = true;
foreach($this->services as $name => $service) {
$ret = true;
foreach ($recipients as $recipient) {
$ret &= $this->toIndividual($sender, $recipient, $subject, $message, $params, $recvtype);
}
$this->errors[$name] = $ret;
if(!$ret) {
$error = false;
}
}
return $error;
}
}

View File

@ -26,6 +26,4 @@
*/
abstract class SeedDMS_Notify {
abstract function toIndividual($sender, $recipient, $subject, $message, $params=array());
abstract function toGroup($sender, $groupRecipient, $subject, $message, $params=array());
abstract function toList($sender, $recipients, $subject, $message, $params=array());
}

View File

@ -36,6 +36,8 @@ class Settings { /* {{{ */
var $_guestID = 2;
// ID of root-folder
var $_rootFolderID = 1;
// use home folder as root-folder
var $_useHomeAsRootFolder = false;
// If you want anybody to login as guest, set the following line to true
var $_enableGuestLogin = false;
// If you even want guest to be logged in automatically, set the following to true
@ -718,6 +720,7 @@ class Settings { /* {{{ */
$tab = $node[0]->attributes();
$this->_siteDefaultPage = strval($tab["siteDefaultPage"]);
$this->_rootFolderID = intval($tab["rootFolderID"]);
$this->_useHomeAsRootFolder = Settings::boolval($tab["useHomeAsRootFolder"]);
$this->_titleDisplayHack = Settings::boolval($tab["titleDisplayHack"]);
$this->_showMissingTranslations = Settings::boolval($tab["showMissingTranslations"]);
}
@ -1078,6 +1081,7 @@ class Settings { /* {{{ */
$node = $this->getXMLNode($xml, '/configuration/advanced', 'display');
$this->setXMLAttributValue($node, "siteDefaultPage", $this->_siteDefaultPage);
$this->setXMLAttributValue($node, "rootFolderID", $this->_rootFolderID);
$this->setXMLAttributValue($node, "useHomeAsRootFolder", $this->_useHomeAsRootFolder);
$this->setXMLAttributValue($node, "titleDisplayHack", $this->_titleDisplayHack);
$this->setXMLAttributValue($node, "showMissingTranslations", $this->_showMissingTranslations);

View File

@ -88,6 +88,10 @@ class SeedDMS_View_Common {
$this->baseurl = $baseurl;
}
public function getTheme() {
return $this->theme;
}
public function show() {
}
@ -112,8 +116,10 @@ class SeedDMS_View_Common {
$tmps = array();
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
$tmp = explode('_', get_parent_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
$ret = null;

View File

@ -11,6 +11,8 @@
* @version Release: @package_version@
*/
global $logger;
require "inc.ClassExtensionMgr.php";
require_once "inc.ClassSchedulerTaskBase.php";
require_once "inc.ClassExtBase.php";
@ -44,9 +46,9 @@ foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) {
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
if(file_exists($classfile)) {
include($classfile);
$obj = new $extconf['class']['name']($settings);
$obj = new $extconf['class']['name']($settings, null, $logger);
if(method_exists($obj, 'init'))
$obj->init(isset($settings->_extensions[$extname]) ? $settings->_extensions[$extname] : null);
$obj->init();
}
}
if(isset($extconf['language']['file'])) {

36
inc/inc.Notification.php Normal file
View File

@ -0,0 +1,36 @@
<?php
/**
* Create notifcation service
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Uwe Steinmann
* @version Release: @package_version@
*/
global $logger;
$notifier = new SeedDMS_NotificationService($logger);
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'preAddService')) {
$notificationObj->preAddService($dms, $notifier);
}
}
}
if($settings->_enableEmail) {
$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword), 'email');
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'postAddService')) {
$notificationObj->postAddService($dms, $notifier);
}
}
}

View File

@ -29,6 +29,12 @@ if(!defined("SEEDDMS_INSTALL") && file_exists(dirname($settings->_configFilePath
die("SeedDMS won't run unless your remove the file ENABLE_INSTALL_TOOL from your configuration directory.");
}
/* Set an encryption key if is not set */
if(!trim($settings->_encryptionKey)) {
$settings->_encryptionKey = md5(uniqid());
$settings->save();
}
if(isset($settings->_extraPath))
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));

View File

@ -20,10 +20,40 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
*/
public function execute($task) {
$dms = $this->dms;
$user = $this->user;
$settings = $this->settings;
$logger = $this->logger;
$taskparams = $task->getParameter();
$docs = $dms->getDocumentsExpired(intval($taskparams['days']));
foreach($docs as $doc) {
echo $doc->getName()."\n";
$tableformat = " %-10s %5d %-60s";
$tableformathead = " %-10s %5s %-60s";
$tableformathtml = "<tr><td>%s</td><td>%d</td><td>%s</td></tr>";
$tableformatheadhtml = "<tr><th>%s</th><th>%s</th><th>%s</th></tr>";
$body = '';
$bodyhtml = '';
if (count($docs)>0) {
$bodyhtml .= "<table>".PHP_EOL;
$bodyhtml .= sprintf($tableformatheadhtml."\n", getMLText("expiration_date", array(), ""), "ID", getMLText("name", array(), ""));
$body .= sprintf($tableformathead."\n", getMLText("expiration_date", array(), ""), "ID", getMLText("name", array(), ""));
$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 .= "</table>".PHP_EOL;
if($taskparams['email'])
require_once('inc/inc.ClassEmailNotify.php');
$email = new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword);
$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);
// mail($taskparams['email'], getMLText('expired_docs_mail_subject',array('sitename'=>$settings->_siteName, 'count'=>count($docs))), $body);
}
return true;
}
@ -34,6 +64,11 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
public function getAdditionalParams() {
return array(
array(
'name'=>'email',
'type'=>'string',
'description'=> '',
),
array(
'name'=>'days',
'type'=>'integer',
@ -63,7 +98,7 @@ class SeedDMS_Task_Indexer_Process_Folder { /* {{{ */
$documents = $folder->getDocuments();
if($documents) {
$lucenesearch = $this->fulltextservice->Search();
echo $folder->getFolderPathPlain()."\n";
echo $folder->getFolderPathPlain().PHP_EOL;
foreach($documents as $document) {
echo $document->getId().":".$document->getName()." ";
/* If the document wasn't indexed before then just add it */
@ -86,7 +121,7 @@ class SeedDMS_Task_Indexer_Process_Folder { /* {{{ */
/* Check if the attribute created is set or has a value older
* than the lastet content. Documents without such an attribute
* where added when a new document was added to the dms. In such
* a case the document content wasn't indexed.
* a case the document content wasn't indexed.
*/
try {
$created = (int) $hit->getDocument()->getFieldValue('created');
@ -137,6 +172,7 @@ class SeedDMS_IndexingDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ *
*/
public function execute($task) {
$dms = $this->dms;
$logger = $this->logger;
$fulltextservice = $this->fulltextservice;
$taskparams = $task->getParameter();
$folder = $dms->getRootFolder();
@ -181,5 +217,76 @@ class SeedDMS_IndexingDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ *
}
} /* }}} */
/**
* Class for processing a single folder
*
* SeedDMS_Task_CheckSum_Process_Folder::process() is used as a callable when
* iterating over all folders recursively.
*/
class SeedDMS_Task_CheckSum_Process_Folder { /* {{{ */
public function __construct() { /* {{{ */
} /* }}} */
public function process($folder) { /* {{{ */
$dms = $folder->getDMS();
$documents = $folder->getDocuments();
if($documents) {
foreach($documents as $document) {
$versions = $document->getContent();
foreach($versions as $version) {
if(file_exists($dms->contentDir.$version->getPath())) {
$checksum = SeedDMS_Core_File::checksum($dms->contentDir.$version->getPath());
if($checksum != $version->getChecksum()) {
echo $document->getId().':'.$version->getVersion().' wrong checksum'.PHP_EOL;
}
} else {
echo $document->getId().':'.$version->getVersion().' missing content'.PHP_EOL;
}
}
}
}
} /* }}} */
} /* }}} */
/**
* Class containing methods for running a scheduled task
*
* @author Uwe Steinmann <uwe@steinmann.cx>
* @package SeedDMS
* @subpackage core
*/
class SeedDMS_CheckSumTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
/**
* Run the task
*
* @param $task task to be executed
* @param $dms dms
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute($task) {
$dms = $this->dms;
$logger = $this->logger;
$taskparams = $task->getParameter();
$folder = $dms->getRootFolder();
$folderprocess = new SeedDMS_Task_CheckSum_Process_Folder();
$tree = new SeedDMS_FolderTree($folder, array($folderprocess, 'process'));
call_user_func(array($folderprocess, 'process'), $folder);
return true;
}
public function getDescription() {
return 'Check all documents for a propper checksum';
}
public function getAdditionalParams() {
return array(
);
}
} /* }}} */
$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['expireddocs'] = 'SeedDMS_ExpiredDocumentsTask';
$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['indexingdocs'] = 'SeedDMS_IndexingDocumentsTask';
$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['checksum'] = 'SeedDMS_CheckSumTask';

View File

@ -26,9 +26,26 @@ function formatted_size($size_bytes) { /* {{{ */
return number_format($size_bytes,0,"","")." Bytes";
} /* }}} */
function getReadableDate($timestamp) { /* {{{ */
/* Date picker needs a different syntax for date formats using
* yyyy for %Y
* yy for %y
* mm for %m
* dd for %d
* This functions returns the converted format
*/
function getConvertDateFormat() { /* {{{ */
global $settings;
if(!is_numeric($timestamp))
if($settings->_dateformat) {
return str_replace(['y', 'Y', 'm', 'M', 'F', 'd', 'l', 'D'], ['yy', 'yyyy', 'mm', 'M', 'MM', 'dd', 'DD', 'D'], $settings->_dateformat);
} else
return 'yyyy-mm-dd';
} /* }}} */
function getReadableDate($timestamp=0) { /* {{{ */
global $settings;
if(!$timestamp)
$timestamp = time();
elseif(!is_numeric($timestamp))
$timestamp = strtotime($timestamp);
if($settings->_dateformat)
return date($settings->_dateformat, $timestamp);
@ -69,6 +86,16 @@ function getPeriodOfTime($timestamp) { /* {{{ */
}
} /* }}} */
/*
* Converts a date string into a timestamp
*
* @param $date string date in format understood by strftime
* @return integer/boolean unix timestamp or false in case of an error
*/
function makeTsFromDate($date) { /* {{{ */
return strtotime($date);
} /* }}} */
/*
* Converts a date/time string into a timestamp
*
@ -76,6 +103,7 @@ function getPeriodOfTime($timestamp) { /* {{{ */
* @return integer/boolean unix timestamp or false in case of an error
*/
function makeTsFromLongDate($date) { /* {{{ */
return strtotime($date);
$tmp = explode(' ', $date);
if(count($tmp) != 2)
return false;
@ -408,24 +436,24 @@ function _add_log_line($msg="") { /* {{{ */
}
} /* }}} */
function getFolderPathHTML($folder, $tagAll=false, $document=null) { /* {{{ */
$path = $folder->getPath();
$txtpath = "";
for ($i = 0; $i < count($path); $i++) {
if ($i +1 < count($path)) {
$txtpath .= "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a> / ";
}
else {
$txtpath .= ($tagAll ? "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName()));
}
function getFolderPathHTML($folder, $tagAll=false, $document=null) { /* {{{ */
$path = $folder->getPath();
$txtpath = "";
for ($i = 0; $i < count($path); $i++) {
if ($i +1 < count($path)) {
$txtpath .= "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a> / ";
}
if($document)
$txtpath .= " / <a href=\"../out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a>";
else {
$txtpath .= ($tagAll ? "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName()));
}
}
if($document)
$txtpath .= " / <a href=\"../out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a>";
return $txtpath;
} /* }}} */
return $txtpath;
} /* }}} */
function showtree() { /* {{{ */
global $settings;
@ -633,11 +661,71 @@ function sendFile($filename) { /* {{{ */
if($settings->_enableXsendfile && function_exists('apache_get_modules') && in_array('mod_xsendfile',apache_get_modules())) {
header("X-Sendfile: ".$filename);
} else {
/* Make sure output buffering is off */
if (ob_get_level()) {
ob_end_clean();
$size = filesize($filename);
if (isset($_SERVER['HTTP_RANGE'])) {
$fp = @fopen($filename, 'rb');
$length = $size; // Content length
$start = 0; // Start byte
$end = $size - 1; // End byte
// header("Accept-Ranges: 0-$length");
header("Accept-Ranges: bytes");
$c_start = $start;
$c_end = $end;
list($unit, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
if (trim($unit) !== 'bytes') {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
if (strpos($range, ',') !== false) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
if ($range == '-') {
$c_start = $size - substr($range, 1);
} else {
$range = explode('-', $range);
$c_start = $range[0];
$c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $size;
}
$c_end = ($c_end > $end) ? $end : $c_end;
if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
$start = $c_start;
$end = $c_end;
$length = $end - $start + 1;
fseek($fp, $start);
header('HTTP/1.1 206 Partial Content');
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: " . $length);
$buffer = 1024 * 8;
while(!feof($fp) && ($p = ftell($fp)) <= $end) {
if ($p + $buffer > $end) {
$buffer = $end - $p + 1;
}
set_time_limit(0);
echo fread($fp, $buffer);
flush();
}
fclose($fp);
} else {
header("Content-Length: " . $size);
/* Make sure output buffering is off */
if (ob_get_level()) {
ob_end_clean();
}
readfile($filename);
}
readfile($filename);
}
} /* }}} */
@ -720,6 +808,82 @@ function createNonce() { /* {{{ */
return base64_encode($bytes);
} /* }}} */
/**
* Returns the mandatory reviewers
*
* This function checks if the reviewers have at least read access
* on the folder containing the document.
*
* @param $folder folder where document is located
* @param $user user creating the new version or document
* @return array
*/
function getMandatoryReviewers($folder, $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'=>[]);
foreach ($res as $r){
if ($r['reviewerUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['reviewerUserID']){
$reviewers["i"][] = $r['reviewerUserID'];
break;
}
} elseif ($r['reviewerGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['reviewerGroupID']){
$reviewers["g"][] = $r['reviewerGroupID'];
break;
}
}
}
return $reviewers;
} /* }}} */
/**
* Returns the mandatory approvers
*
* This function checks if the approvers have at least read access
* on the folder containing the document.
*
* @param $folder folder where document is located
* @param $user user creating the new version or document
* @return array
*/
function getMandatoryApprovers($folder, $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'=>[]);
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;
}
}
}
return $approvers;
} /* }}} */
/**
* Class for creating encrypted api keys
*

View File

@ -39,7 +39,7 @@ if(true) {
$file = substr($uri->getPath(), 1);
if(file_exists($file) && is_file($file)) {
$_SERVER['SCRIPT_FILENAME'] = basename($file);
include($file);
// include($file);
exit;
}
if($request->isXhr()) {

View File

@ -173,12 +173,12 @@ CREATE TABLE `tblUserPasswordHistory` (
`id` int(11) NOT NULL auto_increment,
`userID` int(11) NOT NULL default '0',
`pwd` varchar(50) default NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `tblUserPasswordHistory_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE tblUsers ADD COLUMN `pwdExpiration` datetime NOT NULL default '0000-00-00 00:00:00';
ALTER TABLE tblUsers ADD COLUMN `pwdExpiration` datetime default NULL;
ALTER TABLE tblUsers ADD COLUMN `loginfailures` tinyint(4) NOT NULL default '0';

View File

@ -350,6 +350,7 @@ URL: [url]',
'documents_locked' => 'مستندات مغلقة',
'documents_locked_by_you' => 'المستندات محمية من التعديل بواسطتك',
'documents_only' => 'مستندات فقط',
'documents_rejected' => '',
'documents_to_approve' => 'مستندات في انتظار الموافقة',
'documents_to_correct' => 'مستندات للتصحيح',
'documents_to_process' => 'مستندات للمعالجة',
@ -391,6 +392,7 @@ Parent folder: [folder_path]
'document_duplicate_name' => 'اسم المستند متكرر',
'document_has_no_workflow' => 'المستند لايحتوى مسار عمل',
'document_infos' => 'معلومات المستند',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'تم سحب المستند',
'document_is_not_locked' => 'هذا المستند غير محمي ضد التعديل',
@ -490,6 +492,7 @@ URL: [url]',
'edit_folder_props' => 'تعديل مجلد',
'edit_group' => 'تعديل مجموعة',
'edit_online' => 'تعديل عبر الإنترنت',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => 'تعديل المهمة',
'edit_transmittal_props' => 'تعديل الإحالة',
@ -500,7 +503,9 @@ URL: [url]',
'email' => 'البريد الإلكتروني',
'email_error_title' => 'لمي يتم ادخال البريد الالكتروني',
'email_footer' => 'يمكنك دائما تغيير اعدادات بريدك الالكتروني من خلال خاصية - مستنداتي',
'email_footer_html' => '',
'email_header' => 'هذا رسالة تلقائية من نظام ادارة المستندات!',
'email_header_html' => '',
'email_not_given' => 'من فضلك ادخل بريد الكتروني صحيح.',
'empty_attribute_group_list' => 'معرف لائحة المجموعات خالية',
'empty_folder_list' => 'لايوجد مستندات او مجلدات',
@ -535,6 +540,7 @@ URL: [url]',
'exclude_items' => 'فصل الأشياء',
'expired' => 'انتهى صلاحيته',
'expired_at_date' => 'تنتهي صلاحيته في التاريخ',
'expired_docs_mail_subject' => '',
'expired_documents' => 'مستندات انتهت صلاحيتها',
'expires' => 'تنتهى صلاحيته',
'expire_by_date' => 'تنتهي صلاحيته في التاريخ',
@ -559,6 +565,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'إرشيف أطول',
'extension_changelog' => 'سجل التعديلات',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'تحميل الإضافات',
'extension_manager' => 'إدارة الإضافات',
'extension_mgr_error_upload' => '',
@ -566,6 +574,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'لا يمكن تحميل إضافات جديدة لأن دليل الإضافات غير قابل للكتابة.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'مستودع إدارة الإضافات',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'لائحة الإضافات حسب الإصدار',
'february' => 'فبراير',
'file' => 'ملف',
@ -686,6 +696,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'نسخ قائمة صلاحيات موروثة.',
'inherits_access_empty_msg' => 'ابدأ بقائمة صلاحيات فارغة',
'inherits_access_msg' => 'الصلاحيات موروثة.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'خطأ داخلي',
'internal_error_exit' => 'خطأ داخلي. عدم الاستطاعة لاستكمال الطلب. خروج',
@ -1076,6 +1087,7 @@ URL: [url]',
'review_update_failed' => 'خطأ في تحديث حالة المراجعة. التحديث فشل.',
'revise_document' => 'راجع المستند',
'revise_document_on' => 'راجع المستند على',
'revision' => '',
'revisions_accepted' => 'تم الموافقة على المراجعات',
'revisions_accepted_latest' => '',
'revisions_not_touched' => 'المراجعات غير ملموسة',
@ -1177,6 +1189,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'اختيار',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'حدد معرف سمة المجموعة',
'select_attribute_value' => 'اختيار سمة الرقم',
'select_category' => 'اضغط لاختيار قسم',
@ -1270,6 +1283,10 @@ URL: [url]',
'settings_createdirectory' => 'انشاء دليل',
'settings_currentvalue' => 'القيمة الحالية',
'settings_Database' => 'قاعدة البيانات',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'قاعدة البيانات',
'settings_dbDatabase_desc' => 'قاعدة البيانات',
'settings_dbDriver' => 'القرص',
@ -1588,6 +1605,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'تحديث وقت التنبيه',
'settings_updateNotifyTime_desc' => 'تحديث وقت التنبيه',
'settings_upgrade_php' => 'تطوير php',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'اسم ملف الاصدار',
'settings_versioningFileName_desc' => 'اسم ملف الاصدار',
'settings_versiontolow' => 'نسخة منخفضة الجودة',
@ -1650,7 +1669,10 @@ URL: [url]',
'splash_edit_user' => 'تحرير المستخدم',
'splash_error_add_to_transmittal' => 'خطأ الإضافة إلى الإحالة',
'splash_error_rm_download_link' => 'خطأ في إزالة رابط التنزيل',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'خطأ في إرسال رابط التنزيل',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'قائمة التمديد',
'splash_extension_import' => 'استيراد',
'splash_extension_refresh' => 'تحديث',
@ -1750,8 +1772,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'اخذ فهرسة المراجع',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'مهمات',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'تفصيل المهام',
'task_disabled' => 'تم توقيف المهمة',
'task_frequency' => 'تردد المهمة',
@ -1792,6 +1817,7 @@ URL: [url]',
'transfer_content' => 'تحويل المحتوى',
'transfer_document' => 'تحويل مستند',
'transfer_no_read_access' => 'تحويل بلا دخول للقراءة',
'transfer_no_users' => '',
'transfer_no_write_access' => 'تحويل بلا دخول للكتابة',
'transfer_objects' => 'تحويل أشياء',
'transfer_objects_to_user' => 'تحويل شيء إلى مستخدم',
@ -1930,6 +1956,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'تحويل سير العمل بدون استخدام مستخدم من المجموعة',
'workflow_user_summary' => 'ملخص المستخدم',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => 'اشياء أكثر',
'year_view' => 'عرض السنة',

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 (866)
// Translators: Admin (870)
$text = array(
'2_factor_auth' => '',
@ -108,7 +108,7 @@ $text = array(
'approval_deletion_email_subject' => '',
'approval_file' => '',
'approval_group' => 'Утвърждаваща група',
'approval_log' => '',
'approval_log' => 'Потвърден лог',
'approval_request_email' => 'Запитване за утвърждаване',
'approval_request_email_body' => '',
'approval_request_email_subject' => '',
@ -333,6 +333,7 @@ $text = array(
'documents_locked' => '',
'documents_locked_by_you' => 'Документи, блокирани от Вас',
'documents_only' => 'Само документи',
'documents_rejected' => '',
'documents_to_approve' => 'Документи, чакащи Вашето утвърждаване',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -365,6 +366,7 @@ $text = array(
'document_duplicate_name' => 'Дублирано име на документ',
'document_has_no_workflow' => 'Документът няма процес',
'document_infos' => 'Информация за документа',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Документът не е блокиран',
@ -410,7 +412,7 @@ $text = array(
'do_object_setfilesize' => 'Установи размер на файла',
'do_object_setfiletype' => '',
'do_object_unlink' => '',
'draft' => '',
'draft' => 'Чернова',
'draft_pending_approval' => 'Чернова - очаква утвърждаване',
'draft_pending_review' => 'Чернова - очаква рецензия',
'drag_icon_here' => 'Провлачи икона или папка, или документ ТУК!',
@ -443,6 +445,7 @@ $text = array(
'edit_folder_props' => 'Редактирай папка',
'edit_group' => 'Редактирай група',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -453,7 +456,9 @@ $text = array(
'email' => 'Email',
'email_error_title' => 'Email не е указан',
'email_footer' => 'Винаги можете да измените e-mail исползвайки функцията \'Моя учетка\'',
'email_footer_html' => '',
'email_header' => 'Това е автоматично уведомяване от сървъра за документооборот',
'email_header_html' => '',
'email_not_given' => 'Въведете настоящ email.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Няма документи или папки',
@ -488,6 +493,7 @@ $text = array(
'exclude_items' => '',
'expired' => 'Изтекъл',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => 'просрочени документи',
'expires' => 'Изтича',
'expire_by_date' => 'Изтича на',
@ -508,6 +514,8 @@ $text = array(
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'управление на добавките',
'extension_mgr_error_upload' => '',
@ -515,6 +523,8 @@ $text = array(
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'Февруари',
'file' => 'Файл',
@ -615,6 +625,7 @@ $text = array(
'inherits_access_copy_msg' => 'Изкопирай наследения список',
'inherits_access_empty_msg' => 'Започни с празен списък за достъп',
'inherits_access_msg' => 'достъпът наследен.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Вътрешна грешка',
'internal_error_exit' => 'Вътрешна грешка. Невозможно е да се изпълни запитването.',
@ -940,7 +951,7 @@ $text = array(
'review_deletion_email_subject' => '',
'review_file' => '',
'review_group' => 'Рецензираща група',
'review_log' => '',
'review_log' => 'Преглед на лога',
'review_request_email' => 'Запитване за рецензия',
'review_request_email_body' => '',
'review_request_email_subject' => '',
@ -952,6 +963,7 @@ $text = array(
'review_update_failed' => 'грешка при обновяване статуса на рецензията',
'revise_document' => '',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1040,6 +1052,7 @@ $text = array(
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Избор',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Изберете категория',
@ -1133,6 +1146,10 @@ $text = array(
'settings_createdirectory' => 'Създаи папка',
'settings_currentvalue' => 'Текущо значение',
'settings_Database' => 'Настройки БД',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'БД',
'settings_dbDatabase_desc' => 'Има на БД, въведена в процеса на инсталацията. Не променяй без нужда, само например, ако БД е преместена.',
'settings_dbDriver' => 'Тип БД',
@ -1451,6 +1468,8 @@ $text = array(
'settings_updateNotifyTime' => 'Интервал за уведомяване за изменения',
'settings_updateNotifyTime_desc' => 'Потребителите се уведомяват за изменения в документите за последните \'Update Notify Time\' секунди',
'settings_upgrade_php' => '',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Име на файла с версиите',
'settings_versioningFileName_desc' => 'Име на файла с версиите, създаван от инструмента за бекъп',
'settings_versiontolow' => '',
@ -1513,7 +1532,10 @@ $text = array(
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1613,8 +1635,11 @@ $text = array(
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1655,6 +1680,7 @@ $text = array(
'transfer_content' => '',
'transfer_document' => 'Прехвърли документ',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1779,6 +1805,7 @@ $text = array(
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Резюме за потребител',
'wrong_checksum' => 'Грешка при проверката',
'wrong_filetype' => '',
'x_more_objects' => 'още [number] документа',
'year_view' => 'годишен изглед',

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 (762)
// Translators: Admin (770)
$text = array(
'2_factor_auth' => '',
@ -108,7 +108,7 @@ $text = array(
'approval_deletion_email_subject' => '',
'approval_file' => '',
'approval_group' => 'Grup aprovador',
'approval_log' => '',
'approval_log' => 'Log d\'aprovació',
'approval_request_email' => 'Petició d\'aprovació',
'approval_request_email_body' => 'Petició d\'aprovació
Dokument: [name]
@ -312,7 +312,7 @@ URL: [url]',
'daily' => 'Daily',
'databasesearch' => 'Database search',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Carregant dades, espereu siusplau...',
'date' => 'Data',
'days' => '',
'debug' => '',
@ -338,6 +338,7 @@ URL: [url]',
'documents_locked' => '',
'documents_locked_by_you' => 'Documents bloquejats per vostè',
'documents_only' => 'Només documents',
'documents_rejected' => '',
'documents_to_approve' => 'Documents en espera d\'aprovació d\'usuaris',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -370,6 +371,7 @@ URL: [url]',
'document_duplicate_name' => '',
'document_has_no_workflow' => '',
'document_infos' => 'Informacions',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Aquest document no està bloquejat',
@ -432,7 +434,7 @@ URL: [url]',
'duplicates' => '',
'duplicate_content' => '',
'edit' => 'editar',
'edit_attributes' => '',
'edit_attributes' => 'Editar atributs',
'edit_comment' => 'Editar comentari',
'edit_default_keywords' => 'Editar mots clau',
'edit_document_access' => 'Editar accés',
@ -448,6 +450,7 @@ URL: [url]',
'edit_folder_props' => 'Editar directori',
'edit_group' => 'Editar grup...',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -458,7 +461,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => '',
'email_footer' => 'Sempre es pot canviar la configuració de correu electrònic utilitzant les funcions de «El meu compte»',
'email_footer_html' => '',
'email_header' => 'Aquest es un missatge automàtic del servidor de DMS.',
'email_header_html' => '',
'email_not_given' => '',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Sense documents o carpetes',
@ -493,6 +498,7 @@ URL: [url]',
'exclude_items' => '',
'expired' => 'Caducat',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Caduca',
'expire_by_date' => 'Expiració segons data',
@ -513,6 +519,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'Gestiona les Extensions',
'extension_mgr_error_upload' => '',
@ -520,6 +528,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'Febrer',
'file' => 'Fitxer',
@ -620,6 +630,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copiar llista d\'accés heretat',
'inherits_access_empty_msg' => 'Començar amb una llista d\'accés buida',
'inherits_access_msg' => 'Accés heretat',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Error intern',
'internal_error_exit' => 'Error intern. No és possible acabar la sol.licitud.',
@ -865,7 +876,7 @@ URL: [url]',
'pl_PL' => 'Polonès',
'possible_substitutes' => '',
'preset_expires' => '',
'preview' => '',
'preview' => 'Previsualitzar',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
@ -945,7 +956,7 @@ URL: [url]',
'review_deletion_email_subject' => '',
'review_file' => '',
'review_group' => 'Grup de revisió',
'review_log' => '',
'review_log' => 'Log de revisió',
'review_request_email' => 'Petició de revisió',
'review_request_email_body' => '',
'review_request_email_subject' => '',
@ -957,6 +968,7 @@ URL: [url]',
'review_update_failed' => 'Error actualitzant l\'estat de la revisió. L\'actualizació ha fallat.',
'revise_document' => '',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1045,10 +1057,11 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Selecció',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Prem per seleccionar la categoria',
'select_group' => '',
'select_group' => 'Seleccionar grup',
'select_groups' => '',
'select_grp_approvers' => '',
'select_grp_ind_approvers' => '',
@ -1068,7 +1081,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Seleccionar un',
'select_owner' => '',
'select_user' => '',
'select_user' => 'Seleccionar usuari',
'select_users' => 'Prem per seleccionar els usuaris',
'select_value' => 'Selecciona un valor',
'select_workflow' => '',
@ -1138,6 +1151,10 @@ URL: [url]',
'settings_createdirectory' => '',
'settings_currentvalue' => 'Current value',
'settings_Database' => 'Database settings',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Database',
'settings_dbDatabase_desc' => '',
'settings_dbDriver' => 'Database Type',
@ -1456,6 +1473,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Update Notify Time',
'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds',
'settings_upgrade_php' => '',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versioning filename',
'settings_versioningFileName_desc' => 'The name of the versioning info file created by the backup tool',
'settings_versiontolow' => '',
@ -1518,7 +1537,10 @@ URL: [url]',
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1618,8 +1640,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1660,6 +1685,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'transferir document',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => 'transferir sense poder escriure',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1745,7 +1771,7 @@ URL: [url]',
'version_deleted_email_subject' => '',
'version_info' => 'Informació de versió',
'view' => '',
'view_document' => '',
'view_document' => 'Informació del document',
'view_folder' => '',
'view_online' => 'Veure online',
'warning' => 'Advertència',
@ -1784,6 +1810,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] objectes més',
'year_view' => 'Vista d\'any',

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 (1537), kreml (579)
// Translators: Admin (1540), kreml (579)
$text = array(
'2_factor_auth' => 'dvoufaktorové ověření',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Uzamčené dokumenty',
'documents_locked_by_you' => 'Vámi uzamčené dokumenty',
'documents_only' => 'Pouze dokumenty',
'documents_rejected' => '',
'documents_to_approve' => 'Dokumenty čekající na schválení uživatele',
'documents_to_correct' => 'Dokumenty, které potřebují opravu',
'documents_to_process' => 'Dokumenty, které potřebují zpracování',
@ -410,6 +411,7 @@ Uživatel: [username]',
'document_duplicate_name' => 'Duplicitní název dokumentu',
'document_has_no_workflow' => 'Dokument nemá workflow',
'document_infos' => 'Informace o dokumentu',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokument je aktuálně zkontrolován. Pokud nahrajete novou verzi, nemůžete již kontrolovanou verzi zkontrolovat.',
'document_is_not_locked' => 'Tento dokument není zamčený',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Upravit složku',
'edit_group' => 'Upravit skupinu',
'edit_online' => 'Upravit online',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => 'Upravit úkol',
'edit_transmittal_props' => 'Upravit vlastnosti přenosu',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Není zadána emailová adresa',
'email_footer' => 'Změnu nastavení e-mailu můžete kdykoliv provést pomocí funkce\'Můj účet\'',
'email_footer_html' => '',
'email_header' => 'Toto je automatická zpráva ze serveru DMS.',
'email_header_html' => '',
'email_not_given' => 'Zadejte platnou emailovou adresu.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Žádné dokumenty nebo složky',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Vyloučit položky',
'expired' => 'Platnost vypršela',
'expired_at_date' => 'Platnost vyprší v [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Expirované dokumenty',
'expires' => 'Platnost vyprší',
'expire_by_date' => 'Platnost vyprší k datu',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Rozšíření',
'extension_changelog' => 'Changelog',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Načítání rozšíření',
'extension_manager' => 'Správa rozšíření',
'extension_mgr_error_upload' => '',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Nahrání nového rozšíření není možné, jelikož do složky rozšíření nelze zapisovat.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Dostupný',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Verze',
'february' => 'Únor',
'file' => 'Soubor',
@ -703,7 +713,7 @@ URL: [url]',
'include_subdirectories' => 'Včetně podadresářů',
'indexing_tasks_in_queue' => 'Indexování úkolů ve frontě',
'index_converters' => 'Indexování převodníků',
'index_document_unchanged' => '',
'index_document_unchanged' => 'dokument nezměněn',
'index_done' => 'Indexování hotovo',
'index_error' => 'Chyba',
'index_folder' => 'Složka indexu',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Zkopírovat zděděný seznam řízení přístupu',
'inherits_access_empty_msg' => 'Založit nový seznam řízení přístupu',
'inherits_access_msg' => 'Přístup se dědí.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Vnitřní chyba',
'internal_error_exit' => 'Vnitřní chyba. Nebylo možné dokončit požadavek. Ukončuje se.',
@ -1138,6 +1149,7 @@ URL: [url]',
'review_update_failed' => 'Chyba při aktualizaci stavu recenze. Aktualizace selhala.',
'revise_document' => 'Revize dokumentu',
'revise_document_on' => 'Další revize verze dokumentu v [date]',
'revision' => '',
'revisions_accepted' => '[no_revisions] již přijato',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '[no_revisions] revizí nebylo dotčeno',
@ -1244,6 +1256,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Výběr',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Vybrat, kdy chcete zobrazit',
'select_attribute_value' => 'Vybrat hodnotu atributu',
'select_category' => 'Kliknutím vybrat kategorii',
@ -1342,6 +1355,10 @@ Jméno: [username]
'settings_createdirectory' => 'Vytvořit adresář',
'settings_currentvalue' => 'Současná hodnota',
'settings_Database' => 'Nastavení databáze',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Databáze',
'settings_dbDatabase_desc' => 'Název databáze zadaný během procesu instalace. Toto pole neupravujte, pokud není nutné, například pokud byla databáze přesunuta.',
'settings_dbDriver' => 'Typ databáze',
@ -1660,6 +1677,8 @@ Jméno: [username]
'settings_updateNotifyTime' => 'Update Notify Time',
'settings_updateNotifyTime_desc' => 'Uživatelé jsou informováni o změnách dokumentů, ke kterým došlo v posledních sekundách \'Aktualizace upozornění\'',
'settings_upgrade_php' => 'Aktualizujte PHP alespoň na verzi 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Verzování názvu souboru',
'settings_versioningFileName_desc' => 'Název souboru s informacemi o verzích vytvořeném nástrojem pro zálohování',
'settings_versiontolow' => 'Příliš nízká verze',
@ -1722,7 +1741,10 @@ Jméno: [username]
'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_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í',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Aktualizovaný seznam rozšíření z úložiště',
'splash_extension_import' => 'Importováno rozšíření',
'splash_extension_refresh' => 'Aktualizovaný seznam rozšíření',
@ -1822,8 +1844,11 @@ Jméno: [username]
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Převzít jednotlivého recenzenta z poslední verze.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Úkoly',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Popis',
'task_disabled' => 'Vypnuto',
'task_frequency' => 'Frekvence',
@ -1864,6 +1889,7 @@ Jméno: [username]
'transfer_content' => '',
'transfer_document' => 'Přenést dokument',
'transfer_no_read_access' => 'Uživatel nemá přístup ke čtení ve složce',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Uživatel nemá přístup k zápisu do složky',
'transfer_objects' => 'Přenos objektů',
'transfer_objects_to_user' => 'Nový vlastník',
@ -1963,7 +1989,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Verze smazána',
'version_info' => 'Informace o verzi',
'view' => 'Posouzení',
'view_document' => '',
'view_document' => 'Zobrazit podrobnosti dokumentu',
'view_folder' => '',
'view_online' => 'Zobrazit online',
'warning' => 'Upozornění',
@ -2002,6 +2028,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Alespoň jedna z transformací pracovního postupu nemá uživatele ani skupinu!',
'workflow_user_summary' => 'Přehled uživatelů',
'wrong_checksum' => 'Špatný kontrolní součet',
'wrong_filetype' => '',
'x_more_objects' => 'Načíst další dokumenty ([number])',
'year_view' => 'Zobrazení roku',

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 (2839), dgrutsch (22)
// Translators: Admin (2867), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Gesperrte Dokumente',
'documents_locked_by_you' => 'Von mir gesperrte Dokumente',
'documents_only' => 'Nur Dokumente',
'documents_rejected' => 'Abgelehnt',
'documents_to_approve' => 'Freigabe erforderlich',
'documents_to_correct' => 'Korrektur erforderlich',
'documents_to_process' => 'Dokumente, die bearbeitet werden müssen',
@ -410,6 +411,7 @@ Benutzer: [username]',
'document_duplicate_name' => 'Doppelter Dokumentenname',
'document_has_no_workflow' => 'Dokument hat keinen Workflow',
'document_infos' => 'Informationen',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => 'Das Dokument ist zur Zeit ausgecheckt. Wenn Sie das Dokument löschen kann die ausgecheckte Version nicht mehr hochgeladen werden und verbleibt im Auscheck-Bereich.',
'document_is_checked_out_update' => 'Das Dokument ist zur Zeit ausgecheckt. Wenn Sie eine neue Version hochladen, werden Sie die ausgecheckte Version nicht mehr einchecken können.',
'document_is_not_locked' => 'Dieses Dokument ist nicht gesperrt',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Bearbeiten',
'edit_group' => 'Gruppe bearbeiten',
'edit_online' => 'Online editieren',
'edit_online_not_allowed' => 'Sie dürfen diese Fassung nicht verändern, weil Sie nicht von Ihnen angelegt wurde. Laden Sie stattdessen eine neue Version hoch.',
'edit_online_warning' => 'Mit dem Speichern wird die aktuellen Version des Dokuments überschrieben. Es wird keine neue Version angelegt.',
'edit_task' => 'Task editieren',
'edit_transmittal_props' => 'Attribute der Dokumentenliste bearbeiten',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Keine E-Mail-Adresse eingegeben',
'email_footer' => 'Sie können zu jeder Zeit Ihre E-Mail-Adresse über \'Mein Profil\' ändern.',
'email_footer_html' => '<p>Sie können zu jeder Zeit Ihre E-Mail-Adresse über \'Mein Profil\' ändern.</p>',
'email_header' => 'Dies ist eine automatische Nachricht des DMS-Servers.',
'email_header_html' => '<p>Dies ist eine automatische Nachricht des DMS-Servers.</p>',
'email_not_given' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
'empty_attribute_group_list' => 'Keine Attributgruppen',
'empty_folder_list' => 'Keine Dokumente oder Ordner',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Einträge auslassen',
'expired' => 'abgelaufen',
'expired_at_date' => 'Abgelaufen am [datetime]',
'expired_docs_mail_subject' => 'Abgelaufende Dokumente',
'expired_documents' => 'Abgelaufene Dokumente',
'expires' => 'Ablaufdatum',
'expire_by_date' => 'Ablauf nach Datum',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => 'Exportiere Benutzer als CSV-Datei',
'extension_archive' => 'Erweiterung',
'extension_changelog' => 'Versionshistorie',
'extension_is_off_now' => 'Erweiterung ist ausgeschaltet',
'extension_is_on_now' => 'Erweiterung ist eingeschaltet',
'extension_loading' => 'Lade Erweiterungen ...',
'extension_manager' => 'Erweiterungen verwalten',
'extension_mgr_error_upload' => 'Beim Hochladen der Extension ist ein Fehler aufgetreten.',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Der Upload neuer Erweiterungen ist nicht möglich, weil das Verzeichnis für Erweiterungen nicht beschreibbar ist.',
'extension_mgr_no_zipfile' => 'Die hochgeladene Erweiterung ist keine Zip-Datei',
'extension_mgr_repository' => 'Verfügbar',
'extension_missing_name' => 'Kein Erweiterungsname übergeben',
'extension_toggle_error' => 'Konnte Erweiterung nicht aus/einschalten',
'extension_version_list' => 'Versionen',
'february' => 'Februar',
'file' => 'Datei',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Berechtigungen kopieren',
'inherits_access_empty_msg' => 'Leere Zugriffsliste',
'inherits_access_msg' => 'Zur Zeit werden die Rechte geerbt',
'installed_apache_extensions' => 'Installierte Apache-Erweiterungen',
'installed_php_extensions' => 'Installierte PHP-Erweiterungen',
'internal_error' => 'Interner Fehler',
'internal_error_exit' => 'Interner Fehler: Anfrage kann nicht ausgeführt werden.',
@ -1142,6 +1153,7 @@ URL: [url]',
'review_update_failed' => 'Störung bei Aktualisierung des Prüfstatus. Aktualisierung gescheitert.',
'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_latest' => '(davon [no_revisions] in letzter Version)',
'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen',
@ -1255,6 +1267,7 @@ URL: [url]',
'seeddms_info' => 'Informationen über SeedDMS',
'seeddms_version' => 'SeedDMS Version',
'selection' => 'Auswahl',
'select_attrdef' => 'Attributdefinition auswählen',
'select_attrdefgrp_show' => 'Anzeigeort auswählen',
'select_attribute_value' => 'Attributwert auswählen',
'select_category' => 'Klicken zur Auswahl einer Kategorie',
@ -1353,6 +1366,10 @@ Name: [username]
'settings_createdirectory' => 'Verzeichnis erzeugen',
'settings_currentvalue' => 'Aktueller Wert',
'settings_Database' => 'Datenbank-Einstellungen',
'settings_dateformat' => 'Datumsformat',
'settings_dateformat_desc' => 'Das Datumsformat verwendet die Syntax der PHP-Funktion date()',
'settings_datetimeformat' => 'Datums/Zeitformat',
'settings_datetimeformat_desc' => 'Das Datumsformat verwendet die Syntax der PHP-Funktion date()',
'settings_dbDatabase' => 'Datenbank',
'settings_dbDatabase_desc' => 'Der Name der Datenbank, die bei der Installation von SeedDMS eingerichtet wurde. Ändern Sie diese Feld nicht, es sei denn es ist notwendig, weil Sie die Datenbank umbenannt haben.',
'settings_dbDriver' => 'Datenbank-Typ',
@ -1410,7 +1427,7 @@ Name: [username]
'settings_enableDuplicateDocNames_desc' => 'Erlaube doppelte Dokumentennamen in einem Ordner.',
'settings_enableDuplicateSubFolderNames' => 'Erlaube doppelte Namen von Unterordnern',
'settings_enableDuplicateSubFolderNames_desc' => 'Erlaube doppelte Namen von Unterordnern in einem Ordner.',
'settings_enableEmail' => 'E-Mail aktivieren',
'settings_enableEmail' => 'E-Mail-Benachrichtigung aktivieren',
'settings_enableEmail_desc' => 'Automatische E-Mail-Benachrichtigung ein-/ausschalten',
'settings_enableFilterReceipt' => 'Besitzer, Prüfer, ... aus Empfängerliste filtern',
'settings_enableFilterReceipt_desc' => 'Anwählen, um einige Empfänger aus der Liste zu entfernen, wenn diese als Mitglieder einer Gruppe eingetragen werden.',
@ -1671,6 +1688,8 @@ Name: [username]
'settings_updateNotifyTime' => 'Update Notify Time',
'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds',
'settings_upgrade_php' => 'Aktualisiere PHP auf mindestens version 5.6.38',
'settings_useHomeAsRootFolder' => 'Benutze Home-Ordner als Wurzelordner',
'settings_useHomeAsRootFolder_desc' => 'Wenn dies eingeschaltet ist, wird der Home-Ordner eines Benutzer (kein Admin) als Wurzelordner verwendet (experimentell).',
'settings_versioningFileName' => 'Versionsinfo-Datei',
'settings_versioningFileName_desc' => 'Der Name der Datei mit Versionsinformationen, wie sie durch das Backup-Tool erzeugt werden.',
'settings_versiontolow' => 'Version zu gering',
@ -1733,7 +1752,10 @@ Name: [username]
'splash_edit_user' => 'Benutzer gespeichert',
'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste',
'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',
'splash_expiration_date_cleared' => 'Ablaufdatum gelöscht',
'splash_expiration_date_set' => 'Ablaufdatum auf [date] gesetzt',
'splash_extension_getlist' => 'Liste der Erweiterungen im Repositorium aktualisiert.',
'splash_extension_import' => 'Erweiterung installiert',
'splash_extension_refresh' => 'Liste der Erweiterungen neu geladen',
@ -1833,8 +1855,11 @@ Name: [username]
'takeOverIndApprovers' => 'Einzelfreigeber übernehmen',
'takeOverIndReviewer' => 'Übernehme die Einzelprüfer von der letzten Version.',
'takeOverIndReviewers' => 'Einzelprüfer übernehmen',
'target_equals_source_folder' => 'Zielordner ist identisch zu Quellordner',
'tasks' => 'Aufgaben',
'task_core_expireddocs_days' => 'Tage',
'task_core_expireddocs_email' => 'E-Mail',
'task_core_indexingdocs_recreate' => 'Index neu erzeugen',
'task_description' => 'Beschreibung',
'task_disabled' => 'Deaktiviert',
'task_frequency' => 'Häufigkeit',
@ -1875,6 +1900,7 @@ Name: [username]
'transfer_content' => 'Inhalt übertragen',
'transfer_document' => 'Dokument übertragen',
'transfer_no_read_access' => 'Der Benutzer hat in dem Ordner keine Schreibrechte',
'transfer_no_users' => 'Es existieren zur Zeit keine Benutzer auf die dieses Dokument übertragen werden kann.',
'transfer_no_write_access' => 'Der Benutzer hat in dem Ordner keine Schreibrechte',
'transfer_objects' => 'Objekte übertragen',
'transfer_objects_to_user' => 'Neuer Eigentümer',
@ -2013,6 +2039,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Mindestens eine Transition hat weder einen Benutzer noch eine Gruppe zugewiesen!',
'workflow_user_summary' => 'Übersicht Benutzer',
'wrong_checksum' => 'Falsche Prüfsumme',
'wrong_filetype' => 'Falscher Dateityp',
'x_more_objects' => '[number] weitere Objekte',
'year_view' => 'Jahresansicht',

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 (331)
// Translators: Admin (359)
$text = array(
'2_factor_auth' => '',
@ -33,8 +33,8 @@ $text = array(
'abbr_week' => '',
'abbr_year' => '',
'accept' => '',
'access_control' => '',
'access_control_is_off' => '',
'access_control' => 'Έλεγχος Πρόσβασης',
'access_control_is_off' => 'Ο προηγμένος έλεγχος πρόσβασης είναι απενεργοποιημένος',
'access_denied' => '',
'access_inheritance' => 'Κληρονομικότητα πρόσβασης',
'access_mode' => 'Είδος πρόσβασης',
@ -116,7 +116,7 @@ $text = array(
'approval_submit_email' => '',
'approval_submit_email_body' => '',
'approval_submit_email_subject' => '',
'approval_summary' => '',
'approval_summary' => 'Σύνολο Εγκρίσεων',
'approval_update_failed' => '',
'approvers' => '',
'approver_already_assigned' => '',
@ -223,7 +223,7 @@ $text = array(
'change_assignments' => '',
'change_password' => 'Αλλαγή κωδικού',
'change_password_message' => 'Ο κωδικός σας έχει αλλάξει.',
'change_recipients' => '',
'change_recipients' => 'Ορισμός παραληπτών',
'change_revisors' => '',
'change_status' => 'Αλλαγή κατάστασης',
'charts' => 'Διαγράμματα',
@ -246,7 +246,7 @@ $text = array(
'choose_attrdefgroup' => '',
'choose_category' => 'Επιλέξτε',
'choose_group' => 'Επιλέξτε Ομάδα',
'choose_role' => '',
'choose_role' => 'Επιλογή Ρόλου',
'choose_target_category' => 'Επιλογή κατηγορίας',
'choose_target_document' => 'Επιλογή εγγράφου',
'choose_target_file' => 'Επιλογή αρχείου',
@ -267,7 +267,7 @@ $text = array(
'comment_for_current_version' => 'τρέχουσα έκδοση',
'configure_extension' => '',
'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => '',
'confirm_create_fulltext_index' => 'Ναι, Θα ήθελα την επαναδημιουργία των δεικτών πλήρους κειμένου',
'confirm_move_document' => '',
'confirm_move_folder' => '',
'confirm_pwd' => 'Επιβεβαίωση κωδικού',
@ -296,8 +296,8 @@ $text = array(
'converter_new_mimetype' => '',
'copied_to_checkout_as' => '',
'create_download_link' => '',
'create_fulltext_index' => '',
'create_fulltext_index_warning' => '',
'create_fulltext_index' => 'Δημιούργησε Αρίθμηση των Κειμένων',
'create_fulltext_index_warning' => 'Είσαστε έτοιμοι για επαναδημιουργία των δεικτών πλήρους κειμένου. Αυτό θα χρειαστεί κάποιο χρόνο και θα μειώσει τη συνολική απόδοση του συστήματος. Αν πραγματικά θέλετε την επαναδημιουργία των δεικτών, παρακαλώ να επιβεβαιώσετε τη λειτουργία αυτή.',
'creation_date' => 'Δημιουργήθηκε',
'cs_CZ' => 'Τσέχικα',
'current_password' => '',
@ -307,7 +307,7 @@ $text = array(
'daily' => '',
'databasesearch' => '',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Αναμονή φόρτωσης δεδομένων...',
'date' => 'Ημερομηνία',
'days' => 'μέρες',
'debug' => '',
@ -329,10 +329,11 @@ $text = array(
'documents' => 'Έγγραφα',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Ληγμένα έγγραφα',
'documents_in_process' => '',
'documents_in_process' => 'Κείμενα σε Εξέλιξη',
'documents_locked' => '',
'documents_locked_by_you' => '',
'documents_locked_by_you' => 'Κλειδώθηκε από',
'documents_only' => 'Έγγραφα μόνο',
'documents_rejected' => '',
'documents_to_approve' => '',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -365,6 +366,7 @@ $text = array(
'document_duplicate_name' => '',
'document_has_no_workflow' => '',
'document_infos' => 'Πληροφορίες Εγγράφου',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => '',
@ -426,7 +428,7 @@ $text = array(
'dump_remove' => '',
'duplicates' => '',
'duplicate_content' => '',
'edit' => '',
'edit' => 'Επεξεργασία',
'edit_attributes' => '',
'edit_comment' => 'Επεξερασία σχόλιου',
'edit_default_keywords' => '',
@ -443,6 +445,7 @@ $text = array(
'edit_folder_props' => 'Επεξεργασία φακέλου',
'edit_group' => '',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -453,7 +456,9 @@ $text = array(
'email' => 'Email',
'email_error_title' => '',
'email_footer' => '',
'email_footer_html' => '',
'email_header' => '',
'email_header_html' => '',
'email_not_given' => '',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Δεν υπάρχουν αρχεία ή φάκελοι',
@ -488,6 +493,7 @@ $text = array(
'exclude_items' => '',
'expired' => 'Έχει λήξει',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Λήγει',
'expire_by_date' => 'Λήγει στην ημερομηνία',
@ -508,6 +514,8 @@ $text = array(
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'Διαχείριση πρόσθετων',
'extension_mgr_error_upload' => '',
@ -515,6 +523,8 @@ $text = array(
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'Φεβρουάριος',
'file' => 'Αρχείο',
@ -528,7 +538,7 @@ $text = array(
'filter_for_folders' => '',
'folder' => 'Φάκελος',
'folders' => 'Φάκελοι',
'folders_and_documents_statistic' => '',
'folders_and_documents_statistic' => 'στατιστικά Φακέλλων και Αρχείων',
'folders_with_notification' => '',
'folder_attribute_changed_email_body' => '',
'folder_attribute_changed_email_subject' => '',
@ -557,7 +567,7 @@ $text = array(
'fullsearch_hint' => '',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '',
'fulltext_info' => '',
'fulltext_info' => 'Πληροφορίες Κειμένου',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Ιδιότητες',
'global_default_keywords' => 'Λέξεις Κλειδιά',
@ -599,7 +609,7 @@ $text = array(
'include_content' => '',
'include_documents' => '',
'include_subdirectories' => '',
'indexing_tasks_in_queue' => '',
'indexing_tasks_in_queue' => 'Δημιουργία δεικτών σε ουρά',
'index_converters' => '',
'index_document_unchanged' => '',
'index_done' => '',
@ -607,7 +617,7 @@ $text = array(
'index_folder' => 'Ταξινόμηση φακέλου',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'index_waiting' => 'Αναμονή',
'individuals' => 'Άτομα',
'individuals_in_groups' => '',
'info_recipients_tab_not_released' => '',
@ -615,6 +625,7 @@ $text = array(
'inherits_access_copy_msg' => 'Αντιγραφή δικαιωμάτων πρόσβασης',
'inherits_access_empty_msg' => 'Έναρξη με κενή λίστα δικαιωμάτων πρόσβασης',
'inherits_access_msg' => 'Η πρόσβαση κληρονομήθηκε',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Εσωτερικό λάθος',
'internal_error_exit' => '',
@ -683,7 +694,7 @@ $text = array(
'linked_documents' => 'Σχετικά Έγγραφα',
'linked_files' => 'Συνδεμένα αρχεία',
'linked_to_current_version' => '',
'linked_to_document' => '',
'linked_to_document' => 'Συνδεδεμένο με το έγγραφο',
'linked_to_this_version' => '',
'link_alt_updatedocument' => '',
'link_document' => '',
@ -747,7 +758,7 @@ $text = array(
'move_folder' => 'Μετακίνηση φακέλου',
'my_account' => 'Ο Λογαριασμός μου',
'my_documents' => 'Τα έγγραφα μου',
'my_transmittals' => '',
'my_transmittals' => 'Οι Διαβιβάσεις μου',
'name' => 'Όνομα',
'nb_NO' => 'Νορβηγικά',
'needs_correction' => '',
@ -758,7 +769,7 @@ $text = array(
'new_attrdef' => '',
'new_default_keywords' => '',
'new_default_keyword_category' => 'Προσθήκη Κατηγορίας',
'new_document_category' => '',
'new_document_category' => 'Προσθήκη κατηγορίας',
'new_document_email' => 'Νέο Έγγραφο',
'new_document_email_body' => 'Νέο έγγραφο
Name: [name]
@ -837,7 +848,7 @@ URL: [url]',
'operation_disallowed' => '',
'order_by_sequence_off' => '',
'original_filename' => '',
'overall_indexing_progress' => '',
'overall_indexing_progress' => 'Συνολική πρόοδος δημιουργίας δεικτών',
'owner' => 'Ιδιοκτήτης',
'ownership_changed_email' => '',
'ownership_changed_email_body' => '',
@ -959,10 +970,11 @@ URL: [url]',
'review_submit_email' => '',
'review_submit_email_body' => '',
'review_submit_email_subject' => '',
'review_summary' => '',
'review_summary' => 'Σύνολο Ανασκοπήσεων',
'review_update_failed' => '',
'revise_document' => '',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1010,11 +1022,11 @@ URL: [url]',
'rm_workflow_action' => '',
'rm_workflow_state' => '',
'rm_workflow_warning' => '',
'role' => '',
'role_admin' => '',
'role' => 'Ρόλος',
'role_admin' => 'Διαχειριστής',
'role_guest' => 'Επισκέπτης',
'role_info' => '',
'role_management' => '',
'role_management' => 'Διαχείριση Ρόλων',
'role_name' => '',
'role_type' => '',
'role_user' => 'Χρήστης',
@ -1030,7 +1042,7 @@ URL: [url]',
'scheduler_class_description' => '',
'scheduler_class_parameter' => '',
'scheduler_class_tasks' => '',
'scheduler_task_mgr' => '',
'scheduler_task_mgr' => 'Διαχειριστής Προγραμματισμού Εργασιών',
'search' => 'Αναζήτηση',
'search_fulltext' => '',
'search_in' => '',
@ -1051,6 +1063,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Επιλογή',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Επιλογή κατηγορίας',
@ -1075,7 +1088,7 @@ URL: [url]',
'select_one' => 'Επιλογή',
'select_owner' => '',
'select_user' => 'Επιλογή χρήστη',
'select_users' => '',
'select_users' => 'Κάντε κλικ για να επιλέξετε χρήστες',
'select_value' => 'Επιλέξτε τιμή',
'select_workflow' => '',
'send_email' => '',
@ -1144,6 +1157,10 @@ URL: [url]',
'settings_createdirectory' => '',
'settings_currentvalue' => '',
'settings_Database' => '',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => '',
'settings_dbDatabase_desc' => '',
'settings_dbDriver' => '',
@ -1462,6 +1479,8 @@ URL: [url]',
'settings_updateNotifyTime' => '',
'settings_updateNotifyTime_desc' => '',
'settings_upgrade_php' => '',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => '',
'settings_versioningFileName_desc' => '',
'settings_versiontolow' => '',
@ -1524,7 +1543,10 @@ URL: [url]',
'splash_edit_user' => '',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1624,8 +1646,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1666,6 +1691,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'Μεταφορά εγγράφου',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1709,7 +1735,7 @@ URL: [url]',
'update' => 'Ενημέρωση',
'update_approvers' => '',
'update_document' => 'Ενημέρωση εγγράφου',
'update_fulltext_index' => '',
'update_fulltext_index' => 'Ενημέρωση της Αρίθμησης Κειμένων',
'update_info' => '',
'update_locked_msg' => '',
'update_recipients' => '',
@ -1790,6 +1816,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '',
'year_view' => '',

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 (1945), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (1976), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -136,7 +136,7 @@ Status: [status]
Comment: [comment]
User: [username]
URL: [url]',
'approval_submit_email_subject' => '[sitename]: [name] - Submitted approval',
'approval_submit_email_subject' => '[sitename]: [name] - Approval submitted',
'approval_summary' => 'Approval Summary',
'approval_update_failed' => 'Error updating approval status. Update failed.',
'approvers' => 'Approvers',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Locked documents',
'documents_locked_by_you' => 'Documents locked by you',
'documents_only' => 'Documents only',
'documents_rejected' => 'Rejected',
'documents_to_approve' => 'Documents awaiting your approval',
'documents_to_correct' => 'Documents that need correction',
'documents_to_process' => 'Documents that need processing',
@ -410,6 +411,7 @@ User: [username]',
'document_duplicate_name' => 'Duplicate document name',
'document_has_no_workflow' => 'Document has no workflow',
'document_infos' => 'Document Information',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => 'Document is currently checked out. If you delete the document, the checked out version can not be added anymore and remains in the checkout area.',
'document_is_checked_out_update' => 'Document is currently checked out. If you upload a new version, then the checked out version cannot be checked back in anymore.',
'document_is_not_locked' => 'This document is not locked',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Edit folder',
'edit_group' => 'Edit group',
'edit_online' => 'Edit online',
'edit_online_not_allowed' => 'You are not allowed to edit this file because you have not created the latest version. Just upload a new version of the document.',
'edit_online_warning' => 'Saving your changes will overwrite the content of the current version, instead of creating a new version.',
'edit_task' => 'Edit task',
'edit_transmittal_props' => 'Edit transmittal properties',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'No email entered',
'email_footer' => 'You can always change your e-mail settings using \'My Account\' functions',
'email_footer_html' => '<p>You can always change your e-mail settings using \'My Account\' functions</p>',
'email_header' => 'This is an automatic message from the DMS server.',
'email_header_html' => '<p>This is an automatic message from the DMS server.</p>',
'email_not_given' => 'Please enter a valid email address.',
'empty_attribute_group_list' => 'No attribute groups',
'empty_folder_list' => 'No documents or folders',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Exclude items',
'expired' => 'Expired',
'expired_at_date' => 'Expired at [datetime]',
'expired_docs_mail_subject' => 'Expired documents',
'expired_documents' => 'Expired documents',
'expires' => 'Expires',
'expire_by_date' => 'Expires by date',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => 'Export users as CSV',
'extension_archive' => 'Extension',
'extension_changelog' => 'Changelog',
'extension_is_off_now' => 'Extension off now',
'extension_is_on_now' => 'Extension now enabled',
'extension_loading' => 'Loading extensions ...',
'extension_manager' => 'Manage extensions',
'extension_mgr_error_upload' => 'Error while uploading the extension.',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Uploading new extensions is not possible because the extentension directory is not writable.',
'extension_mgr_no_zipfile' => 'The uploaded extension is not a zip file',
'extension_mgr_repository' => 'Available',
'extension_missing_name' => 'No extension name given',
'extension_toggle_error' => 'Could not toggle extension',
'extension_version_list' => 'Versions',
'february' => 'February',
'file' => 'File',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copy inherited access list',
'inherits_access_empty_msg' => 'Start with empty access list',
'inherits_access_msg' => 'Access is being inherited.',
'installed_apache_extensions' => 'Installed apache Extensions',
'installed_php_extensions' => 'Installed php extensions',
'internal_error' => 'Internal error',
'internal_error_exit' => 'Internal error. Unable to complete request.',
@ -1143,6 +1154,7 @@ URL: [url]',
'review_update_failed' => 'Error updating review status. Update failed.',
'revise_document' => 'Revise document',
'revise_document_on' => 'Next revision of document version on [date]',
'revision' => 'Revision',
'revisions_accepted' => '[no_revisions] revisions already accepted',
'revisions_accepted_latest' => '(being [no_revisions] in latest version)',
'revisions_not_touched' => '[no_revisions] revisions not being touched',
@ -1249,6 +1261,7 @@ URL: [url]',
'seeddms_info' => 'Information about SeedDMS',
'seeddms_version' => 'Version of SeedDMS',
'selection' => 'Selection',
'select_attrdef' => 'Select attribute definition',
'select_attrdefgrp_show' => 'Choose when to show',
'select_attribute_value' => 'Select attribute value',
'select_category' => 'Click to select category',
@ -1347,6 +1360,10 @@ Name: [username]
'settings_createdirectory' => 'Create directory',
'settings_currentvalue' => 'Current value',
'settings_Database' => 'Database settings',
'settings_dateformat' => 'Date format',
'settings_dateformat_desc' => 'This date format uses the syntax of php\'s date() function',
'settings_datetimeformat' => 'Date/Time format',
'settings_datetimeformat_desc' => 'This date format uses the syntax of php\'s date() function',
'settings_dbDatabase' => 'Database',
'settings_dbDatabase_desc' => 'The name for your database entered during the installation process. Do not edit this field unless necessary, if for example the database has been moved.',
'settings_dbDriver' => 'Database Type',
@ -1404,7 +1421,7 @@ Name: [username]
'settings_enableDuplicateDocNames_desc' => 'Allows to have duplicate document names in a folder.',
'settings_enableDuplicateSubFolderNames' => 'Allow duplicat subfolder names',
'settings_enableDuplicateSubFolderNames_desc' => 'Allows to have duplicate subfolder names in a folder.',
'settings_enableEmail' => 'Enable E-mail',
'settings_enableEmail' => 'Enable E-mail Notification',
'settings_enableEmail_desc' => 'Enable/disable automatic email notification',
'settings_enableFilterReceipt' => 'Filter out owner, reviewer, ... from reception list',
'settings_enableFilterReceipt_desc' => 'Enable, in order to filter out some recipients from a reception list if members of a group are selected.',
@ -1647,11 +1664,11 @@ Name: [username]
'settings_System' => 'System',
'settings_tasksInMenu' => 'Selected tasks',
'settings_tasksInMenu_approval' => 'Approvals',
'settings_tasksInMenu_checkedout' => '',
'settings_tasksInMenu_checkedout' => 'Checked out',
'settings_tasksInMenu_desc' => 'Select those tasks which are to be counted. If none is selected, then all tasks will be counted.',
'settings_tasksInMenu_needscorrection' => 'Correction needed',
'settings_tasksInMenu_receipt' => 'Receipts',
'settings_tasksInMenu_rejected' => '',
'settings_tasksInMenu_rejected' => 'Rejected',
'settings_tasksInMenu_review' => 'Reviews',
'settings_tasksInMenu_revision' => 'Revisions',
'settings_tasksInMenu_workflow' => 'Workflow',
@ -1665,6 +1682,8 @@ Name: [username]
'settings_updateNotifyTime' => 'Update Notify Time',
'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds',
'settings_upgrade_php' => 'Upgrade PHP to at least version 5.6.38',
'settings_useHomeAsRootFolder' => 'Use home folder as root folder',
'settings_useHomeAsRootFolder_desc' => 'Enable this if the user\'s home folder (no admin) shall be used as the root folder (experimental)',
'settings_versioningFileName' => 'Versioning FileName',
'settings_versioningFileName_desc' => 'The name of the versioning info file created by the backup tool',
'settings_versiontolow' => 'Version to low',
@ -1727,7 +1746,10 @@ Name: [username]
'splash_edit_user' => 'User saved',
'splash_error_add_to_transmittal' => 'Error while adding document to transmittal',
'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',
'splash_expiration_date_cleared' => 'Cleared expiration date',
'splash_expiration_date_set' => 'Set expiration date on [date]',
'splash_extension_getlist' => 'Updated list of extensions from repository',
'splash_extension_import' => 'Extension installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
@ -1827,8 +1849,11 @@ Name: [username]
'takeOverIndApprovers' => 'Take Over Individual Approvers',
'takeOverIndReviewer' => 'Take over individual reviewer from last version.',
'takeOverIndReviewers' => 'Take Over Individual Reviewers',
'target_equals_source_folder' => 'Target folder equals source folder',
'tasks' => 'Tasks',
'task_core_expireddocs_days' => 'Days',
'task_core_expireddocs_email' => 'Email',
'task_core_indexingdocs_recreate' => 'Recreate index',
'task_description' => 'Description',
'task_disabled' => 'Disabled',
'task_frequency' => 'Frequency',
@ -1869,6 +1894,7 @@ Name: [username]
'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_write_access' => 'The user does not have write access in the folder',
'transfer_objects' => 'Transfer objects',
'transfer_objects_to_user' => 'New owner',
@ -2007,6 +2033,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'At least one of the transitions has neither a user nor a group!',
'workflow_user_summary' => 'User summary',
'wrong_checksum' => 'Wrong checksum',
'wrong_filetype' => 'Wrong file type',
'x_more_objects' => '[number] more objects',
'year_view' => 'Year View',

View File

@ -19,10 +19,10 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: acabello (20), Admin (1287), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (1310), angel (123), francisco (2), jaimem (14)
$text = array(
'2_factor_auth' => '',
'2_factor_auth' => 'Autenticación de doble factor',
'2_factor_auth_info' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
@ -74,7 +74,7 @@ URL: [url]',
'add_multiple_files' => 'Añadir múltiples ficheros (Se usará el nombre de fichero como nombre de documento)',
'add_receipt' => '',
'add_review' => 'Enviar revisión',
'add_revision' => '',
'add_revision' => 'Añadir revisión',
'add_role' => 'Agregar Usuario',
'add_subfolder' => 'Añadir subcarpeta',
'add_task' => 'Agregar nueva tarea a esta clase',
@ -171,10 +171,10 @@ URL: [url]',
'attrdef_type' => 'Tipo',
'attrdef_type_boolean' => 'Lógico (booleano)',
'attrdef_type_date' => 'Fecha',
'attrdef_type_document' => '',
'attrdef_type_document' => 'Documento',
'attrdef_type_email' => 'E-mail',
'attrdef_type_float' => 'Número decimal',
'attrdef_type_folder' => '',
'attrdef_type_folder' => 'Carpeta',
'attrdef_type_group' => 'Grupo',
'attrdef_type_int' => 'Número entero',
'attrdef_type_string' => 'Texto',
@ -357,6 +357,7 @@ URL: [url]',
'documents_locked' => '',
'documents_locked_by_you' => 'Documentos bloqueados por usted',
'documents_only' => 'Solo documentos',
'documents_rejected' => '',
'documents_to_approve' => 'Documentos en espera de aprobación de usuarios',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -398,6 +399,7 @@ Usuario: [username]',
'document_duplicate_name' => 'Nombre de documento duplicado',
'document_has_no_workflow' => 'Documento sin flujo de trabajo',
'document_infos' => 'Informaciones',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Este documento no está bloqueado',
@ -497,6 +499,7 @@ URL: [url]',
'edit_folder_props' => 'Editar carpeta',
'edit_group' => 'Editar grupo...',
'edit_online' => 'Editar en línea',
'edit_online_not_allowed' => '',
'edit_online_warning' => 'Al guardar sus cambios sobrescribirá el contenido de la versión actual, en lugar de crear una nueva versión.',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -507,7 +510,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'No ha introducido un correo',
'email_footer' => 'Siempre se puede cambiar la configuración de correo electrónico utilizando las funciones de «Mi cuenta»',
'email_footer_html' => '',
'email_header' => 'Este es un mensaje automático del servidor de DMS.',
'email_header_html' => '',
'email_not_given' => 'Por favor, introduzca una dirección de correo válida.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Sin documentos o carpetas',
@ -542,6 +547,7 @@ URL: [url]',
'exclude_items' => 'Registros excluidos',
'expired' => 'Caducado',
'expired_at_date' => 'Expirado en [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Documentos expirados',
'expires' => 'Caduca',
'expire_by_date' => 'Fecha de expiración',
@ -566,6 +572,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => 'Log de Cambios',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Cargando extensiones',
'extension_manager' => 'Administrar extensiones',
'extension_mgr_error_upload' => '',
@ -573,6 +581,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'No es posible cargar mas extensiones porque el directorio de extensiones no se puede escribir',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Disponible',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versiones',
'february' => 'Febrero',
'file' => 'Fichero',
@ -679,7 +689,7 @@ URL: [url]',
'include_subdirectories' => 'Incluir subcarpetas',
'indexing_tasks_in_queue' => 'Tareas de indexación en cola',
'index_converters' => '',
'index_document_unchanged' => '',
'index_document_unchanged' => 'documento sin cambios',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Índice de carpetas',
@ -693,6 +703,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copiar lista de acceso heredado',
'inherits_access_empty_msg' => 'Empezar con una lista de acceso vacía',
'inherits_access_msg' => 'Acceso heredado.',
'installed_apache_extensions' => '',
'installed_php_extensions' => 'Extensiones PHP instaladas',
'internal_error' => 'Error interno',
'internal_error_exit' => 'Error interno. No es posible terminar la solicitud.',
@ -1009,10 +1020,10 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'receipt_update_failed' => '',
'recent_uploads' => 'Subidas recientes',
'reception' => 'Recepción',
'reception_acknowleged' => '',
'reception_noaction' => '',
'reception_rejected' => '',
'recipients' => '',
'reception_acknowleged' => 'Recepción aceptada',
'reception_noaction' => 'Sin acciones',
'reception_rejected' => 'Recepción rechazada',
'recipients' => 'Destinatario',
'recipient_already_removed' => '',
'redraw' => '',
'refresh' => 'Actualizar',
@ -1091,6 +1102,7 @@ URL: [url]',
'review_update_failed' => 'Error actualizando el estado de la revisión. La actualización ha fallado.',
'revise_document' => 'Revisar documento',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1101,7 +1113,7 @@ URL: [url]',
'revisions_rejected_latest' => '',
'revisions_without_group' => 'Revisiones sin grupo',
'revisions_without_user' => 'Revisiones sin usuario',
'revision_date' => '',
'revision_date' => 'Fecha de revisión',
'revision_log' => 'Histórico de revisiones',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
@ -1171,7 +1183,7 @@ URL: [url]',
'scheduler_class_description' => 'Descripción',
'scheduler_class_parameter' => 'Parametro',
'scheduler_class_tasks' => '',
'scheduler_task_mgr' => 'Rrogramacion',
'scheduler_task_mgr' => 'Programación',
'search' => 'Buscar',
'search_fulltext' => 'Buscar en texto completo',
'search_in' => 'Buscar en',
@ -1192,6 +1204,7 @@ URL: [url]',
'seeddms_info' => 'Acerca de SeedDMS',
'seeddms_version' => 'Versión de SeedDMS',
'selection' => 'Selección',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => 'Seleccionar valores de atributos',
'select_category' => 'Haga Click para seleccionar categoría',
@ -1202,16 +1215,16 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => 'Seleccione grupo',
'select_grp_ind_reviewers' => 'Dar click para seleccionar el grupo',
'select_grp_ind_revisors' => '',
'select_grp_ind_revisors' => 'Clic para seleccionar grupo',
'select_grp_notification' => 'Clic para seleccionar la notificación grupal',
'select_grp_recipients' => 'Dar click para selecionar el grupo',
'select_grp_reviewers' => 'Haga Click para seleccionar grupo de revisores',
'select_grp_revisors' => '',
'select_grp_revisors' => 'Clic para seleccionar grupo de revisores',
'select_ind_approvers' => 'Haga Click para seleccionar aprobador individual',
'select_ind_notification' => 'Clic para seleccionar la notificación individual',
'select_ind_recipients' => 'Dar click para asignar los receptores',
'select_ind_reviewers' => 'Haga Click para seleccionar revisor individual',
'select_ind_revisors' => '',
'select_ind_revisors' => 'Clic para seleccionar revisores individuales',
'select_mimetype' => '',
'select_one' => 'Seleccionar uno',
'select_owner' => '',
@ -1285,6 +1298,10 @@ URL: [url]',
'settings_createdirectory' => 'Crear carpeta',
'settings_currentvalue' => 'Valor actual',
'settings_Database' => 'Configuración de Base de datos',
'settings_dateformat' => 'Formato de fecha',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => 'Format fecha/hora',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Base de datos',
'settings_dbDatabase_desc' => 'Nombre para su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se traslada.',
'settings_dbDriver' => 'Tipo de Base de datos',
@ -1441,7 +1458,7 @@ URL: [url]',
'settings_initialDocumentStatus_desc' => 'Este estatus se fijará cuando un documento sea añadido.',
'settings_initialDocumentStatus_draft' => 'Borrador',
'settings_initialDocumentStatus_released' => 'Liberado',
'settings_inlineEditing' => '',
'settings_inlineEditing' => 'Edición en linea',
'settings_inlineEditing_desc' => 'Si se encuentra habilitado, será posible editar el nombre del documentos en la página de detalles',
'settings_installADOdb' => 'Instalar ADOdb',
'settings_install_disabled' => 'El archivo ENABLE_INSTALL_TOOL ha sido eliminado. Ahora puede conectarse a SeedDMS y seguir con la configuración.',
@ -1603,6 +1620,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Tiempo de notificación de actualización',
'settings_updateNotifyTime_desc' => 'Se notificará a los usuarios sobre los cambios en documentos que tengan lugar en los próximos segundos de «Tiempo de notificación de actualización»',
'settings_upgrade_php' => 'Actualice PHP a una versión igual o mayor a 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Archivo de versionado',
'settings_versioningFileName_desc' => 'Nombre de archivo de información de versionado creado por la herramienta de copia de respaldo',
'settings_versiontolow' => 'Versión antigua',
@ -1665,7 +1684,10 @@ URL: [url]',
'splash_edit_user' => 'Usuario guardado',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1718,7 +1740,7 @@ URL: [url]',
'status_approver_removed' => 'Aprobador eliminado del proceso',
'status_needs_correction' => '',
'status_not_approved' => 'Sin aprobar',
'status_not_receipted' => '',
'status_not_receipted' => 'Aún no asignado destinario',
'status_not_reviewed' => 'Sin revisar',
'status_not_revised' => 'No revisado',
'status_receipted' => '',
@ -1745,7 +1767,7 @@ URL: [url]',
'submit_userinfo' => 'Enviar información',
'submit_webauthn_login' => '',
'submit_webauthn_register' => '',
'subsribe_timelinefeed' => '',
'subsribe_timelinefeed' => 'Suscríbase a la línea de tiempo',
'substitute_to_user' => 'Cambiar a \'[username]\'',
'substitute_user' => 'Cambiar de usuario',
'success_add_aro' => '',
@ -1765,8 +1787,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Tomar control de la revisión de la última versión',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Tareas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1796,8 +1821,8 @@ URL: [url]',
'timeline_skip_status_change_1' => 'aprovaciones pendientes',
'timeline_skip_status_change_2' => 'versiones',
'timeline_skip_status_change_3' => 'con flujo de trabajo',
'timeline_skip_status_change_4' => '',
'timeline_skip_status_change_5' => '',
'timeline_skip_status_change_4' => 'en revisión',
'timeline_skip_status_change_5' => 'borrador',
'timeline_status_change' => 'Versión [version]: [estado]',
'to' => 'Hasta',
'toggle_manager' => 'Intercambiar mánager',
@ -1807,6 +1832,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'Transferir documento',
'transfer_no_read_access' => 'El usuario no tiene acceso de lectura en la carpeta',
'transfer_no_users' => '',
'transfer_no_write_access' => 'El usuario no tiene acceso de escritura en la carpeta',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1837,7 +1863,7 @@ URL: [url]',
'tuesday_abbr' => 'M',
'types_generic' => '',
'type_of_hook' => '',
'type_to_filter' => '',
'type_to_filter' => 'Escriba para filtrar lista',
'type_to_search' => 'Tipo de búsqueda',
'uk_UA' => 'Ucraniano',
'under_folder' => 'En carpeta',
@ -1906,7 +1932,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Versión eliminada',
'version_info' => 'Información de versión',
'view' => 'Vista',
'view_document' => '',
'view_document' => 'Ver detalles del documento',
'view_folder' => '',
'view_online' => 'Ver online',
'warning' => 'Advertencia',
@ -1945,6 +1971,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Resumen Usuario',
'wrong_checksum' => '',
'wrong_filetype' => 'Tipo de archivo erróneo',
'x_more_objects' => '[number] más objetos',
'year_view' => 'Vista del año',

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 (1108), jeromerobert (50), lonnnew (9), Oudiceval (977)
// Translators: Admin (1111), jeromerobert (50), lonnnew (9), Oudiceval (977)
$text = array(
'2_factor_auth' => 'Authentification forte',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Documents verrouillés',
'documents_locked_by_you' => 'Documents verrouillés',
'documents_only' => 'Documents uniquement',
'documents_rejected' => '',
'documents_to_approve' => 'Documents en attente d\'approbation',
'documents_to_correct' => 'Documents à corriger',
'documents_to_process' => 'Documents à traiter',
@ -410,6 +411,7 @@ Utilisateur : [username]',
'document_duplicate_name' => 'Un document porte déjà ce nom !',
'document_has_no_workflow' => 'Le document n\'a pas de workflow',
'document_infos' => 'Informations sur le document',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Le document est actuellement bloqué. Si vous ajoutez une nouvelle version, la version bloquée ne pourra plus être débloquée.',
'document_is_not_locked' => 'Ce document n\'est pas verrouillé',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Modifier le dossier',
'edit_group' => 'Modifier un groupe',
'edit_online' => 'Modification en ligne',
'edit_online_not_allowed' => '',
'edit_online_warning' => 'Lenregistrement de vos modifications écrasera le contenu de la version actuelle au lieu de créer une nouvelle version.',
'edit_task' => 'Modifier la tâche',
'edit_transmittal_props' => 'Modifier les propriétés de la transmission',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Aucun e-mail indiqué',
'email_footer' => 'Vous pouvez modifier vos notifications via « Mon compte ».',
'email_footer_html' => '',
'email_header' => 'Ceci est un message automatique généré par le serveur DMS.',
'email_header_html' => '',
'email_not_given' => 'Veuillez entrer une adresse e-mail valide.',
'empty_attribute_group_list' => 'Aucun groupe dattributs',
'empty_folder_list' => 'Pas de documents ou de dossier',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Exclure des élements',
'expired' => 'Expiré',
'expired_at_date' => 'Expiré le [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Documents expirés',
'expires' => 'Expiration',
'expire_by_date' => 'Expire à une date',
@ -583,6 +589,8 @@ URL : [url]',
'export_user_list_csv' => 'Exporter les utilisateurs en CSV',
'extension_archive' => 'Extension',
'extension_changelog' => 'Journal des modifications',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Chargement des extensions…',
'extension_manager' => 'Gestionnaire d\'extensions',
'extension_mgr_error_upload' => 'Erreur lors du chargement de lextension',
@ -590,6 +598,8 @@ URL : [url]',
'extension_mgr_no_upload' => 'Lajout de nouvelles extensions nest pas possible car le répertoire des extensions nest pas accessible en écriture.',
'extension_mgr_no_zipfile' => 'Lextension chargée nest pas un dossier zip',
'extension_mgr_repository' => 'Disponibles',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versions',
'february' => 'Février',
'file' => 'Fichier',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Recopier la liste des accès hérités',
'inherits_access_empty_msg' => 'Commencer avec une liste d\'accès vide',
'inherits_access_msg' => 'L\'accès est hérité.',
'installed_apache_extensions' => '',
'installed_php_extensions' => 'Extensions PHP installées',
'internal_error' => 'Erreur interne',
'internal_error_exit' => 'Erreur interne. Impossible d\'achever la demande.',
@ -1140,6 +1151,7 @@ URL : [url]',
'review_update_failed' => 'Erreur lors de la mise à jour du statut de vérification. Échec de la mise à jour.',
'revise_document' => 'Réviser le document',
'revise_document_on' => 'Prochaine révision de la version du document le [date]',
'revision' => '',
'revisions_accepted' => '[no_revisions] révisions déjà confirmées',
'revisions_accepted_latest' => '(dont [no_revisions] dans la dernière version)',
'revisions_not_touched' => '[no_revisions] révisions non amorcées',
@ -1247,6 +1259,7 @@ URL : [url]',
'seeddms_info' => 'Informations sur SeedDMS',
'seeddms_version' => 'Version de SeedDMS',
'selection' => 'Sélection',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Choisir quand afficher',
'select_attribute_value' => 'Sélectionnez la valeur de lattribut',
'select_category' => 'Cliquer pour choisir une catégorie',
@ -1345,6 +1358,10 @@ Nom : [username]
'settings_createdirectory' => 'Créer répertoire',
'settings_currentvalue' => 'Valeur actuelle',
'settings_Database' => 'Paramètres base de données',
'settings_dateformat' => 'Format de date',
'settings_dateformat_desc' => 'Ce format de date utilise la syntaxe de la fonction date() de php',
'settings_datetimeformat' => 'Format de date/heure',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Base de données',
'settings_dbDatabase_desc' => 'Le nom de votre base de données entré pendant le processus d\'installation. Ne pas modifier le champ sauf si absolument nécessaire, par exemple si la base de données a été déplacé.',
'settings_dbDriver' => 'Type base de données',
@ -1663,6 +1680,8 @@ Nom : [username]
'settings_updateNotifyTime' => 'Délai de notification des modifications',
'settings_updateNotifyTime_desc' => 'Les utilisateurs sont informés des modifications apportées aux documents qui ont eu lieu durant le délai précisé (en secondes).',
'settings_upgrade_php' => 'Mettez à jour PHP vers une version au moins égale à 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Nom des fichiers de versionnage',
'settings_versioningFileName_desc' => 'Nom des fichiers textes dinformation créés depuis les outils de sauvegarde',
'settings_versiontolow' => 'Version trop ancienne',
@ -1725,7 +1744,10 @@ Nom : [username]
'splash_edit_user' => 'Utilisateur modifié',
'splash_error_add_to_transmittal' => 'Erreur lors de lajout du document à la transmission',
'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Erreur lors de lenvoi du lien de téléchargement',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Liste des extensions du dépôt actualisée',
'splash_extension_import' => 'Extension installée',
'splash_extension_refresh' => 'Liste des extensions actualisée',
@ -1825,8 +1847,11 @@ Nom : [username]
'takeOverIndApprovers' => 'Récupérer les approbateurs individuels',
'takeOverIndReviewer' => 'Récupérer les examinateurs de la dernière version.',
'takeOverIndReviewers' => 'Récupérer les examinateurs individuels',
'target_equals_source_folder' => '',
'tasks' => 'Tâches',
'task_core_expireddocs_days' => 'jours',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Description',
'task_disabled' => 'Désactivée',
'task_frequency' => 'Fréquence',
@ -1867,6 +1892,7 @@ Nom : [username]
'transfer_content' => 'Transférer le contenu',
'transfer_document' => 'Transférer le document',
'transfer_no_read_access' => 'Lutilisateur na pas le droit de lecture dans ce dossier',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Lutilisateur na pas le droit décriture dans ce dossier',
'transfer_objects' => 'Transférer les objets',
'transfer_objects_to_user' => 'Nouveau propriétaire',
@ -2005,6 +2031,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Au moins une transition a ni utilisateur, ni groupe !',
'workflow_user_summary' => 'Récapitulatif utilisateur',
'wrong_checksum' => '',
'wrong_filetype' => 'Mauvais type de fichier',
'x_more_objects' => '[number] objets supplémentaires',
'year_view' => 'Vue annuelle',

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 (1241), marbanas (16)
// Translators: Admin (1243), marbanas (16)
$text = array(
'2_factor_auth' => '',
@ -136,7 +136,7 @@ Status: [status]
Komentar: [comment]
Korisnik: [username]
Internet poveznica: [url]',
'approval_submit_email_subject' => 'Podnešeno odobrenje',
'approval_submit_email_subject' => '[sitename] : [name] - Podnešeno odobrenje',
'approval_summary' => 'Pregled odobrenja',
'approval_update_failed' => 'Greška pri ažuriranju statusa odobrenja. Ažuriranje nije uspjelo.',
'approvers' => 'Validatori',
@ -336,7 +336,7 @@ Internet poveznica: [url]',
'daily' => 'Dnevno',
'databasesearch' => 'Pretraživanje baze podataka',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Molim pričekati, dok se podaci učitavaju ...',
'date' => 'Datum',
'days' => 'dani',
'debug' => 'Ispravljanje',
@ -362,6 +362,7 @@ Internet poveznica: [url]',
'documents_locked' => '',
'documents_locked_by_you' => 'Dokumenti koje ste vi zaključali',
'documents_only' => 'Samo dokumenti',
'documents_rejected' => '',
'documents_to_approve' => 'Dokumenti koji čekaju vaše odobrenje',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -403,6 +404,7 @@ Korisnik: [username]',
'document_duplicate_name' => 'Duplicate document name',
'document_has_no_workflow' => 'Dokument nema tok rada',
'document_infos' => 'Informacije o dokumentu',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokument je trenutno odjavljen. Ako učitate novu verziju, tada odjavljena verzija ne može više biti ponovno prijavljena.',
'document_is_not_locked' => 'Ovaj dokument nije zaključan',
@ -502,6 +504,7 @@ Internet poveznica: [url]',
'edit_folder_props' => 'Uredi mapu',
'edit_group' => 'Uredi mapu',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'Izmjena postavki proslijeđivanja',
@ -512,7 +515,9 @@ Internet poveznica: [url]',
'email' => 'Email',
'email_error_title' => 'Nema ulaznog emaila',
'email_footer' => 'Koristeći funckcije \'Moj račun\' možete promijeniti postavke email obavještavanja.',
'email_footer_html' => '',
'email_header' => 'Ovo je automatski generirana poruka iz DMS sustava',
'email_header_html' => '',
'email_not_given' => 'Molimo unesite valjanu email adresu.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Nema dokumenata ili mapa',
@ -547,6 +552,7 @@ Internet poveznica: [url]',
'exclude_items' => 'Isključivanje stavki',
'expired' => 'Isteklo',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Istekli dokumenti',
'expires' => 'Datum isteka',
'expire_by_date' => 'Istječe po datumu',
@ -571,6 +577,8 @@ Internet poveznica: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => 'Popis promjena',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Učitavanje dodataka…',
'extension_manager' => 'Upravljanje ekstenzijama',
'extension_mgr_error_upload' => '',
@ -578,6 +586,8 @@ Internet poveznica: [url]',
'extension_mgr_no_upload' => 'Upload novih ekstenzija nije moguć pošto mapa ekstenzija nema dozvolu pisanja',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Dostupno',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Inačice',
'february' => 'Veljača',
'file' => 'Datoteka',
@ -698,6 +708,7 @@ Internet poveznica: [url]',
'inherits_access_copy_msg' => 'Kopiraj listu naslijeđenih prava pristupa',
'inherits_access_empty_msg' => 'Započnite s praznim popisom pristupa',
'inherits_access_msg' => 'Prava pristupa se naslijeđuju.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Interna greška',
'internal_error_exit' => 'Interna greška. Ne mogu završiti zahtjev.',
@ -1112,6 +1123,7 @@ Internet poveznica: [url]',
'review_update_failed' => 'Greška kod izmjene statusa pregleda. Izmjena nije uspjela.',
'revise_document' => 'Revidiraj dokument',
'revise_document_on' => 'Slijedeća revizija verzije dokumenta na dan [date]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1213,6 +1225,7 @@ Internet poveznica: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Odabir',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => 'Izbari vrednost atributa',
'select_category' => 'Kliknite za odabir kategorije',
@ -1306,6 +1319,10 @@ Internet poveznica: [url]',
'settings_createdirectory' => 'Izradi mapu',
'settings_currentvalue' => 'Trenutna vrijednost',
'settings_Database' => 'Postavke baze podataka',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Baza podataka',
'settings_dbDatabase_desc' => 'Naziv vaše baze podataka unijet tijekom postupka instalacije. Ne uređujte ovo polje dok se ne pojavi potreba, ako npr. premjestite bazu podataka.',
'settings_dbDriver' => 'Vrsta baze podataka',
@ -1624,6 +1641,8 @@ Internet poveznica: [url]',
'settings_updateNotifyTime' => 'Ažuriraj vrijeme obavijesti',
'settings_updateNotifyTime_desc' => 'Korisnici se obavještavaju o promjenama dokumenta koje su se dogodile unutar zadnjih \'Update Notify Time\' sekundi',
'settings_upgrade_php' => 'Ažuriraj PHP najmanje na verziju 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Naziv datoteke verzije dokumenta',
'settings_versioningFileName_desc' => 'Naziv datoteke s informacijom o verziji kreirane alatom za stvaranje sigurnosne kopije',
'settings_versiontolow' => 'Na nižu verziju',
@ -1686,7 +1705,10 @@ Internet poveznica: [url]',
'splash_edit_user' => 'Korisnik pohranjen',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1786,8 +1808,11 @@ Internet poveznica: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Preuzimanje pojedinačnog revizora iz zadnje verzije.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Zadaci',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1828,6 +1853,7 @@ Internet poveznica: [url]',
'transfer_content' => '',
'transfer_document' => 'Prijenos dokumenta',
'transfer_no_read_access' => 'Korisnik nema pravo čitanja u ovom folderu',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Korisnik nema pravo pisanja u ovom folderu',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1966,6 +1992,7 @@ Internet poveznica: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Pregled korisnika',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] više objekata',
'year_view' => 'Pregled po godini',

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 (644), Kalpy (113), ribaz (1036)
// Translators: Admin (646), Kalpy (113), ribaz (1036)
$text = array(
'2_factor_auth' => 'Kétfaktoros azonosítás',
@ -330,7 +330,7 @@ URL: [url]',
'current_version' => 'Aktuális verzió',
'daily' => 'Napi',
'databasesearch' => 'Adatbázis keresés',
'database_schema_version' => '',
'database_schema_version' => 'Adatbázis séma verziója',
'data_loading' => '',
'date' => 'Dátum',
'days' => 'nap',
@ -357,6 +357,7 @@ URL: [url]',
'documents_locked' => 'dokumentum zárolva',
'documents_locked_by_you' => 'Ön által zárolt dokumentumok',
'documents_only' => 'Csak dokumentumok',
'documents_rejected' => '',
'documents_to_approve' => 'Jóváhagyására váró dokumentumok',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -398,6 +399,7 @@ Felhasználó: [username]',
'document_duplicate_name' => 'Duplikált dokumentum név',
'document_has_no_workflow' => 'Dokumentumhoz nincs munkafolyamat',
'document_infos' => 'Dokumentum információ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Ez a dokumentum NEM zßrolt',
@ -497,6 +499,7 @@ URL: [url]',
'edit_folder_props' => 'Mappa szerkesztése',
'edit_group' => 'Csoport szerkesztése',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -507,7 +510,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Nem adott meg email címet',
'email_footer' => 'Bármikor módosíthatja email beállításait a \'My Account\' funkcióval',
'email_footer_html' => '',
'email_header' => 'Ez egy automatikus üzenet a DMS kiszolgálótól.',
'email_header_html' => '',
'email_not_given' => 'Kérem adjon meg egy érvényes email címet.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Mappa vagy dokumentum nem található',
@ -542,6 +547,7 @@ URL: [url]',
'exclude_items' => 'Kizárt elemek',
'expired' => 'Lejárt',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Lejárt dokumentumok',
'expires' => 'Lejárat',
'expire_by_date' => 'Érvényesség dátum szerint',
@ -566,6 +572,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Bővítmények',
'extension_changelog' => 'Változásnapló',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Kiterjesztések betöltése ...',
'extension_manager' => 'Bővítmények kezelése',
'extension_mgr_error_upload' => '',
@ -573,6 +581,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Telepíthető',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Verziók',
'february' => 'Február',
'file' => 'Állomány',
@ -693,6 +703,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Örökített hozzáférési lista másolása',
'inherits_access_empty_msg' => 'Indulás üres hozzáférési listával',
'inherits_access_msg' => 'Jogosultság örökítése folyamatban.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Belső hiba',
'internal_error_exit' => 'Belső hiba. Nem lehet teljesíteni a kérést.',
@ -1091,6 +1102,7 @@ URL: [url]',
'review_update_failed' => 'Hiba a felülvizsgálat állapot frissítése során. Frissítés sikertelen.',
'revise_document' => '',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1189,8 +1201,9 @@ URL: [url]',
'search_time' => 'Felhasznßlt id: [time] mßsodperc.',
'seconds' => 'másodperc',
'seeddms_info' => '',
'seeddms_version' => '',
'seeddms_version' => 'SeedDMS verziója',
'selection' => 'Selection',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Kattintson a kategória kiválasztásához',
@ -1284,6 +1297,10 @@ URL: [url]',
'settings_createdirectory' => 'Könyvtár létrehozása',
'settings_currentvalue' => 'Aktuális érték',
'settings_Database' => 'Adatbázis beállítások',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Adatbázis',
'settings_dbDatabase_desc' => 'Az adatbázis nevét a telepítési folyamat során kell megadni. Ne szerkessze ezt a mezőt ha nem szükséges, ha például az adatbázis áthelyezésre kerül.',
'settings_dbDriver' => 'Adatbázis típus',
@ -1602,6 +1619,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Értesítési idő frissítése',
'settings_updateNotifyTime_desc' => 'Felhasználók értesítést kapnak az \'Értesítés frissítési idő\' által meghatározott másodperc alatt történt dokumentum változásokról',
'settings_upgrade_php' => 'Frissítse a PHP-t legalább 5.6.38 verzióra',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Változatkezelő állománynév',
'settings_versioningFileName_desc' => 'A változáskezelő információs állomány neve létrehozva a mentő eszközzel',
'settings_versiontolow' => 'túl alacsony verzió',
@ -1664,7 +1683,10 @@ URL: [url]',
'splash_edit_user' => 'Felhasználó mentve',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1764,8 +1786,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1806,6 +1831,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'Tulajdonos váltás',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => 'Adatok átadása',
'transfer_objects_to_user' => 'Új tulajdonos',
@ -1944,6 +1970,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Felhasználó áttekintés',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] további tétel',
'year_view' => 'Éves nézet',

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 (2048), rickr (144), s.pnt (26)
// Translators: Admin (2054), rickr (144), s.pnt (26)
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
@ -335,7 +335,7 @@ URL: [url]',
'current_version' => 'Versione attuale',
'daily' => 'Giornaliero',
'databasesearch' => 'Ricerca nel Database',
'database_schema_version' => '',
'database_schema_version' => 'Versione dello schema del database',
'data_loading' => 'Attendere il caricamento dei dati...',
'date' => 'Data',
'days' => 'Giorni',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Documenti bloccati',
'documents_locked_by_you' => 'Documenti bloccati da te',
'documents_only' => 'Solo documenti',
'documents_rejected' => '',
'documents_to_approve' => 'Documenti in attesa della tua approvazione',
'documents_to_correct' => 'Documenti in attesa della tua correzione',
'documents_to_process' => 'I documenti che necessitano di trattamento',
@ -403,6 +404,7 @@ Utente: [username]',
'document_duplicate_name' => 'Nome del Documento duplicato',
'document_has_no_workflow' => 'Il documento non ha un flusso di lavoro',
'document_infos' => 'Informazioni documento',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Il documento é approvato. Se aggiorni il documento, la versione approvata verrà sovrascritta definitivamente',
'document_is_not_locked' => 'Questo documento non è bloccato',
@ -507,6 +509,7 @@ URL: [url]',
'edit_folder_props' => 'Modifica proprietà cartella',
'edit_group' => 'Modifica il gruppo',
'edit_online' => 'Modifica online',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => 'Modifica attività',
'edit_transmittal_props' => 'Modifica proprietà trasmissione',
@ -517,7 +520,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Nessuna email immessa',
'email_footer' => 'Puoi cambiare l\'impostazione della tua email utilizzando le funzioni del menu \'Account personale\'',
'email_footer_html' => '',
'email_header' => 'Questo è un messaggio automatico inviato dal server DMS',
'email_header_html' => '',
'email_not_given' => 'Inserisci un indirizzo email valido.',
'empty_attribute_group_list' => 'Nessun gruppo di attributi',
'empty_folder_list' => 'Cartella vuota',
@ -552,6 +557,7 @@ URL: [url]',
'exclude_items' => 'Escludi elementi',
'expired' => 'Scaduto',
'expired_at_date' => 'Scadenza il [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Documenti scaduti',
'expires' => 'Scadenza',
'expire_by_date' => 'Scadenza per data',
@ -576,6 +582,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Archivio estensioni',
'extension_changelog' => 'Registro delle modifiche delle estensioni',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Caricamento estensioni...',
'extension_manager' => 'Gestisci le estensioni dei files',
'extension_mgr_error_upload' => '',
@ -583,6 +591,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Il caricamento della nuova estensione non è possibile perchè la cartella delle estensioni non ha diritti di scrittura',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Disponibile',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versioni',
'february' => 'Febbraio',
'file' => 'File',
@ -703,6 +713,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copia la lista degli accessi ereditati',
'inherits_access_empty_msg' => 'Reimposta una lista di permessi vuota',
'inherits_access_msg' => 'È impostato il permesso ereditario.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Errore interno',
'internal_error_exit' => 'Errore interno. Impossibile completare la richiesta.',
@ -1129,6 +1140,7 @@ URL: [url]',
'review_update_failed' => 'Errore nella variazione dello stato di revisione. Aggiornamento fallito.',
'revise_document' => 'Riesamina documento',
'revise_document_on' => 'Prossimo riesame del documento il [date]',
'revision' => 'Revisione',
'revisions_accepted' => '[no_reviews] riesami già accettati',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '[no_reviews] riesami non gestiti',
@ -1232,9 +1244,10 @@ URL: [url]',
'search_results_access_filtered' => 'La ricerca può produrre risultati al cui contenuto è negato l\'accesso.',
'search_time' => 'Tempo trascorso: [time] secondi.',
'seconds' => 'secondi',
'seeddms_info' => '',
'seeddms_info' => 'Informazioni riguardo SeedDMS',
'seeddms_version' => 'Versione di SeedDMS',
'selection' => 'Selezione',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Scegli quando mostrare',
'select_attribute_value' => 'Seleziona il valore dell\'attributo',
'select_category' => 'Clicca per selezionare la categoria',
@ -1333,6 +1346,10 @@ Name: [username]
'settings_createdirectory' => 'Crea cartella',
'settings_currentvalue' => 'Valore corrente',
'settings_Database' => 'Impostazioni database',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Database',
'settings_dbDatabase_desc' => 'Il nome del database inserito durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, ad esempio nel trasferimento del database su un nuovo Host.',
'settings_dbDriver' => 'Tipo database',
@ -1651,6 +1668,8 @@ Name: [username]
'settings_updateNotifyTime' => 'Intervallo notifica di aggiornamento',
'settings_updateNotifyTime_desc' => 'Intervallo di tempo in secondi durante il quale ogni modifica ad un documento verrà notificata agli utenti',
'settings_upgrade_php' => 'Aggiornare PHP alla versione 5.6.38 o superiori',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Nome file di versione',
'settings_versioningFileName_desc' => 'Nome attribuito al file di versione creato dallo strumento di backup.',
'settings_versiontolow' => 'Versione obsoleta',
@ -1713,7 +1732,10 @@ Name: [username]
'splash_edit_user' => 'Utente modificato',
'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione',
'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',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Elenco estensioni aggiornate dal repository',
'splash_extension_import' => 'Extensition installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
@ -1813,8 +1835,11 @@ Name: [username]
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Riprendi il revisore dall\'ultima versione.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Attività',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Descrizione',
'task_disabled' => 'Disabilitata',
'task_frequency' => 'Frequenza',
@ -1850,11 +1875,12 @@ Name: [username]
'to' => 'A',
'toggle_manager' => 'Gestore',
'toggle_qrcode' => 'Mostri/nascondi codice QR',
'total' => '',
'total' => 'Totale',
'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio',
'transfer_content' => 'Trasferisci contenuto',
'transfer_document' => 'Trasferisci documento',
'transfer_no_read_access' => 'L\'utente non ha i permessi in lettura per la cartella',
'transfer_no_users' => '',
'transfer_no_write_access' => 'L\'utente non ha i permessi in scrittura per la cartella',
'transfer_objects' => 'Trasferisci oggetti',
'transfer_objects_to_user' => 'Trasferisci all\'utente',
@ -1954,7 +1980,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Versione cancellata',
'version_info' => 'Informazioni versione',
'view' => 'Visualizza',
'view_document' => '',
'view_document' => 'Visualizza i dettagli del documento',
'view_folder' => '',
'view_online' => 'Visualizza on-line',
'warning' => 'Attenzione',
@ -1993,6 +2019,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Almeno una delle transizioni non ha un utente o un gruppo!',
'workflow_user_summary' => 'Riepilogo utenti',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] altri oggetti',
'year_view' => 'Vista anno',

View File

@ -365,6 +365,7 @@ URL: [url]',
'documents_locked' => '잠긴 문서',
'documents_locked_by_you' => '당신에 의해 잠긴 문서',
'documents_only' => '문서',
'documents_rejected' => '',
'documents_to_approve' => '당신의 승인을 기다리는 문서들',
'documents_to_correct' => '',
'documents_to_process' => '문서처리',
@ -406,6 +407,7 @@ URL: [url]',
'document_duplicate_name' => '중복 문서 이름',
'document_has_no_workflow' => '문서에 워크플로우가 없습니다',
'document_infos' => '문서 정보',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '문서가 현재 체크아웃 되어 있습니다. 새 버전을 업로드하면 체크아웃된 버전은 더 이상 확인 할 수 없습니다.',
'document_is_not_locked' => '잠겨 있지 않은 문서',
@ -503,6 +505,7 @@ URL: [url]',
'edit_folder_props' => '폴더 편집',
'edit_group' => '편집 그룹',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '전송 속성 편집',
@ -513,7 +516,9 @@ URL: [url]',
'email' => '전자우편',
'email_error_title' => '기입된 전자우편 없음',
'email_footer' => '귀하는 언제든지 \'내 계정\' 기능을 사용하여 전자우편 주소를 바꿀 수 있습니다.',
'email_footer_html' => '',
'email_header' => 'DMS 서버에서의 자동화 메시지입니다.',
'email_header_html' => '',
'email_not_given' => '유효한 전자우편을 기입해주세요.',
'empty_attribute_group_list' => '',
'empty_folder_list' => '문서 또는 폴더 입력',
@ -548,6 +553,7 @@ URL: [url]',
'exclude_items' => '항목 제외',
'expired' => '만료됨',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => '만료하기',
'expire_by_date' => '지정일에 만료',
@ -572,6 +578,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => '확장자 관리',
'extension_mgr_error_upload' => '',
@ -579,6 +587,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => '2월',
'file' => '파일',
@ -699,6 +709,7 @@ URL: [url]',
'inherits_access_copy_msg' => '상속 액세스 목록 복사',
'inherits_access_empty_msg' => '빈 액세스 목록으로 시작',
'inherits_access_msg' => '액세스가 상속됩니다.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => '내부 오류',
'internal_error_exit' => '내부 오류가 발생했습니다. 요청을 완료 할 수 없습니다. .',
@ -1106,6 +1117,7 @@ URL: [url]',
'review_update_failed' => '오류 업데이트 검토 상태. 업데이트에 실패했습니다 rewind_workflow워크플로우 되돌리기',
'revise_document' => '개정 문서',
'revise_document_on' => '문서 버전의 다음 개정 [날짜]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1207,6 +1219,7 @@ URL : [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => '선택',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => '범주를 선택합니다',
@ -1300,6 +1313,10 @@ URL : [url]',
'settings_createdirectory' => '디렉토리 만들기',
'settings_currentvalue' => '현재 값',
'settings_Database' => '데이터베이스 설정',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => '데이터베이스',
'settings_dbDatabase_desc' => '설치 과정에서 입력 한 데이터베이스 액세스를 위한 데이터베이스 이름 . 필요한 경우가 아니면이 필드를 편집하지 마십시오.',
'settings_dbDriver' => '데이터베이스 유형',
@ -1618,6 +1635,8 @@ URL : [url]',
'settings_updateNotifyTime' => '업데이트 시간 알림',
'settings_updateNotifyTime_desc' => '사용자가 마지막으로 발생한 문서 변경에 대한 알림 \'Update Notify Time\' 초',
'settings_upgrade_php' => '최소 버전 5.2.0 PHP 이상 요구',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => '버전 파일 이름',
'settings_versioningFileName_desc' => '백업 도구에 의해 생성 된 버전 정보 파일 이름',
'settings_versiontolow' => '낮은 버전',
@ -1680,7 +1699,10 @@ URL : [url]',
'splash_edit_user' => '사용자 저장',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1780,8 +1802,11 @@ URL : [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '최종 버전의 개인별 검수자를 상속합니다.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '작업',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1822,6 +1847,7 @@ URL : [url]',
'transfer_content' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '새 소유자',
@ -1960,6 +1986,7 @@ URL : [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '사용자 요약',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '',
'year_view' => '연간 단위로 보기',

View File

@ -360,6 +360,7 @@ URL: [url]',
'documents_locked' => 'ເອກະສານທີ່ຖືກລັອກ',
'documents_locked_by_you' => 'ເອກະສານນີ້ແມ່ນເຈົ້າເປັນຄົນລັອກ',
'documents_only' => 'ເອກະສານຢ່າງດຽວ',
'documents_rejected' => '',
'documents_to_approve' => 'ເອກະສານທີ່ລໍຖ້າອະນຸມັດຈາກທ່ານ',
'documents_to_correct' => '',
'documents_to_process' => 'ເອກະສານທີ່ຢູ່ໃນຂັ້ນຕອນການດຳເນີນງານ',
@ -401,6 +402,7 @@ URL: [url]',
'document_duplicate_name' => 'ຊື່ເອກະສານຊໍ້າ',
'document_has_no_workflow' => 'ເອກະສານບໍ່ມີເວີກໂຟ',
'document_infos' => 'ຂໍ້ມູນເອກະສານ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'ຂະນະນີ້ມີການກວດສອບເອກະສານ ຫາກເຈົ້າອັບໂຫລດເວີຊັນໄຫມ່ລະບົບຈະບໍ່ສາມາດກວດສອບລະບົບທີປິດອອກໄດ້ອີກຕໍ່ໄປ',
'document_is_not_locked' => 'ເອກະສານນີ້ແມ່ນບໍ່ໄດ້ລັອກ',
@ -500,6 +502,7 @@ URL: [url]',
'edit_folder_props' => 'ແກ້ໄຂໂຟລເດີ',
'edit_group' => 'ແກ້ໄຂກຸ່ມ',
'edit_online' => 'ແກ້ໄຂອອນລາຍ',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'ແກ້ໄຂຄຸນສົມບັດໃນການຖ່າຍທອດ',
@ -510,7 +513,9 @@ URL: [url]',
'email' => 'ອີເມວ',
'email_error_title' => 'ບໍ່ໄດ້ປ້ອນອີເມວ',
'email_footer' => 'ເຈົ້າສາມາດປ່ຽນການຕັ້ງຄ່າອີເມວຂອງທ່ານໄດ້ຕະຫຼອດເວລາໂດຍໄຊ້ຟັງຊັນ "ບັນຊີຂອງຊັນ "',
'email_footer_html' => '',
'email_header' => 'DMS ເປັນຂໍ້ຄວາມອັດຕະໂນມັດຈາກເຊີເວີ',
'email_header_html' => '',
'email_not_given' => 'ກະລຸນາປ້ອນອີເມວໃຫ້ຖືກຕ້ອງ',
'empty_attribute_group_list' => 'ບໍ່ມີແອັດທີບິວ',
'empty_folder_list' => 'ບໍ່ມີເອກະສານຫຼືໂຟລເດີ',
@ -545,6 +550,7 @@ URL: [url]',
'exclude_items' => 'ຍົກເວັນລາຍການ',
'expired' => 'ໝົດອາຍຸ',
'expired_at_date' => 'ໝົດອາຍຸເມື່ອ [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'ເອກະສານໝົດອາຍຸແລ້ວ',
'expires' => 'ວັນທີໝົດອາຍຸ',
'expire_by_date' => 'ໝົດອາຍຸຕາມວັນທີ',
@ -569,6 +575,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'ການຈັດການສ່ວນຂະຫຍາຍ',
'extension_mgr_error_upload' => '',
@ -576,6 +584,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'ເດືອນ ກຸມພາ',
'file' => 'ໄຟລ',
@ -696,6 +706,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'ຄັດລັອກລາຍການເຂົາເຖິງທີສືບທອດ',
'inherits_access_empty_msg' => 'ເລີ້ມຕົ້ນດ້ວຍລາຍການທີ່ວ່າງເປົ່າ',
'inherits_access_msg' => 'ຂໍຜິດພາດພາຍໃນ',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'ຂໍ້ຜິດພາດພາຍໃນ',
'internal_error_exit' => 'ຂໍ້ຜິດພາດພາຍໃນບໍ່ສາມາດດຳເນີນການຕາມຄຳຂໍໄດ້',
@ -1122,6 +1133,7 @@ URL: [url]',
'review_update_failed' => 'ເກີດຂໍ້ຜິດພາດໃນການອັບເດດສະຖານະຄຳເຫັນໄດ້ລົ້ມເຫຼວ',
'revise_document' => 'ແກ້ໄຂເອກະສານ',
'revise_document_on' => 'ແກ້ໄຂເອກະສານຮູບແບບໄຫມ່ ໃນ ວັນທີ',
'revision' => '',
'revisions_accepted' => 'ໄດ້ມີການແກ້ໄຂເອກະສານແລ້ວ ບໍ່ມີການແກ້ໄຂ',
'revisions_accepted_latest' => '',
'revisions_not_touched' => 'ບໍ່ມີການແກ້ໄຂ ການແກ້ໄຂບໍ່ຖືກຕ້ອງ',
@ -1228,6 +1240,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'ການເລືອກ',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'ເລືອກເວລາທີ່ຈະສະແດງ',
'select_attribute_value' => '',
'select_category' => 'ຄິກເພື່ອເລືອກປະເພດ',
@ -1326,6 +1339,10 @@ URL: [url]',
'settings_createdirectory' => 'ການສ້າງໄດ້ເລັກທໍລີ',
'settings_currentvalue' => 'ມູນຕ່າປະຈຸບັນ',
'settings_Database' => 'ການຕັ້ງຄ່າຖານຂໍ້ມູນ',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'ຖານຂໍ້ມູນ',
'settings_dbDatabase_desc' => 'ຊື່ຂອງຖານຂໍ້ມູນຂອງເຈົ້າປ້ອນລະຫວ່າງຂັ້ນຕອນການຕິດຕັ້ງ, ບໍ່ໃຫ້ແກ້ໄຂຂໍ້ມູນນີ້ເວັ້ນແຕ່ວ່າມີຄວາມຈໍາເປັນ, ຍົກຕົວຢ່າງເຊັ່ນວ່າຍ້າຍຖານຂໍ້ມູນແລ້ວ',
'settings_dbDriver' => 'ປະເພດຖານຂໍ້ມູນ',
@ -1644,6 +1661,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'ອັບເດດເວລາການແຈ້ງເຕືອນ',
'settings_updateNotifyTime_desc' => 'ຜູ້ໄຊ້ຈະໄດ້ຮັບການແຈ້ງກ່ຽວກັບການປ່ຽນແປງເອກະສານທີ່ເກີດຂື້ນພາຍໃນວິນາທີສຸດທ້າຍ "ແຈ້ງເຕືອນເວລາ "',
'settings_upgrade_php' => 'ອັບເກດ PHP ຢ່າງນ້ອຍຕ້ອງເປັນເວີຊັ້ນ 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'ການກຳນົດຊື່ໄຟລ',
'settings_versioningFileName_desc' => 'ຊື່ຂອງແຟ້ມຂໍ້ມູນການກຳນົດເວີຊັນທີ່ສ້າງໂດຍເຄື່ອງມືສຳຮອງຂໍ້ມູນ',
'settings_versiontolow' => 'ເວີຊັນເກົ່າ',
@ -1706,7 +1725,10 @@ URL: [url]',
'splash_edit_user' => 'ບັນທຶກຜູ້ໄຊ້ແລ້ວ',
'splash_error_add_to_transmittal' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ເພີ່ມເອກະສານເພື່ອຕິດຕໍ່',
'splash_error_rm_download_link' => 'ຂໍ້ຜິດພາດໃນການລົບລິງການດາວໂຫລດ',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'ຂໍ້ຜິດພາດໃນການລົບລິງການດາວໂຫລດ',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1806,8 +1828,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'ການກວດສອບແຕ່ລະບຸກຄົນຈາກເວີຊັ້ນລ່າສຸດ',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'ງານ',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1848,6 +1873,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => 'ຖ່າຍໂອນວັດຖຸ',
'transfer_objects_to_user' => 'ເຈົ້າຂອງໄຫມ່',
@ -1986,6 +2012,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'ການປ່ຽນພາບຢ່າງນ້ອຍໜື່ງຄັ້ງບໍ່ມີທັງຜູ້ໄຊ້ແລະກຸ່ມ',
'workflow_user_summary' => 'ສະຫລູບຂໍ້ມູນຂອງຜູ້ໄຊ້',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '',
'year_view' => 'ແຜນປະຈຳປີ',

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 (1731)
// Translators: Admin (1732)
$text = array(
'2_factor_auth' => '2-trinns autentisering',
@ -336,7 +336,7 @@ URL: [url]',
'daily' => 'Daglig',
'databasesearch' => 'Søk i database',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Vennligst vent, til dataene er lastet ...',
'date' => 'Dato',
'days' => 'dager',
'debug' => 'Feilsøking',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Låste dokumenter',
'documents_locked_by_you' => 'Dokumenter som du har låst',
'documents_only' => 'Bare dokumenter',
'documents_rejected' => '',
'documents_to_approve' => 'Dokumenter som venter på din godkjenning',
'documents_to_correct' => 'Dokumenter som trenger dine rettelser',
'documents_to_process' => 'Dokumenter som trenger din behandling',
@ -410,6 +411,7 @@ Bruker: [username]',
'document_duplicate_name' => 'Dupliser dokumentnavn',
'document_has_no_workflow' => 'Dokumentet har ingen arbeidsflyt',
'document_infos' => 'Dokumentinformation',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokumentet er allerede utsjekket. Hvis du laster opp en ny version kan den utsjekkede versionen ikke sjekkes inn igen.',
'document_is_not_locked' => 'Dette dokumentet er ikke låst',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Rediger mappe',
'edit_group' => 'Rediger gruppe',
'edit_online' => 'Rediger online',
'edit_online_not_allowed' => '',
'edit_online_warning' => 'Lagring av endringene vil overskrive innholdet i den gjeldende versjonen, i stedet for å opprette en ny versjon.',
'edit_task' => 'Redigere oppgave',
'edit_transmittal_props' => 'Rediger overføringsegenskaper',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'E-post',
'email_error_title' => 'Ingen e-post adresse er oppgitt',
'email_footer' => 'Du kan alltid endre e-postinnstillingene dine ved å bruke \'Min side\' funksjoner',
'email_footer_html' => '',
'email_header' => 'Dette er en automatisk melding fra DMS-serveren.',
'email_header_html' => '',
'email_not_given' => 'Vennligst skriv inn en gyldig e-post adresse.',
'empty_attribute_group_list' => 'Ingen egenskapsgrupper',
'empty_folder_list' => 'Ingen dokumenter eller mapper',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Ekskluderte elementer',
'expired' => 'Utløpt',
'expired_at_date' => 'Utløpt pr. [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Utløpte dokumenter',
'expires' => 'Utløper',
'expire_by_date' => 'Utgått på dato',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Utvidelse',
'extension_changelog' => 'Endringslogg',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Laster inn utvidelser ...',
'extension_manager' => 'Administrer utvidelser',
'extension_mgr_error_upload' => '',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Det er ikke mulig å laste opp nye utvidelser fordi utvidelseskatalogen ikke kan skrives til.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Tilgjengelig',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versjon',
'february' => 'Februar',
'file' => 'Fil',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Kopier arvet adgangsliste',
'inherits_access_empty_msg' => 'Start med tom adgangsliste',
'inherits_access_msg' => 'Tilgang blir arvet.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Intern feil',
'internal_error_exit' => 'Intern feil. Kan ikke fullføre forespørselen.',
@ -1137,6 +1148,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' => '',
'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',
@ -1243,6 +1255,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Utvalg',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Velg visings alternativ',
'select_attribute_value' => 'Velg egenskapsverdi',
'select_category' => 'Klikk for å velge kategori',
@ -1339,6 +1352,10 @@ Bruker: [username]
'settings_createdirectory' => 'Lag mappe',
'settings_currentvalue' => 'Nåværende verdi',
'settings_Database' => 'Databaseinnstillinger',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Database',
'settings_dbDatabase_desc' => 'Navnet på databasen som ble lagt inn under installasjonsprosessen. Ikke rediger dette feltet med mindre det er nødvendig, hvis databasen for eksempel er flyttet.',
'settings_dbDriver' => 'Databasetype',
@ -1657,6 +1674,8 @@ Bruker: [username]
'settings_updateNotifyTime' => 'Oppdater varslingstid',
'settings_updateNotifyTime_desc' => 'Brukere får beskjed om dokumentendringer som skjedde i løpet av de siste \'Update Notify Time\' sekunder',
'settings_upgrade_php' => 'Oppgrader PHP til minst versjon 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versjon av filnavn',
'settings_versioningFileName_desc' => 'Navnet på den versjonsfil som er laget av sikkerhetskopieringsverktøyet.',
'settings_versiontolow' => 'Versjonen for lav',
@ -1719,7 +1738,10 @@ Bruker: [username]
'splash_edit_user' => 'Bruker lagret',
'splash_error_add_to_transmittal' => 'Feil under tilføyelse av dokument til overføringen',
'splash_error_rm_download_link' => 'Feil ved fjerning av nedlastingslenke',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Feil under sending av nedlastingslenke',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Oppdatert liste over utvidelser fra oppbevaringsted',
'splash_extension_import' => 'Utvidelse installert',
'splash_extension_refresh' => 'Oppdaterte liste over utvidelser',
@ -1819,8 +1841,11 @@ Bruker: [username]
'takeOverIndApprovers' => 'Ta over individuelle godkjennere',
'takeOverIndReviewer' => 'Ta over individuell anmelder fra forrige versjon.',
'takeOverIndReviewers' => 'Ta over individuelle korrekturleser',
'target_equals_source_folder' => '',
'tasks' => 'Oppgaver',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Beskrivelse',
'task_disabled' => 'Deaktivert',
'task_frequency' => 'Frekvens',
@ -1861,6 +1886,7 @@ Bruker: [username]
'transfer_content' => 'Overfør innhold',
'transfer_document' => 'Overfør dokumentet',
'transfer_no_read_access' => 'Brukeren har ikke lesetilgang i mappen',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Brukeren har ikke skrivetilgang i mappen',
'transfer_objects' => 'Overfør objekter',
'transfer_objects_to_user' => 'Ny eier',
@ -1999,6 +2025,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Minst en av overgangene har verken en bruker eller en gruppe!',
'workflow_user_summary' => 'Brukersammendrag',
'wrong_checksum' => '',
'wrong_filetype' => 'Feil filtype',
'x_more_objects' => '[number] flere objekter',
'year_view' => 'Årsvisning',

File diff suppressed because it is too large Load Diff

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 (1456), netixw (84), romi (93), uGn (112)
// Translators: Admin (1480), netixw (84), romi (93), uGn (112)
$text = array(
'2_factor_auth' => 'Uwierzytelnianie dwuetapowe',
@ -323,8 +323,8 @@ URL: [url]',
'current_version' => 'Bieżąca wiersja',
'daily' => 'Codziennie',
'databasesearch' => 'Przeszukiwanie bazy danych',
'database_schema_version' => '',
'data_loading' => '',
'database_schema_version' => 'Wersja schematu bazy danych',
'data_loading' => 'Proszę czekać, dane są pobierane...',
'date' => 'Data',
'days' => 'dni',
'debug' => 'Debugowanie',
@ -350,6 +350,7 @@ URL: [url]',
'documents_locked' => 'Dokumenty zablokowane',
'documents_locked_by_you' => 'Dokumenty zablokowane przez Ciebie',
'documents_only' => 'Tylko dokumenty',
'documents_rejected' => '',
'documents_to_approve' => 'Dokumenty oczekujące na Twoje zatwierdzenie',
'documents_to_correct' => 'Dokumenty oczekujące na Twoje korekty',
'documents_to_process' => 'Dokumenty oczekujące na Twoje przetworzenie',
@ -391,6 +392,7 @@ Użytkownik: [username]',
'document_duplicate_name' => 'Zduplikowana nazwa dokumentu',
'document_has_no_workflow' => 'Dokument nie ma przypisanego procesu',
'document_infos' => 'Informacje o dokumencie',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Ten dokument jest pobierany',
'document_is_not_locked' => 'Ten dokument nie jest zablokowany',
@ -490,6 +492,7 @@ URL: [url]',
'edit_folder_props' => 'Edytuj folder',
'edit_group' => 'Edytuj grupę',
'edit_online' => 'Edytuj online',
'edit_online_not_allowed' => '',
'edit_online_warning' => 'Zapisanie zmian spowoduje zastąpienie zawartości bieżącej wersji, zamiast tworzenia nowej wersji.',
'edit_task' => 'Edytuj zadanie',
'edit_transmittal_props' => 'Edytuj właściwości przekazu',
@ -500,7 +503,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Nie wprowadzono adresu email',
'email_footer' => 'W każdej chwili możesz zmienić swój email używając zakładki \'Moje konto\'.',
'email_footer_html' => '',
'email_header' => 'To jest automatyczne powiadomienie serwera DMS.',
'email_header_html' => '',
'email_not_given' => 'Proszę podać poprawny adres email.',
'empty_attribute_group_list' => 'Brak grup atrybutów',
'empty_folder_list' => 'Nie ma dokumentów lub folderów',
@ -535,6 +540,7 @@ URL: [url]',
'exclude_items' => 'Pozycje wykluczone',
'expired' => 'Wygasłe',
'expired_at_date' => 'Wygasło [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Wygasłe dokumenty',
'expires' => 'Wygasa',
'expire_by_date' => 'Wygaśnięcie wg daty',
@ -559,6 +565,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Rozszerzenie',
'extension_changelog' => 'Log Zmian',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Wgrywam dodatki...',
'extension_manager' => 'Zarządzanie rozszerzeniami',
'extension_mgr_error_upload' => '',
@ -566,6 +574,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Wgrywanie nowych rozszerzeń jest niemożliwe ponieważ folder rozszerzeń jest zablokowany do zapisu',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Dostępne',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Wersje',
'february' => 'Luty',
'file' => 'Plik',
@ -686,6 +696,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Kopiuj odziedziczoną listę dostępu',
'inherits_access_empty_msg' => 'Rozpocznij z pustą listą dostępu',
'inherits_access_msg' => 'Dostęp jest dziedziczony.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Błąd wewnętrzny',
'internal_error_exit' => 'Błąd wewnętrzny. Nie można ukończyć zadania.',
@ -1070,6 +1081,7 @@ URL: [url]',
'review_update_failed' => 'Błąd podczas aktualizowania statusu recenzji. Aktualizacja nie powiodła się.',
'revise_document' => 'Zweryfikuj dokument',
'revise_document_on' => 'Sprawdź dokument',
'revision' => '',
'revisions_accepted' => 'Korekty zaakceptowane',
'revisions_accepted_latest' => 'Korekty zaakceptowane później',
'revisions_not_touched' => 'Korekty nie oglądane',
@ -1168,9 +1180,10 @@ URL: [url]',
'search_results_access_filtered' => 'Wyniki wyszukiwania mogą zawierać treści, do których dostęp jest zabroniony.',
'search_time' => 'Upływający czas: [time] sec.',
'seconds' => 'sekund',
'seeddms_info' => '',
'seeddms_version' => '',
'seeddms_info' => 'Informacje o SeedDMS',
'seeddms_version' => 'Wersja SeedDMS',
'selection' => 'Wybierz',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Wybierz, kiedy pokazać',
'select_attribute_value' => 'Wybierz wartość atrybutu',
'select_category' => 'Kliknij by wybrać kategorię',
@ -1230,12 +1243,12 @@ Name: [username]
'settings_allowReviewerOnly' => 'Zezwalaj tylko na ustawianie recenzenta',
'settings_allowReviewerOnly_desc' => 'Włącz to, jeśli będzie można zezwolić na ustawienie tylko recenzenta, ale bez osoby zatwierdzającej w tradycyjnym trybie przepływu pracy.',
'settings_apache_mod_rewrite' => 'Apache - Moduł Rewrite',
'settings_apiKey' => '',
'settings_apiKey_desc' => '',
'settings_apiOrigin' => '',
'settings_apiOrigin_desc' => '',
'settings_apiUserId' => '',
'settings_apiUserId_desc' => '',
'settings_apiKey' => 'Klucz autentyfikacyjny dla REST API',
'settings_apiKey_desc' => 'Ten klucz jest używany jako alternatywna autentyfikacja dla REST API. Wybierz 32-znakowy łańcuch.',
'settings_apiOrigin' => 'Dozwolone źródła wywołań API',
'settings_apiOrigin_desc' => 'Lista adresów oddzielonych średnikami. Każdy adres ma formę ://[:]. Port może być pominięty. Jeżeli to pole jest puste, nie ma żadnych ograniczeń.',
'settings_apiUserId' => 'Użytkownik dla REST API',
'settings_apiUserId_desc' => 'Ten użytkownik będzie użyty przez REST API, jeżeli do autentyfikacji użyto prekonfigurowanego klucza REST API.',
'settings_Authentication' => 'Ustawienia uwierzytelniania',
'settings_autoLoginUser' => 'Automatyczne logowanie',
'settings_autoLoginUser_desc' => 'Użyj tego identyfikatora użytkownika, aby uzyskać dostęp, jeśli użytkownik nie jest jeszcze zalogowany. Taki dostęp nie utworzy sesji.',
@ -1269,6 +1282,10 @@ Name: [username]
'settings_createdirectory' => 'Utwórz katalog',
'settings_currentvalue' => 'Bieżąca wartość',
'settings_Database' => 'Ustawienia bazy danych',
'settings_dateformat' => 'Format daty',
'settings_dateformat_desc' => 'Format daty używa składni funkcji php date()',
'settings_datetimeformat' => 'Format daty i czasu',
'settings_datetimeformat_desc' => 'Format daty używa składni funkcji php date()',
'settings_dbDatabase' => 'Baza danych',
'settings_dbDatabase_desc' => 'Nazwa dla bazy danych podana w procesie instalacji. Nie zmieniaj tego pola bez konieczności, na przykład kiedy baza danych została przeniesiona.',
'settings_dbDriver' => 'Typ bazy danych',
@ -1425,8 +1442,8 @@ Name: [username]
'settings_initialDocumentStatus_desc' => 'Ten stan zostanie ustawiony po dodaniu dokumentu.',
'settings_initialDocumentStatus_draft' => 'Projekt',
'settings_initialDocumentStatus_released' => 'Wydany',
'settings_inlineEditing' => '',
'settings_inlineEditing_desc' => '',
'settings_inlineEditing' => 'Edycja w szczegółach',
'settings_inlineEditing_desc' => 'Pozwala edytować nazwę dokumentu na stronie szczegółów dokumentu.',
'settings_installADOdb' => 'Zainstaluj ADOdb',
'settings_install_disabled' => 'Plik ENABLE_INSTALL_TOOL został usunięty. Możesz teraz zalogować się do LetoDMS i przeprowadzić dalszą konfigurację.',
'settings_install_pear_package_log' => 'Zainstaluj pakiet Pear \'Log\'',
@ -1472,8 +1489,8 @@ Name: [username]
'settings_onePageMode_desc' => 'Tryb jednostronicowy włączy kod javascript na stronie Wyświetl folder, który aktualizuje listę folderów / dokumentów, nawigację itp. Po kliknięciu folderu lub zmianie parametru sortowania.',
'settings_overrideMimeType' => 'Nadpisz typ rozszerzenia',
'settings_overrideMimeType_desc' => 'Zastąp typ MimeType dostarczony przez przeglądarkę, jeśli plik zostanie przesłany. Nowy typ MimeType jest określany przez sam SeedDMS.',
'settings_overrideTheme' => '',
'settings_overrideTheme_desc' => '',
'settings_overrideTheme' => 'Przykryj motyw',
'settings_overrideTheme_desc' => 'Włącz tą opcję aby przykryć motyw zapisany w danych użytkownika motywem wybranym w tej konfiguracji.',
'settings_partitionSize' => 'Rozmiar części pliku',
'settings_partitionSize_desc' => 'Rozmiar części pliku, w bajtach, wczytywane przez jumploader. Nie wpisuj wartości większej niż maksymalna wartość wczytywanego pliku ustawiona na serwerze.',
'settings_passwordExpiration' => 'Wygaśnięcie hasła',
@ -1587,6 +1604,8 @@ Name: [username]
'settings_updateNotifyTime' => 'Okres powiadamiania o zmianach',
'settings_updateNotifyTime_desc' => 'Użytkownicy są powiadamiani o zmianach w dokumentach, które miały miejsce w ciągu ostatnich \'Update Notify Time\' sekund',
'settings_upgrade_php' => 'Uaktualnij PHP do wersji przynajmniej 5.6.38',
'settings_useHomeAsRootFolder' => 'Użyj folderu domowego jako początkowego',
'settings_useHomeAsRootFolder_desc' => 'Włącz tą opcję jeżeli folder domowy użytkownika (nie-administratora) ma być folderem początkowym (eksperymentalne)',
'settings_versioningFileName' => 'Nazwa pliku z wersjonowaniem',
'settings_versioningFileName_desc' => 'Nazwa pliku, zawierającego informacje o wersjonowaniu, utworzonego przez narzędzie kopii zapasowej.',
'settings_versiontolow' => 'Za niska wersja',
@ -1649,7 +1668,10 @@ Name: [username]
'splash_edit_user' => 'Zapisano użytkownika',
'splash_error_add_to_transmittal' => 'Błąd podczas dodawania dokumentu do przekazu',
'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',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Zaktualizowana lista rozszerzeń z repozytorium',
'splash_extension_import' => 'Rozszerzenie zainstalowane',
'splash_extension_refresh' => 'Odświeżona lista rozszerzeń',
@ -1749,8 +1771,11 @@ Name: [username]
'takeOverIndApprovers' => 'Przejmij indywidualne osoby zatwierdzające',
'takeOverIndReviewer' => 'Przejmij kontrolę nad indywidualnym recenzentem z ostatniej wersji.',
'takeOverIndReviewers' => 'Przejmij poszczególnych recenzentów',
'target_equals_source_folder' => '',
'tasks' => 'Zadania',
'task_core_expireddocs_days' => 'Rdzeń zadania wygasa',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Opis zadania',
'task_disabled' => 'Zadanie wyłączone',
'task_frequency' => 'Częstotliwość zadania',
@ -1791,6 +1816,7 @@ Name: [username]
'transfer_content' => 'Przenieś zawartość',
'transfer_document' => 'Transfer dokumentu',
'transfer_no_read_access' => 'Użytkownik nie ma prawa do odczytu w tym folderze',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Użytkownik nie ma prawa do zapisu w tym folderze',
'transfer_objects' => 'Przenieś obiekty',
'transfer_objects_to_user' => 'Nowy właściciel',
@ -1890,7 +1916,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Usunięcie wersji',
'version_info' => 'Informacje o wersji',
'view' => 'Widok',
'view_document' => '',
'view_document' => 'Wyświetl szczegóły dokumentu',
'view_folder' => '',
'view_online' => 'Obejrzyj online',
'warning' => 'Ostrzeżenie',
@ -1929,6 +1955,7 @@ URL: [url]',
'workflow_title' => 'Tytuł przepływu pracy',
'workflow_transition_without_user_group' => 'Co najmniej jedno z przejść nie ma ani użytkownika, ani grupy!',
'workflow_user_summary' => 'Podsumowanie użytkownika',
'wrong_checksum' => 'Nieprawidłowa suma kontrolna',
'wrong_filetype' => 'Nieprawidłowy typ pliku',
'x_more_objects' => '[number] więcej obiektów',
'year_view' => 'Widok roczny',

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 (1844), flaviove (627), lfcristofoli (352)
// Translators: Admin (1846), flaviove (627), lfcristofoli (352)
$text = array(
'2_factor_auth' => 'Autenticação de dois fatores',
@ -336,7 +336,7 @@ URL: [url]',
'daily' => 'Diariamente',
'databasesearch' => 'Pesquisar Base de dados',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Aguarde o carregamento',
'date' => 'Data',
'days' => 'dias',
'debug' => 'Debug',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Documentos bloqueados',
'documents_locked_by_you' => 'Documentos bloqueados por você',
'documents_only' => 'Somente documentos',
'documents_rejected' => '',
'documents_to_approve' => 'Documentos aguardando sua aprovação',
'documents_to_correct' => 'Documentos que precisam de correção',
'documents_to_process' => 'Documentos que precisam de processamento',
@ -410,6 +411,7 @@ Usuário: [username]',
'document_duplicate_name' => 'Duplicar nome do documento',
'document_has_no_workflow' => 'Documento não tem fluxo de trabalho',
'document_infos' => 'Informações',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'O documento está atualmente com estado de retirado. Se você fizer o envio de uma nova versão, a versão retirada não poderá mais ser registrada.',
'document_is_not_locked' => 'Este documento não está travado',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Editar pasta',
'edit_group' => 'Editar grupo',
'edit_online' => 'Editar on-line',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => 'Editar tarefa',
'edit_transmittal_props' => 'Editar propriedades de transmissão',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Nenhum e-mail informado',
'email_footer' => 'Você sempre pode alterar suas configurações de e-mail usando as funções \'Minha conta\'',
'email_footer_html' => '',
'email_header' => 'Este é um gerenciador automático do servidor DMS.',
'email_header_html' => '',
'email_not_given' => 'Por favor insira um endereço de e-mail válido.',
'empty_attribute_group_list' => 'Nenhum grupo de atributos',
'empty_folder_list' => 'Nenhum documento ou pasta',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Excluir ítens',
'expired' => 'Expirado',
'expired_at_date' => 'Expirado em [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Documentos expirados',
'expires' => 'Expira',
'expire_by_date' => 'Data de vencimento',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Extensão',
'extension_changelog' => 'Alterações no Log',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Carregando Extensões',
'extension_manager' => 'Gerenciar extensões',
'extension_mgr_error_upload' => '',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'O envio de novas extensões não esta disponível pois o diretório Extensões recebeu a atribuição de Somente Leitura.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Disponível',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versões',
'february' => 'Fevereiro',
'file' => 'Arquivo',
@ -703,7 +713,7 @@ URL: [url]',
'include_subdirectories' => 'Include subdirectories',
'indexing_tasks_in_queue' => 'Tarefas de indexação em fila',
'index_converters' => 'conversores de índice',
'index_document_unchanged' => '',
'index_document_unchanged' => 'documento inalterado',
'index_done' => 'Finalizado',
'index_error' => 'Erro',
'index_folder' => 'Pasta Raiz',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copiar lista de acesso herdada',
'inherits_access_empty_msg' => 'Inicie com a lista de acesso vazia',
'inherits_access_msg' => 'acesso está endo herdado.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Erro interno',
'internal_error_exit' => 'Erro interno. Não é possível concluir o pedido.',
@ -1141,6 +1152,7 @@ URL: [url]',
'review_update_failed' => 'Erro ao atualizar o status da revisão. Atualização falhou.',
'revise_document' => 'Revisar documento',
'revise_document_on' => 'Próxima revisão da versão do documento em [date]',
'revision' => '',
'revisions_accepted' => '[no_revisions] revisões já aceitas',
'revisions_accepted_latest' => 'revisões aceitas mais recentes',
'revisions_not_touched' => '[no_revisions] revisões não sendo tocadas',
@ -1247,6 +1259,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Seleção',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Escolha quando mostrar',
'select_attribute_value' => 'Selecione o valor do atributo',
'select_category' => 'Clique para selecionar a categoria',
@ -1345,6 +1358,10 @@ Nome: [username]
'settings_createdirectory' => 'Criar diretório',
'settings_currentvalue' => 'Valor atual',
'settings_Database' => 'Configurações do banco de dados',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Banco de dados',
'settings_dbDatabase_desc' => 'O nome para o seu banco de dados, informado durante o processo de instalação. Não edite este campo a menos que necessário, por exemplo, se o banco de dados foi movido.',
'settings_dbDriver' => 'Tipo do Banco de dados',
@ -1663,6 +1680,8 @@ Nome: [username]
'settings_updateNotifyTime' => 'Atualizar Tempo de Notificação',
'settings_updateNotifyTime_desc' => 'Usuários são notificados sobe mudanças em documentos que se realizaram nos últimos segundos \'Tempo de Atualização de Notificação\'',
'settings_upgrade_php' => 'Atualize PHP para pelo menos a versão 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versionando NomedoArquivo',
'settings_versioningFileName_desc' => 'O nome do arquivo de informações de versões criadas pela ferramenta de backup',
'settings_versiontolow' => 'Versão para baixo',
@ -1725,7 +1744,10 @@ Nome: [username]
'splash_edit_user' => 'Usuário salvo',
'splash_error_add_to_transmittal' => 'Erro ao adicionar documento à transmissão',
'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',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Lista atualizada de extensões do repositório',
'splash_extension_import' => 'Extensão instalada',
'splash_extension_refresh' => 'Lista atualizada de extensões',
@ -1825,8 +1847,11 @@ Nome: [username]
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Assuma o revisor individual da última versão.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Tarefas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Descrição',
'task_disabled' => 'Desativado',
'task_frequency' => 'Frequência',
@ -1867,6 +1892,7 @@ Nome: [username]
'transfer_content' => 'Transferir conteúdo',
'transfer_document' => 'Transferir documento',
'transfer_no_read_access' => 'O usuário não possui acesso de leitura na pasta',
'transfer_no_users' => '',
'transfer_no_write_access' => 'O usuário não possui acesso de escrita na pasta',
'transfer_objects' => 'Transferir objetos',
'transfer_objects_to_user' => 'Novo proprietário',
@ -2005,6 +2031,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'transição do fluxo de trabalho sem grupo de usuários',
'workflow_user_summary' => 'Sumário de usuário',
'wrong_checksum' => '',
'wrong_filetype' => 'Tipo de arquivo errado',
'x_more_objects' => 'mais itens',
'year_view' => 'Visualização Anual',

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 (1101), balan (87)
// Translators: Admin (1107), balan (87)
$text = array(
'2_factor_auth' => '',
@ -336,7 +336,7 @@ URL: [url]',
'daily' => 'Zilnic',
'databasesearch' => 'Căutare baza de date',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Așteaptă, datele se încarcă...',
'date' => 'Data',
'days' => 'zile',
'debug' => '',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => '',
'documents_locked_by_you' => 'Documente blocate de tine',
'documents_only' => 'Doar documente',
'documents_rejected' => '',
'documents_to_approve' => 'Documente care așteaptă aprobarea dumneavoastră',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -403,6 +404,7 @@ Utilizator: [username]',
'document_duplicate_name' => 'Nume document duplicat',
'document_has_no_workflow' => 'Documentul nu are workflow',
'document_infos' => 'Informații document',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Documentul este in prezent verificat. Daca incarcati o noua versiune, versiunea verificata nu mai poate fi verificata din nou.',
'document_is_not_locked' => 'Acest document nu este blocat',
@ -502,6 +504,7 @@ URL: [url]',
'edit_folder_props' => 'Editează folder',
'edit_group' => 'Editează grup',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'Editeaza proprietatile de transmitere',
@ -512,7 +515,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Nici un email introdus',
'email_footer' => 'Puteți schimba oricând setările de e-mail folosind functionalitatile din \'Contul meu\'',
'email_footer_html' => '',
'email_header' => 'Acesta este un mesaj automat de la serverul DMS.',
'email_header_html' => '',
'email_not_given' => 'Vă rugăm să introduceți o adresă de email validă.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Nu există documente sau foldere',
@ -546,7 +551,8 @@ URL: [url]',
'event_details' => 'Detalii eveniment',
'exclude_items' => 'Elemente excluse',
'expired' => 'Expirat',
'expired_at_date' => '',
'expired_at_date' => 'Expirat la [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Expiră',
'expire_by_date' => 'Expirare dupa data',
@ -571,6 +577,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Se incarca extensiile',
'extension_manager' => 'Gestionați extensiile',
'extension_mgr_error_upload' => '',
@ -578,6 +586,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Nu se poate incarca o extensie noua pentru ca directorul nu are drepturi de scriere',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Disponibila',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versiuni',
'february' => 'Februarie',
'file' => 'Fișier',
@ -684,7 +694,7 @@ URL: [url]',
'include_subdirectories' => 'Include subfoldere',
'indexing_tasks_in_queue' => 'Actiuni de indexare in stiva',
'index_converters' => '',
'index_document_unchanged' => '',
'index_document_unchanged' => 'document neschimbat',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Index folder',
@ -698,6 +708,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Copie lista de acces moștenită',
'inherits_access_empty_msg' => 'Începeți cu lista de acces goală',
'inherits_access_msg' => 'Accesul este moștenit.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Eroare internă',
'internal_error_exit' => 'Eroare internă. Nu se poate finaliza cererea.',
@ -1113,6 +1124,7 @@ URL: [url]',
'review_update_failed' => 'Eroare actualizarea status revizuire. Actualizarea a eșuat.',
'revise_document' => 'Revizuiti documentul',
'revise_document_on' => 'Urmatoarea revizuire a versiunii document pe [data]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1214,6 +1226,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Selecție',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Click pentru a selecta categoria',
@ -1307,6 +1320,10 @@ URL: [url]',
'settings_createdirectory' => 'Creare director',
'settings_currentvalue' => 'Valoare curentă',
'settings_Database' => 'Setări Bază de date',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Baza de date',
'settings_dbDatabase_desc' => 'Numele bazei de date introdus în timpul procesului de instalare. Nu editați acest câmp decât dacă este necesar, dacă de exemplu baza de date a fost mutată.',
'settings_dbDriver' => 'Tip Baza de date',
@ -1625,6 +1642,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Timpul de actualizare a notificarilor',
'settings_updateNotifyTime_desc' => 'Utilizatorii sunt notificați cu privire la schimbările suferite de un documentul în ultima perioadă a \'Timpul de actualizare a notificarilor\' în secunde',
'settings_upgrade_php' => 'Upgrade PHP cel puțin la versiunea 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Nume Fișier versionare',
'settings_versioningFileName_desc' => 'Numele fișierului cu informatii ale versiunilor creat de către instrumentul de backup',
'settings_versiontolow' => 'Versiunea e prea mică(veche)',
@ -1687,7 +1706,10 @@ URL: [url]',
'splash_edit_user' => 'Utilizator salvat',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1787,8 +1809,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Preia revizuitorul individual din ultima versiune.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1824,11 +1849,12 @@ URL: [url]',
'to' => 'La',
'toggle_manager' => 'Comută Manager',
'toggle_qrcode' => '',
'total' => '',
'total' => 'Total',
'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere',
'transfer_content' => '',
'transfer_document' => 'Transfer document',
'transfer_no_read_access' => 'Utilizatorul nu are acces de citire pentru acest folder',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Utilizatorul nu are drepturi de scriere pe acest dosar',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1911,7 +1937,7 @@ URL: [url]',
'use_comment_of_document' => 'Utilizați comentarii la documente',
'use_default_categories' => 'Utilizați categorii predefinite',
'use_default_keywords' => 'Utilizați cuvinte cheie predefinite',
'valid_till' => '',
'valid_till' => 'Valabil până la',
'version' => 'Versiune',
'versioning_file_creation' => 'Creare fișier de versionare',
'versioning_file_creation_warning' => 'Cu această operațiune puteți crea un fișier care conține informațiile versiunilor pentru un întreg folder DMS. După creare, fiecare fisier va fi salvat in folder-ul de documente.',
@ -1928,7 +1954,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Versiune ștearsă',
'version_info' => 'Informații versiune',
'view' => 'Vizualizare',
'view_document' => '',
'view_document' => 'Afișează detaliile documentului',
'view_folder' => '',
'view_online' => 'Vizualizare online',
'warning' => 'Avertisment',
@ -1967,6 +1993,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Sumar Utilizator',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => 'Mai multe',
'year_view' => 'Vizualizare an',

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 (1704)
// Translators: Admin (1717)
$text = array(
'2_factor_auth' => 'Двухфакторная аутентификация',
@ -248,7 +248,7 @@ URL: [url]',
'category_in_use' => 'Эта категория используется документами',
'category_noname' => 'Введите название категории',
'ca_ES' => 'Catalan',
'changelog_loading' => '',
'changelog_loading' => 'Подождите, пока не загрузится журнал изменений',
'change_assignments' => 'Изменить назначения',
'change_password' => 'Изменить пароль',
'change_password_message' => 'Пароль изменён',
@ -335,7 +335,7 @@ URL: [url]',
'current_version' => 'Текущая версия',
'daily' => 'Ежедневно',
'databasesearch' => 'Поиск по БД',
'database_schema_version' => '',
'database_schema_version' => 'Версия базы',
'data_loading' => 'Пожалуйста подождите, данные загружаются...',
'date' => 'Дата',
'days' => 'дни',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Заблокированные документы',
'documents_locked_by_you' => 'Документы, заблокированные вами',
'documents_only' => 'Только документы',
'documents_rejected' => '',
'documents_to_approve' => 'Документы, ожидающие вашего утверждения',
'documents_to_correct' => '',
'documents_to_process' => 'Документы требующие обработки',
@ -403,6 +404,7 @@ URL: [url]',
'document_duplicate_name' => 'Одноимённый документ уже существует.',
'document_has_no_workflow' => 'Для документа не назначен процесс',
'document_infos' => 'Информация о документе',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Документ в настоящее время проверяется. Если вы загрузить новую версию, то проверяемая версия не может быть возвращена обратно.',
'document_is_not_locked' => 'Документ не заблокирован',
@ -502,6 +504,7 @@ URL: [url]',
'edit_folder_props' => 'Изменить свойства',
'edit_group' => 'Изменить группу',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'Редактировать группы получателей',
@ -512,7 +515,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Не указан e-mail',
'email_footer' => 'Вы можете изменить e-mail используя меню «Моя учётка».',
'email_footer_html' => '',
'email_header' => 'Это автоматическое уведомление сервера документооборота.',
'email_header_html' => '',
'email_not_given' => 'Введите настоящий адрес e-mail.',
'empty_attribute_group_list' => 'Пустой список группы атрибутов',
'empty_folder_list' => 'Нет документов или каталогов',
@ -547,6 +552,7 @@ URL: [url]',
'exclude_items' => 'Не показывать события:',
'expired' => 'Срок действия вышел',
'expired_at_date' => 'Истекает в',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Срок действия',
'expire_by_date' => 'дата',
@ -557,7 +563,7 @@ URL: [url]',
'expire_in_1y' => '1 год',
'expire_in_2h' => 'Истекает через два часа',
'expire_in_2y' => '2 года',
'expire_in_3y' => '',
'expire_in_3y' => 'Истекает через 3 года',
'expire_today' => 'Истекает сегодня',
'expire_tomorrow' => 'Истекает завтра',
'expiry_changed_email' => 'Срок действия изменен',
@ -570,15 +576,19 @@ URL: [url]',
'export' => 'Экспорт',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_loading' => '',
'extension_changelog' => 'Журнал изменений',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Загрузка расширений',
'extension_manager' => 'Управление расширениями',
'extension_mgr_error_upload' => '',
'extension_mgr_installed' => '',
'extension_mgr_no_upload' => '',
'extension_mgr_installed' => 'установлены',
'extension_mgr_no_upload' => 'Загрузка новых расширений невозможна, потому что каталог расширений недоступен для записи.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Установленные',
'extension_version_list' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Версии',
'february' => 'Февраль',
'file' => 'Файл',
'files' => 'Файлы',
@ -631,7 +641,7 @@ URL: [url]',
'folder_renamed_email_subject' => '[sitename]: переименован каталог «[name]»',
'folder_title' => 'Каталог [foldername]',
'foot_note' => '',
'force_update' => '',
'force_update' => 'обновить',
'friday' => 'Пятница',
'friday_abbr' => 'Пт',
'from' => 'От',
@ -698,6 +708,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Скопировать наследованный список',
'inherits_access_empty_msg' => 'Начать с пустого списка доступа',
'inherits_access_msg' => 'Доступ унаследован.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Внутренняя ошибка',
'internal_error_exit' => 'Внутренняя ошибка. Невозможно выполнить запрос.',
@ -1115,6 +1126,7 @@ URL: [url]',
'review_update_failed' => 'Ошибка обновления статуса рецензии',
'revise_document' => 'Ревизировать документ',
'revise_document_on' => 'Следующий ревизия версии документа назначен на [date]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1218,9 +1230,10 @@ URL: [url]',
'search_results_access_filtered' => 'Результаты поиска могут содержать объекты к которым у вас нет доступа',
'search_time' => 'Прошло: [time] с',
'seconds' => 'секунды',
'seeddms_info' => '',
'seeddms_version' => '',
'seeddms_info' => 'Информация о системе',
'seeddms_version' => 'Версия',
'selection' => 'Выбор',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Выберите категорию',
@ -1314,6 +1327,10 @@ URL: [url]',
'settings_createdirectory' => 'Создать каталог',
'settings_currentvalue' => 'Текущее значение',
'settings_Database' => 'Настройки базы данных',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'База данных (БД)',
'settings_dbDatabase_desc' => 'Название базы данных (БД), введённое в ходе установки. Не изменять без необходимости, только, например, если БД перемещена.',
'settings_dbDriver' => 'Тип БД',
@ -1632,6 +1649,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Период уведомлений об изменениях',
'settings_updateNotifyTime_desc' => 'Пользователи уведомляются об изменениях документов за указанные последние секунды.',
'settings_upgrade_php' => 'Обновите PHP до версии не ниже 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Название файла версий',
'settings_versioningFileName_desc' => 'Названия файла версий, создаваемого инструментом резервного копирования.',
'settings_versiontolow' => 'Слишком старая версия',
@ -1650,8 +1669,8 @@ URL: [url]',
'set_owner_error' => 'Ошибка при установке владельца',
'set_password' => 'Установить пароль',
'set_workflow' => 'Установить процесс',
'show_extension_changelog' => '',
'show_extension_version_list' => '',
'show_extension_changelog' => 'Показать журнал изменений',
'show_extension_version_list' => 'Показать список версий',
'signed_in_as' => 'Пользователь',
'sign_in' => 'Войти',
'sign_out' => 'Выйти',
@ -1694,7 +1713,10 @@ URL: [url]',
'splash_edit_user' => 'Пользователь сохранён',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1794,8 +1816,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Использовать рецензентов из прошлой версии',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Задания',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1836,6 +1861,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'Передать документ',
'transfer_no_read_access' => 'Пользователь не имеет доступа на чтение в этой папке',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Пользователь не имеет доступа на запись в этой папке',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1974,6 +2000,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Сводка по пользователю',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '',
'year_view' => 'Год',

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 (1226), destinqo (26), pS2017 (508), ssebech (4)
// Translators: Admin (1229), destinqo (26), pS2017 (508), ssebech (4)
$text = array(
'2_factor_auth' => '2-faktorové overovanie',
@ -336,7 +336,7 @@ URL: [url]',
'daily' => 'Denná',
'databasesearch' => 'Hľadať databázu',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Prosím počkajte, kým sa nenahrajú dáta',
'date' => 'Dátum',
'days' => 'dní',
'debug' => 'Ladiť',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Zamknuté dokumenty',
'documents_locked_by_you' => 'Vami uzamknuté dokumenty',
'documents_only' => 'Iba dokumenty',
'documents_rejected' => '',
'documents_to_approve' => 'Dokumenty čakajúce na schválenie používateľa',
'documents_to_correct' => 'Dokumenty, ktoré treba opraviť',
'documents_to_process' => 'Dokumenty, ktoré potrebujú spracovanie',
@ -410,6 +411,7 @@ Používateľ: [username]',
'document_duplicate_name' => 'Duplicitný názov dokumentu',
'document_has_no_workflow' => 'Dokument nemá pracovný postup',
'document_infos' => 'Informácie o dokumente',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Document is currently checked out. If you upload a new version, then the checked out version cannot be checked back in anymore.',
'document_is_not_locked' => 'Tento dokument nie je zamknutý',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => 'Upraviť zložku',
'edit_group' => 'Upraviť skupinu',
'edit_online' => 'Upraviť online',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => 'Upraviť úlohu',
'edit_transmittal_props' => 'Edit transmittal properties',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => 'Nebol zadaný žiadny E-mail',
'email_footer' => 'Nastavenia e-mailu si kedykoľvek môžete zmeniť cez \'Môj účet\'',
'email_footer_html' => '',
'email_header' => 'Toto je automatická správa od Dokument servera.',
'email_header_html' => '',
'email_not_given' => 'Prosím, zadajte platnú emailovú adresu.',
'empty_attribute_group_list' => 'No attribute groups',
'empty_folder_list' => 'Žiadne dokumenty alebo zložky',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => 'Vylúčiť položky',
'expired' => 'Platnosť vypršala',
'expired_at_date' => 'Platnosť vypršala [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Dokumenty, ktorým skončila platnosť',
'expires' => 'Platnosť vyprší',
'expire_by_date' => 'Platnosť skončí podľa dátumu',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => 'Rozšírenie',
'extension_changelog' => 'Denník zmien',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Nahrávajú sa rozšírenia ...',
'extension_manager' => 'Spravovať rozšírenia',
'extension_mgr_error_upload' => '',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => 'Uploading new extensions is not possible because the extentension directory is not writable.',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Available',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Versions',
'february' => 'Február',
'file' => 'Súbor',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Skopírovať zdedený zoznam riadenia prístupu',
'inherits_access_empty_msg' => 'Založiť nový zoznam riadenia prístupu',
'inherits_access_msg' => 'Prístup sa dedí.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Vnútorná chyba',
'internal_error_exit' => 'Vnútorná chyba. Nebolo možné dokončiť požiadavku.',
@ -851,7 +862,7 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'My Transmittals',
'name' => 'Meno',
'nb_NO' => '',
'nb_NO' => 'Nórčina (Bokmål)',
'needs_correction' => 'Vyžaduje opravu',
'needs_workflow_action' => 'Tento dokument si vyžaduje vašu pozornosť. Skontrolujte kartu pracovného postupu.',
'network_drive' => 'Sieťová jednotka',
@ -1143,6 +1154,7 @@ URL: [url]',
'review_update_failed' => 'Chyba pri aktualizácii stavu recenzie. Aktualizácia zlyhala.',
'revise_document' => 'Revidovať dokument',
'revise_document_on' => 'Next revision of document version on [date]',
'revision' => '',
'revisions_accepted' => '[no_revisions] revisions already accepted',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '[no_revisions] revisions not being touched',
@ -1249,6 +1261,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Výber',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Choose when to show',
'select_attribute_value' => 'Vyberte hodnotu atribútu',
'select_category' => 'Vyber kategóriu',
@ -1347,6 +1360,10 @@ Meno: [username]
'settings_createdirectory' => 'Vytvoriť zložku',
'settings_currentvalue' => 'Aktuálna hodnota',
'settings_Database' => 'Nastavenia databazy',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Databáza',
'settings_dbDatabase_desc' => 'The name for your database entered during the installation process. Do not edit this field unless necessary, if for example the database has been moved.',
'settings_dbDriver' => 'Typ databázy',
@ -1665,6 +1682,8 @@ Meno: [username]
'settings_updateNotifyTime' => 'Aktualizovať čas notifikácie',
'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds',
'settings_upgrade_php' => 'Upgrade PHP to at least version 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versioning FileName',
'settings_versioningFileName_desc' => 'The name of the versioning info file created by the backup tool',
'settings_versiontolow' => 'Verzia je nízka',
@ -1727,7 +1746,10 @@ Meno: [username]
'splash_edit_user' => 'Používateľ bol uložený',
'splash_error_add_to_transmittal' => 'Error while adding document to transmittal',
'splash_error_rm_download_link' => 'Error when removing download link',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => 'Error while sending download link',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => 'Updated list of extensions from repository',
'splash_extension_import' => 'Extensition installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
@ -1827,8 +1849,11 @@ Meno: [username]
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Take over individual reviewer from last version.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Úlohy',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Description',
'task_disabled' => 'Disabled',
'task_frequency' => 'Frequency',
@ -1869,6 +1894,7 @@ Meno: [username]
'transfer_content' => '',
'transfer_document' => 'Zmeniť vlastníka',
'transfer_no_read_access' => 'Používateľ nemá práva na čítanie v adresári',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Používateľ nemá práva na zapisovanie v adresári',
'transfer_objects' => 'Prenesené objekty',
'transfer_objects_to_user' => 'Nový vlastník',
@ -2007,6 +2033,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'At least one of the transitions has neither a user nor a group!',
'workflow_user_summary' => 'User summary',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => 'ďalších [number] objektov',
'year_view' => 'Rok',

View File

@ -363,6 +363,7 @@ URL: [url]',
'documents_locked' => 'Låsta dokument',
'documents_locked_by_you' => 'Dokument som du har låst',
'documents_only' => 'Endast dokument',
'documents_rejected' => '',
'documents_to_approve' => 'Dokument som du behöver godkänna',
'documents_to_correct' => '',
'documents_to_process' => 'Dokument som kräver åtgärd',
@ -404,6 +405,7 @@ Användare: [username]',
'document_duplicate_name' => 'Dubblett av dokumentnamn',
'document_has_no_workflow' => 'Dokumentet saknar arbetsflöde',
'document_infos' => 'Dokumentinformation',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokumentet är redan utcheckat. Om du laddar upp en ny version kan den utcheckade versionen inte checkas in igen.',
'document_is_not_locked' => 'Detta dokument är inte låst',
@ -508,6 +510,7 @@ URL: [url]',
'edit_folder_props' => 'Ändra katalog',
'edit_group' => 'Ändra grupp',
'edit_online' => 'Uppdatera online',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'Ändra egenskaper för meddelande',
@ -518,7 +521,9 @@ URL: [url]',
'email' => 'E-post',
'email_error_title' => 'E-post saknas',
'email_footer' => 'Du kan alltid ändra dina e-postinställningar genom att gå till \'Min Sida\'',
'email_footer_html' => '',
'email_header' => 'Detta meddelande skapades automatiskt från dokumentservern.',
'email_header_html' => '',
'email_not_given' => 'Skriv in en giltig e-postadress.',
'empty_attribute_group_list' => 'Grupp för attribut saknas',
'empty_folder_list' => 'Inga dokument eller mappar',
@ -553,6 +558,7 @@ URL: [url]',
'exclude_items' => '',
'expired' => 'Har gått ut',
'expired_at_date' => 'Upphörde per [datetime]',
'expired_docs_mail_subject' => '',
'expired_documents' => 'Utgångna dokument',
'expires' => 'Kommer att gå ut',
'expire_by_date' => 'Upphör att gälla per',
@ -577,6 +583,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'Hantera tillägg',
'extension_mgr_error_upload' => '',
@ -584,6 +592,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'februari',
'file' => 'Fil',
@ -704,6 +714,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Kopiera lista för behörighetsarv',
'inherits_access_empty_msg' => 'Börja med tom behörighetslista',
'inherits_access_msg' => 'Behörigheten har ärvts.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Internt fel',
'internal_error_exit' => 'Internt fel. Förfrågan kunde inte utföras.',
@ -1116,6 +1127,7 @@ URL: [url]',
'review_update_failed' => 'Fel vid uppdatering av granskningsstatus. Kunde inte uppdatera.',
'revise_document' => 'Revidera dokument',
'revise_document_on' => 'Nästa revidering av dokumentversion [date]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1222,6 +1234,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Urval',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Välj visingsalternativ',
'select_attribute_value' => '',
'select_category' => 'Klicka för att välja en kategori',
@ -1320,6 +1333,10 @@ Kommentar: [comment]',
'settings_createdirectory' => 'Skapa katalog',
'settings_currentvalue' => 'Aktuellt värde',
'settings_Database' => 'Databasinställningar',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Databas',
'settings_dbDatabase_desc' => 'Namnet på din databas som angavs under installationsprocessen. Ändra inte om det inte är nödvändigt, t.ex. om databasen har flyttats.',
'settings_dbDriver' => 'Databastyp',
@ -1638,6 +1655,8 @@ Kommentar: [comment]',
'settings_updateNotifyTime' => 'Tid för uppdateringsmeddelande',
'settings_updateNotifyTime_desc' => 'Användare meddelas om att ändringar i dokumentet har genomförts inom de senaste \'Tid för uppdateringsmeddelande\' sekunder.',
'settings_upgrade_php' => 'Uppdatera PHP till åtminstone version 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versionsinfo-filnamn',
'settings_versioningFileName_desc' => 'Namnet på versionsinfo-fil som skapas med backup-verktyget',
'settings_versiontolow' => 'Version för låg',
@ -1700,7 +1719,10 @@ Kommentar: [comment]',
'splash_edit_user' => 'Användare sparad',
'splash_error_add_to_transmittal' => '',
'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',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1800,8 +1822,11 @@ Kommentar: [comment]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Ta över individuell granskare från senaste version',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Uppgifter',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1842,6 +1867,7 @@ Kommentar: [comment]',
'transfer_content' => '',
'transfer_document' => 'Överför dokument',
'transfer_no_read_access' => 'Användaren har inte läsrättigheter i katalogen',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Användaren har inte skrivrättigheter i katalogen',
'transfer_objects' => 'Överför objekt',
'transfer_objects_to_user' => 'Ny ägare',
@ -1980,6 +2006,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Minst en av övergångarna i arbetsflödet saknar användare eller grupp.',
'workflow_user_summary' => 'Sammanfattning användare',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] ytterligare objekt',
'year_view' => 'Årsvy',

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 (1119), aydin (83)
// Translators: Admin (1125), aydin (83)
$text = array(
'2_factor_auth' => 'İki faktörlü yetkilendirme',
@ -356,6 +356,7 @@ URL: [url]',
'documents_locked' => '',
'documents_locked_by_you' => 'Doküman sizin tarafınızdan kilitlendi',
'documents_only' => 'Sadece dokümanlar',
'documents_rejected' => '',
'documents_to_approve' => 'Onayınızı bekleyen dokümanlar',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -397,6 +398,7 @@ Kullanıcı: [username]',
'document_duplicate_name' => 'Mükerrer doküman ismi',
'document_has_no_workflow' => 'Dokümanın iş akışı yok',
'document_infos' => 'Doküman Bilgisi',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Bu doküman kilitli değil',
@ -463,7 +465,7 @@ URL: [url]',
'do_object_setfilesize' => 'Dosya boyutu ayarla',
'do_object_setfiletype' => '',
'do_object_unlink' => 'Doküman versiyonunu sil',
'draft' => '',
'draft' => 'Taslak',
'draft_pending_approval' => 'Taslak - onay bekliyor',
'draft_pending_review' => 'Taslak - kontrol bekliyor',
'drag_icon_here' => 'Klasör veya dokümanın ikonunu buraya sürükleyin!',
@ -496,6 +498,7 @@ URL: [url]',
'edit_folder_props' => 'Klasörü düzenle',
'edit_group' => 'Grubu düzenle',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -506,7 +509,9 @@ URL: [url]',
'email' => 'E-posta',
'email_error_title' => 'E-posta adresi girilmedi',
'email_footer' => '\'My Account\' özelliklerini kullanarak her zaman e-posta ayarlarınızı değiştirebilirsiniz',
'email_footer_html' => '',
'email_header' => 'Bu DYS sunucusu tarafından gönderilen otomatik bir mesajdır.',
'email_header_html' => '',
'email_not_given' => 'Lütfen geçerli bir e-posta adresi giriniz.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Hiç klasör veya doküman yok',
@ -541,6 +546,7 @@ URL: [url]',
'exclude_items' => '',
'expired' => 'Süresi doldu',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Süresinin dolacağı zaman',
'expire_by_date' => 'Tarihe göre sil',
@ -565,6 +571,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => 'Değişiklik Listesi',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => 'Uzantı yüklendi',
'extension_manager' => 'Uzantıları düzenle',
'extension_mgr_error_upload' => '',
@ -572,6 +580,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => 'Mevcut',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => 'Veysionlar',
'february' => 'Şubat',
'file' => 'Dosya',
@ -692,6 +702,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Devralınan erişim listesini kopyala',
'inherits_access_empty_msg' => 'Boş erişim listesiyle başla',
'inherits_access_msg' => 'Erişim devralınıyor',
'installed_apache_extensions' => '',
'installed_php_extensions' => 'Kurulu php eklentileri',
'internal_error' => 'İç hata',
'internal_error_exit' => 'İç hata. İstek tamamlanmadı.',
@ -717,7 +728,7 @@ URL: [url]',
'invalid_user_id' => 'Geçersiz Kullanıcı ID',
'invalid_version' => 'Geçersiz Doküman Versiyonu',
'in_folder' => '',
'in_revision' => '',
'in_revision' => 'revizyonda',
'in_workflow' => 'İş Akışında',
'is_disabled' => 'Hesap devredışı',
'is_hidden' => 'Kullanıcı listesinde gizle',
@ -868,7 +879,7 @@ URL: [url]',
'next_state' => 'Yeni durum',
'nl_NL' => 'Hollandaca',
'no' => 'Hayır',
'notification' => '',
'notification' => 'Notlar',
'notify_added_email' => 'Bildirim listesine eklendiniz',
'notify_added_email_body' => 'Bildirim listesine eklendiniz
İsim: [name]
@ -1011,8 +1022,8 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'recent_uploads' => 'En son yüklenenler',
'reception' => '',
'reception_acknowleged' => '',
'reception_noaction' => '',
'reception_rejected' => '',
'reception_noaction' => 'Hareket yok',
'reception_rejected' => 'Resepsiyon reddedildi',
'recipients' => '',
'recipient_already_removed' => '',
'redraw' => '',
@ -1092,6 +1103,7 @@ URL: [url]',
'review_update_failed' => 'Kontrol güncelleme durumu hatalı. Güncelleme başarısız.',
'revise_document' => '',
'revise_document_on' => '',
'revision' => 'Revizyon',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1193,6 +1205,7 @@ URL: [url]',
'seeddms_info' => 'SeedDMS hakkında bilgi',
'seeddms_version' => 'SeedDMS Sürümü',
'selection' => 'Seçim',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Kategori seçmek için tıklayın',
@ -1286,6 +1299,10 @@ URL: [url]',
'settings_createdirectory' => 'Dizin oluştur',
'settings_currentvalue' => 'Mevcut değer',
'settings_Database' => 'Veritabanı ayarları',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'Veritabanı',
'settings_dbDatabase_desc' => 'Kurulum sırasında girilen veritabanı adı. Bu alanı gerekmedikçe değiştirmeyin.',
'settings_dbDriver' => 'Veritabanı Tipi',
@ -1604,6 +1621,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Güncelleme Bildirim Zamanı',
'settings_updateNotifyTime_desc' => 'Kullanıcılara doküman güncellemelerinin \'Update Notify Time\' saniyede gerçekleştiği bildirilir.',
'settings_upgrade_php' => 'PHP versiyonu en az 5.6.38 olmalıdır',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Versiyonlama DosyaAdı',
'settings_versioningFileName_desc' => 'Yedekleme aracı tarafından oluşturulan versiyon bilgisi dosyasının adı',
'settings_versiontolow' => 'Versiyon düşük',
@ -1666,7 +1685,10 @@ URL: [url]',
'splash_edit_user' => 'Kullanıcı kaydedildi',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1766,8 +1788,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Bir önceki versiyonu kontrol edeni al.',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1808,6 +1833,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => 'Dokumanı gönder',
'transfer_no_read_access' => 'Kullanıcının klasörde okuma erişimi yok.',
'transfer_no_users' => '',
'transfer_no_write_access' => 'Kullanıcının klasör üzerinde yazma hakkı yok',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1946,6 +1972,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Kullanıcı özeti',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] více objektů',
'year_view' => 'Yıllık Görünüm',

View File

@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => 'Заблоковані документи',
'documents_locked_by_you' => 'Документи, які ви заблокували',
'documents_only' => 'лише документи',
'documents_rejected' => '',
'documents_to_approve' => 'Документи, які чекають вашого затвердження',
'documents_to_correct' => '',
'documents_to_process' => 'Документи, які чекають опрацювання',
@ -403,6 +404,7 @@ URL: [url]',
'document_duplicate_name' => 'Документ з такою назвою вже існує',
'document_has_no_workflow' => 'Документові не призначено процес',
'document_infos' => 'Інформація про документ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Документ на опрацюванні',
'document_is_not_locked' => 'Документ не заблокований',
@ -502,6 +504,7 @@ URL: [url]',
'edit_folder_props' => 'Змінити каталог',
'edit_group' => 'Змінити групу',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => 'Редагувати налаштування перенесення',
@ -512,7 +515,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Не вказано e-mail',
'email_footer' => 'Ви можете змінити e-mail використовуючи меню «Мій обліковий запис».',
'email_footer_html' => '',
'email_header' => 'Це автоматичне сповіщення сервера документообігу',
'email_header_html' => '',
'email_not_given' => 'Введіть справжній e-mail.',
'empty_attribute_group_list' => '',
'empty_folder_list' => 'Немає документів або каталогів',
@ -547,6 +552,7 @@ URL: [url]',
'exclude_items' => 'Виключені елементи',
'expired' => 'Термін виконання вийшов',
'expired_at_date' => '',
'expired_docs_mail_subject' => '',
'expired_documents' => '',
'expires' => 'Термін виконання виходить',
'expire_by_date' => '',
@ -571,6 +577,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '',
'extension_manager' => 'Керування розширеннями',
'extension_mgr_error_upload' => '',
@ -578,6 +586,8 @@ URL: [url]',
'extension_mgr_no_upload' => '',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '',
'february' => 'Лютий',
'file' => 'Файл',
@ -698,6 +708,7 @@ URL: [url]',
'inherits_access_copy_msg' => 'Скопіювати успадкований список',
'inherits_access_empty_msg' => 'Почати з порожнього списку доступу',
'inherits_access_msg' => 'Доступ успадковано.',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => 'Внутрішня помилка',
'internal_error_exit' => 'Внутрішня помилка. Неможливо виконати запит.',
@ -1108,6 +1119,7 @@ URL: [url]',
'review_update_failed' => 'Помилка оновлення статусу рецензії',
'revise_document' => 'Ревізувати документ',
'revise_document_on' => 'Наступна ревізія документу [date]',
'revision' => '',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1214,6 +1226,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => 'Вибір',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => 'Оберіть категорію',
@ -1307,6 +1320,10 @@ URL: [url]',
'settings_createdirectory' => 'Створити каталог',
'settings_currentvalue' => 'Поточне значення',
'settings_Database' => 'Налаштування бази даних',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => 'База даних (БД)',
'settings_dbDatabase_desc' => 'Ім\'я бази даних (БД), введене при встановленні. Не змінювати без потреби, лише, наприклад, якщо БД переміщено.',
'settings_dbDriver' => 'Тип БД',
@ -1625,6 +1642,8 @@ URL: [url]',
'settings_updateNotifyTime' => 'Період сповіщень про зміни',
'settings_updateNotifyTime_desc' => 'Користувачі отримують сповіщення за вказані останні секунди.',
'settings_upgrade_php' => 'Оновіть PHP до версії не нижче 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => 'Назва файлу версій',
'settings_versioningFileName_desc' => 'Назва файлу версій, створеного інструментами резервного копіювання.',
'settings_versiontolow' => 'Надто стара версія',
@ -1687,7 +1706,10 @@ URL: [url]',
'splash_edit_user' => 'Користувача збережено',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1787,8 +1809,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => 'Використати рецензентів з попередньої версії',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => 'Завдання',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1829,6 +1854,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1967,6 +1993,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Підсумки по користувачу',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '[number] більше об\'єктів',
'year_view' => 'Рік',

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 (773), archonwang (469), fengjohn (5), yang86 (1)
// Translators: Admin (783), archonwang (469), fengjohn (5), yang86 (1)
$text = array(
'2_factor_auth' => '双重认证',
@ -313,7 +313,7 @@ URL: [url]',
'confirm_update_transmittalitem' => '确认更新',
'content' => '内容',
'continue' => '继续',
'converter_new_cmd' => '',
'converter_new_cmd' => '命令',
'converter_new_mimetype' => '新建 MIME 类型',
'copied_to_checkout_as' => '',
'create_download_link' => '',
@ -329,8 +329,8 @@ URL: [url]',
'current_version' => '当前版本',
'daily' => '天',
'databasesearch' => '数据库搜索',
'database_schema_version' => '',
'data_loading' => '',
'database_schema_version' => '数据库数据版本',
'data_loading' => '数据加载中,请稍后...',
'date' => '日期',
'days' => '天',
'debug' => '调试',
@ -356,6 +356,7 @@ URL: [url]',
'documents_locked' => '已锁定的文档',
'documents_locked_by_you' => '被您锁定的文档',
'documents_only' => '指定文件',
'documents_rejected' => '',
'documents_to_approve' => '待您审核的文档',
'documents_to_correct' => '',
'documents_to_process' => '',
@ -397,6 +398,7 @@ URL: [url]',
'document_duplicate_name' => '文档名称重复',
'document_has_no_workflow' => '文档未配置工作流',
'document_infos' => '文档信息',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '文档已签出。如上传了新版本,则已签出的版本则不能再被签回。',
'document_is_not_locked' => '该文档没有被锁定',
@ -496,6 +498,7 @@ URL: [url]',
'edit_folder_props' => '编辑文件夹',
'edit_group' => '编辑组别',
'edit_online' => '',
'edit_online_not_allowed' => '',
'edit_online_warning' => '',
'edit_task' => '',
'edit_transmittal_props' => '',
@ -506,7 +509,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => '未输入 Email 地址',
'email_footer' => '您可以用我的账户选项来改变您的e-mail设置',
'email_footer_html' => '',
'email_header' => '这是来自于DMS(文档管理系统)的自动发送消息',
'email_header_html' => '',
'email_not_given' => '请输入有效的 Email 地址',
'empty_attribute_group_list' => '',
'empty_folder_list' => '没有文件或子目录',
@ -541,6 +546,7 @@ URL: [url]',
'exclude_items' => '排除项目',
'expired' => '过期',
'expired_at_date' => '过期时间',
'expired_docs_mail_subject' => '',
'expired_documents' => '过期文档',
'expires' => '有效限期',
'expire_by_date' => '指定过期时间',
@ -561,6 +567,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => '更新日志',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '加载扩展',
'extension_manager' => '扩展管理器',
'extension_mgr_error_upload' => '',
@ -568,6 +576,8 @@ URL: [url]',
'extension_mgr_no_upload' => '上传新扩展名是不可能的因为extentension目录不可写',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '可得到',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '版本列表',
'february' => '二 月',
'file' => '文件',
@ -688,6 +698,7 @@ URL: [url]',
'inherits_access_copy_msg' => '复制继承访问权限列表',
'inherits_access_empty_msg' => '从访问权限空列表开始',
'inherits_access_msg' => '继承访问权限',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => '内部错误',
'internal_error_exit' => '内部错误.无法完成请求.离开系统',
@ -1012,7 +1023,7 @@ URL: [url]',
'reception_acknowleged' => '',
'reception_noaction' => '',
'reception_rejected' => '',
'recipients' => '',
'recipients' => '收件者',
'recipient_already_removed' => '',
'redraw' => '',
'refresh' => '刷新',
@ -1084,6 +1095,7 @@ URL: [url]',
'review_update_failed' => '错误 更新校对状态.更新失败',
'revise_document' => '',
'revise_document_on' => '',
'revision' => '',
'revisions_accepted' => '[no_revisions] 修订已被接受',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1182,8 +1194,9 @@ URL: [url]',
'search_time' => '耗时:[time]秒',
'seconds' => '秒',
'seeddms_info' => '',
'seeddms_version' => '',
'seeddms_version' => 'SeedDMS 版本',
'selection' => '选择',
'select_attrdef' => '',
'select_attrdefgrp_show' => '',
'select_attribute_value' => '',
'select_category' => '选中分类',
@ -1282,6 +1295,10 @@ URL: [url]',
'settings_createdirectory' => '创建目录',
'settings_currentvalue' => '当前值',
'settings_Database' => '数据库设置',
'settings_dateformat' => '日期格式',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '日期时间格式',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => '数据库名称',
'settings_dbDatabase_desc' => '设置连接的数据库',
'settings_dbDriver' => '数据库类型',
@ -1600,6 +1617,8 @@ URL: [url]',
'settings_updateNotifyTime' => '更新时间通知',
'settings_updateNotifyTime_desc' => '通知用户有关文档的变化,采取了最后的内地方“更新通知时间”秒',
'settings_upgrade_php' => '',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => '文件名版本',
'settings_versioningFileName_desc' => '',
'settings_versiontolow' => '',
@ -1662,7 +1681,10 @@ URL: [url]',
'splash_edit_user' => '用户信息已保存',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => '移除下载链接时报错',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '发送下载链接时报错',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
@ -1715,10 +1737,10 @@ URL: [url]',
'status_approver_removed' => '从审核队列中删除',
'status_needs_correction' => '',
'status_not_approved' => '未批准',
'status_not_receipted' => '',
'status_not_receipted' => '尚未接收',
'status_not_reviewed' => '未校对',
'status_not_revised' => '',
'status_receipted' => '',
'status_receipted' => '已接收',
'status_receipt_rejected' => '',
'status_recipient_removed' => '',
'status_reviewed' => '通过',
@ -1730,7 +1752,7 @@ URL: [url]',
'status_revisor_removed' => '',
'status_unknown' => '未知',
'storage_size' => '存储大小',
'subfolder_duplicate_name' => '',
'subfolder_duplicate_name' => '重复的文件夹',
'submit_2_fact_auth' => '',
'submit_approval' => '提交审核',
'submit_login' => '登录',
@ -1762,8 +1784,11 @@ URL: [url]',
'takeOverIndApprovers' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewers' => '',
'target_equals_source_folder' => '',
'tasks' => '任务',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
@ -1804,6 +1829,7 @@ URL: [url]',
'transfer_content' => '',
'transfer_document' => '共享文档',
'transfer_no_read_access' => '用户没有该文件夹的读权限',
'transfer_no_users' => '',
'transfer_no_write_access' => '当前用户没有文件夹写入权限',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
@ -1933,6 +1959,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '用户概述',
'wrong_checksum' => '',
'wrong_filetype' => '',
'x_more_objects' => '浏览更多',
'year_view' => '年视图',

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 (2425)
// Translators: Admin (2429)
$text = array(
'2_factor_auth' => '2階段認證',
@ -336,7 +336,7 @@ URL: [url]',
'daily' => '每日',
'databasesearch' => '資料庫搜索',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => '請等到資料載入完畢',
'date' => '日期',
'days' => '天數',
'debug' => '除錯',
@ -362,6 +362,7 @@ URL: [url]',
'documents_locked' => '文件鎖定',
'documents_locked_by_you' => '被您鎖定的文件',
'documents_only' => '指定檔',
'documents_rejected' => '',
'documents_to_approve' => '待您審核的文件',
'documents_to_correct' => '需要更正的文件',
'documents_to_process' => '需要處理的文件',
@ -410,6 +411,7 @@ URL: [url]',
'document_duplicate_name' => '文件名稱重複',
'document_has_no_workflow' => '文件沒有工作流程',
'document_infos' => '文件資訊',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '當前已簽出文檔。如果您上傳新版本,那麼簽出的版本將無法再簽回。',
'document_is_not_locked' => '該文件沒有被鎖定',
@ -514,6 +516,7 @@ URL: [url]',
'edit_folder_props' => '編輯資料夾',
'edit_group' => '編輯組別',
'edit_online' => '線上編輯',
'edit_online_not_allowed' => '',
'edit_online_warning' => '保存更改將覆蓋當前版本的內容,而不是創建新版本。',
'edit_task' => '編輯工作',
'edit_transmittal_props' => '編輯傳輸屬性',
@ -524,7 +527,9 @@ URL: [url]',
'email' => 'Email',
'email_error_title' => '信箱沒有輸入',
'email_footer' => '您可以用我的帳戶選項來改變您的e-mail設置',
'email_footer_html' => '',
'email_header' => '這是來自于DMS(文件管理系統)的自動發送消息',
'email_header_html' => '',
'email_not_given' => '請輸入有效的信箱網址',
'empty_attribute_group_list' => '沒有屬性組',
'empty_folder_list' => '沒有檔或子目錄',
@ -559,6 +564,7 @@ URL: [url]',
'exclude_items' => '例外項目',
'expired' => '過期',
'expired_at_date' => '已於[datetime]過期',
'expired_docs_mail_subject' => '',
'expired_documents' => '過期的文件',
'expires' => '有效限期',
'expire_by_date' => '到期日',
@ -583,6 +589,8 @@ URL: [url]',
'export_user_list_csv' => '',
'extension_archive' => '擴充',
'extension_changelog' => '修改紀錄',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_loading' => '擴充套件讀取中',
'extension_manager' => '擴充套件的管理',
'extension_mgr_error_upload' => '',
@ -590,6 +598,8 @@ URL: [url]',
'extension_mgr_no_upload' => '無法上傳新的套件因為套件目錄無法寫入',
'extension_mgr_no_zipfile' => '',
'extension_mgr_repository' => '可用',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_version_list' => '版本',
'february' => '二 月',
'file' => '文件',
@ -695,7 +705,7 @@ URL: [url]',
'import_extension' => '匯入擴充',
'import_fs' => '由檔案系統匯入',
'import_fs_warning' => '這僅適用於放置文件夾中的文件夾。該操作以遞歸方式導入所有文件夾和文件。文件將立即釋放。',
'import_users' => '',
'import_users' => '導入用戶',
'import_users_addnew' => '',
'import_users_update' => '',
'include_content' => '包含內容',
@ -703,7 +713,7 @@ URL: [url]',
'include_subdirectories' => '包含子目錄',
'indexing_tasks_in_queue' => '索引任務正在序列中',
'index_converters' => '',
'index_document_unchanged' => '',
'index_document_unchanged' => '文件未改變',
'index_done' => '完成',
'index_error' => '錯誤',
'index_folder' => '索引目錄',
@ -717,6 +727,7 @@ URL: [url]',
'inherits_access_copy_msg' => '複製繼承存取權限列表',
'inherits_access_empty_msg' => '從存取權限空列表開始',
'inherits_access_msg' => '繼承存取權限',
'installed_apache_extensions' => '',
'installed_php_extensions' => '',
'internal_error' => '內部錯誤',
'internal_error_exit' => '內部錯誤.無法完成請求.離開系統',
@ -1141,6 +1152,7 @@ URL: [url]',
'review_update_failed' => '錯誤 更新校對狀態.更新失敗',
'revise_document' => '修改文件',
'revise_document_on' => '[date]文檔版本的下一修訂版',
'revision' => '',
'revisions_accepted' => '[no_revisions]個修訂已被接受',
'revisions_accepted_latest' => '(最新版本為[no_revisions]',
'revisions_not_touched' => '[no_revisions]修訂未涉及',
@ -1247,6 +1259,7 @@ URL: [url]',
'seeddms_info' => '',
'seeddms_version' => '',
'selection' => '選擇',
'select_attrdef' => '',
'select_attrdefgrp_show' => '選擇當展示時',
'select_attribute_value' => '選擇屬性值',
'select_category' => '選中分類',
@ -1345,6 +1358,10 @@ URL: [url]',
'settings_createdirectory' => '創建目錄',
'settings_currentvalue' => '當前值',
'settings_Database' => '資料庫設定',
'settings_dateformat' => '',
'settings_dateformat_desc' => '',
'settings_datetimeformat' => '',
'settings_datetimeformat_desc' => '',
'settings_dbDatabase' => '資料庫',
'settings_dbDatabase_desc' => '在安裝過程中輸入的數據庫名稱。除非必要,否則請勿編輯此字段,例如,如果數據庫已移動。',
'settings_dbDriver' => '資料庫類型',
@ -1663,6 +1680,8 @@ URL: [url]',
'settings_updateNotifyTime' => '更新時間通知',
'settings_updateNotifyTime_desc' => '通知使用者有關文件的變化,採取了最後的內地方“更新通知時間”秒',
'settings_upgrade_php' => '將PHP升級到至少5.6.38版本',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_versioningFileName' => '檔案名版本',
'settings_versioningFileName_desc' => '備份工具創建的版本資訊文件的名稱',
'settings_versiontolow' => '版本低',
@ -1725,7 +1744,10 @@ URL: [url]',
'splash_edit_user' => '使用者已儲存',
'splash_error_add_to_transmittal' => '將文件添加到傳送時出錯',
'splash_error_rm_download_link' => '刪除下載鏈接時出錯',
'splash_error_saving_file' => '',
'splash_error_send_download_link' => '發送下載鏈接時出錯',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_extension_getlist' => '來自存儲庫的擴展名更新列表',
'splash_extension_import' => '安裝擴展',
'splash_extension_refresh' => '刷新的擴展名列表',
@ -1825,8 +1847,11 @@ URL: [url]',
'takeOverIndApprovers' => '接管個人批准人',
'takeOverIndReviewer' => '從上個版本接管個別審稿人',
'takeOverIndReviewers' => '接管個人審稿人',
'target_equals_source_folder' => '',
'tasks' => '任務',
'task_core_expireddocs_days' => '天數',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '描述',
'task_disabled' => '不啟用',
'task_frequency' => '頻率',
@ -1867,6 +1892,7 @@ URL: [url]',
'transfer_content' => '傳送內容',
'transfer_document' => '傳送檔案',
'transfer_no_read_access' => '用戶在文件夾中沒有讀取權限',
'transfer_no_users' => '',
'transfer_no_write_access' => '用戶在文件夾中沒有寫權限',
'transfer_objects' => '傳送物件',
'transfer_objects_to_user' => '新擁有者',
@ -1966,7 +1992,7 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name]-版本已刪除',
'version_info' => '版本資訊',
'view' => '檢視',
'view_document' => '',
'view_document' => '檢視文件細節',
'view_folder' => '',
'view_online' => '線上流覽',
'warning' => '警告',
@ -2005,6 +2031,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => '至少有一個過渡既沒有用戶也沒有組!',
'workflow_user_summary' => '使用者摘要',
'wrong_checksum' => '',
'wrong_filetype' => '錯誤的檔案類型',
'x_more_objects' => '增加[number]物件',
'year_view' => '年視圖',

View File

@ -136,10 +136,11 @@ if (!is_numeric($sequence)) {
switch($_POST["presetexpdate"]) {
case "date":
$tmp = explode('-', $_POST["expdate"]);
if(count($tmp) != 3)
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("malformed_expiration_date"));
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
$expires = makeTsFromDate($_POST["expdate"]);
// $tmp = explode('-', $_POST["expdate"]);
// if(count($tmp) != 3)
// UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("malformed_expiration_date"));
// $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
break;
case "1w":
$tmp = explode('-', date('Y-m-d'));
@ -225,45 +226,15 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
}
// add mandatory reviewers/approvers
$docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp);
if($settings->_workflowMode == 'traditional') {
$res=$user->getMandatoryReviewers();
foreach ($res as $r){
if ($r['reviewerUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['reviewerUserID']){
$reviewers["i"][] = $r['reviewerUserID'];
break;
}
}
else if ($r['reviewerGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['reviewerGroupID']){
$reviewers["g"][] = $r['reviewerGroupID'];
break;
}
}
}
$mreviewers = getMandatoryReviewers($folder, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
}
$res=$user->getMandatoryApprovers();
foreach ($res as $r){
$mapprovers = getMandatoryApprovers($folder, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
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;
}
}
}
if($settings->_workflowMode == 'traditional' && !$settings->_allowReviewerOnly) {
/* Check if reviewers are send but no approvers */
if(($reviewers["i"] || $reviewers["g"]) && !$approvers["i"] && !$approvers["g"]) {
@ -499,11 +470,13 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$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);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Get workflow from controller in case it was modified in a hook */
$workflow = $controller->getParam('workflow');
if($workflow && $settings->_enableNotificationWorkflow) {
$subject = "request_workflow_action_email_subject";
$message = "request_workflow_action_email_body";
@ -520,16 +493,21 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params);
$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);
$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 */
/* Get reviewers and approvers from controller in case it was
* modified in a hook
*/
$reviewers = $controller->getParam('reviewers');
$approvers = $controller->getParam('approvers');
if($reviewers['i'] || $reviewers['g']) {
$subject = "review_request_email_subject";
$message = "review_request_email_body";
@ -544,10 +522,10 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
@ -565,10 +543,10 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}

View File

@ -20,6 +20,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
@ -28,6 +29,11 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
/* Check if the form data comes from a trusted request */
if(!checkFormKey('adddocumentlink', 'GET')) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}

View File

@ -34,6 +34,11 @@ if ($user->isGuest()) {
UI::exitError(getMLText("edit_event"),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('addevent')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_POST["from"]) && !(isset($_POST["frommonth"]) && isset($_POST["fromday"]) && isset($_POST["fromyear"])) ) {
UI::exitError(getMLText("add_event"),getMLText("error_occured"));
}
@ -49,14 +54,16 @@ if (!isset($_POST["name"]) || !isset($_POST["comment"]) ) {
$name = $_POST["name"];
$comment = $_POST["comment"];
if(isset($_POST["from"])) {
$tmp = explode('-', $_POST["from"]);
$from = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
$from = makeTsFromDate($_POST["from"]);
// $tmp = explode('-', $_POST["from"]);
// $from = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
} else {
$from = mktime(0,0,0, intval($_POST["frommonth"]), intval($_POST["fromday"]), intval($_POST["fromyear"]));
}
if(isset($_POST["to"])) {
$tmp = explode('-', $_POST["to"]);
$to = mktime(23,59,59, $tmp[1], $tmp[2], $tmp[0]);
$to = makeTsFromDate($_POST["to"])+86400;
// $tmp = explode('-', $_POST["to"]);
// $to = mktime(23,59,59, $tmp[1], $tmp[2], $tmp[0]);
} else {
$to = mktime(23,59,59, intval($_POST["tomonth"]), intval($_POST["today"]), intval($_POST["toyear"]));
}

View File

@ -123,9 +123,9 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}

View File

@ -139,9 +139,9 @@ if(!$subFolder = $controller->run()) {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}

View File

@ -61,10 +61,15 @@ if (isset($_COOKIE["mydms_session"])) {
}
}
$dms->setUser($user);
if($settings->_useHomeAsRootFolder && !$user->isAdmin() && $user->getHomeFolder()) {
$dms->checkWithinRootDir = true;
$dms->setRootFolderID($user->getHomeFolder());
}
$role = $user->getRole();
$dms->noReadForStatus = $role->getNoAccess();
$notifier = new SeedDMS_NotificationService();
global $logger;
$notifier = new SeedDMS_NotificationService($logger);
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'preAddService')) {
@ -125,15 +130,21 @@ switch($command) {
}
break; /* }}} */
/* Used for document chooser */
case 'searchdocument': /* {{{ */
if($user) {
$query = $_GET['query'];
$status = isset($_GET['status']) ? (is_array($_GET['status']) ? $_GET['status'] : array($_GET['status'])) : array();
$hits = $dms->search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=null, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x1, $expirationstartdate=array(), $expirationenddate=array());
$hits = $dms->search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=$dms->getRootFolder(), $owner=null, $status, $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x1, $expirationstartdate=array(), $expirationenddate=array());
if($hits) {
$result = array();
foreach($hits['docs'] as $hit) {
$result[] = $hit->getID().'#'.$hit->getName();
if ($hit->getAccessMode($user) >= M_READ) {
if($hit->getLatestContent()) {
$result[] = $hit->getID().'#'.$hit->getName();
}
}
}
header('Content-Type: application/json');
echo json_encode($result);
@ -141,11 +152,12 @@ switch($command) {
}
break; /* }}} */
/* Used for folder chooser */
case 'searchfolder': /* {{{ */
if($user) {
$query = $_GET['query'];
$hits = $dms->search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=null, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x2, $expirationstartdate=array(), $expirationenddate=array());
$hits = $dms->search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=$dms->getRootFolder(), $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x2, $expirationstartdate=array(), $expirationenddate=array());
if($hits) {
$result = array();
foreach($hits['folders'] as $hit) {
@ -161,9 +173,10 @@ switch($command) {
case 'subtree': /* {{{ */
if($user) {
if(empty($_GET['node']))
$nodeid = $settings->_rootFolderID;
$folder = $dms->getHomeFolder();
else
$nodeid = (int) $_GET['node'];
$folder = $dms->getFolder((int) $_GET['node']);
if (!is_object($folder)) return '';
if(empty($_GET['showdocs']))
$showdocs = false;
else
@ -173,9 +186,6 @@ switch($command) {
else
$orderby = $_GET['orderby'];
$folder = $dms->getFolder($nodeid);
if (!is_object($folder)) return '';
$subfolders = $folder->getSubFolders($orderby);
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
$tree = array();
@ -476,9 +486,9 @@ switch($command) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID();
$notifier->toList($user, $nl["users"], $subject, $message, $params);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
header('Content-Type: application/json');
@ -532,9 +542,9 @@ switch($command) {
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
@ -724,45 +734,14 @@ switch($command) {
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
// add mandatory reviewers/approvers
$docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp);
if($settings->_workflowMode == 'traditional') {
$res=$user->getMandatoryReviewers();
foreach ($res as $r){
if ($r['reviewerUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['reviewerUserID']){
$reviewers["i"][] = $r['reviewerUserID'];
break;
}
}
else if ($r['reviewerGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['reviewerGroupID']){
$reviewers["g"][] = $r['reviewerGroupID'];
break;
}
}
}
}
$res=$user->getMandatoryApprovers();
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;
}
}
$mreviewers = getMandatoryReviewers($folder, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
} elseif($settings->_workflowMode == 'advanced') {
$workflow = $user->getMandatoryWorkflow();
@ -833,11 +812,13 @@ switch($command) {
$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);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Get workflow from controller in case it was modified in a hook */
$workflow = $controller->getParam('workflow');
if($workflow && $settings->_enableNotificationWorkflow) {
$subject = "request_workflow_action_email_subject";
$message = "request_workflow_action_email_body";
@ -854,16 +835,21 @@ switch($command) {
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params);
$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);
$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 */
/* Get reviewers and approvers from controller in case it was
* modified in a hook
*/
$reviewers = $controller->getParam('reviewers');
$approvers = $controller->getParam('approvers');
if($reviewers['i'] || $reviewers['g']) {
$subject = "review_request_email_subject";
$message = "review_request_email_body";
@ -878,10 +864,10 @@ switch($command) {
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
@ -899,10 +885,10 @@ switch($command) {
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}

View File

@ -89,7 +89,7 @@ if($_FILES["approvalfile"]["tmp_name"]) {
}
$controller->setParam('document', $document);
$controller->setParam('content', $latestContent);
$controller->setParam('content', $content);
$controller->setParam('approvalstatus', $_POST["approvalStatus"]);
$controller->setParam('approvaltype', $_POST["approvalType"]);
if ($_POST["approvalType"] == "grp") {
@ -122,15 +122,15 @@ if ($_POST["approvalType"] == "ind" || $_POST["approvalType"] == "grp") {
$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();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&currenttab=revapp";
$notifier->toIndividual($user, $content->getUser(), $subject, $message, $params);
$notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
// Send notification to subscribers.
$nl=$document->getNotifyList();
$notifier->toList($user, $nl["users"], $subject, $message, $params);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -147,16 +147,18 @@ if($olddocstatus['status'] != $newdocstatus['status']) {
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText($status);
$params['status'] = getOverallStatusText($olddocstatus['status']).' → '.getOverallStatusText($newdocstatus['status']);
$params['new_status_code'] = $newdocstatus['status'];
$params['old_status_code'] = $olddocstatus['status'];
$params['comment'] = $document->getComment();
$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();
$notifier->toList($user, $nl["users"], $subject, $message, $params);
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -38,6 +38,11 @@ function _printMessage($heading, $message) {
return;
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('changepassword')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (isset($_POST["hash"])) {
$hash = $_POST["hash"];
}

View File

@ -133,45 +133,15 @@ else
}
// add mandatory reviewers/approvers
$docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp);
if($settings->_workflowMode == 'traditional') {
$res=$user->getMandatoryReviewers();
foreach ($res as $r){
if ($r['reviewerUserID']!=0){
foreach ($docAccess["users"] as $usr)
if ($usr->getID()==$r['reviewerUserID']){
$reviewers["i"][] = $r['reviewerUserID'];
break;
}
}
else if ($r['reviewerGroupID']!=0){
foreach ($docAccess["groups"] as $grp)
if ($grp->getID()==$r['reviewerGroupID']){
$reviewers["g"][] = $r['reviewerGroupID'];
break;
}
}
}
$mreviewers = getMandatoryReviewers($folder, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
}
$res=$user->getMandatoryApprovers();
foreach ($res as $r){
$mapprovers = getMandatoryApprovers($folder, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
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;
}
}
}
if($settings->_workflowMode == 'traditional' && !$settings->_allowReviewerOnly) {
/* Check if reviewers are send but no approvers */
if(($reviewers["i"] || $reviewers["g"]) && !$approvers["i"] && !$approvers["g"]) {
@ -284,9 +254,9 @@ else
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
if($workflow && $settings->_enableNotificationWorkflow) {
@ -305,10 +275,10 @@ else
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params);
$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);
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
}
}
@ -329,10 +299,10 @@ else
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
@ -350,10 +320,10 @@ else
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params);
$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);
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}
@ -418,9 +388,9 @@ else
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
} else {

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -160,11 +160,11 @@ if ($action == "setowner") {
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// $notifier->toIndividual($user, $oldowner, $subject, $message, $params);
// $notifier->toIndividual($user, $oldowner, $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_setowner')));
}
@ -185,9 +185,9 @@ else if ($action == "notinherit") {
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
@ -208,9 +208,9 @@ else if ($action == "inherit") {
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_inherit_access')));
@ -230,9 +230,9 @@ else if ($action == "setdefault") {
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_set_default_access')));

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
@ -112,10 +113,10 @@ if ($action == "delnotify"){
$params['http_root'] = $settings->_httpRoot;
if ($userid > 0) {
$notifier->toIndividual($user, $obj, $subject, $message, $params);
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
else {
$notifier->toGroup($user, $obj, $subject, $message, $params);
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
break;
@ -154,7 +155,7 @@ else if ($action == "addnotify") {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $obj, $subject, $message, $params);
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
break;
@ -188,7 +189,7 @@ else if ($action == "addnotify") {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $obj, $subject, $message, $params);
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
break;
}

View File

@ -250,7 +250,7 @@ elseif (isset($_GET["approvelogid"])) { /* {{{ */
}
$controller->setParam('document', $document);
$controller->setParam('reviewlogid', (int) $_GET['approvelogid']);
$controller->setParam('approvelogid', (int) $_GET['approvelogid']);
$controller->setParam('type', 'approval');
$controller->run();
switch($controller->getErrorNo()) {

View File

@ -71,7 +71,12 @@ if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if(!$attrdef->validate($attribute)) {
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
break;
}
if(!$attrdef->validate($attribute, $version, true)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
@ -109,9 +114,9 @@ if($oldattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -137,9 +142,9 @@ if($newattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}

View File

@ -103,9 +103,9 @@ if (($oldcomment = $version->getComment()) != $comment) {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}

View File

@ -32,6 +32,11 @@ include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
/* Check if the form data comes from a trusted request */
if(!checkFormKey('editdocument')) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
@ -79,8 +84,9 @@ else
if(isset($_POST['presetexpdate'])) {
switch($_POST["presetexpdate"]) {
case "date":
$tmp = explode('-', $_POST["expdate"]);
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
$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'));
@ -161,11 +167,11 @@ if ($oldname != $name) {
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -190,11 +196,11 @@ if ($oldcomment != $comment) {
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -217,11 +223,11 @@ if ($expires != $oldexpires) {
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -248,9 +254,9 @@ if($oldattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -275,9 +281,9 @@ if($newattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}

View File

@ -61,15 +61,17 @@ else
$comment = $_POST["comment"];
if(isset($_POST["from"])) {
$from = explode('T', $_POST["from"]);
$tmp = explode('-', $from[0]);
$from = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
$from = makeTsFromDate($_POST["from"]);
// $from = explode('T', $_POST["from"]);
// $tmp = explode('-', $from[0]);
// $from = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
} else {
UI::exitError(getMLText("edit_event"),getMLText("error_occured"));
}
if(isset($_POST["to"])) {
$tmp = explode('-', $_POST["to"]);
$to = mktime(23,59,59, $tmp[1], $tmp[2], $tmp[0]);
$to = makeTsFromDate($_POST["to"])+86400;
// $tmp = explode('-', $_POST["to"]);
// $to = mktime(23,59,59, $tmp[1], $tmp[2], $tmp[0]);
} else {
$to = $event['stop'] - $event['start'] + $from;;
}

View File

@ -32,6 +32,11 @@ include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
/* Check if the form data comes from a trusted request */
if(!checkFormKey('editfolder')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_POST["folderid"]) || !is_numeric($_POST["folderid"]) || intval($_POST["folderid"])<1) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
}
@ -107,13 +112,13 @@ if($oldname != $name) {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// if user is not owner send notification to owner
// if ($user->getID() != $folder->getOwner()->getID())
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params);
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
}
@ -133,13 +138,13 @@ if($oldcomment != $comment) {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// if user is not owner send notification to owner
// if ($user->getID() != $folder->getOwner()->getID())
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params);
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
}
@ -163,9 +168,9 @@ if($oldattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
@ -190,9 +195,9 @@ if($newattributes) {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}

View File

@ -88,9 +88,9 @@ if($lc->getChecksum() == SeedDMS_Core_File::checksum($tmpfname)) {
$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);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_saved_file')));

View File

@ -37,6 +37,11 @@ if (!$user->isAdmin() && ($settings->_disableSelfEdit)) {
UI::exitError(getMLText("edit_user_details"),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('edituserdata')) {
UI::exitError(getMLText("edit_user_details"),getMLText("invalid_request_token"));
}
$fullname = $_POST["fullname"];
$email = $_POST["email"];
$comment = $_POST["comment"];

View File

@ -17,9 +17,9 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Extension.php");
include("../inc/inc.ClassUI.php");
@ -43,8 +43,8 @@ else $action=NULL;
if (isset($_POST["currenttab"])) $currenttab=$_POST["currenttab"];
else $currenttab=NULL;
// add new attribute definition ---------------------------------------------
if ($action == "download") {
// Download extension -------------------------------------------------------
if ($action == "download") { /* {{{ */
if (!isset($_POST["extname"])) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
@ -128,9 +128,10 @@ elseif ($action == "getlist") { /* {{{ */
}
add_log_line();
header("Location:../out/out.ExtensionMgr.php?currenttab=".$currenttab);
} elseif ($action == "toggle") { /* {{{ */
} /* }}} */
elseif ($action == "toggle") { /* {{{ */
if (!isset($_POST["extname"])) {
echo json_encode(array('success'=>false, 'msg'=>'Could not toggle extension'));
echo json_encode(array('success'=>false, 'msg'=>getMLText('extension_missing_name')));
}
$extname = trim($_POST["extname"]);
if (!file_exists($settings->_rootDir.'/ext/'.$extname) ) {
@ -139,9 +140,21 @@ elseif ($action == "getlist") { /* {{{ */
$controller->setParam('extmgr', $extMgr);
$controller->setParam('extname', $extname);
if (!$controller($_POST)) {
echo json_encode(array('success'=>false, 'msg'=>'Could not toggle extension'));
echo json_encode(array('success'=>false, 'msg'=>getMLText('extinsion_toggle_error')));
} else {
echo json_encode(array('success'=>true, 'msg'=>'Operation succeded'));
if($settings->extensionIsDisabled($extname))
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_is_off_now')));
else {
$ret = $extMgr->migrate($extname, $settings, $dms);
if($ret !== null) {
if($ret === true)
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_migration_success')));
else
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_migration_error')));
} else {
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_is_on_now')));
}
}
}
add_log_line();
} /* }}} */

View File

@ -140,9 +140,9 @@ if ($action == "setowner") {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_setowner')));
@ -171,9 +171,9 @@ else if ($action == "notinherit") {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_notinherit_access')));
}
@ -194,9 +194,9 @@ else if ($action == "notinherit") {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
@ -233,9 +233,9 @@ else if ($action == "inherit") {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_inherit_access')));
@ -260,9 +260,9 @@ else if ($action == "setdefault") {
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_set_default_access')));

View File

@ -19,6 +19,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
@ -107,10 +108,10 @@ if ($action == "delnotify") {
$params['http_root'] = $settings->_httpRoot;
if ($userid > 0) {
$notifier->toIndividual($user, $obj, $subject, $message, $params);
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
else {
$notifier->toGroup($user, $obj, $subject, $message, $params);
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
break;
@ -149,7 +150,7 @@ else if ($action == "addnotify") {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $obj, $subject, $message, $params);
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
break;
@ -184,7 +185,7 @@ else if ($action == "addnotify") {
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $obj, $subject, $message, $params);
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
break;
}

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