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

This commit is contained in:
Uwe Steinmann 2018-02-01 17:51:32 +01:00
commit 8af147d66c
150 changed files with 9662 additions and 5326 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
*.tar.gz
SeedDMS_*/*.tgz
ext/*

View File

@ -1,20 +1,37 @@
--------------------------------------------------------------------------------
Changes in version 6.1.0
--------------------------------------------------------------------------------
- merge changes from 6.0.2
- merge changes up to 6.0.3
- add attribute groups and selective output of attributes
- document versions can be downloaded by a temporary link
--------------------------------------------------------------------------------
Changes in version 6.0.1
Changes in version 6.0.3
--------------------------------------------------------------------------------
- add list of documents without a receiver on MyDocuments page
- propperly calculate number of documents for each value of value set in attribute mgr
- output of progress bar for reception of a document can be controlled by access list
- recipientof a document version can be set when uploading the file
- fix export of search and display of 2nd, 3rd, ... search page
- speed up creation of document lists if reception progress bar is shown
- status of rejected documents can be overriden
- do not add users from group as recipients if they are the uploader or reviewer
of a document
- add list of documents without a receiver, list of drafts, and list of absolete
documents on MyDocuments page
- add callback onCheckAccessDocument to SeedDMS_Core_Document
- add new document status 'needs correction', revised documents which do not pass
will no longer be in status 'rejected' but 'needs correction'
- better error handling when indexing documents fails
- apache xsendfile module is used for downloading documents when installed
--------------------------------------------------------------------------------
Changes in version 6.0.2
--------------------------------------------------------------------------------
- check if user has access on document and is not disabled if set as
receiver, revisor
- check if group has members if set as reviewer, approver, receiver, revisor
- fix bug in notification of approver after successful review
- call hook 'rawcontent' when downloading transmittal list or search content
- speed up list of locked documents on MyDocuments page
- sql queries and execution times can be written to file in database layer
- add document check for docs in revision and missing access rights of revisor
- add document check for docs requiring receptions but user lacks access right
- fix Acl manager when using pgsql
@ -22,6 +39,17 @@
- owner of document may see review/approval/receipt/revision log
- fix sending mails to reviewer/approvers after check in
- downloading of review/approval files works again
- optimizing retrieval of open tasks
- do not show user which has been removed from a process except for admins
- show scheduled revisions in calendar
- merge changes up to 5.1.5
--------------------------------------------------------------------------------
Changes in version 6.0.1
--------------------------------------------------------------------------------
- call hook 'rawcontent' when downloading transmittal list or search content
- speed up list of locked documents on MyDocuments page
- sql queries and execution times can be written to file in database layer
--------------------------------------------------------------------------------
Changes in version 6.0.0
@ -47,11 +75,46 @@
- add document list which can be exported as an archive
- search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.6
--------------------------------------------------------------------------------
- fix wrong check in restapi (part of #373)
- mayApprove() and mayReview() require the status of the document to be
S_DRAFT_APP resp. S_DRAFT_REV
- add preview for webm videos (Closes #374)
- add support for apache mod_xsendfile, minor optimization of file download
- animate button to download more objects in folder list which loading is active
- use converters for creating preview images as configured in settings (Closes #389)
- propperly check if user is already in database when doing ldap auth (Closes #388)
- list linked documents on the ViewDocument page in the way as in other document lists
--------------------------------------------------------------------------------
Changes in version 5.1.5
--------------------------------------------------------------------------------
- add controller for AttributeMgr
- converters for image previews and pdf previews can be configured in settings
- show list of documents having the selected category on page for managing
categories
- use same layout for group and category manager as already used in user manager
- meta data of attachments can be edited
- show number of reverse document links in folder/document list
- documents can be transfered to another user (Closes partly #368)
- list of folders/documents on ViewFolder page can be limited, more objects
will be loaded when user scrolls to the end of the page
- add more hooks in ViewFolder
--------------------------------------------------------------------------------
Changes in version 5.1.4
--------------------------------------------------------------------------------
- fix javascript error when indexing document, because the indexer was also
created when the js-code was requested (Closes #340)
- new list of expired documents
- access on document links and attachments can be controlled by a hook
- move AddSubFolder code into controller, add hooks equivalent to AddDocment (Closes #359)
- add list of expired documents to MyDocument page
- move code of DocumentAccess and EditDocument into controller
- make width of preview images in drop folder configurable
- hide pager on search page when all folders/documents are listed
--------------------------------------------------------------------------------
Changes in version 5.1.3
@ -99,6 +162,7 @@
Changes in version 5.0.14
--------------------------------------------------------------------------------
- use cmd timeout when indexing documents (Closes #344)
- add change password function to rest api (merge from sebbuku)
--------------------------------------------------------------------------------
Changes in version 5.0.13
@ -203,6 +267,7 @@
Changes in version 4.3.37
--------------------------------------------------------------------------------
- fix label in password forgotten form (Closes #346)
- translation updates
--------------------------------------------------------------------------------
Changes in version 4.3.36

View File

@ -1,4 +1,4 @@
VERSION=6.0.1
VERSION=6.0.3
SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc styles TODO LICENSE webdav install restapi pdfviewer
# webapp

View File

@ -798,10 +798,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
}
}
}
$valueset = $this->getValueSetAsArray();
$possiblevalues = array();
foreach($valueset as $value) {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
}
$queryStr = "SELECT count(*) c, `value` FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies']['document'] = $resArr;
foreach($resArr as $row) {
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
foreach($tmpattr->getValueAsArray() as $value) {
if(isset($possiblevalues[md5($value)])) {
$possiblevalues[md5($value)]['c'] += $row['c'];
} else {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
}
}
}
$result['frequencies']['document'] = $possiblevalues;
}
}
@ -818,10 +833,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
}
}
}
$valueset = $this->getValueSetAsArray();
$possiblevalues = array();
foreach($valueset as $value) {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
}
$queryStr = "SELECT count(*) c, `value` FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies']['folder'] = $resArr;
foreach($resArr as $row) {
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
foreach($tmpattr->getValueAsArray() as $value) {
if(isset($possiblevalues[md5($value)])) {
$possiblevalues[md5($value)]['c'] += $row['c'];
} else {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
}
}
}
$result['frequencies']['folder'] = $possiblevalues;
}
}
@ -838,10 +868,25 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
}
}
}
$valueset = $this->getValueSetAsArray();
$possiblevalues = array();
foreach($valueset as $value) {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>0);
}
$queryStr = "SELECT count(*) c, `value` FROM `tblDocumentContentAttributes` WHERE `attrdef`=".$this->_id." GROUP BY `value` ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies']['content'] = $resArr;
foreach($resArr as $row) {
$tmpattr = new SeedDMS_Core_Attribute(0, null, $this, $row['value']);
foreach($tmpattr->getValueAsArray() as $value) {
if(isset($possiblevalues[md5($value)])) {
$possiblevalues[md5($value)]['c'] += $row['c'];
} else {
$possiblevalues[md5($value)] = array('value'=>$value, 'c'=>$row['c']);
}
}
}
$result['frequencies']['content'] = $possiblevalues;
}
}
@ -874,13 +919,16 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
* @param integer $limit limit number of documents/folders
* @return array array containing list of documents and folders
*/
public function getObjects($attrvalue, $limit) { /* {{{ */
public function getObjects($attrvalue, $limit=0) { /* {{{ */
$db = $this->_dms->getDB();
$result = array('docs'=>array(), 'folders'=>array(), 'contents'=>array());
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
if($this->_multiple)
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND (`value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue.$this->getValueSetSeparator()."%")." OR `value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue).")";
else
$queryStr = "SELECT * FROM `tblDocumentAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
@ -895,7 +943,10 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_folder) {
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
if($this->_multiple)
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND (`value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue.$this->getValueSetSeparator()."%")." OR `value` like ".$db->qstr("%".$this->getValueSetSeparator().$attrvalue).")";
else
$queryStr = "SELECT * FROM `tblFolderAttributes` WHERE `attrdef`=".$this->_id." AND `value`=".$db->qstr($attrvalue);
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);

View File

@ -405,9 +405,11 @@ class SeedDMS_Core_DMS {
*/
static function filterDocumentFiles($user, $files) { /* {{{ */
$tmp = array();
foreach ($files as $file)
if ($file->isPublic() || ($file->getUser()->getID() == $user->getID()) || $user->isAdmin() || ($file->getDocument()->getOwner()->getID() == $user->getID()))
array_push($tmp, $file);
if($files) {
foreach ($files as $file)
if ($file->isPublic() || ($file->getUser()->getID() == $user->getID()) || $user->isAdmin() || ($file->getDocument()->getOwner()->getID() == $user->getID()))
array_push($tmp, $file);
}
return $tmp;
} /* }}} */
@ -446,7 +448,7 @@ class SeedDMS_Core_DMS {
$this->callbacks = array();
$this->version = '@package_version@';
if($this->version[0] == '@')
$this->version = '6.0.1';
$this->version = '6.0.3';
} /* }}} */
/**
@ -671,6 +673,70 @@ class SeedDMS_Core_DMS {
return $user->getDocumentsLocked();
} /* }}} */
/**
* Returns all documents which already expired or will expire in the future
*
* @param string $date date in format YYYY-MM-DD or an integer with the number
* of days. A negative value will cover the days in the past.
* @return array list of documents
*/
function getDocumentsExpired($date, $user=null) { /* {{{ */
$db = $this->getDB();
if(is_int($date)) {
$ts = mktime(0, 0, 0) + $date * 86400;
} elseif(is_string($date)) {
$tmp = explode('-', $date, 3);
if(count($tmp) != 3)
return false;
$ts = mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]);
} else
return false;
$tsnow = mktime(0, 0, 0); /* Start of today */
if($ts < $tsnow) { /* Check for docs expired in the past */
$startts = $ts;
$endts = $tsnow+86400; /* Use end of day */
$updatestatus = true;
} else { /* Check for docs which will expire in the future */
$startts = $tsnow;
$endts = $ts+86400; /* Use end of day */
$updatestatus = false;
}
/* Get all documents which have an expiration date. It doesn't check for
* the latest status which should be S_EXPIRED, but doesn't have to, because
* status may have not been updated after the expiration date has been reached.
**/
$queryStr = "SELECT `tblDocuments`.`id`, `tblDocumentStatusLog`.`status` FROM `tblDocuments` ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`document` = `tblDocuments`.`id` ".
"LEFT JOIN `tblDocumentContent` ON `tblDocuments`.`id` = `tblDocumentContent`.`document` AND `tblDocumentContent`.`version` = `ttcontentid`.`maxVersion` ".
"LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID` = `tblDocumentContent`.`document` AND `tblDocumentContent`.`version` = `tblDocumentStatus`.`version` ".
"LEFT JOIN `ttstatid` ON `ttstatid`.`statusID` = `tblDocumentStatus`.`statusID` ".
"LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatusLog`.`statusLogID` = `ttstatid`.`maxLogID`";
$queryStr .=
" WHERE `tblDocuments`.`expires` > ".$startts." AND `tblDocuments`.`expires` < ".$endts;
if($user)
$queryStr .=
" AND `tblDocuments`.`owner` = '".$user->getID()."' ";
$queryStr .=
" ORDER BY `expires` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$documents = array();
$ts = mktime(0, 0, 0) + 86400;
foreach ($resArr as $row) {
$document = $this->getDocument($row["id"]);
if($updatestatus)
$document->verifyLastestContentExpriry();
$documents[] = $document;
}
return $documents;
} /* }}} */
/**
* Returns a document by its name
*
@ -766,6 +832,104 @@ class SeedDMS_Core_DMS {
return $version;
} /* }}} */
/**
* Returns all documents with a predefined search criteria
*
* @param string $listtype type of document list, can be 'AppRevByMe',
* 'AppRevOwner', 'ReceiptByMe', 'ReviseByMe', 'LockedByMe', 'MyDocs'
* @param object $user user
* @return array list of documents records
*/
function countTasks($listtype, $user=null) { /* {{{ */
$groups = array();
if($user) {
$tmp = $user->getGroups();
foreach($tmp as $group)
$groups[] = $group->getID();
}
$selectStr = "SELECT count(*) c ";
$queryStr =
"FROM `ttcontentid` ".
"LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID`=`ttcontentid`.`document` AND `tblDocumentStatus`.`version`=`ttcontentid`.`maxVersion` ".
"LEFT JOIN `ttstatid` ON `ttstatid`.`statusID` = `tblDocumentStatus`.`statusID` ".
"LEFT JOIN `tblDocumentStatusLog` ON `ttstatid`.`statusID` = `tblDocumentStatusLog`.`statusID` AND `ttstatid`.`maxLogID` = `tblDocumentStatusLog`.`statusLogID` ";
switch($listtype) {
case 'ReviewByMe': // Documents I have to review {{{
if (!$this->db->createTemporaryTable("ttreviewid")) {
return false;
}
$queryStr .=
"LEFT JOIN `tblDocumentReviewers` on `ttcontentid`.`document`=`tblDocumentReviewers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentReviewers`.`version` ".
"LEFT JOIN `ttreviewid` ON `ttreviewid`.`reviewID` = `tblDocumentReviewers`.`reviewID` ".
"LEFT JOIN `tblDocumentReviewLog` ON `tblDocumentReviewLog`.`reviewLogID`=`ttreviewid`.`maxLogID` ";
$queryStr .= "WHERE (`tblDocumentReviewers`.`type` = 0 AND `tblDocumentReviewers`.`required` = ".$user->getID()." ";
if($groups)
$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.") ";
break; /* }}} */
case 'ApproveByMe': // Documents I have to approve {{{
if (!$this->db->createTemporaryTable("ttapproveid")) {
return false;
}
$queryStr .=
"LEFT JOIN `tblDocumentApprovers` on `ttcontentid`.`document`=`tblDocumentApprovers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentApprovers`.`version` ".
"LEFT JOIN `ttapproveid` ON `ttapproveid`.`approveID` = `tblDocumentApprovers`.`approveID` ".
"LEFT JOIN `tblDocumentApproveLog` ON `tblDocumentApproveLog`.`approveLogID`=`ttapproveid`.`maxLogID` ";
$queryStr .= "WHERE (`tblDocumentApprovers`.`type` = 0 AND `tblDocumentApprovers`.`required` = ".$user->getID()." ";
if($groups)
$queryStr .= "OR `tblDocumentApprovers`.`type` = 1 AND `tblDocumentApprovers`.`required` IN (".implode(',', $groups).") ";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentApproveLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") ";
break; /* }}} */
case 'ReceiptByMe': // Documents I have to receipt {{{
if (!$this->db->createTemporaryTable("ttreceiptid")) {
return false;
}
$queryStr .=
"LEFT JOIN `tblDocumentRecipients` on `ttcontentid`.`document`=`tblDocumentRecipients`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRecipients`.`version` ".
"LEFT JOIN `ttreceiptid` ON `ttreceiptid`.`receiptID` = `tblDocumentRecipients`.`receiptID` ".
"LEFT JOIN `tblDocumentReceiptLog` ON `tblDocumentReceiptLog`.`receiptLogID`=`ttreceiptid`.`maxLogID` ";
$queryStr .= "WHERE (`tblDocumentRecipients`.`type` = 0 AND `tblDocumentRecipients`.`required` = ".$user->getID()." ";
if($groups)
$queryStr .= "OR `tblDocumentRecipients`.`type` = 1 AND `tblDocumentRecipients`.`required` IN (".implode(',', $groups).") ";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentReceiptLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_RELEASED.") ";
break; /* }}} */
case 'ReviseByMe': // 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` ";
$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 `tblDocumentRevisionLog`.`status` = 0 ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_IN_REVISION.") ";
break; /* }}} */
}
if($queryStr) {
$resArr = $this->db->getResultArray($selectStr.$queryStr);
if (is_bool($resArr) && !$resArr) {
return false;
}
} else {
return false;
}
return $resArr[0]['c'];
} /* }}} */
/**
* Returns all documents with a predefined search criteria
*
@ -808,6 +972,7 @@ class SeedDMS_Core_DMS {
* @param string $param2 set to true
* if 'AppRevByMe', 'ReviseByMe', 'ReceiptByMe' shall return even documents
* І have already taken care of.
* if 'ExpiredOwner' contains the date in days or as 'yyyy-mm-dd'
* @param string $param3 sort list by this field
* @param string $param4 order direction
* @return array list of documents records
@ -1086,6 +1251,7 @@ class SeedDMS_Core_DMS {
if($groups)
$queryStr .= "OR `tblDocumentRecipients`.`type` = 1 AND `tblDocumentRecipients`.`required` IN (".implode(',', $groups).")";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` = ".S_RELEASED." ";
if(!$param2)
$queryStr .= " AND `tblDocumentReceiptLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
@ -1159,6 +1325,7 @@ class SeedDMS_Core_DMS {
if($groups)
$queryStr .= "OR `tblDocumentRevisors`.`type` = 1 AND `tblDocumentRevisors`.`required` IN (".implode(',', $groups).")";
$queryStr .= ") ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` = ".S_IN_REVISION." ";
if(!$param2)
$queryStr .= " AND `tblDocumentRevisionLog`.`status` = 0 ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
@ -1282,6 +1449,42 @@ class SeedDMS_Core_DMS {
if ($docs) {
$queryStr .= "AND `tblDocuments`.`id` IN (" . implode(',', $docs) . ") ";
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."'";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_RELEASED.") ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
$queryStr = '';
}
break; // }}}
case 'NoReceiveOwner': // Documents *not* having a reception I'm owning {{{
$queryStr .= "WHERE 1=1 ";
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
// $qs = 'SELECT DISTINCT `documentID` FROM `tblDocumentRecipients` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID`';
// sql statement without older versions of a document
$qs = 'SELECT DISTINCT `document` as `documentID` FROM `ttcontentid` a LEFT JOIN `tblDocumentRecipients` b on a.`document`=b.`documentID` AND a.`maxVersion`=b.`version` WHERE b.`receiptID` IS NULL';
$ra = $this->db->getResultArray($qs);
if (is_bool($ra) && !$ra) {
return false;
}
$docs = array();
foreach($ra as $d) {
$docs[] = $d['documentID'];
}
if ($docs) {
$queryStr .= "AND `tblDocuments`.`id` IN (" . implode(',', $docs) . ") ";
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_RELEASED.") ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
@ -1300,8 +1503,8 @@ class SeedDMS_Core_DMS {
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_REJECTED.") ";
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ";
$queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_REJECTED.") ";
//$queryStr .= "ORDER BY `statusDate` DESC";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
@ -1340,6 +1543,78 @@ class SeedDMS_Core_DMS {
$queryStr = '';
}
break; // }}}
case 'ExpiredOwner': // Documents expired and owned by me {{{
if(is_int($param2)) {
$ts = mktime(0, 0, 0) + $param2 * 86400;
} elseif(is_string($param2)) {
$tmp = explode('-', $param2, 3);
if(count($tmp) != 3)
return false;
$ts = mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]);
} else
$ts = mktime(0, 0, 0)-365*86400; /* Start of today - 1 year */
$tsnow = mktime(0, 0, 0); /* Start of today */
if($ts < $tsnow) { /* Check for docs expired in the past */
$startts = $ts;
$endts = $tsnow+86400; /* Use end of day */
} else { /* Check for docs which will expire in the future */
$startts = $tsnow;
$endts = $ts+86400; /* Use end of day */
}
$queryStr .=
"WHERE `tblDocuments`.`expires` > ".$startts." AND `tblDocuments`.`expires` < ".$endts." ";
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
break; // }}}
case 'ObsoleteOwner': // Documents that are obsolete and I'm owning {{{
$queryStr .= "WHERE 1=1 ";
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_OBSOLETE.") ";
//$queryStr .= "ORDER BY `statusDate` DESC";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
break; // }}}
case 'DraftOwner': // Documents in draft status and I'm owning {{{
$queryStr .= "WHERE 1=1 ";
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT.") ";
//$queryStr .= "ORDER BY `statusDate` DESC";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
break; // }}}
case 'WorkflowOwner': // Documents waiting for workflow trigger I'm owning {{{
$queryStr .= "WHERE 1=1 ";
@ -3338,7 +3613,7 @@ class SeedDMS_Core_DMS {
$endts = $startts+86400;
$timeline = array();
$queryStr = "SELECT DISTINCT document FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." UNION SELECT DISTINCT document FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts;
$queryStr = "SELECT DISTINCT document FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." OR `revisiondate` > '".date('Y-m-d H:i:s', $startts)."' AND `revisiondate` < '".date('Y-m-d H:i:s', $endts)."' UNION SELECT DISTINCT document FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts;
$resArr = $this->db->getResultArray($queryStr);
if ($resArr === false)
return false;

View File

@ -54,6 +54,13 @@ define("S_IN_REVISION", 4);
*/
define("S_DRAFT", 5);
/*
* Document needs correction after revision. This needs to be different from
* the regular S_REJECTED because documents which has been rejected
* in revision are not necessarily invalid but just needs correction.
*/
define("S_NEEDS_CORRECTION", 6);
/*
* Document was rejected. A document is in rejected state when
* the review failed or approval was not given.
@ -72,6 +79,12 @@ define("S_OBSOLETE", -2);
*/
define("S_EXPIRED", -3);
/*
* Lowest and highest status that may be set
*/
define("S_LOWEST_STATUS", -3);
define("S_HIGHEST_STATUS", 6);
/**
* The different states a workflow log can be in. This is used in
* all tables tblDocumentXXXLog
@ -261,6 +274,13 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return $searchFields;
} /* }}} */
/**
* Return an document by its id
*
* @param integer $id id of document
* @return object/boolean instance of SeedDMS_Core_Document if document exists, null
* if document does not exist, false in case of error
*/
public static function getInstance($id, $dms) { /* {{{ */
$db = $dms->getDB();
@ -269,7 +289,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if (is_bool($resArr) && $resArr == false)
return false;
if (count($resArr) != 1)
return false;
return null;
$resArr = $resArr[0];
// New Locking mechanism uses a separate table to track the lock.
@ -298,7 +318,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
*/
function getDir() { /* {{{ */
if($this->_dms->maxDirID) {
$dirid = (int) (($this->_id-1) / $this->_dms->maxDirID) + 1;
$dirid = (int) (($this->_id-1) / $this->_dms->maxDirID) + 1;
return $dirid."/".$this->_id."/";
} else {
return $this->_id."/";
@ -417,6 +437,61 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return true;
} /* }}} */
/**
* Add a list of categories to the document
* This function will add a list of new categories to the document.
*
* @param array $newCategories list of category objects
*/
function addCategories($newCategories) { /* {{{ */
$db = $this->_dms->getDB();
if(!$this->_categories)
self::getCategories();
$catids = array();
foreach($this->_categories as $cat)
$catids[] = $cat->getID();
$db->startTransaction();
$ncat = array(); // Array containing actually added new categories
foreach($newCategories as $cat) {
if(!in_array($cat->getID(), $catids)) {
$queryStr = "INSERT INTO `tblDocumentCategory` (`categoryID`, `documentID`) VALUES (". $cat->getId() .", ". $this->_id .")";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$ncat[] = $cat;
}
}
$db->commitTransaction();
$this->_categories = array_merge($this->_categories, $ncat);
return true;
} /* }}} */
/**
* Remove a list of categories from the document
* This function will remove a list of assigned categories to the document.
*
* @param array $newCategories list of category objects
*/
function removeCategories($categories) { /* {{{ */
$db = $this->_dms->getDB();
$catids = array();
foreach($categories as $cat)
$catids[] = $cat->getID();
$queryStr = "DELETE from `tblDocumentCategory` WHERE `documentID` = ". $this->_id ." AND `categoryID` IN (".implode(',', $catids).")";
if (!$db->getResult($queryStr)) {
return false;
}
$this->_categories = null;
return true;
} /* }}} */
/**
* Return creation date of the document
*
@ -1067,7 +1142,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* has no access list the returned array contains the two elements
* 'users' and 'groups' which are than empty. The methode returns false
* if the function fails.
*
*
* @param integer $mode access mode (defaults to M_ANY)
* @param integer $op operation (defaults to O_EQ)
* @return array multi dimensional array or false in case of an error
@ -1217,6 +1292,12 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* The function takes inherited access rights into account.
* For a list of possible access rights see @file inc.AccessUtils.php
*
* Having access on a document does not necessarily mean the document
* content is accessible too. Accessing the content is checked by
* {@link SeedDMS_Core_DocumentContent::getAccessMode()} which calls
* a callback function defined by the application. If the callback
* function is not set, access on the content is always granted.
*
* @param $user object instance of class SeedDMS_Core_User
* @return integer access mode
*/
@ -1224,6 +1305,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if(!$user)
return M_NONE;
/* Check if 'onCheckAccessDocument' callback is set */
if(isset($this->_dms->callbacks['onCheckAccessDocument'])) {
foreach($this->_dms->callbacks['onCheckAccessDocument'] as $callback) {
if(($ret = call_user_func($callback[0], $callback[1], $this, $user)) > 0) {
return $ret;
}
}
}
/* Administrators have unrestricted access */
if ($user->isAdmin()) return M_ALL;
@ -2088,7 +2178,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
}
/* Remove all revisions of document version.
* This implmentation is different from the above for removing approvals
* This implementation is different from the above for removing approvals
* and reviews. It doesn't use getRevisionStatus() but reads the database
*/
$queryStr = "SELECT * FROM `tblDocumentRevisors` WHERE `documentID` = '". $this->getID() ."' AND `version` = '" . $version->_version."'";
@ -2128,6 +2218,19 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return false;
}
// remove document files attached to version
$res = $this->getDocumentFiles($version->_version);
if (is_bool($res) && !$res) {
$db->rollbackTransaction();
return false;
}
foreach ($res as $documentfile)
if(!$this->removeDocumentFile($documentfile->getId())) {
$db->rollbackTransaction();
return false;
}
$db->commitTransaction();
return true;
} /* }}} */
@ -2182,7 +2285,11 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$resArr = $resArr[0];
$document = $this->_dms->getDocument($resArr["document"]);
$target = $this->_dms->getDocument($resArr["target"]);
return new SeedDMS_Core_DocumentLink($resArr["id"], $document, $target, $resArr["userID"], $resArr["public"]);
$link = new SeedDMS_Core_DocumentLink($resArr["id"], $document, $target, $resArr["userID"], $resArr["public"]);
$user = $this->_dms->getLoggedInUser();
if($link->getAccessMode($user, $document, $target) >= M_READ)
return $link;
return null;
} /* }}} */
/**
@ -2217,9 +2324,12 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return false;
$this->_documentLinks = array();
$user = $this->_dms->getLoggedInUser();
foreach ($resArr as $row) {
$target = $this->_dms->getDocument($row["target"]);
array_push($this->_documentLinks, new SeedDMS_Core_DocumentLink($row["id"], $this, $target, $row["userID"], $row["public"]));
$link = new SeedDMS_Core_DocumentLink($row["id"], $this, $target, $row["userID"], $row["public"]);
if($link->getAccessMode($user, $this, $target) >= M_READ)
array_push($this->_documentLinks, $link);
}
}
return $this->_documentLinks;
@ -2263,7 +2373,9 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$links = array();
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
array_push($links, new SeedDMS_Core_DocumentLink($row["id"], $document, $this, $row["userID"], $row["public"]));
$link = new SeedDMS_Core_DocumentLink($row["id"], $document, $this, $row["userID"], $row["public"]);
if($link->getAccessMode($user, $document, $this) >= M_READ)
array_push($links, $link);
}
return $links;
@ -2293,6 +2405,12 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return true;
} /* }}} */
/**
* Get attached file by its id
*
* @return object instance of SeedDMS_Core_DocumentFile, null if file is not
* accessible, false in case of an sql error
*/
function getDocumentFile($ID) { /* {{{ */
$db = $this->_dms->getDB();
@ -2303,9 +2421,18 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if ((is_bool($resArr) && !$resArr) || count($resArr)==0) return false;
$resArr = $resArr[0];
return new SeedDMS_Core_DocumentFile($resArr["id"], $this, $resArr["userID"], $resArr["comment"], $resArr["date"], $resArr["dir"], $resArr["fileType"], $resArr["mimeType"], $resArr["orgFileName"], $resArr["name"],$resArr["version"],$resArr["public"]);
$file = new SeedDMS_Core_DocumentFile($resArr["id"], $this, $resArr["userID"], $resArr["comment"], $resArr["date"], $resArr["dir"], $resArr["fileType"], $resArr["mimeType"], $resArr["orgFileName"], $resArr["name"],$resArr["version"],$resArr["public"]);
$user = $this->_dms->getLoggedInUser();
if($file->getAccessMode($user) >= M_READ)
return $file;
return null;
} /* }}} */
/**
* Get list of files attached to document
*
* @return array list of files, false in case of an sql error
*/
function getDocumentFiles($version=0) { /* {{{ */
if (!isset($this->_documentFiles)) {
$db = $this->_dms->getDB();
@ -2313,7 +2440,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$queryStr = "SELECT * FROM `tblDocumentFiles` WHERE `document` = " . $this->_id;
if($version) {
$queryStr .= " AND (`version`=0 OR `version`=".(int) $version.")";
}
}
$queryStr .= " ORDER BY ";
if($version) {
$queryStr .= "`version` DESC,";
@ -2324,8 +2451,11 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$this->_documentFiles = array();
$user = $this->_dms->getLoggedInUser();
foreach ($resArr as $row) {
array_push($this->_documentFiles, 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"]));
$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);
}
}
return $this->_documentFiles;
@ -2353,7 +2483,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$err = SeedDMS_Core_File::copyFile($tmpFile, $this->_dms->contentDir . $file->getPath());
if (!$err) return false;
return true;
return $file;
} /* }}} */
function removeDocumentFile($ID) { /* {{{ */
@ -2401,7 +2531,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if(isset($this->_dms->callbacks['onPreRemoveDocument'])) {
foreach($this->_dms->callbacks['onPreRemoveDocument'] as $callback) {
$ret = call_user_func($callback[0], $callback[1], $this);
if(is_bool($ret))
if($ret === false)
return $ret;
}
}
@ -2690,7 +2820,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
/**
* Calculate the disk space including all versions of the document
*
*
* This is done by using the internal database field storing the
* filesize of a document version.
*
@ -2709,7 +2839,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
/**
* Returns a list of events happend during the life of the document
*
*
* This includes the creation of new versions, approval and reviews, etc.
*
* @return array list of events
@ -2719,18 +2849,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$timeline = array();
/* No need to add entries for new version because the status log
* will generate an entry as well.
$queryStr = "SELECT * FROM `tblDocumentContent` WHERE `document` = " . $this->_id;
$queryStr = "SELECT `revisiondate`, `version` FROM `tblDocumentContent` WHERE `document` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
foreach ($resArr as $row) {
$date = date('Y-m-d H:i:s', $row['date']);
$timeline[] = array('date'=>$date, 'msg'=>'Added version '.$row['version'], 'type'=>'add_version', 'version'=>$row['version'], 'document'=>$this, 'params'=>array($row['version']));
if($row['revisiondate'] && substr($row['revisiondate'], 0, 4) != '0000')
$timeline[] = array('date'=>substr($row['revisiondate'], 0, 10)." 00:00:00", 'allday'=>true, 'msg'=>'Scheduled revision of version '.$row['version'], 'type'=>'scheduled_revision', 'version'=>$row['version'], 'document'=>$this, 'params'=>array($row['version']));
}
*/
$queryStr = "SELECT * FROM `tblDocumentFiles` WHERE `document` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
@ -2767,6 +2894,52 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return $timeline;
} /* }}} */
/**
* Transfers the document to a new user
*
* This method not just sets a new owner of the document but also
* transfers the document links, attachments and locks to the new user.
*
* @return boolean true if successful, otherwise false
*/
function transferToUser($newuser) { /* {{{ */
$db = $this->_dms->getDB();
if($newuser->getId() == $this->_ownerID)
return true;
$db->startTransaction();
$queryStr = "UPDATE `tblDocuments` SET `owner` = ".$newuser->getId()." WHERE `id` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$queryStr = "UPDATE `tblDocumentLocks` SET `userID` = ".$newuser->getId()." WHERE `document` = " . $this->_id . " AND `userID` = ".$this->_ownerID;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$queryStr = "UPDATE `tblDocumentLinks` SET `userID` = ".$newuser->getId()." WHERE `document` = " . $this->_id . " AND `userID` = ".$this->_ownerID;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$queryStr = "UPDATE `tblDocumentFiles` SET `userID` = ".$newuser->getId()." WHERE `document` = " . $this->_id . " AND `userID` = ".$this->_ownerID;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$this->_ownerID = $newuser->getID();
$this->_owner = $newuser;
$db->commitTransaction();
return true;
} /* }}} */
} /* }}} */
@ -2821,6 +2994,9 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if (!$ignorecurrentstatus && ($st["status"]==S_OBSOLETE || $st["status"]==S_REJECTED || $st["status"]==S_EXPIRED )) return;
unset($this->_workflow); // force to be reloaded from DB
$hasworkflow = $this->getWorkflow() ? true : false;
$pendingReview=false;
unset($this->_reviewStatus); // force to be reloaded from DB
$reviewStatus=$this->getReviewStatus();
@ -2855,8 +3031,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
}
unset($this->_workflow); // force to be reloaded from DB
if ($this->getWorkflow()) $this->setStatus(S_IN_WORKFLOW,$msg,$user);
if ($hasworkflow) $this->setStatus(S_IN_WORKFLOW,$msg,$user);
elseif ($pendingReview) $this->setStatus(S_DRAFT_REV,$msg,$user);
elseif ($pendingApproval) $this->setStatus(S_DRAFT_APP,$msg,$user);
elseif ($pendingRevision) $this->setStatus(S_IN_REVISION,$msg,$user);
@ -3159,7 +3334,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
// If the supplied value lies outside of the accepted range, return an
// error.
if ($status < -3 || $status > 5) {
if ($status < S_LOWEST_STATUS || $status > S_HIGHEST_STATUS) {
return false;
}
@ -3187,7 +3362,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
/**
* Rewrites the complete status log
*
*
* Attention: this function is highly dangerous.
* It removes an existing status log and rewrites it.
* This method was added for importing an xml dump.
@ -3238,7 +3413,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
* Returns the access mode similar to a document
*
* There is no real access mode for document content, so this is more
* like a virtual access mode, derived from the status of the document
* like a virtual access mode, derived from the status of the document
* content. The function checks if {@link SeedDMS_Core_DMS::noReadForStatus}
* contains the status of the version and returns M_NONE if it exists and
* the user is not involved in a workflow or review/approval/revision.
@ -3248,7 +3423,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
* prevent access on the whole document if there is no accessible version.
*
* FIXME: This function only works propperly if $u is the currently logged in
* user, because noReadForStatus will be set for this user.
* user, because noReadForStatus will be set for this user.
* FIXED: instead of using $dms->noReadForStatus it is take from the user's role
*
* @param object $u user
@ -3256,7 +3431,17 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
*/
function getAccessMode($u) { /* {{{ */
$dms = $this->_document->_dms;
$db = $dms->getDB();
/* Check if 'onCheckAccessDocumentContent' callback is set */
if(isset($this->_dms->callbacks['onCheckAccessDocumentContent'])) {
foreach($this->_dms->callbacks['onCheckAccessDocumentContent'] as $callback) {
if(($ret = call_user_func($callback[0], $callback[1], $this, $u)) > 0) {
return $ret;
}
}
}
// return M_READ;
if(!$u)
return M_NONE;
@ -3428,7 +3613,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
/**
* Rewrites the complete review log
*
*
* Attention: this function is highly dangerous.
* It removes an existing review log and rewrites it.
* This method was added for importing an xml dump.
@ -3556,7 +3741,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
/**
* Rewrites the complete approval log
*
*
* Attention: this function is highly dangerous.
* It removes an existing review log and rewrites it.
* This method was added for importing an xml dump.
@ -3639,9 +3824,27 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
// Retrieve the current status of each assigned reviewer for the content
// represented by this object.
// When just the last log entry for each recipient is needed then a single
// sql statement is much faster than the code below which first retrieves
// all receivers and than the logs
// FIXME: caching was turned off to make list of review log in ViewDocument
// possible
if (1 || !isset($this->_receiptStatus)) {
if($limit == 1) {
/* The following sql statement is somewhat optimized. The first join is
* crucial because it should first take the table with the least number
* of records and join the other tables. ttreceiptid join tblDocumentRecipients
* is faster than tblDocumentRecipients join ttreceiptid
*/
$queryStr=
"SELECT `tblDocumentRecipients`.*, `tblDocumentReceiptLog`.`receiptLogID`, `tblDocumentReceiptLog`.`status`, `tblDocumentReceiptLog`.`comment`, `tblDocumentReceiptLog`.`date`, `tblDocumentReceiptLog`.`userID`, `tblUsers`.`fullName`, `tblGroups`.`name` FROM `ttreceiptid` LEFT JOIN `tblDocumentRecipients` ON `tblDocumentRecipients`.`receiptID`=`ttreceiptid`.`receiptID` LEFT JOIN `tblDocumentReceiptLog` ON `ttreceiptid`.`maxLogID`=`tblDocumentReceiptLog`.`receiptLogID` LEFT JOIN `tblUsers` ON `tblDocumentRecipients`.`required`=`tblUsers`.`id` LEFT JOIN `tblGroups` ON `tblDocumentRecipients`.`required`=`tblGroups`.`id` WHERE `version`='".$this->_version
."' AND `documentID` = '". $this->_document->getID() ."' ";
$recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs) {
unset($this->_receiptStatus);
return false;
}
$this->_receiptStatus = $recs;
} elseif (1 || !isset($this->_receiptStatus)) {
/* First get a list of all receipts for this document content */
$queryStr=
"SELECT `receiptID` FROM `tblDocumentRecipients` WHERE `version`='".$this->_version
@ -4491,8 +4694,12 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$revisionID = isset($indstatus["revisionID"]) ? $indstatus["revisionID"] : NULL;
}
/* If a user is added when the revision has already been startet, then
* put it in S_IN_REVISION otherwise in S_LOG_WAITING.
*/
$st=$this->getStatus();
$queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $revisionID ."', '".S_LOG_SLEEPING."', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
"VALUES ('". $revisionID ."', '".($st["status"] == S_IN_REVISION ? S_LOG_WAITING : S_LOG_SLEEPING)."', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -5136,7 +5343,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs)
return false;
$this->_workflowState = new SeedDMS_Core_Workflow_State($recs[0]['id'], $recs[0]['name'], $recs[0]['maxtime'], $recs[0]['precondfunc'], $recs[0]['documentstatus']);
$this->_workflowState = new SeedDMS_Core_Workflow_State($recs[0]['id'], $recs[0]['name'], $recs[0]['maxtime'], $recs[0]['precondfunc'], $recs[0]['documentstatus']);
$this->_workflowState->setDMS($this->_document->_dms);
}
return $this->_workflowState;
@ -5159,7 +5366,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$db->rollbackTransaction();
return false;
}
$this->_workflow = $workflow;
$this->_workflow = $workflow;
if(!$this->setStatus(S_IN_WORKFLOW, "Added workflow '".$workflow->getName()."'", $user)) {
$db->rollbackTransaction();
return false;
@ -5193,7 +5400,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return false;
if(!$recs)
return false;
$this->_workflow = new SeedDMS_Core_Workflow($recs[0]['id'], $recs[0]['name'], $this->_document->_dms->getWorkflowState($recs[0]['initstate']), $recs[0]["layoutdata"]);
$this->_workflow = new SeedDMS_Core_Workflow($recs[0]['id'], $recs[0]['name'], $this->_document->_dms->getWorkflowState($recs[0]['initstate']), $recs[0]["layoutdata"]);
$this->_workflow->setDMS($this->_document->_dms);
}
return $this->_workflow;
@ -5201,7 +5408,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
/**
* Rewrites the complete workflow log
*
*
* Attention: this function is highly dangerous.
* It removes an existing workflow log and rewrites it.
* This method was added for importing an xml dump.
@ -5353,7 +5560,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if($recs[0]['parentworkflow'])
return $this->_document->_dms->getWorkflow($recs[0]['parentworkflow']);
return false;
} /* }}} */
@ -5380,7 +5587,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if (!$db->getResult($queryStr)) {
return false;
}
$this->_workflow = $subworkflow;
$this->_workflow = $subworkflow;
return true;
}
return true;
@ -5427,7 +5634,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return false;
}
$this->_workflow = $this->_document->_dms->getWorkflow($recs[0]['parentworkflow']);
$this->_workflow = $this->_document->_dms->getWorkflow($recs[0]['parentworkflow']);
$this->_workflow->setDMS($this->_document->_dms);
if($transition) {
@ -5636,7 +5843,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $nextstate;
}
return true;
} /* }}} */
/**
@ -5924,6 +6131,32 @@ class SeedDMS_Core_DocumentLink { /* {{{ */
function isPublic() { return $this->_public; }
/**
* Returns the access mode similar to a document
*
* There is no real access mode for document links, so this is just
* another way to add more access restrictions than the default restrictions.
* It is only called for public document links, not accessed by the owner
* or the administrator.
*
* @param object $u user
* @return integer either M_NONE or M_READ
*/
function getAccessMode($u, $source, $target) { /* {{{ */
$dms = $this->_document->_dms;
/* Check if 'onCheckAccessDocumentLink' callback is set */
if(isset($this->_dms->callbacks['onCheckAccessDocumentLink'])) {
foreach($this->_dms->callbacks['onCheckAccessDocumentLink'] as $callback) {
if(($ret = call_user_func($callback[0], $callback[1], $this, $u, $source, $target)) > 0) {
return $ret;
}
}
}
return M_READ;
} /* }}} */
} /* }}} */
/**
@ -5997,11 +6230,6 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
*/
protected $_mimeType;
/**
* @var string date when revision starts
*/
protected $_revisionDate;
/**
* @var string name of the file that was originally uploaded
*/
@ -6031,13 +6259,71 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
function getDocument() { return $this->_document; }
function getUserID() { return $this->_userID; }
function getComment() { return $this->_comment; }
/*
* Set the comment of the document file
*
* @param $newComment string new comment of document
*/
function setComment($newComment) { /* {{{ */
$db = $this->_document->_dms->getDB();
$queryStr = "UPDATE `tblDocumentFiles` SET `comment` = ".$db->qstr($newComment)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id;
if (!$db->getResult($queryStr))
return false;
$this->_comment = $newComment;
return true;
} /* }}} */
function getDate() { return $this->_date; }
/**
* Set creation date of the document file
*
* @param integer $date timestamp of creation date. If false then set it
* to the current timestamp
* @return boolean true on success
*/
function setDate($date) { /* {{{ */
$db = $this->_document->_dms->getDB();
if(!$date)
$date = time();
else {
if(!is_numeric($date))
return false;
}
$queryStr = "UPDATE `tblDocumentFiles` SET `date` = " . (int) $date . " WHERE `id` = ". $this->_id;
if (!$db->getResult($queryStr))
return false;
$this->_date = $date;
return true;
} /* }}} */
function getDir() { return $this->_dir; }
function getFileType() { return $this->_fileType; }
function getMimeType() { return $this->_mimeType; }
function getOriginalFileName() { return $this->_orgFileName; }
function getName() { return $this->_name; }
/*
* Set the name of the document file
*
* @param $newComment string new name of document
*/
function setName($newName) { /* {{{ */
$db = $this->_document->_dms->getDB();
$queryStr = "UPDATE `tblDocumentFiles` SET `name` = ".$db->qstr($newName)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id;
if (!$db->getResult($queryStr))
return false;
$this->_name = $newName;
return true;
} /* }}} */
function getUser() {
if (!isset($this->_user))
$this->_user = $this->_document->_dms->getUser($this->_userID);
@ -6050,8 +6336,69 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
function getVersion() { return $this->_version; }
/*
* Set the version of the document file
*
* @param $newComment string new version of document
*/
function setVersion($newVersion) { /* {{{ */
$db = $this->_document->_dms->getDB();
if(!is_numeric($newVersion) && $newVersion != '')
return false;
$queryStr = "UPDATE `tblDocumentFiles` SET `version` = ".(int) $newVersion." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id;
if (!$db->getResult($queryStr))
return false;
$this->_version = (int) $newVersion;
return true;
} /* }}} */
function isPublic() { return $this->_public; }
/*
* Set the public flag of the document file
*
* @param $newComment string new comment of document
*/
function setPublic($newPublic) { /* {{{ */
$db = $this->_document->_dms->getDB();
$queryStr = "UPDATE `tblDocumentFiles` SET `public` = ".($newPublic ? 1 : 0)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id;
if (!$db->getResult($queryStr))
return false;
$this->_public = $newPublic ? 1 : 0;
return true;
} /* }}} */
/**
* Returns the access mode similar to a document
*
* There is no real access mode for document files, so this is just
* another way to add more access restrictions than the default restrictions.
* It is only called for public document files, not accessed by the owner
* or the administrator.
*
* @param object $u user
* @return integer either M_NONE or M_READ
*/
function getAccessMode($u) { /* {{{ */
$dms = $this->_document->_dms;
/* Check if 'onCheckAccessDocumentLink' callback is set */
if(isset($this->_dms->callbacks['onCheckAccessDocumentFile'])) {
foreach($this->_dms->callbacks['onCheckAccessDocumentFile'] as $callback) {
if(($ret = call_user_func($callback[0], $callback[1], $this, $u)) > 0) {
return $ret;
}
}
}
return M_READ;
} /* }}} */
} /* }}} */
//

View File

@ -74,20 +74,6 @@ class SeedDMS_Core_DocumentCategory {
return true;
} /* }}} */
function getCategories() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblCategory`";
return $db->getResultArray($queryStr);
} /* }}} */
function addCategory($keywords) { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "INSERT INTO `tblCategory` (`category`) VALUES (".$db->qstr($keywords).")";
return $db->getResult($queryStr);
} /* }}} */
function remove() { /* {{{ */
$db = $this->_dms->getDB();
@ -98,21 +84,37 @@ class SeedDMS_Core_DocumentCategory {
return true;
} /* }}} */
function getDocumentsByCategory() { /* {{{ */
function getDocumentsByCategory($limit=0, $offset=0) { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentCategory` where `categoryID`=".$this->_id;
if($limit && is_numeric($limit))
$queryStr .= " LIMIT ".(int) $limit;
if($offset && is_numeric($offset))
$queryStr .= " OFFSET ".(int) $offset;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$documents = array();
foreach ($resArr as $row) {
array_push($documents, $this->_dms->getDocument($row["documentID"]));
if($doc = $this->_dms->getDocument($row["documentID"]))
array_push($documents, $doc);
}
return $documents;
} /* }}} */
function countDocumentsByCategory() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT COUNT(*) as `c` FROM `tblDocumentCategory` where `categoryID`=".$this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
return $resArr[0]['c'];
} /* }}} */
}
?>

View File

@ -125,6 +125,13 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
return $sql;
} /* }}} */
/**
* Return a folder by its id
*
* @param integer $id id of folder
* @return object/boolean instance of SeedDMS_Core_Folder if document exists, null
* if document does not exist, false in case of error
*/
public static function getInstance($id, $dms) { /* {{{ */
$db = $dms->getDB();
@ -133,7 +140,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if (is_bool($resArr) && $resArr == false)
return false;
else if (count($resArr) != 1)
return false;
return null;
$resArr = $resArr[0];
$classname = $dms->getClassname('folder');
@ -462,9 +469,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
* @param string $orderby if set to 'n' the list is ordered by name, otherwise
* it will be ordered by sequence
* @param string $dir direction of sorting (asc or desc)
* @param integer $limit limit number of subfolders
* @param integer $offset offset in retrieved list of subfolders
* @return array list of folder objects or false in case of an error
*/
function getSubFolders($orderby="", $dir="asc") { /* {{{ */
function getSubFolders($orderby="", $dir="asc", $limit=0, $offset=0) { /* {{{ */
$db = $this->_dms->getDB();
if (!isset($this->_subFolders)) {
@ -475,6 +484,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
elseif ($orderby=="d") $queryStr .= " ORDER BY `date`";
if($dir == 'desc')
$queryStr .= " DESC";
if(is_int($limit) && $limit > 0) {
$queryStr .= " LIMIT ".$limit;
if(is_int($offset) && $offset > 0)
$queryStr .= " OFFSET ".$offset;
}
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
@ -656,9 +670,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
* @param string $orderby if set to 'n' the list is ordered by name, otherwise
* it will be ordered by sequence
* @param string $dir direction of sorting (asc or desc)
* @param integer $limit limit number of documents
* @param integer $offset offset in retrieved list of documents
* @return array list of documents or false in case of an error
*/
function getDocuments($orderby="", $dir="asc") { /* {{{ */
function getDocuments($orderby="", $dir="asc", $limit=0, $offset=0) { /* {{{ */
$db = $this->_dms->getDB();
if (!isset($this->_documents)) {
@ -668,6 +684,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
elseif($orderby=="d") $queryStr .= " ORDER BY `date`";
if($dir == 'desc')
$queryStr .= " DESC";
if(is_int($limit) && $limit > 0) {
$queryStr .= " LIMIT ".$limit;
if(is_int($offset) && $offset > 0)
$queryStr .= " OFFSET ".$offset;
}
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)

View File

@ -58,14 +58,15 @@ class SeedDMS_Core_Group { /* {{{ */
} /* }}} */
/**
* Create an instance of a group object
* Return an instance of a group object
*
* @param string|integer $id Id, name of group, depending
* on the 3rd parameter.
* @param object $dms instance of dms
* @param string $by search by group name if set to 'name'.
* Search by Id of group if left empty.
* @return object instance of class SeedDMS_Core_Group
* @return object instance of class SeedDMS_Core_Group if group was found, null
* if group was not found, false in case of error
*/
public static function getInstance($id, $dms, $by='') { /* {{{ */
$db = $dms->getDB();
@ -82,7 +83,7 @@ class SeedDMS_Core_Group { /* {{{ */
if (is_bool($resArr) && $resArr == false)
return false;
else if (count($resArr) != 1) //wenn, dann wohl eher 0 als > 1 ;-)
return false;
return null;
$resArr = $resArr[0];

View File

@ -404,7 +404,8 @@ class SeedDMS_Core_User { /* {{{ */
* will check for the 4th paramater and also filter by email. If this
* parameter is left empty, the user will be search by its Id.
* @param string $email optional email address if searching for name
* @return object instance of class SeedDMS_Core_User
* @return object instance of class SeedDMS_Core_User if user was found, null
* if user was not found, false in case of error
*/
public static function getInstance($id, $dms, $by='', $email='') { /* {{{ */
$db = $dms->getDB();
@ -424,7 +425,7 @@ class SeedDMS_Core_User { /* {{{ */
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false) return false;
if (count($resArr) != 1) return false;
if (count($resArr) != 1) return null;
$resArr = $resArr[0];

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2017-09-05</date>
<date>2018-02-01</date>
<time>09:19:24</time>
<version>
<release>6.0.1</release>
<api>6.0.1</api>
<release>6.0.3</release>
<api>6.0.3</api>
</version>
<stability>
<release>stable</release>
@ -24,17 +24,13 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- speed up getting list of locked documents
- setting _logfile in inc.DBAccessPDO.php will log execution times in file
- fix sql statement to create temp table ttrevisionid and ttreceiptid
- SeedDMS_Core_DMS::noReadForStatus no longer needed
- SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there
are any waiting or pending revisions at all
- SeedDMS_Core_User::getReverseSubstitutes() works with new roles
- fix field name in getDocumentList() to make it work for pgsql
- views instead of temp. tables can be used
- ReceiveOwner list does not contain old versions anymore
- all changes up to 5.1.4 merged
pass 0 as default to getObjects()
SeedDMS_Core_AttributeDefinition::getStatistics() returns propper values for each item in a value set
SeedDMS_Core_DMS::getDocumentList() returns list of documents without a receiver
add lists of drafts and obsolete docs in SeedDMS_Core_DMS::getDocumentList()
add fast sql statement to SeedDMS_Core_Document::getReceiptStatus() if limit=1
add callback onCheckAccessDocument to SeedDMS_Core_Document::getAccessMode()
add new document status 'needs correction' (S_NEEDS_CORRECTION)
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -1530,7 +1526,7 @@ returns just users which are not disabled
</release>
<release>
<date>2017-09-05</date>
<time>06:34:50</time>
<time>09:19:24</time>
<version>
<release>5.1.4</release>
<api>5.1.4</api>
@ -1543,6 +1539,48 @@ returns just users which are not disabled
<notes>
</notes>
</release>
<release>
<date>2017-11-24</date>
<time>09:19:24</time>
<version>
<release>5.1.5</release>
<api>5.1.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- use views instead of temp. tables
- add list of expired documents in SeedDMS_Core_DMS::getDocumentList()
- add methods to set comment, name, public, version of document files
- add method SeedDMS_Core_Document::transferToUser()
- SeedDMS_Core_Document::addDocumentFile() returns object of file
- add SeedDMS_Core_DocumentFile::setDate()
- remove SeedDMS_Core_DocumentCategory::addCategory() and getCategories()
- add optional parameters $limit and $offset to SeedDMS_Core_Folder::getDocuments()
and SeedDMS_Core_Folder::getSubFolders()
- getInstance() returns now null instead of false if the object was not found in the db
- add new methods SeedDMS_Core_Document::addCategories() and
SeedDMS_Core_Document::removeCategories()
</notes>
</release>
<release>
<date>2018-01-18</date>
<time>09:19:24</time>
<version>
<release>5.1.6</release>
<api>5.1.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
</notes>
</release>
<release>
<date>2017-02-28</date>
<time>06:34:50</time>
@ -1556,7 +1594,7 @@ returns just users which are not disabled
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- all changes from 5.1.1 merged
- all changes from 5.0.14 merged
- SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus()
only return entries of the latest document version if not specific document and
version is passed
@ -1569,6 +1607,53 @@ SeedDMS_Core_DMS::getDocumentsInRevision()
log entry first
- add roles
- use classname from SeedDMS_Core_DMS::_classnames for SeedDMS_Core_DocumentContent
- add virtual access mode for document links and attachments plus callbacks to
check access mode in a hook
- add new method SeedDMS_Core_DMS::getDocumentsExpired()
</notes>
</release>
<release>
<date>2017-05-28</date>
<time>06:34:50</time>
<version>
<release>6.0.1</release>
<api>6.0.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- speed up getting list of locked documents
- setting _logfile in inc.DBAccessPDO.php will log execution times in file
</notes>
</release>
<release>
<date>2017-12-19</date>
<time>09:19:24</time>
<version>
<release>6.0.2</release>
<api>6.0.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- speed up getting list of locked documents
- setting _logfile in inc.DBAccessPDO.php will log execution times in file
- fix sql statement to create temp table ttrevisionid and ttreceiptid
- SeedDMS_Core_DMS::noReadForStatus no longer needed
- SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there
are any waiting or pending revisions at all
- SeedDMS_Core_User::getReverseSubstitutes() works with new roles
- fix field name in getDocumentList() to make it work for pgsql
- views instead of temp. tables can be used
- ReceiveOwner list does not contain old versions anymore
- all changes up to 5.1.5 merged
- getTimeline() also returns data for documents with a scheduled revision
</notes>
</release>
</changelog>

View File

@ -24,6 +24,8 @@
*/
class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
protected $errormsg;
static function execWithTimeout($cmd, $timeout=2) { /* {{{ */
$descriptorspec = array(
0 => array("pipe", "r"),
@ -37,17 +39,23 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
$output = '';
$output = $error = '';
$timeleft = $timeout - time();
$read = array($pipes[1]);
$read = array($pipes[1], $pipes[2]);
$write = NULL;
$exeptions = NULL;
do {
stream_select($read, $write, $exeptions, $timeleft, 200000);
if (!empty($read)) {
$num_changed_streams = stream_select($read, $write, $exeptions, $timeleft, 200000);
if ($num_changed_streams === false) {
proc_terminate($process);
throw new Exception("stream select failed on: " . $cmd);
} elseif ($num_changed_streams > 0) {
$output .= fread($pipes[1], 8192);
$error .= fread($pipes[2], 8192);
}
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
@ -56,7 +64,7 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return $output;
return array('stdout'=>$output, 'stderr'=>$error);
}
} /* }}} */
@ -64,7 +72,8 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
* Constructor. Creates our indexable document and adds all
* necessary fields to it using the passed in document
*/
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) {
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) { /* {{{ */
$this->errormsg = '';
$_convcmd = array(
'application/pdf' => 'pdftotext -enc UTF-8 -nopgbrk %s - |sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/postscript' => 'ps2pdf14 %s - | pdftotext -enc UTF-8 -nopgbrk - - | sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
@ -124,19 +133,33 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath();
$content = '';
$fp = null;
$mimetype = $version->getMimeType();
$cmd = '';
$mimeparts = explode('/', $mimetype, 2);
if(isset($_convcmd[$mimetype])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
} elseif(isset($_convcmd[$mimeparts[0].'/*'])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
} elseif(isset($_convcmd['*'])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
}
if($cmd) {
try {
$content = self::execWithTimeout($cmd, $timeout);
if($content) {
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $content, 'utf-8'));
if($content['stdout']) {
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $content['stdout'], 'utf-8'));
}
if($content['stderr']) {
$this->errormsg = $content['stderr'];
}
} catch (Exception $e) {
}
}
}
}
}
} /* }}} */
public function getErrorMsg() { /* {{{ */
return $this->errormsg;
} /* }}} */
}
?>

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2017-03-01</date>
<time>15:55:32</time>
<date>2018-01-30</date>
<time>10:58:13</time>
<version>
<release>1.1.10</release>
<api>1.1.10</api>
<release>1.1.12</release>
<api>1.1.12</api>
</version>
<stability>
<release>stable</release>
@ -23,7 +23,7 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
catch exception in execWithTimeout()
execWithTimeout() reads data from stderr and saves it into error msg
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -251,5 +251,37 @@ pass variables to stream_select() to fullfill strict standards.
make all functions in Indexer.php static
</notes>
</release>
<release>
<date>2017-03-01</date>
<time>15:55:32</time>
<version>
<release>1.1.10</release>
<api>1.1.10</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
catch exception in execWithTimeout()
</notes>
</release>
<release>
<date>2017-12-04</date>
<time>10:58:13</time>
<version>
<release>1.1.11</release>
<api>1.1.11</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
allow conversion commands for mimetypes with wildcards
</notes>
</release>
</changelog>
</package>

View File

@ -70,18 +70,24 @@ class SeedDMS_Preview_Base {
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
$output = '';
$output = $error = '';
$timeleft = $timeout - time();
$read = array($pipes[1]);
$read = array($pipes[1], $pipes[2]);
$write = NULL;
$exeptions = NULL;
do {
stream_select($read, $write, $exeptions, $timeleft, 200000);
$num_changed_streams = stream_select($read, $write, $exeptions, $timeleft, 200000);
if (!empty($read)) {
if ($num_changed_streams === false) {
proc_terminate($process);
throw new Exception("stream select failed on: " . $cmd);
} elseif ($num_changed_streams > 0) {
$output .= fread($pipes[1], 8192);
}
$error .= fread($pipes[2], 8192);
}
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
@ -89,7 +95,7 @@ class SeedDMS_Preview_Base {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return $output;
return array('stdout'=>$output, 'stderr'=>$error);
}
} /* }}} */
@ -103,6 +109,19 @@ class SeedDMS_Preview_Base {
* and the value is the command to be called for creating the preview
*/
function setConverters($arr) { /* {{{ */
$this->converters = $arr;
} /* }}} */
/**
* Add a list of converters
*
* Merges the list of passed converters with the already existing ones.
* Existing converters will be overwritten.
*
* @param array list of converters. The key of the array contains the mimetype
* and the value is the command to be called for creating the preview
*/
function addConverters($arr) { /* {{{ */
$this->converters = array_merge($this->converters, $arr);
} /* }}} */
@ -113,8 +132,27 @@ class SeedDMS_Preview_Base {
* @return boolean true if converter exists, otherwise false
*/
function hasConverter($mimetype) { /* {{{ */
return array_key_exists($mimetype, $this->converters);
return array_key_exists($mimetype, $this->converters) && $this->converters[$mimetype];
} /* }}} */
/**
* Send a file from disk to the browser
*
* This function uses either readfile() or the xѕendfile apache module if
* it is installed.
*
* @param string $filename
*/
protected function sendFile($filename) { /* {{{ */
if(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();
}
readfile($filename);
}
} /* }}} */
}

View File

@ -31,6 +31,14 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
'application/vnd.oasis.opendocument.text' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'text/rtf' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/msword' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/vnd.ms-excel' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'text/plain' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/postscript' => "ps2pdf '%f' - > '%o'",
'image/jpeg' => "convert '%f' pdf:- > '%o'",
'image/png' => "convert '%f' pdf:- > '%o'",
'image/gif' => "convert '%f' pdf:- > '%o'",
'video/mp4' => "convert '%f[1-20]' pdf:- > '%o'",
);
} /* }}} */
@ -188,7 +196,7 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
$target = $this->previewDir.$dir.md5($infile);
if($target && file_exists($target.'.pdf')) {
readfile($target.'.pdf');
$this->sendFile($target.'.pdf');
}
} /* }}} */
@ -207,7 +215,7 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
$target = $this->getFileName($object);
if($target && file_exists($target.'.pdf')) {
readfile($target.'.pdf');
$this->sendFile($target.'.pdf');
}
} /* }}} */

View File

@ -40,7 +40,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
'text/plain' => "convert -resize %wx '%f' '%o'",
'application/pdf' => "convert -density 100 -resize %wx '%f[0]' '%o'",
'application/postscript' => "convert -density 100 -resize %wx '%f[0]' '%o'",
'application/x-compressed-tar' => "tar tzvf '%f' | convert -density 100 -resize %wx text:-[0] '%o",
'application/x-compressed-tar' => "tar tzvf '%f' | convert -density 100 -resize %wx text:-[0] '%o'",
);
$this->width = intval($width);
} /* }}} */
@ -115,27 +115,6 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
$cmd = str_replace(array('%w', '%f', '%o', '%m'), array($width, $infile, $target.'.png', $mimetype), $this->converters['*']);
}
/*
switch($mimetype) {
case "image/png":
case "image/gif":
case "image/jpeg":
case "image/jpg":
case "image/svg+xml":
$cmd = 'convert -resize '.$width.'x '.$infile.' '.$target.'.png';
break;
case "application/pdf":
case "application/postscript":
$cmd = 'convert -density 100 -resize '.$width.'x '.$infile.'[0] '.$target.'.png';
break;
case "text/plain":
$cmd = 'convert -resize '.$width.'x '.$infile.'[0] '.$target.'.png';
break;
case "application/x-compressed-tar":
$cmd = 'tar tzvf '.$infile.' | convert -density 100 -resize '.$width.'x text:-[0] '.$target.'.png';
break;
}
*/
if($cmd) {
try {
self::execWithTimeout($cmd, $this->timeout);
@ -247,7 +226,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
$target = $this->previewDir.$dir.md5($infile).'-'.$width;
if($target && file_exists($target.'.png')) {
readfile($target.'.png');
$this->sendFile($target.'.png');
}
} /* }}} */
@ -271,7 +250,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
$target = $this->getFileName($object, $width);
if($target && file_exists($target.'.png')) {
readfile($target.'.png');
$this->sendFile($target.'.png');
}
} /* }}} */

View File

@ -11,10 +11,10 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2017-09-18</date>
<time>07:14:32</time>
<date>2018-01-18</date>
<time>10:59:39</time>
<version>
<release>1.2.3</release>
<release>1.2.7</release>
<api>1.2.0</api>
</version>
<stability>
@ -23,7 +23,9 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
createPreview() returns false if running the converter command fails
add SeedDMS_Preview_Base::sendFile() as a replacement for readfile() which uses
mod_xsendfile if available
execWithTimeout() reads data from stderr and returns it together with stdout in array
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -287,5 +289,70 @@ commands can be set for mimetypes 'xxxx/*' and '*'
pass mimetype as parameter '%m' to converter
</notes>
</release>
<release>
<date>2017-09-18</date>
<time>07:14:32</time>
<version>
<release>1.2.3</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
createPreview() returns false if running the converter command fails
</notes>
</release>
<release>
<date>2017-10-11</date>
<time>07:14:32</time>
<version>
<release>1.2.4</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
fix typo in converter for tar.gz files
</notes>
</release>
<release>
<date>2017-10-11</date>
<time>07:14:32</time>
<version>
<release>1.2.5</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
SeedDMS_Preview_Base::hasConverter() returns only try if command is set
</notes>
</release>
<release>
<date>2017-12-04</date>
<time>10:59:39</time>
<version>
<release>1.2.6</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
SeedDMS_Preview_Base::setConverters() overrides existing converters.
New method SeedDMS_Preview_Base::addConverters() merges new converters with old ones.
</notes>
</release>
</changelog>
</package>

View File

@ -29,6 +29,8 @@ require_once('Document.php');
*/
class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
protected $errormsg;
static function execWithTimeout($cmd, $timeout=2) { /* {{{ */
$descriptorspec = array(
0 => array("pipe", "r"),
@ -36,23 +38,29 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
2 => array("pipe", "w")
);
$pipes = array();
$timeout += time();
$process = proc_open($cmd, $descriptorspec, $pipes);
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
$output = '';
$output = $error = '';
$timeleft = $timeout - time();
$read = array($pipes[1]);
$read = array($pipes[1], $pipes[2]);
$write = NULL;
$exeptions = NULL;
do {
stream_select($read, $write, $exeptions, $timeleft, 200000);
if (!empty($read)) {
$num_changed_streams = stream_select($read, $write, $exeptions, $timeleft, 200000);
if ($num_changed_streams === false) {
proc_terminate($process);
throw new Exception("stream select failed on: " . $cmd);
} elseif ($num_changed_streams > 0) {
$output .= fread($pipes[1], 8192);
$error .= fread($pipes[2], 8192);
}
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
@ -61,7 +69,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return $output;
return array('stdout'=>$output, 'stderr'=>$error);
}
} /* }}} */
@ -69,7 +77,8 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
* Constructor. Creates our indexable document and adds all
* necessary fields to it using the passed in document
*/
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) {
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) { /* {{{ */
$this->errormsg = '';
$_convcmd = array(
'application/pdf' => 'pdftotext -enc UTF-8 -nopgbrk %s - |sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/postscript' => 'ps2pdf14 %s - | pdftotext -enc UTF-8 -nopgbrk - - | sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
@ -129,19 +138,33 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath();
$content = '';
$fp = null;
$mimetype = $version->getMimeType();
$cmd = '';
$mimeparts = explode('/', $mimetype, 2);
if(isset($_convcmd[$mimetype])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
} elseif(isset($_convcmd[$mimeparts[0].'/*'])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
} elseif(isset($_convcmd['*'])) {
$cmd = sprintf($_convcmd[$mimetype], $path);
}
if($cmd) {
try {
$content = self::execWithTimeout($cmd, $timeout);
if($content) {
$this->addField('content', $content, 'unstored');
if($content['stdout']) {
$this->addField('content', $content['stdout'], 'unstored');
}
if($content['stderr']) {
$this->errormsg = $content['stderr'];
}
} catch (Exception $e) {
}
}
}
}
} /* }}} */
public function getErrorMsg() { /* {{{ */
return $this->errormsg;
} /* }}} */
}
?>

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2017-03-01</date>
<time>15:53:24</time>
<date>2018-01-30</date>
<time>11:00:40</time>
<version>
<release>1.0.7</release>
<api>1.0.7</api>
<release>1.0.9</release>
<api>1.0.9</api>
</version>
<stability>
<release>stable</release>
@ -23,7 +23,7 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
catch exception in execWithTimeout()
execWithTimeout() reads data from stderr and saves it into error msg
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -178,5 +178,37 @@ set last parameter of stream_select() to 200000 micro sec. in case the timeout i
fix calculation of timeout (see bug #269)
</notes>
</release>
<release>
<date>2017-03-01</date>
<time>15:53:24</time>
<version>
<release>1.0.7</release>
<api>1.0.7</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
catch exception in execWithTimeout()
</notes>
</release>
<release>
<date>2017-12-04</date>
<time>11:00:40</time>
<version>
<release>1.0.8</release>
<api>1.0.8</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
allow conversion commands for mimetypes with wildcards
</notes>
</release>
</changelog>
</package>

16
TODO
View File

@ -2,16 +2,11 @@ Show workflow steps after document has been released (keep workflow tab)
Show documents in calendar when they where uploaded.
Add attribute type 'date'
Update comment and date of a review/approval, if the same status is set
again. Currently setting the same status is turned of, because it didn't
have any effect, which is quite confusing if the user can do an operation
which has not the expected result.
Show number of documents that needs care (approval, review, any other action
in a workflog) next to Login/Logout-Menu.
Show message on doc info page if documents expects an action like review,
approval, etc.
@ -34,23 +29,15 @@ Allow to specify fine grained notification (e.g. deleting a document, folder)
Have access rights depending on document status. This will allow to
restrict access when a document is in a workflow or has been rejected.
There are still global variable in class SeedetoDMS_Bootstrap_Style
Settings::searchConfigFilePath() and Settings::getConfigDir() use different
approaches to get the configuration directory.
Show expiration status of documents in document list
Export/Import content as xml (even for subfolders)
Copy folders recursivly
Allow operations like delete, move, approve, etc. on a list of documents
Upload of multiple documents without an applet
Do not show documents which are not reviewed or approved or rejected
installation script:
- user simply unpack the tar.gz in a server folder and access that folder
- on startup if there are installation problems php automatically run the configuration script
@ -70,9 +57,6 @@ Sometimes in the DB are written messages strings in plain language whose
language depends on the current user and will never be translated.
This can be avoided using only coded messages
The mail language is translated using the current user language but should use
the receiver language (not easy).
In my Documents->all documents there should be two lists: one (the current) with
the user's document, and another with the user's updated document (that's because
one user could have updated a document not owned by himself)

View File

@ -23,13 +23,17 @@
class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
public function run() { /* {{{ */
$name = $this->getParam('name');
$comment = $this->getParam('comment');
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$index = $this->params['index'];
$indexconf = $this->params['indexconf'];
$folder = $this->params['folder'];
/* Call preAddDocument early, because it might need to modify some
* of the parameters.
*/
if(false === $this->callHook('preAddDocument', array('name'=>&$name, 'comment'=>&$comment))) {
if(false === $this->callHook('preAddDocument')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preAddDocument_failed';
return null;
@ -37,13 +41,7 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$name = $this->getParam('name');
$comment = $this->getParam('comment');
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$documentsource = $this->params['documentsource'];
$index = $this->params['index'];
$indexconf = $this->params['indexconf'];
$folder = $this->params['folder'];
$expires = $this->getParam('expires');
$keywords = $this->getParam('keywords');
$cats = $this->getParam('categories');
@ -55,6 +53,7 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$sequence = $this->getParam('sequence');
$reviewers = $this->getParam('reviewers');
$approvers = $this->getParam('approvers');
$recipients = $this->getParam('recipients');
$reqversion = $this->getParam('reqversion');
$version_comment = $this->getParam('versioncomment');
$attributes = $this->getParam('attributes');
@ -90,6 +89,22 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
}
}
$lc = $document->getLatestContent();
if($recipients['i']) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $lc->addIndRecipient($u, $user);
}
}
}
if($recipients['g']) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $lc->addGrpRecipient($g, $user);
}
}
}
if($index) {
$idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText));
if(!$this->callHook('preIndexDocument', $document, $idoc)) {

View File

@ -0,0 +1,71 @@
<?php
/**
* Implementation of AddSubFolder controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for downloading a document
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common {
public function run() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
/* Call preAddSubFolder early, because it might need to modify some
* of the parameters.
*/
if(false === $this->callHook('preAddSubFolder')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preAddSubFolder_failed';
return null;
}
$name = $this->getParam('name');
$comment = $this->getParam('comment');
$sequence = $this->getParam('sequence');
$attributes = $this->getParam('attributes');
$notificationgroups = $this->getParam('notificationgroups');
$notificationusers = $this->getParam('notificationusers');
$result = $this->callHook('addSubFolder');
if($result === null) {
$subFolder = $folder->addSubFolder($name, $comment, $user, $sequence, $attributes);
if (!is_object($subFolder)) {
$this->errormsg = "error_occured";
return false;
}
/* Check if additional notification shall be added */
foreach($notificationusers as $notuser) {
if($subFolder->getAccessMode($user) >= M_READ)
$res = $subFolder->addNotify($notuser->getID(), true);
}
foreach($notificationgroups as $notgroup) {
if($subFolder->getGroupAccessMode($notgroup) >= M_READ)
$res = $subFolder->addNotify($notgroup->getID(), false);
}
if(!$this->callHook('postAddSubFolder', $subFolder)) {
}
$result = $subFolder;
}
return $result;
} /* }}} */
}

View File

@ -0,0 +1,87 @@
<?php
/**
* Implementation of Attribute Definition manager controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for attribute definition manager
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_AttributeMgr extends SeedDMS_Controller_Common {
public function run() { /* {{{ */
} /* }}} */
public function addattrdef() { /* {{{ */
$dms = $this->params['dms'];
$name = $this->params['name'];
$type = $this->params['type'];
$objtype = $this->params['objtype'];
$multiple = $this->params['multiple'];
$minvalues = $this->params['minvalues'];
$maxvalues = $this->params['maxvalues'];
$valueset = $this->params['valueset'];
$regex = $this->params['regex'];
return($dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex));
} /* }}} */
public function removeattrdef() { /* {{{ */
$attrdef = $this->params['attrdef'];
return $attrdef->remove();
} /* }}} */
public function editattrdef() { /* {{{ */
$dms = $this->params['dms'];
$name = $this->params['name'];
$attrdef = $this->params['attrdef'];
$type = $this->params['type'];
$objtype = $this->params['objtype'];
$multiple = $this->params['multiple'];
$minvalues = $this->params['minvalues'];
$maxvalues = $this->params['maxvalues'];
$valueset = $this->params['valueset'];
$regex = $this->params['regex'];
if (!$attrdef->setName($name)) {
return false;
}
if (!$attrdef->setType($type)) {
return false;
}
if (!$attrdef->setObjType($objtype)) {
return false;
}
if (!$attrdef->setMultipleValues($multiple)) {
return false;
}
if (!$attrdef->setMinValues($minvalues)) {
return false;
}
if (!$attrdef->setMaxValues($maxvalues)) {
return false;
}
if (!$attrdef->setValueSet($valueset)) {
return false;
}
if (!$attrdef->setRegex($regex)) {
return false;
}
return true;
} /* }}} */
}

View File

@ -0,0 +1,148 @@
<?php
/**
* Implementation of DocumentAccess controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2017 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for editing a folder
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2017 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_DocumentAccess extends SeedDMS_Controller_Common {
public function run() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$settings = $this->params['settings'];
$action = $this->params['action'];
// Change owner -----------------------------------------------------------
if ($action == "setowner") {
if(false === $this->callHook('preSetOwner', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preSetOwner_failed';
return null;
}
$newowner = $this->params['newowner'];
$oldowner = $document->getOwner();
if($document->setOwner($newowner)) {
if(false === $this->callHook('postSetOwner', $document, $oldowner)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_postSetOwner_failed';
return null;
}
}
} elseif ($action == "notinherit") {
if(false === $this->callHook('preSetNotInherit', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preSetNotInherit_failed';
return null;
}
/* Get default access before access is not longer inherited. This
* will return the default access from the parent folder.
*/
$defAccess = $document->getDefaultAccess();
if(!$document->setInheritAccess(false)) {
return false;
}
if(!$document->setDefaultAccess($defAccess)) {
return false;
}
//copy ACL of parent folder
$mode = $this->params['mode'];
if ($mode == "copy") {
$accessList = $folder->getAccessList();
foreach ($accessList["users"] as $userAccess)
$document->addAccess($userAccess->getMode(), $userAccess->getUserID(), true);
foreach ($accessList["groups"] as $groupAccess)
$document->addAccess($groupAccess->getMode(), $groupAccess->getGroupID(), false);
}
if(false === $this->callHook('postSetNotInherit', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_postSetNotInherit_failed';
return null;
}
} elseif ($action == "inherit") {
if(false === $this->callHook('preSetInherit', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preSetInherit_failed';
return null;
}
if(!$document->clearAccessList() || !$document->setInheritAccess(true)) {
return false;
}
if(false === $this->callHook('postSetInherit', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_postSetInherit_failed';
return null;
}
} elseif ($action == "setdefault") {
if(false === $this->callHook('preSetDefault', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preSetDefault_failed';
return null;
}
$mode = $this->params['mode'];
if(!$document->setDefaultAccess($mode)) {
return false;
}
if(false === $this->callHook('postSetDefault', $document)) {
if(empty($this->errormsg))
$this->errormsg = 'hook_postSetDefault_failed';
return null;
}
} elseif ($action == "editaccess") {
$mode = $this->params['mode'];
$userid = $this->params['userid'];
$groupid = $this->params['groupid'];
if ($userid) {
$document->changeAccess($mode, $userid, true);
}
elseif ($groupid) {
$document->changeAccess($mode, $groupid, false);
}
} elseif ($action == "delaccess") {
$userid = $this->params['userid'];
$groupid = $this->params['groupid'];
if ($userid) {
$document->removeAccess($userid, true);
}
elseif ($groupid) {
$document->removeAccess($groupid, false);
}
} elseif ($action == "addaccess") {
$mode = $this->params['mode'];
$userid = $this->params['userid'];
$groupid = $this->params['groupid'];
if ($userid && $userid != -1) {
$document->addAccess($mode, $userid, true);
}
elseif ($groupid && $groupid != -1) {
$document->addAccess($mode, $groupid, false);
}
}
return true;
}
}

View File

@ -35,7 +35,7 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
header("Content-Type: " . $content->getMimeType());
header("Cache-Control: must-revalidate");
readfile($dms->contentDir . $content->getPath());
sendFile($dms->contentDir . $content->getPath());
}
}
} /* }}} */
@ -46,17 +46,13 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(null === $this->callHook('file')) {
if(file_exists($dms->contentDir . $file->getPath())) {
header("Content-Type: application/force-download; name=\"" . $file->getOriginalFileName() . "\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($dms->contentDir . $file->getPath() ));
header("Content-Disposition: attachment; filename=\"" . $file->getOriginalFileName() . "\"");
//header("Expires: 0");
header("Content-Type: " . $file->getMimeType());
//header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: must-revalidate");
//header("Pragma: no-cache");
readfile($dms->contentDir . $file->getPath());
sendFile($dms->contentDir . $file->getPath());
}
}
} /* }}} */
@ -76,8 +72,7 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: public");
ob_clean();
readfile($basedir .$filename );
sendFile($basedir .$filename );
}
}
} /* }}} */
@ -96,8 +91,7 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: must-revalidate");
ob_clean();
readfile($basedir.$filename);
sendFile($basedir.$filename);
}
}
} /* }}} */
@ -109,15 +103,14 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
if(null === $this->callHook('sqldump')) {
if(file_exists($basedir . $filename)) {
header("Content-Type: application/zip; name=\"" . $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");
ob_clean();
readfile($basedir.$filename);
sendFile($basedir.$filename);
}
}
} /* }}} */
@ -137,12 +130,12 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);
header("Content-Type: ".$mimetype."; name=\"approval-" . $document->getID()."-".(int) $_GET['approvelogid'] . get_extension($mimetype) . "\"");
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");
readfile($filename);
sendFile($filename);
}
} /* }}} */
@ -161,12 +154,12 @@ class SeedDMS_Controller_Download extends SeedDMS_Controller_Common {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);
header("Content-Type: ".$mimetype."; name=\"review-" . $document->getID()."-".(int) $_GET['reviewlogid'] . get_extension($mimetype) . "\"");
header("Content-Type: ".$mimetype);
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename ));
header("Content-Disposition: attachment; filename=\"review-" . $document->getID()."-".(int) $_GET['reviewlogid'] . get_extension($mimetype) . "\"");
header("Cache-Control: must-revalidate");
readfile($filename);
sendFile($filename);
}
return true;
} /* }}} */

View File

@ -0,0 +1,161 @@
<?php
/**
* Implementation of EditDocument controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for editing a document
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
public function run() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$document = $this->params['document'];
$name = $this->params['name'];
if(false === $this->callHook('preEditDocument')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preEditDocument_failed';
return null;
}
$result = $this->callHook('editDocument', $document);
if($result === null) {
$name = $this->params['name'];
$oldname = $document->getName();
if($oldname != $name)
if(!$document->setName($name))
return false;
$comment = $this->params['comment'];
if(($oldcomment = $document->getComment()) != $comment)
if(!$document->setComment($comment))
return false;
$expires = $this->params['expires'];
$oldexpires = $document->getExpires();
if ($expires != $oldexpires) {
if(!$this->callHook('preSetExpires', $document, $expires)) {
}
if(!$document->setExpires($expires)) {
return false;
}
$document->verifyLastestContentExpriry();
if(!$this->callHook('postSetExpires', $document, $expires)) {
}
}
$keywords = $this->params['keywords'];
$oldkeywords = $document->getKeywords();
if ($oldkeywords != $keywords) {
if(!$this->callHook('preSetKeywords', $document, $keywords, $oldkeywords)) {
}
if(!$document->setKeywords($keywords)) {
return false;
}
if(!$this->callHook('postSetKeywords', $document, $keywords, $oldkeywords)) {
}
}
$categories = $this->params['categories'];
$oldcategories = $document->getCategories();
if($categories) {
$categoriesarr = array();
foreach($categories as $catid) {
if($cat = $dms->getDocumentCategory($catid)) {
$categoriesarr[] = $cat;
}
}
$oldcatsids = array();
foreach($oldcategories as $oldcategory)
$oldcatsids[] = $oldcategory->getID();
if (count($categoriesarr) != count($oldcategories) ||
array_diff($categories, $oldcatsids)) {
if(!$this->callHook('preSetCategories', $document, $categoriesarr, $oldcategories)) {
}
if(!$document->setCategories($categoriesarr)) {
return false;
}
if(!$this->callHook('postSetCategories', $document, $categoriesarr, $oldcategories)) {
}
}
} elseif($oldcategories) {
if(!$this->callHook('preSetCategories', $document, array(), $oldcategories)) {
}
if(!$document->setCategories(array())) {
return false;
}
if(!$this->callHook('postSetCategories', $document, array(), $oldcategories)) {
}
}
$attributes = $this->params['attributes'];
$oldattributes = $document->getAttributes();
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if(!$attrdef->validate($attribute)) {
$this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
return false;
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
return false;
}
} elseif($attrdef->getMinValues() > 0) {
$this->errormsg = getMLText("attr_min_values", array("attrname"=>$attrdef->getName()));
} elseif(isset($oldattributes[$attrdefid])) {
if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid)))
return false;
}
}
}
foreach($oldattributes as $attrdefid=>$oldattribute) {
if(!isset($attributes[$attrdefid])) {
if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid)))
return false;
}
}
$sequence = $this->params['sequence'];
if(strcasecmp($sequence, "keep")) {
if($document->setSequence($sequence)) {
} else {
return false;
}
}
if(!$this->callHook('postEditDocument')) {
}
} else
return $result;
return true;
}
}

View File

@ -0,0 +1,68 @@
<?php
/**
* Implementation of EditDocumentFile controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for editing a document
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2013 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_EditDocumentFile extends SeedDMS_Controller_Common {
public function run() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$document = $this->params['document'];
$file = $this->params['file'];
if(false === $this->callHook('preEditDocumentFile')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preEditDocumentFile_failed';
return null;
}
$result = $this->callHook('editDocumentFile', $document);
if($result === null) {
$name = $this->params['name'];
$oldname = $file->getName();
if($oldname != $name)
if(!$file->setName($name))
return false;
$comment = $this->params['comment'];
if(($oldcomment = $file->getComment()) != $comment)
if(!$file->setComment($comment))
return false;
$version = $this->params["version"];
$oldversion = $file->getVersion();
if ($oldversion != $version)
if(!$file->setVersion($version))
return false;
$public = $this->params["public"];
$file->setPublic($public == 'true' ? 1 : 0);
if(!$this->callHook('postEditDocumentFile')) {
}
} else
return $result;
return true;
}
}

View File

@ -27,28 +27,26 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
$user = $this->params['user'];
$settings = $this->params['settings'];
$folder = $this->params['folder'];
$name = $this->params['name'];
$comment = $this->params['comment'];
$sequence = $this->params['sequence'];
$attributes = $this->params['attributes'];
/* Get the document id and name before removing the document */
$foldername = $folder->getName();
$folderid = $folder->getID();
if(!$this->callHook('preEditFolder')) {
if(false === $this->callHook('preEditFolder')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preEditFolder_failed';
return null;
}
$result = $this->callHook('editFolder', $folder);
if($result === null) {
$name = $this->params['name'];
if(($oldname = $folder->getName()) != $name)
if(!$folder->setName($name))
return false;
$comment = $this->params['comment'];
if(($oldcomment = $folder->getComment()) != $comment)
if(!$folder->setComment($comment))
return false;
$attributes = $this->params['attributes'];
$oldattributes = $folder->getAttributes();
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
@ -78,6 +76,7 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
}
}
$sequence = $this->params['sequence'];
if(strcasecmp($sequence, "keep")) {
if($folder->setSequence($sequence)) {
} else {

View File

@ -36,7 +36,10 @@ class SeedDMS_Controller_RemoveDocument extends SeedDMS_Controller_Common {
$docname = $document->getName();
$documentid = $document->getID();
if(!$this->callHook('preRemoveDocument')) {
if(false === $this->callHook('preRemoveDocument')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preRemoveDocument_failed';
return null;
}
$result = $this->callHook('removeDocument', $document);

View File

@ -34,7 +34,10 @@ class SeedDMS_Controller_RemoveFolder extends SeedDMS_Controller_Common {
$foldername = $folder->getName();
$folderid = $folder->getID();
if(!$this->callHook('preRemoveFolder')) {
if(false === $this->callHook('preRemoveFolder')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preRemoveFolder_failed';
return null;
}
$result = $this->callHook('removeFolder', $folder);

View File

@ -64,7 +64,7 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
$result = $this->callHook('reviseUpdateDocumentStatus', $content);
if($result === null) {
if ($revisionstatus == -1){
if(!$content->setStatus(S_REJECTED,$comment,$user)) {
if(!$content->setStatus(S_NEEDS_CORRECTION,$comment,$user)) {
$this->error = 1;
$this->errormsg = "revision_update_failed";
return false;

View File

@ -0,0 +1,53 @@
<?php
/**
* Implementation of TransferDocument controller
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2017 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which does the busines logic for downloading a document
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2017 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_Controller_TransferDocument extends SeedDMS_Controller_Common {
public function run() {
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$document = $this->params['document'];
$newuser = $this->params['newuser'];
$folder = $document->getFolder();
if(false === $this->callHook('preTransferDocument')) {
if(empty($this->errormsg))
$this->errormsg = 'hook_preTransferDocument_failed';
return null;
}
$result = $this->callHook('transferDocument', $document);
if($result === null) {
if (!$document->transferToUser($newuser)) {
return false;
} else {
if(!$this->callHook('postTransferDocument')) {
}
}
}
return true;
}
}

View File

@ -50,6 +50,7 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
$userfiletype = $this->getParam('userfiletype');
$reviewers = $this->getParam('reviewers');
$approvers = $this->getParam('approvers');
$recipients = $this->getParam('recipients');
$reqversion = $this->getParam('reqversion');
$comment = $this->getParam('comment');
$attributes = $this->getParam('attributes');
@ -68,6 +69,21 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
}
}
if($recipients['i']) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $contentResult->getContent()->addIndRecipient($u, $user);
}
}
}
if($recipients['g']) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $contentResult->getContent()->addGrpRecipient($g, $user);
}
}
}
if($index) {
$lucenesearch = new $indexconf['Search']($index);
if($hit = $lucenesearch->getDocument((int) $document->getId())) {

View File

@ -40,12 +40,9 @@ class SeedDMS_Controller_ViewOnline extends SeedDMS_Controller_Common {
header("Content-Disposition: filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename);
}
header("Content-Length: " . filesize($dms->contentDir . $content->getPath()));
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate");
ob_clean();
readfile($dms->contentDir . $content->getPath());
sendFile($dms->contentDir.$content->getPath());
}
break;
}

View File

@ -42,8 +42,9 @@ all language and country codes.
REQUIREMENTS
============
SeedDMS is a web-based application written in PHP. It uses the MySQL RDBMS
or sqlite3 to manage the documents that were uploaded into the application.
SeedDMS is a web-based application written in PHP. It uses MySQL,
sqlite3 or postgresql to manage the documents that were uploaded into
the application. Be aware that postgresql is not very well tested.
Make sure you have PHP 5.3 and MySQL 5 or higher installed. SeedDMS
will work with PHP running in CGI-mode as well as running as module under
@ -67,8 +68,33 @@ Here is a detailed list of requirements:
9. SLIM RestApi
10. FeedWriter from https://github.com/mibe/FeedWriter
It is highly recommended to use the quickstart archive (seeddms-quickstart-x.y.z.tar.gz)
because it includes all software packages for running SeedDMS, though you still need
a working web server with PHP.
BEFORE YOU START
QUICKSTART
===========
The fastes way to get SeedDMS running is by unpacking the archive
`seeddms-quickstart-x.y.z.tar.gz` into your webservers document root.
It will create a new directory `seeddms51x` containing everything you
need to run SeedDMS with sqlite3. Make sure that the subdіrectory
`seeddms51x/data`
and the configuration file `seeddms51/www/conf/settings.xml` is writeable
by your web server. All other directories must just be readable by your
web server. In the next step you need to adjust
the configuration file in `seeddms51/www/conf/settings.xml`. If you
are not afraid of xml files, then open it in your favorite text editor
and search for `/home/wwww-data`. Replace that part in any path found
with your document root. Alternatively, you can open the installer
with a browser at http://your-domain/seeddms51x/install/
It will first ask to unlock the installer by creating a file
`ENABLE_INSTALL_TOOL` in the diretory `seeddms51/www/conf/`. Change all
paths by replacing `/home/wwww-data` with your document root. Once done,
save it, remove the file `ENABLE_INSTALL_TOOL` and point your browser to
http://your-domain/seeddms51x/.
THE LONG STORY
================
SeedDMS has changed its installation process with version 3.0.0. This gives

26
doc/README.xsendfile Normal file
View File

@ -0,0 +1,26 @@
Howto configure mod_xsendfile
==============================
Downloading large files from SeedDMS can be slow, because they are delivered
by the PHP download script. This is a common problem not specific to SeedDMS
but to PHP scripts of this kind in general. Granting direct access on the
download file is not a option as it circumvents the access restrictions of
SeedDMS.
The Apache module xsendfile is just for this kind of controlled downloads. If
is installed and configured, SeedDMS will hand over the download to the web
server which does a much better job than the PHP script. In order to make it
work, mod_xsendfile must be installed, turned on and the path to the download
files must be set to the directory containing the document files. If your document
root is /var/www and you extracted the quickstart archive into that directory,
then the document content directory will be at
/var/www/seeddms51x/data/ . Add the following to your apache configuration,
either globally or within a virtual host configuration. Setting the path in
an .htaccess file will not work.
XSendFile on
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.

View File

@ -38,7 +38,7 @@ class SeedDMS_ExtExample extends SeedDMS_ExtBase {
* Use this method to do some initialization like setting up the hooks
* You have access to the following global variables:
* $GLOBALS['settings'] : current global configuration
* $GLOBALS['settings']['_extensions']['example'] : configuration of this extension
* $GLOBALS['settings']->_extensions['example'] : configuration of this extension
* $GLOBALS['LANG'] : the language array with translations for all languages
* $GLOBALS['SEEDDMS_HOOKS'] : all hooks added so far
*/

View File

@ -110,7 +110,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT || $status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE)) {
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT || $status["status"]==S_RELEASED || $status["status"]==S_REJECTED || $status["status"]==S_OBSOLETE)) {
return true;
}
}
@ -144,7 +144,7 @@ class SeedDMS_AccessOperation {
if($r['status'] == 1 || $r['status'] == -1)
$hasapproval = true;
}
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) {
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval) || $status["status"]==S_DRAFT)) {
return true;
}
}
@ -165,7 +165,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED)) {
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED)) {
return true;
}
}
@ -186,7 +186,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_IN_REVISION)) {
if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_IN_REVISION)) {
return true;
}
}
@ -285,15 +285,15 @@ class SeedDMS_AccessOperation {
/**
* Check if document content may be reviewed
*
* Reviewing a document content is only allowed if the document was not
* obsoleted. There are other requirements which are not taken into
* Reviewing a document content is only allowed if the document is in
* review. There are other requirements which are not taken into
* account here.
*/
function mayReview($document) { /* {{{ */
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ($status["status"]!=S_OBSOLETE) {
if ($status["status"]==S_DRAFT_REV) {
return true;
}
}
@ -334,8 +334,9 @@ class SeedDMS_AccessOperation {
/**
* Check if document content may be approved
*
* Approving a document content is only allowed if the document was not
* obsoleted and the document is not in review status.
* Approving a document content is only allowed if the document is either
* in approval status or released. In the second case the approval can be
* edited.
* There are other requirements which are not taken into
* account here.
*/
@ -343,7 +344,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ($status["status"]!=S_OBSOLETE && $status["status"]!=S_DRAFT_REV && $status["status"]!=S_REJECTED) {
if ($status["status"]==S_DRAFT_APP) {
return true;
}
}
@ -362,7 +363,7 @@ class SeedDMS_AccessOperation {
if(get_class($document) == $this->dms->getClassname('document')) {
if($latestContent = $document->getLatestContent()) {
$status = $latestContent->getStatus();
if ($status["status"]!=S_OBSOLETE) {
if ($status["status"]==S_RELEASED) {
return true;
}
}

View File

@ -125,11 +125,15 @@ class SeedDMS_LdapAuthentication extends SeedDMS_Authentication {
/* No do the actual authentication of the user */
$bind = @ldap_bind($ds, $dn, $password);
$user = $dms->getUserByLogin($username);
if($user === false) {
ldap_close($ds);
return false;
}
if ($bind) {
// Successfully authenticated. Now check to see if the user exists within
// the database. If not, add them in if _restricted is not set,
// but do not add their password.
if (is_bool($user) && !$settings->_restricted) {
if (is_null($user) && !$settings->_restricted) {
// Retrieve the user's LDAP information.
if (isset($settings->_ldapFilter) && strlen($settings->_ldapFilter) > 0) {
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.$username.")".$settings->_ldapFilter.")");

View File

@ -94,7 +94,7 @@ class SeedDMS_Session {
* @return string/boolean id of session of false in case of an error
*/
function create($data) { /* {{{ */
$id = "" . rand() . time() . rand() . "";
$id = "" . rand() . '-'.microtime() . '-'.rand() . "";
$id = md5($id);
$lastaccess = time();
$queryStr = "INSERT INTO `tblSessions` (`id`, `userID`, `lastAccess`, `theme`, `language`, `su`) ".
@ -496,9 +496,7 @@ class SeedDMS_SessionMgr {
function getLastAccessedSessions($datetime) { /* {{{ */
if(!$ts = makeTsFromLongDate($datetime))
return false;
$queryStr = "SELECT * FROM `tblSessions` WHERE `lastAccess`>=".$ts;
$queryStr .= " GROUP BY `userID` ";
$queryStr .= " ORDER BY `lastAccess` DESC";
$queryStr = "SELECT a.* FROM `tblSessions` AS a LEFT OUTER JOIN `tblSessions` AS b ON a.`userID`=b.`userID` AND a.`lastAccess`< b.`lastAccess` WHERE b.`userID` IS NULL AND a.`lastAccess` >=".$ts;
$resArr = $this->db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;

View File

@ -145,12 +145,16 @@ class Settings { /* {{{ */
var $_enableSelfRevApp = false;
// enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false;
// enable/disable listing logged in user as recipient
var $_enableSelfReceipt = false;
// enable/disable update of a receipt by the recipient
var $_enableUpdateReceipt = false;
// enable/disable listing administrator as recipient
var $_enableAdminReceipt = false;
// enable/disable listing owner as recipient
var $_enableOwnerReceipt = false;
// enable/disable filter for receipt by the recipient
var $_enableFilterReceipt = false;
// enable/disable default notification for owner
var $_enableOwnerNotification = false;
// enable/disable deleting of versions for regular users
@ -251,6 +255,10 @@ class Settings { /* {{{ */
var $_showFullPreview = false;
// convert to pdf for preview on document details page
var $_convertToPdf = false;
// maximum number of documents/folders on ViewFolder page
var $_maxItemsPerPage = 0;
// number of documents/folders fetched when scrolling to bottom of ViewFolder page
var $_incItemsPerPage = 0;
// Show form to submit missing translations at end of page
var $_showMissingTranslations = false;
// Extra Path to additional software, will be added to include path
@ -440,6 +448,10 @@ class Settings { /* {{{ */
$this->_previewWidthDropFolderList = intval($tab["previewWidthDropFolderList"]);
$this->_showFullPreview = Settings::boolVal($tab["showFullPreview"]);
$this->_convertToPdf = Settings::boolVal($tab["convertToPdf"]);
if(isset($tab["maxItemsPerPage"]))
$this->_maxItemsPerPage = intval($tab["maxItemsPerPage"]);
if(isset($tab["incItemsPerPage"]))
$this->_incItemsPerPage = intval($tab["incItemsPerPage"]);
// XML Path: /configuration/site/edition
$node = $xml->xpath('/configuration/site/edition');
@ -621,9 +633,11 @@ class Settings { /* {{{ */
$this->_enableOwnerRevApp = Settings::boolval($tab["enableOwnerRevApp"]);
$this->_enableSelfRevApp = Settings::boolval($tab["enableSelfRevApp"]);
$this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]);
$this->_enableSelfReceipt = Settings::boolval($tab["enableSelfReceipt"]);
$this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]);
$this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]);
$this->_enableUpdateReceipt = Settings::boolval($tab["enableUpdateReceipt"]);
$this->_enableFilterReceipt = Settings::boolval($tab["enableFilterReceipt"]);
$this->_presetExpirationDate = strval($tab["presetExpirationDate"]);
$this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]);
$this->_versioningFileName = strval($tab["versioningFileName"]);
@ -768,6 +782,8 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "previewWidthDropFolderList", $this->_previewWidthDropFolderList);
$this->setXMLAttributValue($node, "showFullPreview", $this->_showFullPreview);
$this->setXMLAttributValue($node, "convertToPdf", $this->_convertToPdf);
$this->setXMLAttributValue($node, "maxItemsPerPage", $this->_maxItemsPerPage);
$this->setXMLAttributValue($node, "incItemsPerPage", $this->_incItemsPerPage);
// XML Path: /configuration/site/edition
$node = $this->getXMLNode($xml, '/configuration/site', 'edition');
@ -931,9 +947,11 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableOwnerRevApp", $this->_enableOwnerRevApp);
$this->setXMLAttributValue($node, "enableSelfRevApp", $this->_enableSelfRevApp);
$this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp);
$this->setXMLAttributValue($node, "enableSelfReceipt", $this->_enableSelfReceipt);
$this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt);
$this->setXMLAttributValue($node, "enableOwnerReceipt", $this->_enableOwnerReceipt);
$this->setXMLAttributValue($node, "enableUpdateReceipt", $this->_enableUpdateReceipt);
$this->setXMLAttributValue($node, "enableFilterReceipt", $this->_enableFilterReceipt);
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
$this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus);
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);

View File

@ -220,6 +220,7 @@ function getRevisionStatusText($status, $date=0) { /* {{{ */
return getMLText("status_revisor_removed");
break;
case -1:
return getMLText("status_needs_correction").($date !=0 ? " ".$date : "");
return getMLText("status_revision_rejected").($date !=0 ? " ".$date : "");
break;
case 0:
@ -322,6 +323,9 @@ function getOverallStatusText($status) { /* {{{ */
case S_DRAFT:
return getMLText("draft");
break;
case S_NEEDS_CORRECTION:
return getMLText("needs_correction");
break;
default:
return getMLText("status_unknown");
break;

View File

@ -92,6 +92,7 @@ if (get_magic_quotes_gpc()) {
unset($process);
}
$indexconf = null;
if($settings->_enableFullSearch) {
if($settings->_fullSearchEngine == 'sqlitefts') {
$indexconf = array(

View File

@ -598,4 +598,24 @@ function formatComment($an) { /* {{{ */
$t[] = $a['n']." × ".$a['c'];
return $t;
} /* }}} */
/**
* Send a file from disk to the browser
*
* This function uses either readfile() or the xѕendfile apache module if
* it is installed.
*
* @param string $filename
*/
function sendFile($filename) { /* {{{ */
if(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();
}
readfile($filename);
}
} /* }}} */
?>

View File

@ -20,7 +20,7 @@
class SeedDMS_Version {
public $_number = "6.0.1";
public $_number = "6.0.3";
private $_string = "SeedDMS";
function __construct() {

View File

@ -414,6 +414,7 @@ CREATE TABLE `tblDocumentReviewers` (
UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`),
CONSTRAINT `tblDocumentReviewers_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX `indDocumentReviewersRequired` ON `tblDocumentReviewers` (`required`);
-- --------------------------------------------------------
@ -451,6 +452,7 @@ CREATE TABLE `tblDocumentRecipients` (
UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`),
CONSTRAINT `tblDocumentRecipients_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX `indDocumentRecipientsRequired` ON `tblDocumentRecipients` (`required`);
-- --------------------------------------------------------
@ -487,6 +489,7 @@ CREATE TABLE `tblDocumentRevisors` (
UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`),
CONSTRAINT `tblDocumentRevisors_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX `indDocumentRevisorsRequired` ON `tblDocumentRevisors` (`required`);
-- --------------------------------------------------------
@ -674,6 +677,7 @@ CREATE TABLE `tblMandatoryApprovers` (
PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`),
CONSTRAINT `tblMandatoryApprovers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX `indDocumentApproversRequired` ON `tblDocumentApprovers` (`required`);
-- --------------------------------------------------------

View File

@ -216,6 +216,7 @@ CREATE TABLE `tblDocumentApprovers` (
`required` INTEGER NOT NULL default '0',
UNIQUE (`documentID`,`version`,`type`,`required`)
) ;
CREATE INDEX `indDocumentApproversRequired` ON `tblDocumentApprovers` (`required`);
-- --------------------------------------------------------
@ -231,6 +232,7 @@ CREATE TABLE `tblDocumentApproveLog` (
`date` TEXT NOT NULL,
`userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ;
CREATE INDEX `indDocumentApproveLogReviewID` ON `tblDocumentApproveLog` (`approveID`);
-- --------------------------------------------------------
@ -344,6 +346,7 @@ CREATE TABLE `tblDocumentReviewers` (
`required` INTEGER NOT NULL default '0',
UNIQUE (`documentID`,`version`,`type`,`required`)
) ;
CREATE INDEX `indDocumentReviewersRequired` ON `tblDocumentReviewers` (`required`);
-- --------------------------------------------------------
@ -359,6 +362,7 @@ CREATE TABLE `tblDocumentReviewLog` (
`date` TEXT NOT NULL,
`userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ;
CREATE INDEX `indDocumentReviewLogReviewID` ON `tblDocumentReviewLog` (`reviewID`);
-- --------------------------------------------------------
@ -374,6 +378,7 @@ CREATE TABLE `tblDocumentRecipients` (
`required` INTEGER NOT NULL default '0',
UNIQUE (`documentID`,`version`,`type`,`required`)
) ;
CREATE INDEX `indDocumentRecipientsRequired` ON `tblDocumentRecipients` (`required`);
-- --------------------------------------------------------
@ -389,6 +394,7 @@ CREATE TABLE `tblDocumentReceiptLog` (
`date` TEXT NOT NULL,
`userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ;
CREATE INDEX `indDocumentReceiptLogReceiptID` ON `tblDocumentReceiptLog` (`receiptID`);
-- --------------------------------------------------------
@ -405,6 +411,7 @@ CREATE TABLE `tblDocumentRevisors` (
`startdate` TEXT default NULL,
UNIQUE (`documentID`,`version`,`type`,`required`)
) ;
CREATE INDEX `indDocumentRevisorsRequired` ON `tblDocumentRevisors` (`required`);
-- --------------------------------------------------------
@ -420,6 +427,7 @@ CREATE TABLE `tblDocumentRevisionLog` (
`date` TEXT NOT NULL,
`userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ;
CREATE INDEX `indDocumentRevisionLogRevisionID` ON `tblDocumentRevisionLog` (`revisionID`);
-- --------------------------------------------------------
@ -448,6 +456,7 @@ CREATE TABLE `tblDocumentStatusLog` (
`date` TEXT NOT NULL,
`userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ;
CREATE INDEX `indDocumentStatusLogStatusID` ON `tblDocumentStatusLog` (`StatusID`);
-- --------------------------------------------------------

View File

@ -123,7 +123,7 @@ function fileExistsInIncludePath($file) { /* {{{ */
* Load default settings + set
*/
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", "6.0.1");
define("SEEDDMS_VERSION", "6.0.3");
require_once('../inc/inc.ClassSettings.php');

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 (1277)
// Translators: Admin (1284)
$text = array(
'2_factor_auth' => '',
@ -124,6 +124,7 @@ URL: [url]',
'archive_creation_warning' => 'من خلال العملية التالية يمكنك انشاء ارشيف يحتوي على كل ملفات النظام. بعد انشاء الارشيف سيتم حفظه في ملف البيانات على السيرفر.<br>تحذير: الارشيف الذي تم انشاؤه ليكون مقروء بواسطة المستخدم لن يكون نافعا كملف نسخ احتياطي للسيرفر',
'ar_EG' => 'العربية',
'assign_approvers' => 'تخصيص موافقون',
'assign_recipients' => '',
'assign_reviewers' => 'تخصيص مراجعون',
'assign_user_property_to' => 'تخصيص خصائص المستخدم الى',
'assumed_released' => 'يعتبر تم نشره',
@ -312,6 +313,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'المستندات',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_in_process' => 'مستندات رهن المعالجة',
'documents_locked' => '',
'documents_locked_by_you' => 'المستندات محمية من التعديل بواسطتك',
@ -321,6 +323,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'مستندات في انتظار المراجعة',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'مستندات ملكك تستلزم انتباهك',
@ -377,6 +383,8 @@ Parent folder: [folder_path]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - تم تغيير حالةالمستند',
'document_title' => 'المستند \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'تم تحديث المستند',
'document_updated_email_body' => 'تم تحديث المستند
المستند: [name]
@ -452,23 +460,25 @@ URL: [url]',
'error_no_folder_selected' => 'لم يتم اختيار مجلد',
'error_occured' => 'حدث خطأ',
'error_remove_document' => '',
'error_remove_folder' => '',
'error_remove_folder' => 'ﺡﺪﺛ ﺦﻃﺃ ﺎﺜﻧﺍﺀ ﺡﺬﻓ ﺎﻠﻤﺠﻟﺩ',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'الإسبانية',
'event_details' => 'تفاصيل الحدث',
'exclude_items' => '',
'expired' => 'انتهى صلاحيته',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'تنتهى صلاحيته',
'expire_by_date' => '',
'expire_by_date' => 'ﻲﻨﺘﻫﻯ ﻑﻯ ﺕﺍﺮﻴﺧ',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => '',
'expire_in_1w' => '',
'expire_in_1y' => '',
'expire_in_1m' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺶﻫﺭ',
'expire_in_1w' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺎﺴﺑﻮﻋ',
'expire_in_1y' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺲﻧﺓ',
'expire_in_2h' => '',
'expire_in_2y' => '',
'expire_in_2y' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 2 ﺲﻧﺓ',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية',
@ -535,6 +545,7 @@ URL: [url]',
'fullsearch' => 'البحث النصي الكامل',
'fullsearch_hint' => 'استخدم فهرس النص الكامل',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'فهرس تحويل المستند',
'fulltext_info' => 'معلومات فهرس النص الكامل',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'سمات',
@ -573,7 +584,6 @@ URL: [url]',
'include_documents' => 'اشمل مستندات',
'include_subdirectories' => 'اشمل مجلدات فرعية',
'indexing_tasks_in_queue' => '',
'index_converters' => 'فهرس تحويل المستند',
'index_done' => '',
'index_error' => '',
'index_folder' => 'ﻒﻫﺮﺳﺓ ﺎﻠﻤﺠﻟﺩ',
@ -581,6 +591,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'افراد',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'موروث',
'inherits_access_copy_msg' => 'نسخ قائمة صلاحيات موروثة.',
'inherits_access_empty_msg' => 'ابدأ بقائمة صلاحيات فارغة',
@ -700,6 +711,7 @@ URL: [url]',
'monday_abbr' => 'ن',
'monthly' => 'شهريا',
'month_view' => 'عرض الشهر',
'more_objects_loading' => '',
'move' => 'تحريك',
'move_clipboard' => '',
'move_document' => 'تحريك مستند',
@ -708,6 +720,7 @@ URL: [url]',
'my_documents' => 'مستنداتي',
'my_transmittals' => '',
'name' => 'اسم',
'needs_correction' => '',
'needs_workflow_action' => 'هذا المستند يتطلب انتباهك . من فضلك تفقد زر مسار العمل',
'network_drive' => '',
'never' => '',
@ -829,6 +842,7 @@ URL: [url]',
'password_strength' => 'قوة كلمة السر',
'password_strength_insuffient' => 'قوة كلمة السر غير كافية',
'password_wrong' => 'كلمة سر خاطئة',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -837,11 +851,12 @@ URL: [url]',
'personal_default_keywords' => 'قوائم الكلمات البحثية الشخصية',
'pl_PL' => 'ﺎﻠﺑﻮﻠﻧﺪﻳﺓ',
'possible_substitutes' => '',
'preset_expires' => '',
'preset_expires' => 'ﺕﺍﺮﻴﺧ ﺍﻼﻨﺘﻫﺍﺀ',
'preview' => '',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'حالة سابقة',
'previous_versions' => 'اصدارات سابقة',
@ -1039,6 +1054,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'ﺎﻨﻗﺭ ﻼﺨﺘﻳﺍﺭ ﺍﻼﺸﻋﺍﺭ ﻞﻤﺠﻣﻮﻋﺓ',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'اضغط لاختيار مجموعة المراجعون',
@ -1154,6 +1170,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Allows to have duplicate document names in a folder.',
'settings_enableEmail' => '',
'settings_enableEmail_desc' => 'Enable/disable automatic email notification',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => '',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => 'تفعيل البحث بالنص الكامل',
@ -1188,6 +1206,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableSessionList' => '',
@ -1229,6 +1249,8 @@ URL: [url]',
'settings_guestID_desc' => '',
'settings_httpRoot' => '',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1259,6 +1281,8 @@ URL: [url]',
'settings_maxDirID_desc' => '',
'settings_maxExecutionTime' => '',
'settings_maxExecutionTime_desc' => '',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount_desc' => '',
'settings_maxSizeForFullText' => '',
@ -1295,8 +1319,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => '',
'settings_printDisclaimer_desc' => '',
'settings_quota' => '',
@ -1434,6 +1462,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
@ -1441,6 +1470,7 @@ URL: [url]',
'status_approval_rejected' => 'مسودة مرفوضة',
'status_approved' => 'تمت الموافقة',
'status_approver_removed' => 'تم ازالة موافق من العملية',
'status_needs_correction' => '',
'status_not_approved' => 'لم تتم الموافقة بعد',
'status_not_receipted' => '',
'status_not_reviewed' => 'لم تتم مراجعته بعد',
@ -1494,9 +1524,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1510,8 +1543,12 @@ URL: [url]',
'toggle_manager' => 'رجح مدير',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'تم تحريك انتقال مسار العمل',
'transition_triggered_email_body' => 'تم تحريك انتقال مسار العمل
المستند: [name]
@ -1634,6 +1671,7 @@ URL: [url]',
'workflow_summary' => 'ملخص مسار العمل',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'ملخص المستخدم',
'x_more_objects' => '',
'year_view' => 'عرض السنة',
'yes' => 'نعم',
'zh_CN' => 'الصينية (CN)',

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 (831)
// Translators: Admin (839)
$text = array(
'2_factor_auth' => '',
@ -115,6 +115,7 @@ $text = array(
'archive_creation_warning' => 'Тази операция ще създаде архив, съдържащ всички папки. След създаването архивът ще бъде съхранен в папката с данни на сървъра.<br>ВНИМАНИЕ: Архивът създаден като понятен за човек, ще бъде непригоден за бекъп!',
'ar_EG' => 'Арабски',
'assign_approvers' => 'Назначи утвърждаващи',
'assign_recipients' => '',
'assign_reviewers' => 'Назначи рецензенти',
'assign_user_property_to' => 'Назначи свойства на потребителя',
'assumed_released' => 'Утверден',
@ -235,7 +236,7 @@ $text = array(
'clear_cache' => 'Изчистване на кеша',
'clear_clipboard' => '',
'clear_password' => '',
'clipboard' => '',
'clipboard' => 'Клипборд',
'close' => 'Затвори',
'command' => '',
'comment' => 'Коментар',
@ -297,6 +298,7 @@ $text = array(
'documentcontent' => '',
'documents' => 'Документи',
'documents_checked_out_by_you' => '',
'documents_expired' => 'просрочени документи',
'documents_in_process' => 'Документи в процес на работа',
'documents_locked' => '',
'documents_locked_by_you' => 'Документи, блокирани от Вас',
@ -306,6 +308,10 @@ $text = array(
'documents_to_receipt' => '',
'documents_to_review' => 'Документы, чакащи Вашата рецензия',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Ваши документи, изискващи внимание',
@ -338,6 +344,8 @@ $text = array(
'document_status_changed_email_body' => '',
'document_status_changed_email_subject' => '',
'document_title' => 'Документ \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Документът обновен',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
@ -358,7 +366,7 @@ $text = array(
'dropfolderdir_missing' => '',
'dropfolder_file' => 'Файл от drop папка',
'dropfolder_folder' => '',
'dropupload' => '',
'dropupload' => 'Бърз ъплоуд',
'drop_files_here' => 'Пусни файла тук!',
'dump_creation' => 'Създаване дъмп на БД',
'dump_creation_warning' => 'Тази операция шъ създаде дамп на базата данни. След създаването, файлът ще бъде съхранен в папката с данни на сървъра.',
@ -410,11 +418,13 @@ $text = array(
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Испански',
'event_details' => 'Детайли за събитието',
'exclude_items' => '',
'expired' => 'Изтекъл',
'expired_at_date' => '',
'expired_documents' => 'просрочени документи',
'expires' => 'Изтича',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -466,6 +476,7 @@ $text = array(
'fullsearch' => 'Пълнотекстово търсене',
'fullsearch_hint' => 'Използвай пълнотекстов индекс',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Index document conversion',
'fulltext_info' => 'Информация за пълнотекстов индексе',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'атрибути',
@ -504,7 +515,6 @@ $text = array(
'include_documents' => 'Включи документи',
'include_subdirectories' => 'Включи под-папки',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Index document conversion',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Индекс на директорията',
@ -512,6 +522,7 @@ $text = array(
'index_waiting' => '',
'individuals' => 'Личности',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'наследен',
'inherits_access_copy_msg' => 'Изкопирай наследения список',
'inherits_access_empty_msg' => 'Започни с празен списък за достъп',
@ -539,7 +550,7 @@ $text = array(
'invalid_target_folder' => 'Неправилен идентификатор на целевата папка',
'invalid_user_id' => 'Неправилен идентификатор на потребителя',
'invalid_version' => 'Неправилна версия на документа',
'in_folder' => '',
'in_folder' => 'В папка',
'in_revision' => '',
'in_workflow' => 'в процес',
'is_disabled' => 'забранена сметка',
@ -631,6 +642,7 @@ $text = array(
'monday_abbr' => '',
'monthly' => 'Ежемесечно',
'month_view' => 'Месечен изглед',
'more_objects_loading' => '',
'move' => 'Премести',
'move_clipboard' => '',
'move_document' => 'Премести документ',
@ -639,6 +651,7 @@ $text = array(
'my_documents' => 'Моите документи',
'my_transmittals' => '',
'name' => 'Име',
'needs_correction' => '',
'needs_workflow_action' => '',
'network_drive' => '',
'never' => '',
@ -730,6 +743,7 @@ $text = array(
'password_strength' => 'Устойчивост на паролата',
'password_strength_insuffient' => 'Недостатъчна устойчивост на паролата',
'password_wrong' => 'Грешна парола',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -743,6 +757,7 @@ $text = array(
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Предишно състояние',
'previous_versions' => 'Предишни версии',
@ -904,6 +919,7 @@ $text = array(
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Избор на групова нотификация',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Кликни да избереш група рецензенти',
@ -1019,6 +1035,8 @@ $text = array(
'settings_enableDuplicateDocNames_desc' => 'Разрешава да има еднакви имена на документи в папката.',
'settings_enableEmail' => 'Включи E-mail',
'settings_enableEmail_desc' => 'Включване/изключване автоматично уведомяване по email',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Включи дървото с папките',
'settings_enableFolderTree_desc' => 'Изключено - не показвй дървото с папките',
'settings_enableFullSearch' => 'Включи полнотекстово търсене',
@ -1053,6 +1071,8 @@ $text = array(
'settings_enableRecursiveCount_desc' => '',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableSessionList' => '',
@ -1094,6 +1114,8 @@ $text = array(
'settings_guestID_desc' => 'Идентификатор за гост (може да не се променя)',
'settings_httpRoot' => 'Корен Http',
'settings_httpRoot_desc' => 'Относителен път в URL, след доменната част. Без http://. Например ако пълния URL http://www.example.com/letodms/, то трябва да укажем \'/letodms/\'. Ако URL http://www.example.com/, то \'/\'',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1124,6 +1146,8 @@ $text = array(
'settings_maxDirID_desc' => 'Максимум подпапки в родителската папка. По подразбиране: 0.',
'settings_maxExecutionTime' => 'Максимално време за изпълнение (с)',
'settings_maxExecutionTime_desc' => 'Установява максимално време за изпълнение на скрипта, преди да бъде прибит от парсера',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount_desc' => '',
'settings_maxSizeForFullText' => '',
@ -1160,8 +1184,12 @@ $text = array(
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Показвай дисклаймер',
'settings_printDisclaimer_desc' => 'Ако е включено, то дисклаймер из lang.inc ще се показва под всяка страница',
'settings_quota' => 'Квота за потребител',
@ -1248,7 +1276,7 @@ $text = array(
'sign_out_user' => '',
'sk_SK' => 'Словашки',
'space_used_on_data_folder' => 'Размер на каталога с данните',
'splash_added_to_clipboard' => '',
'splash_added_to_clipboard' => 'Добавено към клипборда',
'splash_add_attribute' => '',
'splash_add_group' => '',
'splash_add_group_member' => '',
@ -1263,7 +1291,7 @@ $text = array(
'splash_document_edited' => '',
'splash_document_indexed' => '',
'splash_document_locked' => 'Документът е заключен',
'splash_document_unlocked' => '',
'splash_document_unlocked' => 'Документа е отключен',
'splash_edit_attribute' => '',
'splash_edit_event' => '',
'splash_edit_group' => '',
@ -1284,7 +1312,7 @@ $text = array(
'splash_rm_attribute' => '',
'splash_rm_document' => 'Документът е преместен',
'splash_rm_download_link' => '',
'splash_rm_folder' => '',
'splash_rm_folder' => 'Папката е изтрита',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_role' => '',
@ -1299,6 +1327,7 @@ $text = array(
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
@ -1306,6 +1335,7 @@ $text = array(
'status_approval_rejected' => 'Чернова отказана',
'status_approved' => 'Утвърден',
'status_approver_removed' => 'Утвърждаващия премахнат от процеса',
'status_needs_correction' => '',
'status_not_approved' => 'Не утвърден',
'status_not_receipted' => '',
'status_not_reviewed' => 'Не рецензиран',
@ -1359,9 +1389,12 @@ $text = array(
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1375,8 +1408,12 @@ $text = array(
'toggle_manager' => 'Превключи мениджър',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Забелязана промяна на процес',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',
@ -1485,6 +1522,7 @@ $text = array(
'workflow_summary' => 'Резюме за процес',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Резюме за потребител',
'x_more_objects' => '',
'year_view' => 'годишен изглед',
'yes' => 'Да',
'zh_CN' => 'Китайски (Китай)',

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 (725)
// Translators: Admin (735)
$text = array(
'2_factor_auth' => '',
@ -120,6 +120,7 @@ URL: [url]',
'archive_creation_warning' => 'Amb aquesta operació pot crear un arxiu que contingui els fitxers de les carpetes del DMS complet. Després de crear-lo, l\'arxiu es guardarà a la carpeta de dades del servidor. <br>ATENCIÓ: un fitxer creat com llegible per humans no es podrà usar com a còpia de seguretat del servidor.',
'ar_EG' => 'Àrab',
'assign_approvers' => 'Assignar aprovadors',
'assign_recipients' => '',
'assign_reviewers' => 'Assignar revisors',
'assign_user_property_to' => 'Assignar propietats d\'usuari a',
'assumed_released' => 'Se suposa com a publicat',
@ -175,7 +176,7 @@ URL: [url]',
'automatic_status_update' => 'Canvi automátic d\'estat',
'back' => 'Endarrere',
'backup_list' => 'Llista de còpies de seguretat existents',
'backup_log_management' => '',
'backup_log_management' => 'Còpia / Accés',
'backup_remove' => 'Eliminar fitxer de còpia de seguretat',
'backup_tools' => 'Eines de còpia de seguretat',
'between' => 'entre',
@ -302,6 +303,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Documents',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Documents caducats',
'documents_in_process' => 'Documents en procés',
'documents_locked' => '',
'documents_locked_by_you' => 'Documents bloquejats per vostè',
@ -311,6 +313,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents en espera de revisió d\'usuaris',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documents de la seva propietat que requereixen atenció',
@ -343,6 +349,8 @@ URL: [url]',
'document_status_changed_email_body' => '',
'document_status_changed_email_subject' => '',
'document_title' => 'Document \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Document actualizat',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
@ -362,7 +370,7 @@ URL: [url]',
'drag_icon_here' => 'Arrossegui aquí una icona de carpeta o document',
'dropfolderdir_missing' => '',
'dropfolder_file' => '',
'dropfolder_folder' => '',
'dropfolder_folder' => 'Carpeta',
'dropupload' => 'Pujada ràpida',
'drop_files_here' => 'Dugui arxius aquí',
'dump_creation' => 'Creació de bolcat de BDD',
@ -415,11 +423,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Castellà',
'event_details' => 'Detalls de l\'event',
'exclude_items' => '',
'expired' => 'Caducat',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Caduca',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -441,7 +451,7 @@ URL: [url]',
'files' => 'Fitxers',
'files_deletion' => 'Eliminació de fitxers',
'files_deletion_warning' => 'Amb aquesta opció es poden eliminar tots els fitxers del DMS complet. La informació de versionat romandrà visible.',
'files_loading' => '',
'files_loading' => 'Esperi, fins que l\'arxiu estigui carregat …',
'file_size' => 'Mida',
'filter_for_documents' => '',
'filter_for_folders' => 'Filtre adicional per les carpetes',
@ -471,6 +481,7 @@ URL: [url]',
'fullsearch' => 'Cerca full-text',
'fullsearch_hint' => '',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '',
'fulltext_info' => 'Informació de full-text',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributs',
@ -501,15 +512,14 @@ URL: [url]',
'hu_HU' => 'Hongarès',
'id' => 'ID',
'identical_version' => '',
'import' => '',
'import' => 'importar',
'importfs' => '',
'import_fs' => 'Importa del sistema d\'arxius',
'import_fs_warning' => '',
'import_fs_warning' => 'Només funciona arrastrant carpetes.La operació importarà recursivament totes les carpetes i arxius.',
'include_content' => '',
'include_documents' => 'Incloure documents',
'include_subdirectories' => 'Incloure subdirectoris',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Carpeta d\'índex',
@ -517,6 +527,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Individuals',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => '',
'inherits_access_copy_msg' => 'Copiar llista d\'accés heretat',
'inherits_access_empty_msg' => 'Començar amb una llista d\'accés buida',
@ -636,6 +647,7 @@ URL: [url]',
'monday_abbr' => '',
'monthly' => 'Monthly',
'month_view' => 'Vista de mes',
'more_objects_loading' => '',
'move' => 'Moure',
'move_clipboard' => '',
'move_document' => 'Moure document',
@ -644,6 +656,7 @@ URL: [url]',
'my_documents' => 'Els meus documents',
'my_transmittals' => '',
'name' => 'Nom',
'needs_correction' => '',
'needs_workflow_action' => '',
'network_drive' => '',
'never' => '',
@ -703,7 +716,7 @@ URL: [url]',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'objectcheck' => 'Carpeta / Comprobació del document',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsolet',
@ -735,6 +748,7 @@ URL: [url]',
'password_strength' => '',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -748,6 +762,7 @@ URL: [url]',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => '',
'previous_versions' => 'Versions anteriors',
@ -789,7 +804,7 @@ URL: [url]',
'removed_revisor' => '',
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'remove_marked_files' => '',
'repaired' => '',
'repairing_objects' => '',
@ -909,6 +924,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => '',
'select_grp_recipients' => '',
'select_grp_reviewers' => '',
@ -1024,6 +1040,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => '',
'settings_enableEmail' => 'Enable E-mail',
'settings_enableEmail_desc' => '',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Enable Folder Tree',
'settings_enableFolderTree_desc' => 'False to don\'t show the folder tree',
'settings_enableFullSearch' => 'Enable Full text search',
@ -1058,6 +1076,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableSessionList' => '',
@ -1099,6 +1119,8 @@ URL: [url]',
'settings_guestID_desc' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1129,6 +1151,8 @@ URL: [url]',
'settings_maxDirID_desc' => '',
'settings_maxExecutionTime' => '',
'settings_maxExecutionTime_desc' => '',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount_desc' => '',
'settings_maxSizeForFullText' => '',
@ -1165,8 +1189,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => '',
'settings_printDisclaimer_desc' => '',
'settings_quota' => '',
@ -1304,6 +1332,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
@ -1311,6 +1340,7 @@ URL: [url]',
'status_approval_rejected' => 'Esborrany rebutjat',
'status_approved' => 'Aprovat',
'status_approver_removed' => 'Aprovador eliminat del procés',
'status_needs_correction' => '',
'status_not_approved' => 'Sense aprovar',
'status_not_receipted' => '',
'status_not_reviewed' => 'Sense revisar',
@ -1364,9 +1394,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1380,8 +1413,12 @@ URL: [url]',
'toggle_manager' => 'Intercanviar manager',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',
@ -1437,7 +1474,7 @@ URL: [url]',
'users_done_work' => '',
'user_exists' => 'L\'usuari ja existeix.',
'user_group' => '',
'user_group_management' => '',
'user_group_management' => 'Usuaris/Control de grups',
'user_image' => 'Imatge',
'user_info' => 'Informació d\'usuari',
'user_list' => 'Llista d\'usuaris',
@ -1490,6 +1527,7 @@ URL: [url]',
'workflow_summary' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '',
'x_more_objects' => '',
'year_view' => 'Vista d\'any',
'yes' => 'Sí',
'zh_CN' => 'Xinès (Xina)',

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 (726), kreml (455)
// Translators: Admin (737), kreml (455)
$text = array(
'2_factor_auth' => '',
@ -131,6 +131,7 @@ URL: [url]',
'archive_creation_warning' => 'Pomocí této operace můžete vytvořit archiv obsahující soubory z celé složky DMS. Po jeho vytvoøení bude archiv ulžen v datové složce serveru. POZOR: archiv bude vytvořen jako běžně čitelný, nelze jej použít jako záložní server.',
'ar_EG' => 'Arabština',
'assign_approvers' => 'Přiřazení schvalující',
'assign_recipients' => '',
'assign_reviewers' => 'Přiřazení kontroloři',
'assign_user_property_to' => 'Přiřazení uživatelských vlastností',
'assumed_released' => 'Pokládá se za zveřejněné',
@ -319,6 +320,7 @@ URL: [url]',
'documentcontent' => 'Obsah dokumentu',
'documents' => 'Dokumenty',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Expirované dokumenty',
'documents_in_process' => 'Zpracovávané dokumenty',
'documents_locked' => '',
'documents_locked_by_you' => 'Vámi uzamčené dokumenty',
@ -328,6 +330,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokumenty čekající na kontrolu uživatele',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokumenty, které uživatel vlastní a vyžadují pozornost',
@ -384,6 +390,8 @@ User: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Stav dokumentu změněn',
'document_title' => 'Dokument \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Dokument aktualizován',
'document_updated_email_body' => 'Dokument aktualizován
Dokument: [name]
@ -416,8 +424,8 @@ URL: [url]',
'dump_creation_warning' => 'Pomocí této operace můžete vytvořit soubor se zálohou databáze. Po vytvoření bude soubor zálohy uložen ve složce data vašeho serveru.',
'dump_list' => 'Existující soubory záloh',
'dump_remove' => 'Odstranit soubor zálohy',
'duplicates' => '',
'duplicate_content' => '',
'duplicates' => 'Duplikáty',
'duplicate_content' => 'Duplicitní obsah',
'edit' => 'upravit',
'edit_attributes' => 'Editovat atributy',
'edit_comment' => 'Upravit komentář',
@ -462,20 +470,22 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Španělština',
'event_details' => 'Údaje akce',
'exclude_items' => '',
'expired' => 'Platnost vypršela',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Platnost vyprší',
'expire_by_date' => '',
'expire_by_date' => 'Platnost končí k datu',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => 'Expiruje o mesiac',
'expire_in_1w' => '',
'expire_in_1y' => '',
'expire_in_1w' => 'Expiruje za týden',
'expire_in_1y' => 'Expiruje za rok',
'expire_in_2h' => '',
'expire_in_2y' => '',
'expire_in_2y' => 'Expiruje za dva roky',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'Datum expirace změněno',
@ -492,7 +502,7 @@ URL: [url]',
'files' => 'Soubory',
'files_deletion' => 'Soubor odstraněn',
'files_deletion_warning' => 'Pomocí této volby můžete odstranit všechny soubory z celé složky DMS. Verzovací informace zůstanou viditelné.',
'files_loading' => 'Vyčkejte dokud se nenahraje seznam souborů ...',
'files_loading' => 'Vyčkejte dokud se nenahraje seznam souborů ',
'file_size' => 'Velikost souboru',
'filter_for_documents' => 'Další filtr pro dokumenty',
'filter_for_folders' => 'Další filtr pro složky',
@ -542,6 +552,7 @@ URL: [url]',
'fullsearch' => 'Fulltextové vyhledávání',
'fullsearch_hint' => 'Použijte fultext index',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Index konverze dokumentu',
'fulltext_info' => 'Fulltext index info',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributy',
@ -580,7 +591,6 @@ URL: [url]',
'include_documents' => 'Včetně dokumentů',
'include_subdirectories' => 'Včetně podadresářů',
'indexing_tasks_in_queue' => 'Indexování úkolů ve frontě',
'index_converters' => 'Index konverze dokumentu',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Složka indexu',
@ -588,6 +598,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Jednotlivci',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'Zděděno',
'inherits_access_copy_msg' => 'Zkopírovat zděděný seznam řízení přístupu',
'inherits_access_empty_msg' => 'Založit nový seznam řízení přístupu',
@ -707,6 +718,7 @@ URL: [url]',
'monday_abbr' => 'Po',
'monthly' => 'Měsíčně',
'month_view' => 'Zobrazení měsíce',
'more_objects_loading' => '',
'move' => 'Přesunout',
'move_clipboard' => 'Přesun schránky',
'move_document' => 'Přesunout dokument',
@ -715,6 +727,7 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => '',
'name' => 'Název',
'needs_correction' => '',
'needs_workflow_action' => 'Tento dokument vyžaduje Vaši pozornost. Prosím zkontrolujte záložku pracovního postupu.',
'network_drive' => '',
'never' => 'nikdy',
@ -840,6 +853,7 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm
'password_strength' => 'Síla hesla',
'password_strength_insuffient' => 'Nedostatečná síla hesla',
'password_wrong' => 'Špatné heslo',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -853,10 +867,11 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Předchozí stav',
'previous_versions' => 'Předešlé verze',
'process' => '',
'process' => 'Proces',
'process_without_user_group' => '',
'pt_BR' => 'Portugalština (BR)',
'quota' => 'Kvóta',
@ -1048,6 +1063,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Klikněte pro výběr skupinového oznámení',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Kliknutím vyberte skupinu posuzovatele',
@ -1163,6 +1179,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Povolit duplicitu názvů dokumentů ve složce',
'settings_enableEmail' => 'Enable E-mail',
'settings_enableEmail_desc' => 'Enable/disable automatic email notification',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Enable Folder Tree',
'settings_enableFolderTree_desc' => 'False to don\'t show the folder tree',
'settings_enableFullSearch' => 'Enable Full text search',
@ -1197,6 +1215,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Při zapnutí je počet dokumentů a složek v zobrazení složek určen počítáním všech objektů při rekurzivním zpracování složek a počítáním těch dokumentů a složek, ke kterým má uživatel přístup.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Povolit posouzení/schválení pro přihlášeného uživatele',
'settings_enableSelfRevApp_desc' => 'Povolte, pokud chcete aktuálně přihlášeného uvést jako posuzovatele/schvalovatele a pro přechody pracovního postupu',
'settings_enableSessionList' => '',
@ -1238,6 +1258,8 @@ URL: [url]',
'settings_guestID_desc' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1268,6 +1290,8 @@ URL: [url]',
'settings_maxDirID_desc' => '',
'settings_maxExecutionTime' => '',
'settings_maxExecutionTime_desc' => '',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Max. počet rekurzívních počítání dokumentů/složek',
'settings_maxRecursiveCount_desc' => 'Toto je max. počet dokumentů a složek, kterým bude kontrolováno přístupové právo při rekurzivním počítání objektů. Po jeho překročení bude počet složek a dokumentů odhadnut.',
'settings_maxSizeForFullText' => '',
@ -1304,8 +1328,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => 'Šířka náhledů (detail)',
'settings_previewWidthDetail_desc' => 'Šířka náhledu na stránce podrobností',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Šířka náhledů (seznam)',
'settings_previewWidthList_desc' => 'Šířka náhledů v seznamech',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Print Disclaimer',
'settings_printDisclaimer_desc' => '',
'settings_quota' => 'Kvóta uživatele',
@ -1443,6 +1471,7 @@ URL: [url]',
'splash_substituted_user' => 'Zaměněný uživatel',
'splash_switched_back_user' => 'Přepnuto zpět na původního uživatele',
'splash_toogle_group_manager' => 'Manažer skupiny přepnut',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stav/Další stav',
'statistic' => 'Statistika',
@ -1450,6 +1479,7 @@ URL: [url]',
'status_approval_rejected' => 'Návrh zamítnut',
'status_approved' => 'Schválen',
'status_approver_removed' => 'Schvalovatel odstraněn z procesu',
'status_needs_correction' => '',
'status_not_approved' => 'Neschválený',
'status_not_receipted' => '',
'status_not_reviewed' => 'Nezkontrolovaný',
@ -1503,9 +1533,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1519,8 +1552,12 @@ URL: [url]',
'toggle_manager' => 'Přepnout správce',
'toggle_qrcode' => '',
'to_before_from' => 'Datum ukončení nesmí být před datem zahájení',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Transformace pracovního postupu spuštěna',
'transition_triggered_email_body' => 'Transformace pracovního postupu spuštěna
Dokument: [jméno]
@ -1579,12 +1616,12 @@ URL: [url]',
'uploading_zerosize' => 'Nahrávání prázdného souboru. Nahrání zrušeno.',
'used_discspace' => 'Použité místo na disku',
'user' => 'Uživatel',
'userid_groupid' => '',
'userid_groupid' => 'ID uživatel/ID skupiny',
'users' => 'Uživatel',
'users_and_groups' => 'Uživatelé/Skupiny',
'users_done_work' => 'Uživatel ukončil práci',
'user_exists' => 'Uživatel už existuje.',
'user_group' => '',
'user_group' => 'Uživatel/Skupina',
'user_group_management' => 'Správa uživatelů/skupin',
'user_image' => 'Obrázek',
'user_info' => 'Informace o uživateli',
@ -1643,6 +1680,7 @@ URL: [url]',
'workflow_summary' => 'Přehled pracovního postupu',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Přehled uživatelů',
'x_more_objects' => '',
'year_view' => 'Zobrazení roku',
'yes' => 'Ano',
'zh_CN' => 'Čínština (CN)',

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 (2481), dgrutsch (22)
// Translators: Admin (2528), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'Mit dieser Operation können Sie ein Archiv mit allen Dokumenten des DMS erzeugen. Nach der Erstellung wird das Archiv im Datenordner Ihres Servers gespeichert.<br />Warnung: ein menschenlesbares Archiv ist als Server-Backup unbrauchbar.',
'ar_EG' => 'Arabisch',
'assign_approvers' => 'Freigebende zuweisen',
'assign_recipients' => 'Empfänger zuweisen',
'assign_reviewers' => 'Prüfer zuweisen',
'assign_user_property_to' => 'Dokumente einem anderen Benutzer zuweisen',
'assumed_released' => 'Angenommen, freigegeben',
@ -310,7 +311,7 @@ URL: [url]',
'debug' => 'Debug',
'december' => 'Dezember',
'default_access' => 'Standardberechtigung',
'default_keywords' => 'Verfügbare Schlüsselworte',
'default_keywords' => 'Verfügbare Stichworte',
'definitions' => 'Definitionen',
'delete' => 'Löschen',
'details' => 'Details',
@ -324,6 +325,7 @@ URL: [url]',
'documentcontent' => 'Dokumentenversion',
'documents' => 'Dokumente',
'documents_checked_out_by_you' => 'Von mir ausgecheckte Dokumente',
'documents_expired' => 'Abgelaufende Dokumente',
'documents_in_process' => 'Dokumente in Bearbeitung',
'documents_locked' => 'Gesperrte Dokumente',
'documents_locked_by_you' => 'Von mir gesperrte Dokumente',
@ -333,6 +335,10 @@ URL: [url]',
'documents_to_receipt' => 'Empfangsbestätigung erforderlich',
'documents_to_review' => 'Prüfung erforderlich',
'documents_to_revise' => 'Erneute Prüfung erforderlich',
'documents_user_draft' => 'Entwürfe',
'documents_user_expiration' => 'Abgelaufende Dokumente',
'documents_user_no_reception' => 'Dokumente ohne Empfangsbestätigung',
'documents_user_obsolete' => 'Veraltete Dokumente',
'documents_user_reception' => 'Dokumente mit Empfangsbestätigung',
'documents_user_rejected' => 'Abgelehnte Dokumente',
'documents_user_requiring_attention' => 'Diese Dokumente sollte ich mal nachsehen',
@ -389,6 +395,13 @@ Benutzer: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Dokumentenstatus geändert',
'document_title' => 'Dokument \'[documentname]\'',
'document_transfered_email_body' => 'Dokument an anderen Benutzer übertragen
Dokument: [name]
Neuer Besitzer: [newuser]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'document_transfered_email_subject' => '[sitename]: [name] - Dokument übertragen',
'document_updated_email' => 'Dokument aktualisiert',
'document_updated_email_body' => 'Dokument aktualisiert
Dokument: [name]
@ -432,7 +445,7 @@ Der Link ist bis zum [valid] gültig.
'edit' => 'Bearbeiten',
'edit_attributes' => 'Edit attributes',
'edit_comment' => 'Kommentar bearbeiten',
'edit_default_keywords' => 'Schlüsselworte bearbeiten',
'edit_default_keywords' => 'Stichworte bearbeiten',
'edit_document_access' => 'Zugriffsrechte bearbeiten',
'edit_document_notify' => 'Beobachtung von Dokumenten',
'edit_document_props' => 'Bearbeiten',
@ -473,11 +486,13 @@ Der Link ist bis zum [valid] gültig.
'error_remove_folder' => 'Fehler beim Löschen des Ordners',
'error_remove_permission' => 'Fehler beim Entfernen der Berechtigung',
'error_toogle_permission' => 'Fehler beim Ändern der Berechtigung',
'error_transfer_document' => 'Fehler beim Übertragen des Dokuments',
'es_ES' => 'Spanisch',
'event_details' => 'Ereignisdetails',
'exclude_items' => 'Einträge auslassen',
'expired' => 'abgelaufen',
'expired_at_date' => 'Abgelaufen am [datetime]',
'expired_documents' => 'Abgelaufende Dokumente',
'expires' => 'Ablaufdatum',
'expire_by_date' => 'Ablauf nach Datum',
'expire_in_1d' => 'Ablauf in 1 Tag',
@ -553,6 +568,7 @@ URL: [url]',
'fullsearch' => 'Volltext',
'fullsearch_hint' => 'Volltextindex benutzen',
'fulltextsearch_disabled' => 'Volltext-Index ist ausgeschaltet',
'fulltext_converters' => 'Index Dokumentenumwandlung',
'fulltext_info' => 'Volltext-Index Info',
'global_attributedefinitiongroups' => 'Attributgruppen',
'global_attributedefinitions' => 'Attribute',
@ -591,7 +607,6 @@ URL: [url]',
'include_documents' => 'Dokumente miteinbeziehen',
'include_subdirectories' => 'Unterverzeichnisse miteinbeziehen',
'indexing_tasks_in_queue' => 'Indiziervorgänge in der Warteschleife',
'index_converters' => 'Index Dokumentenumwandlung',
'index_done' => 'Fertig',
'index_error' => 'Fehler',
'index_folder' => 'Indiziere Ordner',
@ -599,6 +614,7 @@ URL: [url]',
'index_waiting' => 'Warte',
'individuals' => 'Einzelpersonen',
'indivіduals_in_groups' => 'Mitglieder einer Gruppe',
'info_recipients_tab_not_released' => 'Die Bestätigung des Empfangs für diese Dokumentenversion ist nicht möglich, weil die Version nicht freigegeben ist.',
'inherited' => 'geerbt',
'inherits_access_copy_msg' => 'Berechtigungen kopieren',
'inherits_access_empty_msg' => 'Leere Zugriffsliste',
@ -659,7 +675,7 @@ URL: [url]',
'keep' => 'Beibehalten',
'keep_doc_status' => 'Dokumentenstatus beibehalten',
'keywords' => 'Stichworte',
'keywords_loading' => 'Bitte warten, bis die Schlüsselwortliste geladen ist …',
'keywords_loading' => 'Bitte warten, bis die Stichwortliste geladen ist …',
'keyword_exists' => 'Stichwort besteht bereits',
'ko_KR' => 'Koreanisch',
'language' => 'Sprache',
@ -718,6 +734,7 @@ URL: [url]',
'monday_abbr' => 'Mo',
'monthly' => 'monatlich',
'month_view' => 'Monatsansicht',
'more_objects_loading' => 'Weitere Objekte werden geladen ...',
'move' => 'Verschieben',
'move_clipboard' => 'Zwischenablage in Ordner verschieben',
'move_document' => 'Verschieben',
@ -726,6 +743,7 @@ URL: [url]',
'my_documents' => 'Meine Dokumente',
'my_transmittals' => 'Meine Dokumentenlisten',
'name' => 'Name',
'needs_correction' => 'Korrektur erforderlich',
'needs_workflow_action' => 'Dieses Dokument erfordert eine Aktion. Bitte schauen Sie auf den Workflow-Reiter.',
'network_drive' => 'Netzwerklaufwerk',
'never' => 'nie',
@ -854,6 +872,7 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren
'password_strength' => 'Passwortstärke',
'password_strength_insuffient' => 'Ungenügend starkes Passwort',
'password_wrong' => 'Falsches Passwort',
'pdf_converters' => 'PDF Konvertierer',
'pending_approvals' => 'Ausstehende Freigaben',
'pending_receipt' => 'Ausstehende Empfangsbestätigungen',
'pending_reviews' => 'Ausstehende Prüfungen',
@ -867,6 +886,7 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren
'preview_converters' => 'Vorschau Dokumentenumwandlung',
'preview_images' => 'Vorschaubilder',
'preview_markdown' => 'Markdown',
'preview_pdf' => 'Vorschau als PDF',
'preview_plain' => 'Text',
'previous_state' => 'Voriger Status',
'previous_versions' => 'Vorhergehende Versionen',
@ -982,7 +1002,7 @@ Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'review_request_email_subject' => '[sitename]: [name] - Aufforderung zur Prüfung',
'review_status' => 'Status:',
'review_status' => 'Status',
'review_submit_email' => 'Prüfung ausgeführt',
'review_submit_email_body' => 'Prüfung ausgeführt
Dokument: [name]
@ -995,7 +1015,7 @@ URL: [url]',
'review_submit_email_subject' => '[sitename]: [name] - Prüfung ausgeführt',
'review_summary' => 'Übersicht Prüfungen',
'review_update_failed' => 'Störung bei Aktualisierung des Prüfstatus. Aktualisierung gescheitert.',
'revise_document' => 'Dokument überprüfen',
'revise_document' => 'Wiederholungsprüfung',
'revise_document_on' => 'Nächste Überprüfung des Dokuments am [date]',
'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen',
'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen',
@ -1104,6 +1124,7 @@ URL: [url]',
'select_grp_ind_notification' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_ind_recipients' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_ind_reviewers' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_ind_revisors' => 'Klicken zur Auswahl einer Gruppe',
'select_grp_notification' => 'Klicken zur Auswahl einer Beobachtergruppe',
'select_grp_recipients' => 'Klicken zur Auswahl einer Empfängergruppe',
'select_grp_reviewers' => 'Klicken zur Auswahl einer Prüfgruppe',
@ -1217,13 +1238,15 @@ Name: [username]
'settings_enableConverting' => 'Dokumentenkonvertierung einschalten',
'settings_enableConverting_desc' => 'Ein/Auschalten der automatischen Konvertierung von Dokumenten',
'settings_enableDropFolderList' => 'Liste der Dateien im Ablageordner im Menü',
'settings_enableDropFolderList_desc' => '',
'settings_enableDropFolderList_desc' => 'Schaltet einen Liste der im Ablageordner befindlichen Dateien als Eintrag im Menü ein.',
'settings_enableDropUpload' => 'Schnelles Hochladen einschalten',
'settings_enableDropUpload_desc' => 'Ein/Ausschalten des Bereichs auf der \'View Folder\' Seite zum Hochladen von Dateien per Drag&Drop.',
'settings_enableDuplicateDocNames' => 'Erlaube doppelte Dokumentennamen',
'settings_enableDuplicateDocNames_desc' => 'Erlaube doppelte Dokumentennamen in einem Ordner.',
'settings_enableEmail' => 'E-mail 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.',
'settings_enableFolderTree' => 'Verzeichnisbaum einschalten',
'settings_enableFolderTree_desc' => 'Schaltet den Verzeichnisbaum auf der \'View Folder\' Seite ein oder aus',
'settings_enableFullSearch' => 'Volltextsuche einschalten',
@ -1258,6 +1281,8 @@ Name: [username]
'settings_enableRecursiveCount_desc' => 'Wenn diese Option eingeschaltet ist, wird die Anzahl der Dokumente und Ordner in der Ordner-Ansicht rekursiv, unter Berücksichtigung der Zugriffsrechte ermittelt.',
'settings_enableRevisionWorkflow' => 'Ermögliche Wiederholungsprüfung von Dokumenten',
'settings_enableRevisionWorkflow_desc' => 'Anwählen, um den Workflow der Wiederholungsprüfung von Dokumenten nach einer einstellbaren Zeit zu ermöglichen.',
'settings_enableSelfReceipt' => 'Erlaube Empfangsbestätigung durch angemeldeten Benutzer',
'settings_enableSelfReceipt_desc' => 'Anwählen, um den aktuell angemeldeten Benutzer in der Liste der Empfänger eines Dokuments auswählbar zu machen.',
'settings_enableSelfRevApp' => 'Erlaube Prüfung/Freigabe durch angemeldeten Benutzer',
'settings_enableSelfRevApp_desc' => 'Anwählen, um den aktuell angemeldeten Benutzer in der Liste der Prüfer/Freigeber und für Workflow-Aktionen auswählbar zu machen.',
'settings_enableSessionList' => 'Liste angemeldeter Benutzer im Menü',
@ -1299,6 +1324,8 @@ Name: [username]
'settings_guestID_desc' => 'Id des Gast-Benutzers, wenn man sich als \'guest\' anmeldet.',
'settings_httpRoot' => 'HTTP Wurzelverzeichnis',
'settings_httpRoot_desc' => 'Der relative Pfad in der URL nach der Domain, also ohne http:// und den hostnamen. z.B. wenn die komplette URL http://www.example.com/seeddms/ ist, dann setzen Sie diesen Wert auf \'/seeddms/\'. Wenn die URL http://www.example.com/ ist, tragen Sie \'/\' ein.',
'settings_incItemsPerPage' => 'Zahl der Einträge, die nachgeladen werden',
'settings_incItemsPerPage_desc' => 'Wenn die Anzahl der Ordner und Dokumente beschränkt wird, dann bestimmt dieser Wert die Anzahl der nachzuladenen Objekte, wenn man sich an das Ende der View-Folder Seite bewegt. Ein Wert 0, läd die gleiche Anzahl an Objekten nach, die anfänglich geladen wurden.',
'settings_initialDocumentStatus' => 'Initialer Dokumentenstatus',
'settings_initialDocumentStatus_desc' => 'Dieser STatus wird bei Dokumenten gesetzt, die neu hinzugefügt wurden.',
'settings_initialDocumentStatus_draft' => 'Entwurf',
@ -1329,6 +1356,8 @@ Name: [username]
'settings_maxDirID_desc' => 'Maximale Anzahl der Unterverzeichnisse in einem Verzeichnis. Ändern Sie diesen Wert nur, wenn Sie genau wissen was Sie tun! Voreingestellt ist 0.',
'settings_maxExecutionTime' => 'Max. Ausführungszeit (s)',
'settings_maxExecutionTime_desc' => 'Maximale Zeit in Sekunden bis ein Skript beendet wird.',
'settings_maxItemsPerPage' => 'Max. Anzahl der Einträge auf einer Seite',
'settings_maxItemsPerPage_desc' => 'Begrenzt die Anzahl der Ordner und Dokumente auf der View-Folder Seite. Weitere Objekte werden geladen, wenn man an das Ende der Seite rollt. Setze diesen Wert auf 0, um immer alle Objekte anzuzeigen.',
'settings_maxRecursiveCount' => 'Max. Anzahl Anzahl rekursiver Dokumente/Ordner.',
'settings_maxRecursiveCount_desc' => 'Dies ist die maximale Anzahl der Dokumente und Ordner die auf Zugriffsrechte geprüft werden, wenn rekursiv gezählt wird. Wenn diese Anzahl überschritten wird, wird die Anzahl der Dokumente und Unterordner in der Ordner Ansicht geschätzt.',
'settings_maxSizeForFullText' => 'Maximale Dateigröße für sofortige Indezierung',
@ -1365,8 +1394,12 @@ Name: [username]
'settings_presetExpirationDate_desc' => 'Alle neu hochgeladenen Dokumente bekommen das eingegebene Datum als Ablaufdatum. Das Datum muss der Form entsprechen, wie es von der PHP-Funktion strtotime() verstanden wird, z.B. +5 weeks.',
'settings_previewWidthDetail' => 'Breite der Vorschaubilder (Detail)',
'settings_previewWidthDetail_desc' => 'Breite des Vorschaubildes, das auf der Detailseite angezeigt wird',
'settings_previewWidthDropFolderList' => 'Breite der Vorschaubilder (Ablageordner)',
'settings_previewWidthDropFolderList_desc' => 'Setzt die Breite der Vorschaubilder in der Auswahlliste für die Dateien des Ablageordners.',
'settings_previewWidthList' => 'Breite der Vorschaubilder (Liste)',
'settings_previewWidthList_desc' => 'Breite der Vorschaubilder, die in Listen angezeigt werden',
'settings_previewWidthMenuList' => 'Breite der Vorschaubilder (Menu)',
'settings_previewWidthMenuList_desc' => 'Setzt die Breite der Bilder im Menu der Dateien im Ablageordner.',
'settings_printDisclaimer' => 'Rechtliche Hinweise',
'settings_printDisclaimer_desc' => 'Anwählen, um die rechtlichen Hinweise am Ende jeder Seite anzuzeigen.',
'settings_quota' => 'User\'s quota',
@ -1504,6 +1537,7 @@ Name: [username]
'splash_substituted_user' => 'Benutzer gewechselt',
'splash_switched_back_user' => 'Zum ursprünglichen Benutzer zurückgekehrt',
'splash_toogle_group_manager' => 'Gruppenverwalter gewechselt',
'splash_transfer_document' => 'Dokument übertragen',
'splash_transfer_objects' => 'Objekte übertragen',
'state_and_next_state' => 'Status/Nächster Status',
'statistic' => 'Statistik',
@ -1511,6 +1545,7 @@ Name: [username]
'status_approval_rejected' => 'Entwurf abgelehnt',
'status_approved' => 'freigegeben',
'status_approver_removed' => 'Freigebender wurde vom Prozess ausgeschlossen',
'status_needs_correction' => 'Korrektur erforderlich',
'status_not_approved' => 'keine Freigabe',
'status_not_receipted' => 'Empfang noch nicht bestätigt',
'status_not_reviewed' => 'nicht geprüft',
@ -1564,9 +1599,12 @@ Name: [username]
'timeline_add_version' => 'Neue Version [version]',
'timeline_full_add_file' => '[document]<br />Neuer Anhang',
'timeline_full_add_version' => '[document]<br />Neue Version [version]',
'timeline_full_scheduled_revision' => '[document]<br />Wiederholungsprüfung von Version [version]',
'timeline_full_status_change' => '[document]<br />Version [version]: [status]',
'timeline_scheduled_revision' => 'Wiederholungsprüfung von Version [version]',
'timeline_selected_item' => 'Ausgewähltes Dokument',
'timeline_skip_add_file' => 'Anhang hinzugefügt',
'timeline_skip_scheduled_revision' => 'Geplante Wiederholungsprüfung',
'timeline_skip_status_change_-1' => 'abgelehnt',
'timeline_skip_status_change_-3' => 'abgelaufen',
'timeline_skip_status_change_0' => 'bevorstehende Prüfung',
@ -1580,8 +1618,12 @@ Name: [username]
'toggle_manager' => 'Managerstatus wechseln',
'toggle_qrcode' => 'Zeige/verberge QR-Code',
'to_before_from' => 'Endedatum darf nicht vor dem Startdatum liegen',
'transfer_document' => 'Dokument übertragen',
'transfer_no_read_access' => 'Der Benutzer hat in dem Ordner keine Schreibrechte',
'transfer_no_write_access' => 'Der Benutzer hat in dem Ordner keine Schreibrechte',
'transfer_objects' => 'Objekte übertragen',
'transfer_objects_to_user' => 'Neuer Eigentümer',
'transfer_to_user' => 'Auf Benutzer übertragen',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Document: [name]
@ -1704,6 +1746,7 @@ URL: [url]',
'workflow_summary' => 'Übersicht Workflows',
'workflow_transition_without_user_group' => 'Mindestens eine Transition hat weder einen Benutzer noch eine Gruppe zugewiesen!',
'workflow_user_summary' => 'Übersicht Benutzer',
'x_more_objects' => '[number] weitere Objekte',
'year_view' => 'Jahresansicht',
'yes' => 'Ja',
'zh_CN' => 'Chinesisch (CN)',

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 (226)
// Translators: Admin (229)
$text = array(
'2_factor_auth' => '',
@ -115,6 +115,7 @@ $text = array(
'archive_creation_warning' => '',
'ar_EG' => 'Arabic/Αραβικά',
'assign_approvers' => '',
'assign_recipients' => '',
'assign_reviewers' => '',
'assign_user_property_to' => '',
'assumed_released' => '',
@ -251,7 +252,7 @@ $text = array(
'confirm_rm_dump' => '',
'confirm_rm_event' => '',
'confirm_rm_file' => '',
'confirm_rm_folder' => '',
'confirm_rm_folder' => 'Θέλετε πραγματικα να διαγράψετε το Φάκελο [foldername] kκαι το περιεχόμενό του? ΠΡΟΣΟΧΗ!!! Αυτη η λειτουργία δεν μπορεί να ανακληθεί.',
'confirm_rm_folder_files' => '',
'confirm_rm_group' => '',
'confirm_rm_log' => '',
@ -297,6 +298,7 @@ $text = array(
'documentcontent' => '',
'documents' => 'Έγγραφα',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_in_process' => '',
'documents_locked' => '',
'documents_locked_by_you' => '',
@ -306,6 +308,10 @@ $text = array(
'documents_to_receipt' => '',
'documents_to_review' => '',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => '',
@ -338,6 +344,8 @@ $text = array(
'document_status_changed_email_body' => '',
'document_status_changed_email_subject' => '',
'document_title' => '',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => '',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
@ -410,11 +418,13 @@ $text = array(
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Spanish/Ισπανικά',
'event_details' => '',
'exclude_items' => '',
'expired' => 'Έχει λήξει',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Λήγει',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -466,6 +476,7 @@ $text = array(
'fullsearch' => 'Πλήρης αναζήτηση (full text)',
'fullsearch_hint' => '',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '',
'fulltext_info' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Ιδιότητες',
@ -504,7 +515,6 @@ $text = array(
'include_documents' => '',
'include_subdirectories' => '',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Ταξινόμηση φακέλου',
@ -512,6 +522,7 @@ $text = array(
'index_waiting' => '',
'individuals' => 'Άτομα',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => '',
'inherits_access_copy_msg' => '',
'inherits_access_empty_msg' => '',
@ -631,6 +642,7 @@ $text = array(
'monday_abbr' => 'Δε',
'monthly' => 'Μηνιαία',
'month_view' => '',
'more_objects_loading' => '',
'move' => 'Μετακίνηση',
'move_clipboard' => '',
'move_document' => 'Μετακίνηση εγγράφου',
@ -639,6 +651,7 @@ $text = array(
'my_documents' => 'Τα έγγραφα μου',
'my_transmittals' => '',
'name' => 'Όνομα',
'needs_correction' => '',
'needs_workflow_action' => '',
'network_drive' => '',
'never' => '',
@ -741,6 +754,7 @@ URL: [url]',
'password_strength' => '',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -754,6 +768,7 @@ URL: [url]',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => '',
'previous_versions' => '',
@ -915,6 +930,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => '',
'select_grp_recipients' => '',
'select_grp_reviewers' => '',
@ -1030,6 +1046,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => '',
'settings_enableEmail' => '',
'settings_enableEmail_desc' => '',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => '',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '',
@ -1064,6 +1082,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableSessionList' => '',
@ -1105,6 +1125,8 @@ URL: [url]',
'settings_guestID_desc' => '',
'settings_httpRoot' => '',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1135,6 +1157,8 @@ URL: [url]',
'settings_maxDirID_desc' => '',
'settings_maxExecutionTime' => '',
'settings_maxExecutionTime_desc' => '',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount_desc' => '',
'settings_maxSizeForFullText' => '',
@ -1171,8 +1195,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => '',
'settings_printDisclaimer_desc' => '',
'settings_quota' => '',
@ -1293,7 +1321,7 @@ URL: [url]',
'splash_receipt_update_success' => '',
'splash_removed_from_clipboard' => '',
'splash_rm_attribute' => '',
'splash_rm_document' => '',
'splash_rm_document' => 'Το έγγραφο αφαιρέθηκε',
'splash_rm_download_link' => '',
'splash_rm_folder' => '',
'splash_rm_group' => '',
@ -1310,13 +1338,15 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => '',
'status' => 'κατάσταση',
'status_approval_rejected' => '',
'status_approved' => '',
'status_approver_removed' => '',
'status_needs_correction' => '',
'status_not_approved' => '',
'status_not_receipted' => '',
'status_not_reviewed' => '',
@ -1370,9 +1400,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1386,8 +1419,12 @@ URL: [url]',
'toggle_manager' => '',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',
@ -1496,6 +1533,7 @@ URL: [url]',
'workflow_summary' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '',
'x_more_objects' => '',
'year_view' => '',
'yes' => 'Ναι',
'zh_CN' => '',

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 (1608), dgrutsch (9), netixw (14)
// Translators: Admin (1650), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -67,7 +67,7 @@ URL: [url]',
'add_multiple_files' => 'Add multiple files (will use filename as document name)',
'add_receipt' => 'Acknowledge reception',
'add_review' => 'Add review',
'add_revision' => 'Add approval',
'add_revision' => 'Add revision',
'add_role' => 'Add new role',
'add_subfolder' => 'Add subfolder',
'add_to_clipboard' => 'Add to clipboard',
@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'With this operation you can create archive containing the files of entire DMS folders. After the creation the archive will be saved in the data folder of your server.<br>WARNING: an archive created as human readable will be unusable as server backup.',
'ar_EG' => 'Arabic',
'assign_approvers' => 'Assign Approvers',
'assign_recipients' => 'Assign Recipients',
'assign_reviewers' => 'Assign Reviewers',
'assign_user_property_to' => 'Assign user\'s properties to',
'assumed_released' => 'Assumed released',
@ -324,6 +325,7 @@ URL: [url]',
'documentcontent' => 'Document content',
'documents' => 'Documents',
'documents_checked_out_by_you' => 'Documents checked out by you',
'documents_expired' => 'Expired documents',
'documents_in_process' => 'Documents In Process',
'documents_locked' => 'Locked documents',
'documents_locked_by_you' => 'Documents locked by you',
@ -333,6 +335,10 @@ URL: [url]',
'documents_to_receipt' => 'Documents awaiting to confirm the receipt',
'documents_to_review' => 'Documents awaiting your review',
'documents_to_revise' => 'Documents awaiting your revision',
'documents_user_draft' => 'Drafts',
'documents_user_expiration' => 'Expired documents',
'documents_user_no_reception' => 'Documents without reception',
'documents_user_obsolete' => 'Obsolete documents',
'documents_user_reception' => 'Documents awaiting reception',
'documents_user_rejected' => 'Rejected documents',
'documents_user_requiring_attention' => 'Documents owned by you that require attention',
@ -381,21 +387,28 @@ User: [username]
URL: [url]',
'document_renamed_email_subject' => '[sitename]: [name] - Document renamed',
'document_status_changed_email' => 'Document status changed',
'document_status_changed_email_body' => 'Document status changed
Document: [name]
Status: [status]
Parent folder: [folder_path]
User: [username]
'document_status_changed_email_body' => 'Document status changed
Document: [name]
Status: [status]
Parent folder: [folder_path]
User: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Document status changed',
'document_title' => 'Document \'[documentname]\'',
'document_updated_email' => 'Document updated',
'document_updated_email_body' => 'Document updated
'document_transfered_email_body' => 'Document transfer to other user
Document: [name]
New owner: [newuser]
Parent folder: [folder_path]
User: [username]
Comment: [comment]
Version comment: [version_comment]
URL: [url]',
'document_transfered_email_subject' => '[sitename]: [name] - Transfer Dokument',
'document_updated_email' => 'Document updated',
'document_updated_email_body' => 'Document updated
Document: [name]
Parent folder: [folder_path]
User: [username]
Comment: [comment]
Version comment: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Document updated',
'does_not_expire' => 'Does not expire',
@ -474,11 +487,13 @@ The link is valid until [valid].
'error_remove_folder' => 'Error while deleting folder',
'error_remove_permission' => 'Error while remove permission',
'error_toogle_permission' => 'Error while changing permission',
'error_transfer_document' => 'Error while transfering document',
'es_ES' => 'Spanish',
'event_details' => 'Event details',
'exclude_items' => 'Exclude items',
'expired' => 'Expired',
'expired_at_date' => 'Expired at [datetime]',
'expired_documents' => 'Expired documents',
'expires' => 'Expires',
'expire_by_date' => 'Expires by date',
'expire_in_1d' => 'Expires in 1 day',
@ -554,6 +569,7 @@ URL: [url]',
'fullsearch' => 'Full text search',
'fullsearch_hint' => 'Use fulltext index',
'fulltextsearch_disabled' => 'Fulltext index is disabled',
'fulltext_converters' => 'Index document conversion',
'fulltext_info' => 'Fulltext index info',
'global_attributedefinitiongroups' => 'Attribute groups',
'global_attributedefinitions' => 'Attributes',
@ -592,7 +608,6 @@ URL: [url]',
'include_documents' => 'Include documents',
'include_subdirectories' => 'Include subdirectories',
'indexing_tasks_in_queue' => 'Indexing tasks in queue',
'index_converters' => 'Index document conversion',
'index_done' => 'Done',
'index_error' => 'Error',
'index_folder' => 'Index folder',
@ -600,6 +615,7 @@ URL: [url]',
'index_waiting' => 'Waiting',
'individuals' => 'Individuals',
'indivіduals_in_groups' => 'Members of a group',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'inherited' => 'inherited',
'inherits_access_copy_msg' => 'Copy inherited access list',
'inherits_access_empty_msg' => 'Start with empty access list',
@ -719,6 +735,7 @@ URL: [url]',
'monday_abbr' => 'Mo',
'monthly' => 'Monthly',
'month_view' => 'Month view',
'more_objects_loading' => 'More objects loading ...',
'move' => 'Move',
'move_clipboard' => 'Move clipboard',
'move_document' => 'Move document',
@ -727,6 +744,7 @@ URL: [url]',
'my_documents' => 'My Documents',
'my_transmittals' => 'My Transmittals',
'name' => 'Name',
'needs_correction' => 'Needs correction',
'needs_workflow_action' => 'This document requires your attention. Please check the workflow tab.',
'network_drive' => 'Network drive',
'never' => 'never',
@ -856,6 +874,7 @@ If you have still problems to login, then please contact your administrator.',
'password_strength' => 'Password strength',
'password_strength_insuffient' => 'Insufficient password strength',
'password_wrong' => 'Wrong password',
'pdf_converters' => 'PDF converters',
'pending_approvals' => 'Pending approvals',
'pending_receipt' => 'Pending receipts',
'pending_reviews' => 'Pending reviews',
@ -869,6 +888,7 @@ If you have still problems to login, then please contact your administrator.',
'preview_converters' => 'Preview document conversion',
'preview_images' => 'Preview images',
'preview_markdown' => 'Markdown',
'preview_pdf' => 'Preview as PDF',
'preview_plain' => 'Text',
'previous_state' => 'Previous state',
'previous_versions' => 'Previous versions',
@ -984,7 +1004,7 @@ Parent folder: [folder_path]
User: [username]
URL: [url]',
'review_request_email_subject' => '[sitename]: [name] - Review request',
'review_status' => 'Review status:',
'review_status' => 'Review status',
'review_submit_email' => 'Submitted review',
'review_submit_email_body' => 'Submitted review
Document: [name]
@ -1056,7 +1076,7 @@ URL: [url]',
'role_info' => 'Information',
'role_management' => 'Role management',
'role_name' => 'Name',
'role_type' => 'Typ of role',
'role_type' => 'Type of role',
'role_user' => 'User',
'ro_RO' => 'Romanian',
'run_subworkflow' => 'Run sub workflow',
@ -1099,6 +1119,7 @@ URL: [url]',
'select_grp_ind_notification' => 'Click to select group',
'select_grp_ind_recipients' => 'Click to select group',
'select_grp_ind_reviewers' => 'Click to select group',
'select_grp_ind_revisors' => 'Click to select group',
'select_grp_notification' => 'Click to select group notification',
'select_grp_recipients' => 'Click to select group of recipients',
'select_grp_reviewers' => 'Click to select group reviewer',
@ -1212,13 +1233,15 @@ Name: [username]
'settings_enableConverting' => 'Enable Converting',
'settings_enableConverting_desc' => 'Enable/disable converting of files',
'settings_enableDropFolderList' => 'Enable list of files in drop folder in menu',
'settings_enableDropFolderList_desc' => '',
'settings_enableDropFolderList_desc' => 'Turn on a list of files in the drop folder. The list is shown in the main menu.',
'settings_enableDropUpload' => 'Enable Fast Upload',
'settings_enableDropUpload_desc' => 'Enable/Disable the drop area on the \'View Folder\' page for uploading files by Drag&Drop.',
'settings_enableDuplicateDocNames' => 'Allow duplicate document names',
'settings_enableDuplicateDocNames_desc' => 'Allows to have duplicate document names in a folder.',
'settings_enableEmail' => 'Enable E-mail',
'settings_enableEmail_desc' => 'Enable/disable automatic email notification',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Enable Folder Tree',
'settings_enableFolderTree_desc' => 'Enable/Disable the folder tree on the \'View Folder\' page',
'settings_enableFullSearch' => 'Enable Full text search',
@ -1253,6 +1276,8 @@ Name: [username]
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRevisionWorkflow' => 'Enable revision of documents',
'settings_enableRevisionWorkflow_desc' => 'Enable, to be able to run the workflow for revising a document after a given period of time.',
'settings_enableSelfReceipt' => 'Allow reception for logged in user',
'settings_enableSelfReceipt_desc' => 'Enable this if you want the currently logged in user to be listed as recipient for a document.',
'settings_enableSelfRevApp' => 'Allow review/approval for logged in user',
'settings_enableSelfRevApp_desc' => 'Enable this if you want the currently logged in user to be listed as reviewers/approvers and for workflow transitions.',
'settings_enableSessionList' => 'Enable list of users online in menu',
@ -1294,6 +1319,8 @@ Name: [username]
'settings_guestID_desc' => 'ID of guest-user used when logged in as guest (mostly no need to change)',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'The relative path in the URL, after the domain part. Do not include the http:// prefix or the web host name. e.g. If the full URL is http://www.example.com/seeddms/, set \'/seeddms/\'. If the URL is http://www.example.com/, set \'/\'',
'settings_incItemsPerPage' => 'Number of entries loaded at end of page',
'settings_incItemsPerPage_desc' => 'If the number of folders and documents is limited, this will set the number of additionally loaded objects, when scrolling down to the bottom of the view folder page. Setting this to 0, will load the same number of objects as has been loaded initially.',
'settings_initialDocumentStatus' => 'Initial document status',
'settings_initialDocumentStatus_desc' => 'This status will be set when a document is added.',
'settings_initialDocumentStatus_draft' => 'Draft',
@ -1324,6 +1351,8 @@ Name: [username]
'settings_maxDirID_desc' => 'Maximum number of sub-directories per parent directory. Do not change this value unless you know what you do! Default: 0.',
'settings_maxExecutionTime' => 'Max Execution Time (s)',
'settings_maxExecutionTime_desc' => 'This sets the maximum time in seconds a script is allowed to run before it is terminated by the parse',
'settings_maxItemsPerPage' => 'Max. number of entries on a page',
'settings_maxItemsPerPage_desc' => 'Restricts the number of folders and documents shown on the view folder page. Further objects will be loaded when scrolling to the end of the page. Set to 0 to always show all objects.',
'settings_maxRecursiveCount' => 'Max. number of recursive document/folder count',
'settings_maxRecursiveCount_desc' => 'This is the maximum number of documents or folders that will be checked for access rights, when recursively counting objects. If this number is exceeded, the number of documents and folders in the folder view will be estimated.',
'settings_maxSizeForFullText' => 'Maximum filesize for instant indexing',
@ -1360,8 +1389,12 @@ Name: [username]
'settings_presetExpirationDate_desc' => 'All new uploaded documents will have an expiration date set to this value. The date entered can be specified as understood by PHP\'s strtotime() function, e.g. +5 weeks.',
'settings_previewWidthDetail' => 'Width of preview images (detail)',
'settings_previewWidthDetail_desc' => 'Width of preview image shown on details page',
'settings_previewWidthDropFolderList' => 'Width of preview images (dropfolder list)',
'settings_previewWidthDropFolderList_desc' => 'Width of preview images shown in list when selecting a file from the drop folder.',
'settings_previewWidthList' => 'Width of preview images (list)',
'settings_previewWidthList_desc' => 'Width of preview images shown in lists',
'settings_previewWidthMenuList' => 'Width of preview images (menu list)',
'settings_previewWidthMenuList_desc' => 'Width of preview images shown as items in drop folder menu.',
'settings_printDisclaimer' => 'Print Disclaimer',
'settings_printDisclaimer_desc' => 'If enabled, the disclaimer message will be printed on the bottom of every page',
'settings_quota' => 'User\'s quota',
@ -1499,6 +1532,7 @@ Name: [username]
'splash_substituted_user' => 'Substituted user',
'splash_switched_back_user' => 'Switched back to original user',
'splash_toogle_group_manager' => 'Group manager toogled',
'splash_transfer_document' => 'Document transfered',
'splash_transfer_objects' => 'Objects transfered',
'state_and_next_state' => 'State/Next state',
'statistic' => 'Statistic',
@ -1506,6 +1540,7 @@ Name: [username]
'status_approval_rejected' => 'Draft rejected',
'status_approved' => 'Approved',
'status_approver_removed' => 'Approver removed from process',
'status_needs_correction' => 'Needs correction',
'status_not_approved' => 'Not approved',
'status_not_receipted' => 'Not receipted yet',
'status_not_reviewed' => 'Not reviewed',
@ -1559,9 +1594,12 @@ Name: [username]
'timeline_add_version' => 'New version [version]',
'timeline_full_add_file' => '[document]<br />New Attachment',
'timeline_full_add_version' => '[document]<br />New version [version]',
'timeline_full_scheduled_revision' => '[document]<br />Revision of version [version]',
'timeline_full_status_change' => '[document]<br />Version [version]: [status]',
'timeline_scheduled_revision' => 'Revision of version [version]',
'timeline_selected_item' => 'Selected document',
'timeline_skip_add_file' => 'attachment added',
'timeline_skip_scheduled_revision' => 'Scheduled revision',
'timeline_skip_status_change_-1' => 'rejected',
'timeline_skip_status_change_-3' => 'expired',
'timeline_skip_status_change_0' => 'pending review',
@ -1575,8 +1613,12 @@ Name: [username]
'toggle_manager' => 'Toggle manager',
'toggle_qrcode' => 'Show/hide QR code',
'to_before_from' => 'End date may not be before start date',
'transfer_document' => 'Transfer document',
'transfer_no_read_access' => 'The user does not have read access in the folder',
'transfer_no_write_access' => 'The user does not have write access in the folder',
'transfer_objects' => 'Transfer objects',
'transfer_objects_to_user' => 'New owner',
'transfer_to_user' => 'Transfer to user',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Document: [name]
@ -1699,6 +1741,7 @@ URL: [url]',
'workflow_summary' => 'Workflow summary',
'workflow_transition_without_user_group' => 'At least one of the transitions has neither a user nor a group!',
'workflow_user_summary' => 'User summary',
'x_more_objects' => '[number] more objects',
'year_view' => 'Year View',
'yes' => 'Yes',
'zh_CN' => 'Chinese (CN)',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: acabello (20), Admin (1036), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (1053), angel (123), francisco (2), jaimem (14)
$text = array(
'2_factor_auth' => '',
@ -131,6 +131,7 @@ URL: [url]',
'archive_creation_warning' => 'Con esta operación usted puede crear un archivo que contenga los ficheros de las carpetas del DMS completo. Después de crearlo el archivo se guardará en la carpeta de datos de su servidor.<br>CUIDADO: un fichero creado como legible por humanos no podrá usarse como copia de seguridad del servidor.',
'ar_EG' => 'Arabe',
'assign_approvers' => 'Asignar aprobadores',
'assign_recipients' => '',
'assign_reviewers' => 'Asignar revisores',
'assign_user_property_to' => 'Asignar propiedades de usuario a',
'assumed_released' => 'Supuestamente publicado',
@ -286,8 +287,8 @@ URL: [url]',
'confirm_update_transmittalitem' => '',
'content' => 'Contenido',
'continue' => 'Continuar',
'converter_new_cmd' => '',
'converter_new_mimetype' => '',
'converter_new_cmd' => 'Comando',
'converter_new_mimetype' => 'Nuevo mime type',
'copied_to_checkout_as' => '',
'create_download_link' => '',
'create_fulltext_index' => 'Crear índice de texto completo',
@ -319,6 +320,7 @@ URL: [url]',
'documentcontent' => 'Contenido del documento',
'documents' => 'Documentos',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Documentos Caducos',
'documents_in_process' => 'Documentos en proceso',
'documents_locked' => '',
'documents_locked_by_you' => 'Documentos bloqueados por usted',
@ -328,8 +330,12 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documentos en espera de revisión de usuarios',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_rejected' => 'Documentos rechazados',
'documents_user_requiring_attention' => 'Documentos de su propiedad que requieren atención',
'documents_with_notification' => '',
'document_already_checkedout' => '',
@ -384,6 +390,8 @@ Usuario: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Estado del documento modificado',
'document_title' => 'Documento \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Documento actualizado',
'document_updated_email_body' => 'Documento actualizado
Documento: [name]
@ -459,14 +467,16 @@ URL: [url]',
'error_no_folder_selected' => 'Ninguna carpeta seleccionada',
'error_occured' => 'Ha ocurrido un error',
'error_remove_document' => '',
'error_remove_folder' => '',
'error_remove_folder' => 'Error al eliminar la carpeta',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Castellano',
'event_details' => 'Detalles del evento',
'exclude_items' => 'Registros excluidos',
'expired' => 'Caducado',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Caduca',
'expire_by_date' => 'Fecha de expiración',
'expire_in_1d' => '',
@ -542,6 +552,7 @@ URL: [url]',
'fullsearch' => 'Búsqueda en texto completo',
'fullsearch_hint' => 'Utilizar índice de texto completo',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Conversión de índice de documentos',
'fulltext_info' => 'Información de índice de texto completo',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Definición de atributos',
@ -579,8 +590,7 @@ URL: [url]',
'include_content' => '',
'include_documents' => 'Incluir documentos',
'include_subdirectories' => 'Incluir subcarpetas',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Conversión de índice de documentos',
'indexing_tasks_in_queue' => 'Tareas de indexación en cola',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Índice de carpetas',
@ -588,6 +598,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Individuales',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'heredado',
'inherits_access_copy_msg' => 'Copiar lista de acceso heredado',
'inherits_access_empty_msg' => 'Empezar con una lista de acceso vacía',
@ -707,6 +718,7 @@ URL: [url]',
'monday_abbr' => 'L',
'monthly' => 'Mensual',
'month_view' => 'Vista del Mes',
'more_objects_loading' => '',
'move' => 'Mover',
'move_clipboard' => 'Mover portapaprles',
'move_document' => 'Mover documento',
@ -715,6 +727,7 @@ URL: [url]',
'my_documents' => 'Mis documentos',
'my_transmittals' => '',
'name' => 'Nombre',
'needs_correction' => '',
'needs_workflow_action' => 'Este documento requiere su atención. Por favor chequee la pestaña de flujo de trabajo.',
'network_drive' => '',
'never' => 'nunca',
@ -807,7 +820,7 @@ URL: [url]',
'only_jpg_user_images' => 'Sólo puede usar imágenes .jpg como imágenes de usuario',
'order_by_sequence_off' => 'El orden secuencial está desactivado en la configuración. Si quiere utilizar este parámetro, deberá activarlo.',
'original_filename' => 'Nombre de fichero original',
'overall_indexing_progress' => '',
'overall_indexing_progress' => 'Proceso de indexación global',
'owner' => 'Propietario',
'ownership_changed_email' => 'Propietario modificado',
'ownership_changed_email_body' => 'Propietario modificado
@ -844,6 +857,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'password_strength' => 'Fortaleza de la contraseña',
'password_strength_insuffient' => 'Insuficiente Seguridad de la contraseña',
'password_wrong' => 'Contraseña incorrecta',
'pdf_converters' => 'Convertidores a PDF',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -854,9 +868,10 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'possible_substitutes' => '',
'preset_expires' => 'Establece caducidad',
'preview' => '',
'preview_converters' => '',
'preview_converters' => 'Vista previa del documento convertido',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Estado anterior',
'previous_versions' => 'Versiones anteriores',
@ -1054,6 +1069,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Clic para seleccionar la notificación grupal',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Haga Click para seleccionar grupo de revisores',
@ -1092,7 +1108,7 @@ URL: [url]',
'settings_autoLoginUser_desc' => '',
'settings_available_languages' => 'Idiomas disponibles',
'settings_available_languages_desc' => 'Unicamente los lenguages seleccionados seran cargados y mostrados en el selector de lenguages. El lenguage por defecto siempre sera cargado',
'settings_backupDir' => '',
'settings_backupDir' => 'Directorio de copia de seguridad',
'settings_backupDir_desc' => '',
'settings_cacheDir' => 'Carpeta caché',
'settings_cacheDir_desc' => 'Donde están archivadas las imágenes anteriores (mejor elegir una carpeta que no sea accesible a través de su servidor web)',
@ -1169,6 +1185,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Permite tener un nombre de documento duplicado en una carpeta.',
'settings_enableEmail' => 'Habilitar E-mail',
'settings_enableEmail_desc' => 'Habilitar/Deshabilitar notificación automática por correo electrónico',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Habilitar árbol de carpetas',
'settings_enableFolderTree_desc' => 'Falso para no mostrar el árbol de carpetas',
'settings_enableFullSearch' => 'Habilitar búsqueda de texto completo',
@ -1183,7 +1201,7 @@ URL: [url]',
'settings_enableLanguageSelector_desc' => 'Mostrar selector de lenguaje para usuario despues de identificarse.',
'settings_enableLargeFileUpload' => 'Habilitar la carga de ficheros grandes',
'settings_enableLargeFileUpload_desc' => 'Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.',
'settings_enableMenuTasks' => '',
'settings_enableMenuTasks' => 'Activar en el menú la lista de tareas',
'settings_enableMenuTasks_desc' => '',
'settings_enableMultiUpload' => 'Permitir subir múltiples archivos',
'settings_enableMultiUpload_desc' => '',
@ -1203,16 +1221,18 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Permitir al usuario identificado revisar/aprobar.',
'settings_enableSelfRevApp_desc' => 'Habilitar esto si quiere que el usuario identificado sea listado como revisor/aprobador y para las transiciones del flujo de trabajo.',
'settings_enableSessionList' => '',
'settings_enableSessionList' => 'Activar en el menú la lista de usuarios conectados',
'settings_enableSessionList_desc' => '',
'settings_enableThemeSelector' => 'Selección de temas (skins)',
'settings_enableThemeSelector_desc' => 'Habilitar/deshabilitar la selección de temas en la página de login',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => 'Permitir edición de revisión/aprobación existente',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUpdateRevApp_desc' => 'Habilite si el usuario que ha hecho la revisión/aprobación puede cambiar de decisión siempre que el flujo de trabajo no haya culminado.',
'settings_enableUserImage' => 'Habilitar imágenes de usuario',
'settings_enableUserImage_desc' => 'Habilitar imágenes de usuario',
'settings_enableUsersView' => 'Habilitar vista de usuarios',
@ -1244,6 +1264,8 @@ URL: [url]',
'settings_guestID_desc' => 'ID del usuario invitado cuando se conecta como invitado (mayormente no necesita cambiarlo)',
'settings_httpRoot' => 'Raíz Http',
'settings_httpRoot_desc' => 'La ruta relativa de la URL, después de la parte del servidor. No incluir el prefijo http:// o el nombre del servidor. Por ejemplo, si la URL completa es http://www.example.com/seeddms/, configure «/seeddms/». Si la URL completa es http://www.example.com/, configure «/»',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1274,11 +1296,13 @@ URL: [url]',
'settings_maxDirID_desc' => 'Número máximo de subcarpetas por carpeta principal. Por defecto: 0.',
'settings_maxExecutionTime' => 'Tiempo máximo de ejecución (s)',
'settings_maxExecutionTime_desc' => 'Esto configura el tiempo máximo en segundos que un script puede estar ejectutándose antes de que el analizador lo pare',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Número máximo del contador de carpetas/documentos recursivos',
'settings_maxRecursiveCount_desc' => 'Este es el número máximo de documentos o carpetas que pueden ser revisados con derechos de acceso, contando objetos recursivos. Si este número es excedido , el número de carpetas y documentos en la vista de carpeta será estimado.',
'settings_maxSizeForFullText' => 'Tamaño máximo del fichero para el indexado inmediato',
'settings_maxSizeForFullText_desc' => 'Todo documento nuevo menor que el tamaño configurado será indexado completamente después de su subida. En los demás casos se indexarán solo los metadatos.',
'settings_maxUploadSize' => '',
'settings_maxUploadSize' => 'Tamaño máximo de subida archivos',
'settings_maxUploadSize_desc' => '',
'settings_more_settings' => 'Configure más parámetros. Acceso por defecto: admin/admin',
'settings_notfound' => 'No encontrado',
@ -1310,8 +1334,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Todos los documentos subidos tendrán esta fecha de caducidad. La fecha puede establecerse con una expresión comprensible para la función strtotime() de PHP, como \'+5 weeks\'',
'settings_previewWidthDetail' => 'Ancho de las imágenes de vista en miniatura (detalle)',
'settings_previewWidthDetail_desc' => 'Ancho de las imágenes de vista en miniatura que se muestran en el detalle del documento',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Ancho de las imágenes de vista en miniatura (listas)',
'settings_previewWidthList_desc' => 'Ancho de las imágenes de vista en miniatura que se muestran en las listas',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Mostrar renuncia',
'settings_printDisclaimer_desc' => 'Si es Verdadero el mensaje de renuncia de los ficheros lang.inc se mostratá al final de la página',
'settings_quota' => 'Cuota de usuario',
@ -1327,7 +1355,7 @@ URL: [url]',
'settings_SaveError' => 'Error guardando archivo de configuración',
'settings_Server' => 'Configuración del servidor',
'settings_showFullPreview' => 'Visualizar documento completo',
'settings_showFullPreview_desc' => '',
'settings_showFullPreview_desc' => 'Habilitar/deshabilitar una vista previa completa del documento en la página de detalles, siempre y cuando el navegador lo permita.',
'settings_showMissingTranslations' => 'Mostrar traducciones faltantes',
'settings_showMissingTranslations_desc' => 'Listar todos los términos pendientes de traducción de esta página al final de la misma. En entorno productivo no activar esta función',
'settings_showSingleSearchHit' => '',
@ -1449,6 +1477,7 @@ URL: [url]',
'splash_substituted_user' => 'Usuario sustituido',
'splash_switched_back_user' => 'Cambió de nuevo al usuario original',
'splash_toogle_group_manager' => 'Administrador de grupo activado',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Estado/Estado siguiente',
'statistic' => 'Estadística',
@ -1456,6 +1485,7 @@ URL: [url]',
'status_approval_rejected' => 'Borrador rechazado',
'status_approved' => 'Aprobado',
'status_approver_removed' => 'Aprobador eliminado del proceso',
'status_needs_correction' => '',
'status_not_approved' => 'Sin aprobar',
'status_not_receipted' => '',
'status_not_reviewed' => 'Sin revisar',
@ -1509,9 +1539,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '[document<br />nuevo anexo',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Versión [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'anexos agregados',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rechazado',
'timeline_skip_status_change_-3' => 'expirado',
'timeline_skip_status_change_0' => 'revisiones pendientes',
@ -1525,8 +1558,12 @@ URL: [url]',
'toggle_manager' => 'Intercambiar mánager',
'toggle_qrcode' => '',
'to_before_from' => 'La fecha de finalización no debe ser anterior a la de inicio',
'transfer_document' => 'Transferir documento',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Documento: [name]
@ -1649,6 +1686,7 @@ URL: [url]',
'workflow_summary' => 'Resumen Flujo de Trabajo',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Resumen Usuario',
'x_more_objects' => '[number] más objetos',
'year_view' => 'Vista del año',
'yes' => 'Sí',
'zh_CN' => 'Chino (CN)',

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 (1063), jeromerobert (50), lonnnew (9), Oudiceval (275)
// Translators: Admin (1070), jeromerobert (50), lonnnew (9), Oudiceval (477)
$text = array(
'2_factor_auth' => 'Authentification forte',
@ -34,7 +34,7 @@ $text = array(
'access_mode_all' => 'Contrôle total',
'access_mode_none' => 'Aucun accès',
'access_mode_read' => 'Lecture',
'access_mode_readwrite' => 'Lecture-Ecriture',
'access_mode_readwrite' => 'Lecture-écriture',
'access_permission_changed_email' => 'Permission modifiée',
'access_permission_changed_email_body' => 'Permission modifiée
Document: [name]
@ -45,7 +45,7 @@ URL: [url]',
'according_settings' => 'Paramètres en fonction',
'action' => 'Action',
'actions' => 'Actions',
'action_approve' => 'Aprouver',
'action_approve' => 'Approuver',
'action_complete' => 'Compléter',
'action_is_complete' => 'Complet',
'action_is_not_complete' => 'Non complet',
@ -53,22 +53,22 @@ URL: [url]',
'action_review' => 'Vérifier',
'action_revise' => 'Réviser',
'add' => 'Ajouter',
'add_approval' => 'Soumettre approbation',
'add_attrdefgroup' => '',
'add_approval' => 'Confirmer lapprobation',
'add_attrdefgroup' => 'Ajouter un nouveau groupe dattributs',
'add_document' => 'Ajouter un document',
'add_document_link' => 'Ajouter un lien',
'add_document_notify' => 'Assigner une notification',
'add_doc_reviewer_approver_warning' => 'N.B. Les documents sont automatiquement marqués comme publiés si il n\'y a pas de correcteur ou d\'approbateur désigné.',
'add_doc_reviewer_approver_warning' => 'N.B. Les documents sont automatiquement marqués comme publiés sil ny a pas dexaminateur ou dapprobateur désigné.',
'add_doc_workflow_warning' => 'N.B. Les documents sont automatiquement marqués comme publiés si aucun workflow est désigné.',
'add_event' => 'Ajouter un événement',
'add_group' => 'Ajouter un groupe',
'add_member' => 'Ajouter un membre',
'add_multiple_documents' => 'Ajouter plusieurs documents',
'add_multiple_files' => 'Ajouter plusieurs fichiers (le nom du fichier servira de nom de document)',
'add_receipt' => '',
'add_review' => 'Soumettre la correction',
'add_revision' => '',
'add_role' => '',
'add_receipt' => 'Confirmer la réception',
'add_review' => 'Confirmer la vérification',
'add_revision' => 'Confirmer lapprobation',
'add_role' => 'Ajouter un rôle',
'add_subfolder' => 'Ajouter un sous-dossier',
'add_to_clipboard' => 'Ajouter au presse-papiers',
'add_to_transmittal' => '',
@ -88,14 +88,14 @@ URL: [url]',
'already_subscribed' => 'Déjà abonné',
'and' => 'et',
'apply' => 'Appliquer',
'approvals_accepted' => '',
'approvals_and_reviews_accepted' => '',
'approvals_and_reviews_not_touched' => '',
'approvals_and_reviews_rejected' => '',
'approvals_not_touched' => '',
'approvals_rejected' => '',
'approvals_without_group' => '',
'approvals_without_user' => '',
'approvals_accepted' => '[no_approvals] approbations déjà confirmées',
'approvals_and_reviews_accepted' => '[no_approvals] approbations et [no_reviews] vérifications déjà confirmées',
'approvals_and_reviews_not_touched' => '[no_approvals] approbations et [no_reviews] vérifications non amorcées',
'approvals_and_reviews_rejected' => '[no_approvals] approbations et [no_reviews] vérifications déjà rejetées',
'approvals_not_touched' => '[no_approvals] approbations non amorcées',
'approvals_rejected' => '[no_approvals] approbations déjà rejetées',
'approvals_without_group' => 'Approbations sans groupe',
'approvals_without_user' => 'Approbations sans utilisateur',
'approval_deletion_email' => 'Demande d\'approbation supprimée',
'approval_deletion_email_body' => 'Demande d\'approbation supprimée
Document : [name]
@ -116,7 +116,7 @@ Utilisateur: [username]
URL: [url]',
'approval_request_email_subject' => '[sitename]: [name] - Demande d\'approbation',
'approval_status' => 'Statut d\'approbation',
'approval_submit_email' => '',
'approval_submit_email' => 'Approbation d\'un document',
'approval_submit_email_body' => 'Approbation d\'un document
Document : [name]
Version : [version]
@ -126,20 +126,21 @@ Commentaire : [comment]
Utilisateur : [username]
URL : [url]',
'approval_submit_email_subject' => '[sitename]: [name] - Approbation soumise',
'approval_summary' => 'Sommaire d\'approbation',
'approval_summary' => 'Vue densemble approbation',
'approval_update_failed' => 'Erreur de la mise à jour du statut d\'approbation. Echec de la mise à jour.',
'approvers' => 'Approbateurs',
'approver_already_assigned' => 'Lutilisateur est déjà assigné comme approbateur.',
'approver_already_removed' => '',
'approver_already_removed' => 'Lapprobateur a déjà été retiré du processus dapprobation ou a déjà soumis lapprobation.',
'april' => 'Avril',
'archive_creation' => 'Créer une archive',
'archive_creation_warning' => 'Avec cette fonction, vous pouvez créer une archive contenant les fichiers de tous les dossiers DMS. Après la création, l\'archive sera sauvegardée dans le dossier de données de votre serveur.<br> AVERTISSEMENT: Une archive créée ainsi sera inutilisable en tant que sauvegarde du serveur.',
'ar_EG' => 'Arabe Égypte',
'assign_approvers' => 'Approbateurs désignés',
'assign_reviewers' => 'Correcteurs désignés',
'assign_recipients' => '',
'assign_reviewers' => 'Examinateurs désignés',
'assign_user_property_to' => 'Assigner les propriétés de l\'utilisateur à',
'assumed_released' => 'Supposé publié',
'attrdefgroup_management' => '',
'attrdefgroup_management' => 'Gestion des groupes dattributs',
'attrdefgrp_show_detail' => 'Détails',
'attrdefgrp_show_list' => 'Liste',
'attrdefgrp_show_search' => 'Recherche',
@ -152,7 +153,7 @@ URL : [url]',
'attrdef_minvalues' => 'Nombre minimum de valeurs',
'attrdef_min_greater_max' => 'Le nombre minimum de valeurs est supérieur au maximum',
'attrdef_multiple' => 'Permettre des valeurs multiples',
'attrdef_multiple_needs_valueset' => '',
'attrdef_multiple_needs_valueset' => 'Une définition dattribut à valeurs multiples nécessite un ensemble de valeurs.',
'attrdef_must_be_multiple' => 'L\'attribut a plusieurs valeurs mais n\'est pas définit comme possédant des valeurs multiples',
'attrdef_name' => 'Nom',
'attrdef_noname' => 'Le nom d\'attribut est manquant',
@ -178,7 +179,7 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Attribut changé',
'attribute_count' => 'Nombre d\'utilisations',
'attribute_value' => 'Valeur de l\'attribut',
'attribute_value_not_in_valueset' => '',
'attribute_value_not_in_valueset' => 'Valeur en dehors de lensemble',
'attr_malformed_boolean' => 'La valeur « [value] » de lattribut « [attrname] » nest pas un booléen valide.',
'attr_malformed_date' => 'La valeur « [value] » de lattribut « [attrname] » nest pas une date valide.',
'attr_malformed_email' => 'La valeur « [value] » de lattribut « [attrname] » nest pas une adresse e-mail valide.',
@ -207,12 +208,12 @@ URL: [url]',
'calendar_week' => 'Semaine',
'cancel' => 'Annuler',
'cannot_assign_invalid_state' => 'Impossible de modifier un document obsolète ou rejeté',
'cannot_change_final_states' => 'Attention: Vous ne pouvez pas modifier le statut d\'un document rejeté, expiré ou en attente de révision ou d\'approbation',
'cannot_change_final_states' => 'Attention : Vous ne pouvez pas modifier létat d\'un document rejeté, expiré ou en attente de vérification ou dapprobation.',
'cannot_delete_user' => 'Ne peut pas effacer l\'utilisateur',
'cannot_delete_yourself' => 'Vous ne pouvez pas vous supprimer',
'cannot_move_root' => 'Erreur : Impossible de déplacer le dossier racine.',
'cannot_retrieve_approval_snapshot' => 'Impossible de retrouver l\'instantané de statut d\'approbation pour cette version de document.',
'cannot_retrieve_review_snapshot' => 'Impossible de retrouver l\'instantané de statut de correction pour cette version du document.',
'cannot_retrieve_review_snapshot' => 'Impossible de récupérer linstantané du statut de vérification pour cette version du document.',
'cannot_rm_root' => 'Erreur : Dossier racine ineffaçable.',
'categories' => 'Catégories',
'categories_loading' => 'Veuillez patienter durant le chargement de la liste des catégories…',
@ -226,15 +227,15 @@ URL: [url]',
'change_assignments' => 'Changer d\'affectations',
'change_password' => 'Changer de mot de passe',
'change_password_message' => 'Votre mot de passe a été changé.',
'change_recipients' => '',
'change_recipients' => 'Définir destinataires',
'change_revisors' => '',
'change_status' => 'Modifier le statut',
'charts' => 'Graphiques',
'chart_docsaccumulated_title' => 'Nombre de documents',
'chart_docspercategory_title' => 'Documents par catégorie',
'chart_docspermimetype_title' => 'Documents par type',
'chart_docspermonth_title' => 'Nouveau document par mois',
'chart_docsperstatus_title' => 'Documents par status',
'chart_docspermonth_title' => 'Nouveaux documents par mois',
'chart_docsperstatus_title' => 'Documents par statut',
'chart_docsperuser_title' => 'Documents par utilisateur',
'chart_selection' => 'Sélectionnez un graphique',
'chart_sizeperuser_title' => 'Volume par utilisateur',
@ -246,7 +247,7 @@ URL: [url]',
'checkout_document' => 'Bloquer (check-out)',
'checkout_is_disabled' => 'Le blocage (check-out) de documents est désactivé dans la configuration.',
'choose_attrdef' => 'Choisissez une définition d\'attribut',
'choose_attrdefgroup' => '',
'choose_attrdefgroup' => 'Choisir un groupe dattributs',
'choose_category' => 'Sélectionnez une catégorie',
'choose_group' => 'Choisir un groupe',
'choose_role' => 'Choisir un rôle',
@ -285,8 +286,8 @@ URL: [url]',
'confirm_rm_transmittal' => '',
'confirm_rm_transmittalitem' => '',
'confirm_rm_user' => 'Voulez-vous vraiment supprimer l\'utilisateur "[username]"?<br>Attention: Cette action ne peut pas être annulée.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Voulez-vous réellement supprimer la [version] du document "[documentname]"?<br>Attention: Cette action ne peut pas être annulée.',
'confirm_rm_user_from_processes' => 'Voulez-vous vraiment retirer lutilisateur « [username] » de tous les processus ?<br>Attention : Cette action peut entrainer la publication des documents si lutilisateur était le seul (ou dernier) approbateur.',
'confirm_rm_version' => 'Voulez-vous réellement supprimer la version [version] du document « [documentname] » ?<br>Attention : Cette action est irréversible.',
'confirm_transfer_objects' => 'Voulez-vous vraiment transférer les documents, dossiers, etc. de lutilisateur « [username] » ?<br>Attention : Cette action est irréversible.',
'confirm_update_transmittalitem' => '',
'content' => 'Contenu',
@ -294,7 +295,7 @@ URL: [url]',
'converter_new_cmd' => 'Commande',
'converter_new_mimetype' => 'Nouveau type MIME',
'copied_to_checkout_as' => 'Fichier copié dans lespace de blocage en tant que « [filename] » ([date])',
'create_download_link' => '',
'create_download_link' => 'Créer un lien de téléchargement',
'create_fulltext_index' => 'Créer un index de recherche plein texte',
'create_fulltext_index_warning' => 'Vous allez recréer l\'index de recherche plein texte. Cela peut prendre un temps considérable et réduire les performances de votre système dans son ensemble. Si vous voulez vraiment recréer l\'index, merci de confirmer votre opération.',
'creation_date' => 'Créé le',
@ -324,16 +325,21 @@ URL: [url]',
'documentcontent' => 'Version de document',
'documents' => 'Documents',
'documents_checked_out_by_you' => 'Documents bloqués par vous',
'documents_expired' => 'Documents expirés',
'documents_in_process' => 'Documents en cours',
'documents_locked' => 'Documents verrouillés',
'documents_locked_by_you' => 'Documents verrouillés',
'documents_only' => 'Documents uniquement',
'documents_to_approve' => 'Documents en attente d\'approbation',
'documents_to_process' => 'Documents à traiter',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents en attente de correction',
'documents_to_receipt' => 'Documents en attente de confirmation de réception',
'documents_to_review' => 'Documents en attente de vérification',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => 'Documents en attente de réception',
'documents_user_rejected' => 'Documents rejetés',
'documents_user_requiring_attention' => 'Documents à surveiller',
'documents_with_notification' => 'Documents avec notification',
@ -389,6 +395,8 @@ Utilisateur: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Statut du document modifié',
'document_title' => 'Document \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Document mis à jour',
'document_updated_email_body' => 'Document mis à jour
Document: [name]
@ -416,8 +424,8 @@ Le lien est valide jusquau [valid].
'do_object_setfilesize' => 'Définir la taille du fichier',
'do_object_unlink' => 'Supprimer la version du document',
'draft' => 'Ébauche',
'draft_pending_approval' => 'Ebauche - En cours d\'approbation',
'draft_pending_review' => 'Ebauche - En cours de correction',
'draft_pending_approval' => 'Ébauche - en attente dapprobation',
'draft_pending_review' => 'Ébauche - en attente de vérification',
'drag_icon_here' => 'Glisser/déposer le fichier ou document ici!',
'dropfolderdir_missing' => 'Votre dossier de dépôt personnel n\'existe pas sur le serveur ! Veuillez faire une demande à l\'administrateur.',
'dropfolder_file' => 'Fichier du dossier de dépôt',
@ -446,7 +454,7 @@ Le lien est valide jusquau [valid].
'edit_folder_notify' => 'Liste de notification de dossiers',
'edit_folder_props' => 'Modifier le dossier',
'edit_group' => 'Modifier un groupe',
'edit_online' => '',
'edit_online' => 'Modification en ligne',
'edit_transmittal_props' => '',
'edit_user' => 'Modifier un utilisateur',
'edit_user_details' => 'Modifier les détails d\'utilisateur',
@ -474,11 +482,13 @@ Le lien est valide jusquau [valid].
'error_remove_folder' => '',
'error_remove_permission' => 'Erreur lors de la suppression de permission',
'error_toogle_permission' => 'Erreur lors de la modification de permission',
'error_transfer_document' => '',
'es_ES' => 'Espagnol',
'event_details' => 'Détails de l\'événement',
'exclude_items' => 'Exclure des élements',
'expired' => 'Expiré',
'expired_at_date' => 'Expiré le [datetime]',
'expired_documents' => 'Documents expirés',
'expires' => 'Expiration',
'expire_by_date' => 'Expire à une date',
'expire_in_1d' => 'Expire dans 1 jour',
@ -554,6 +564,7 @@ URL: [url]',
'fullsearch' => 'Recherche dans le contenu',
'fullsearch_hint' => 'Utiliser la recherche plein texte',
'fulltextsearch_disabled' => 'La recherche plein texte est désactivée.',
'fulltext_converters' => 'Conversion des documents pour indexation',
'fulltext_info' => 'Information sur l\'index plein texte',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Définitions d\'attributs',
@ -564,13 +575,13 @@ URL: [url]',
'global_workflow_states' => 'Etat de Workflow',
'group' => 'Groupe',
'groups' => 'Groupes',
'group_approval_summary' => 'Résumé groupe d\'approbation',
'group_approval_summary' => 'Vue densemble groupe approbation',
'group_exists' => 'Ce groupe existe déjà.',
'group_info' => 'Informations du groupe',
'group_management' => 'Groupes',
'group_management' => 'Gestion des groupes',
'group_members' => 'Membres de groupes',
'group_receipt_summary' => '',
'group_review_summary' => 'Résumé groupe correcteur',
'group_receipt_summary' => 'Vue densemble groupe réception',
'group_review_summary' => 'Vue densemble groupe vérification',
'guest_login' => 'Se connecter comme invité',
'guest_login_disabled' => 'Connexion d\'invité désactivée.',
'hash' => 'Hash',
@ -592,14 +603,14 @@ URL: [url]',
'include_documents' => 'Inclure les documents',
'include_subdirectories' => 'Inclure les sous-dossiers',
'indexing_tasks_in_queue' => 'Opérations dindexation en attente',
'index_converters' => 'Conversion de document Index',
'index_done' => 'Terminé',
'index_error' => 'Erreur',
'index_folder' => 'Dossier Index',
'index_pending' => 'En attente',
'index_waiting' => 'Chargement…',
'individuals' => 'Individuels',
'indivіduals_in_groups' => '',
'indivіduals_in_groups' => 'Membres dun groupe',
'info_recipients_tab_not_released' => '',
'inherited' => 'hérité',
'inherits_access_copy_msg' => 'Copier la liste des accès hérités',
'inherits_access_empty_msg' => 'Commencer avec une liste d\'accès vide',
@ -620,7 +631,7 @@ URL: [url]',
'invalid_group_id' => 'Identifiant de groupe invalide',
'invalid_link_id' => 'Identifiant de lien invalide',
'invalid_request_token' => 'Jeton de demande incorrect',
'invalid_review_status' => 'Statut de correction invalide',
'invalid_review_status' => 'Statut de vérification invalide',
'invalid_sequence' => 'Valeur de séquence invalide',
'invalid_status' => 'Statut de document invalide',
'invalid_target_doc_id' => 'Identifiant de document cible invalide',
@ -649,8 +660,8 @@ URL: [url]',
'js_no_override_status' => 'Veuillez sélectionner le nouveau statut [override]',
'js_no_pwd' => 'Vous devez saisir votre mot de passe',
'js_no_query' => 'Saisir une requête',
'js_no_review_group' => 'Veuillez sélectionner un groupe de correcteurs',
'js_no_review_status' => 'Veuillez sélectionner le statut de correction',
'js_no_review_group' => 'Veuillez sélectionner un groupe dexaminateurs',
'js_no_review_status' => 'Veuillez sélectionner le statut de vérification',
'js_pwd_not_conf' => 'Mot de passe et confirmation de mot de passe non identiques',
'js_select_user' => 'Veuillez sélectionner un utilisateur',
'js_select_user_or_group' => 'Sélectionner au moins un utilisateur ou un groupe',
@ -670,9 +681,9 @@ URL: [url]',
'librarydoc' => '',
'linked_documents' => 'Documents liés',
'linked_files' => 'Fichiers attachés',
'linked_to_current_version' => '',
'linked_to_document' => '',
'linked_to_this_version' => '',
'linked_to_current_version' => 'Lié à la version actuelle',
'linked_to_document' => 'Lié au document',
'linked_to_this_version' => 'Lié à cette version',
'link_alt_updatedocument' => 'Pour déposer des fichiers de taille supérieure, utilisez la <a href="%s">page d\'ajout multiple</a>.',
'link_to_version' => 'Version',
'list_access_rights' => 'Liste des droits daccès…',
@ -691,14 +702,14 @@ URL: [url]',
'login_not_given' => 'Nom utilisateur non fourni',
'login_ok' => 'Connexion établie',
'logout' => 'Déconnexion',
'log_management' => 'Gestion des fichiers Log',
'log_management' => 'Gestion des fichiers journaux',
'manager' => 'Responsable',
'manager_of_group' => 'Vous êtes le gestionnaire de ce groupe',
'mandatory_approvergroups' => 'Obligatoire : groupes de valideurs',
'mandatory_approvergroup_no_access' => 'Groupe requis d\'approbateurs \'[group]\' ne dispose pas des droits suffisants',
'mandatory_approvers' => 'Approbateurs désignés',
'mandatory_approver_no_access' => 'L\'approbateur désigné \'[user]\' ne dispose pas des droits d\'accès suffisants.',
'mandatory_reviewergroups' => 'Obligatoire : groupe des relecteurs',
'mandatory_reviewergroups' => 'Groupe obligatoire dexaminateurs',
'mandatory_reviewergroup_no_access' => 'Groupe d\'examinateurs \'[group]\' ne dispose pas des droits suffisants',
'mandatory_reviewers' => 'Examinateurs',
'mandatory_reviewer_no_access' => 'Examinateur \'[user]\' ne dispose pas des droits suffisants',
@ -719,6 +730,7 @@ URL: [url]',
'monday_abbr' => 'Lun.',
'monthly' => 'Mensuel',
'month_view' => 'Vue par mois',
'more_objects_loading' => '',
'move' => 'Déplacer',
'move_clipboard' => 'Déplacer le contenu du presse-papier',
'move_document' => 'Déplacer le document',
@ -727,6 +739,7 @@ URL: [url]',
'my_documents' => 'Mes documents',
'my_transmittals' => '',
'name' => 'Nom',
'needs_correction' => '',
'needs_workflow_action' => 'Ce document requiert votre attention. Consultez l\'onglet workflow.',
'network_drive' => '',
'never' => 'Jamais',
@ -789,11 +802,11 @@ URL: [url]',
'no_default_keywords' => 'Aucun mot-clé disponible',
'no_docs_checked_out' => '',
'no_docs_locked' => 'Aucun document verrouillé',
'no_docs_rejected' => '',
'no_docs_rejected' => 'Aucun document rejeté.',
'no_docs_to_approve' => 'Aucun document ne nécessite actuellement une approbation',
'no_docs_to_look_at' => 'Aucun document à surveiller',
'no_docs_to_receipt' => '',
'no_docs_to_review' => 'Aucun document en attente de correction',
'no_docs_to_receipt' => 'Aucune confirmation de réception de document nest requise',
'no_docs_to_review' => 'Aucun document en attente de vérification',
'no_docs_to_revise' => '',
'no_email_or_login' => 'Lidentifiant et le-mail doivent être saisis.',
'no_fulltextindex' => 'Aucun fichier d\'index disponibles',
@ -801,15 +814,15 @@ URL: [url]',
'no_group_members' => 'Ce groupe ne contient aucun membre',
'no_linked_files' => 'Aucun fichier lié',
'no_previous_versions' => 'Aucune autre version trouvée',
'no_receipt_needed' => '',
'no_review_needed' => 'Aucune correction en attente',
'no_receipt_needed' => 'Il ny a actuellement aucun document nécessitant une confirmation de réception.',
'no_review_needed' => 'Aucune vérification en attente',
'no_revision_needed' => '',
'no_revision_planed' => '',
'no_update_cause_locked' => 'Vous ne pouvez actuellement pas mettre à jour ce document. Contactez l\'utilisateur qui l\'a verrouillé.',
'no_user_image' => 'Aucune image trouvée',
'no_version_check' => 'La vérification de l\'existence d\'une nouvelle version de SeedDMS a échouée ! Ceci est peut être lié au paramétre allow_url_fopen positionné à 0 dans votre configuration PHP.',
'no_version_check' => 'La vérification de l\'existence d\'une nouvelle version de SeedDMS a échoué ! Cela peut être causé par le paramètre allow_url_fopen défini à 0 dans votre configuration PHP.',
'no_version_modification' => 'Pas de modification de version',
'no_workflow_available' => '',
'no_workflow_available' => 'Aucun workflow disponible',
'objectcheck' => 'Vérification des dossiers et documents',
'object_check_critical' => '',
'object_check_warning' => '',
@ -854,34 +867,36 @@ En cas de problème persistant, veuillez contacter votre administrateur.',
'password_strength' => 'Fiabilité du mot de passe',
'password_strength_insuffient' => 'Mot de passe trop faible',
'password_wrong' => 'Mauvais mot de passe',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
'pdf_converters' => 'Convertisseurs PDF',
'pending_approvals' => 'Approbations en attente',
'pending_receipt' => 'Réceptions en attente',
'pending_reviews' => 'Vérifications en attente',
'pending_revision' => '',
'pending_workflows' => 'Workflows en attente',
'personal_default_keywords' => 'Mots-clés personnels',
'pl_PL' => 'Polonais',
'possible_substitutes' => '',
'possible_substitutes' => 'Substituts',
'preset_expires' => 'Expiration prédéfinie',
'preview' => 'Aperçu',
'preview_converters' => '',
'preview_images' => 'Miniatures',
'preview_markdown' => 'Prévisualisation',
'preview_pdf' => '',
'preview_plain' => 'Texte',
'previous_state' => 'État précédent',
'previous_versions' => 'Versions précédentes',
'process' => '',
'process_without_user_group' => '',
'process' => 'Processus',
'process_without_user_group' => 'Processus sans utilisateur/groupe',
'pt_BR' => 'Portuguais (BR)',
'quota' => 'Quota',
'quota_exceeded' => 'Votre quota de disque est dépassé de [bytes].',
'quota_is_disabled' => 'Le support des quotas est actuellement désactivé dans les réglages. Affecter un quota utilisateur naura pas deffet jusquà ce quil soit de nouveau activé.',
'quota_warning' => 'Votre quota despace disque est dépassé de [bytes]. Veuillez supprimer des documents ou d\'anciennes versions.',
'receipts_accepted' => '',
'receipts_not_touched' => '',
'receipts_rejected' => '',
'receipts_without_group' => '',
'receipts_without_user' => '',
'receipts_accepted' => '[no_receipts] réceptions déjà confirmées',
'receipts_not_touched' => '[no_receipts] réceptions non amorcées',
'receipts_rejected' => '[no_receipts] réceptions déjà rejetées',
'receipts_without_group' => 'Réceptions sans groupe',
'receipts_without_user' => 'Réceptions sans utilisateur',
'receipt_deletion_email_body' => 'Lutilisateur a été retiré de la liste des destinataires
Document : [name]
Version : [version]
@ -890,16 +905,21 @@ Destinataire : [recipient]
Utilisateur : [username]
URL : [url]',
'receipt_deletion_email_subject' => '[sitename] : [name] - Destinataire supprimé',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_log' => 'Journal des réceptions',
'receipt_request_email_body' => 'Demande de réception
Document : [name]
Version : [version]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'receipt_request_email_subject' => '[sitename] : [name] - Demande de réception',
'receipt_status' => 'Statut',
'receipt_summary' => '',
'receipt_update_failed' => '',
'reception' => '',
'reception_acknowleged' => '',
'reception_noaction' => '',
'reception_rejected' => '',
'receipt_summary' => 'Vue densemble réception',
'receipt_update_failed' => 'La confirmation de réception a échoué',
'reception' => 'Réception',
'reception_acknowleged' => 'Réception confirmée',
'reception_noaction' => 'Aucune action',
'reception_rejected' => 'Réception rejetée',
'recipients' => 'Destinataires',
'redraw' => 'Redessiner',
'refresh' => 'Actualiser',
@ -913,7 +933,7 @@ Utilisateur: [username]
URL: [url]',
'removed_file_email_subject' => '[sitename]: [document] - Attachement supprimé',
'removed_recipient' => 'a été supprimé de la liste des destinataires.',
'removed_reviewer' => 'a été retiré de la liste des correcteurs.',
'removed_reviewer' => 'a été retiré de la liste des examinateurs.',
'removed_revisor' => '',
'removed_workflow_email_body' => 'Workflow du document supprimé: [name]
Version: [version]
@ -935,46 +955,56 @@ URL: [url]',
'return_from_subworkflow_email_body' => '',
'return_from_subworkflow_email_subject' => '',
'reverse_links' => 'Documents liés au document courant',
'reviewers' => 'Correcteurs',
'reviewer_already_assigned' => 'est déjà déclaré en tant que correcteur',
'reviewer_already_removed' => 'a déjà été retiré du processus de correction ou a déjà soumis une correction',
'reviews_accepted' => '',
'reviews_not_touched' => '',
'reviews_rejected' => '',
'reviews_without_group' => '',
'reviews_without_user' => '',
'review_deletion_email' => 'Demande de correction supprimée',
'review_deletion_email_body' => '',
'review_deletion_email_subject' => '',
'reviewers' => 'Examinateurs',
'reviewer_already_assigned' => 'est déjà déclaré en tant quexaminateur',
'reviewer_already_removed' => 'Lexaminateur a déjà été retiré du processus de vérification ou a déjà soumis la vérification.',
'reviews_accepted' => '[no_reviews] vérifications déjà confirmées',
'reviews_not_touched' => '[no_reviews] vérifications non amorcées',
'reviews_rejected' => '[no_reviews] vérifications déjà rejetées',
'reviews_without_group' => 'Vérifications sans groupe',
'reviews_without_user' => 'Vérifications sans utilisateur',
'review_deletion_email' => 'Demande de vérification supprimée',
'review_deletion_email_body' => 'Demande de vérification supprimée
Document : [name]
Version : [version]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'review_deletion_email_subject' => '[sitename] : [name] - Demande de vérification supprimée',
'review_file' => 'Fichier',
'review_group' => 'Groupe de correction',
'review_group' => 'Groupe de vérification',
'review_log' => 'Journal des modifications',
'review_request_email' => 'Demande de correction',
'review_request_email_body' => '',
'review_request_email_subject' => '',
'review_status' => 'Statut de correction',
'review_submit_email' => 'Correction soumise',
'review_submit_email_body' => 'Correction soumise
Document: [name]
Version: [version]
Statut: [status]
Commentaire: [comment]
Dossier parent: [folder_path]
Utilisateur: [username]
URL: [url]',
'review_submit_email_subject' => '[sitename]: [name] - Correction soumise',
'review_summary' => 'Sommaire de correction',
'review_update_failed' => 'Erreur lors de la mise à jour de la correction. Echec de la mise à jour.',
'review_request_email' => 'Demande de vérification',
'review_request_email_body' => 'Demande de vérification
Document : [name]
Version : [version]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'review_request_email_subject' => '[sitename] : [name] - Demande de vérification',
'review_status' => 'Statut de vérification',
'review_submit_email' => 'Vérification faite',
'review_submit_email_body' => 'Vérification faite
Document : [name]
Version : [version]
Statut : [status]
Commentaire : [comment]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'review_submit_email_subject' => '[sitename] : [name] - Vérification faite',
'review_summary' => 'Vue densemble vérification',
'review_update_failed' => 'Erreur lors de la mise à jour du statut de vérification. Échec de la mise à jour.',
'revise_document' => '',
'revise_document_on' => '',
'revisions_accepted' => '',
'revisions_accepted' => '[no_revisions] révisions déjà confirmées',
'revisions_not_touched' => '',
'revisions_pending' => '',
'revisions_rejected' => '',
'revisions_without_group' => '',
'revisions_without_user' => '',
'revisions_pending' => '[no_revisions] révisions à venir en attente',
'revisions_rejected' => '[no_revisions] révisions déjà rejetées',
'revisions_without_group' => 'Approbations sans groupe',
'revisions_without_user' => 'Approbations sans utilisateur',
'revision_date' => '',
'revision_log' => '',
'revision_log' => 'Journal des révisions',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
@ -988,7 +1018,7 @@ URL: [url]',
'rewind_workflow_email_subject' => '[sitename]: [name] - Le workflow a été réinitialisé',
'rewind_workflow_warning' => 'Si vous remonter à l\'état initial du workflow, le log de workflow de ce document sera supprimé et impossible à récupérer.',
'rm_attrdef' => 'Retirer définition d\'attribut',
'rm_attrdefgroup' => '',
'rm_attrdefgroup' => 'Supprimer ce groupe dattributs',
'rm_default_keyword_category' => 'Supprimer la catégorie',
'rm_document' => 'Supprimer le document',
'rm_document_category' => 'Supprimer la catégorie',
@ -1001,7 +1031,7 @@ URL: [url]',
'rm_transmittal' => '',
'rm_transmittalitem' => '',
'rm_user' => 'Supprimer cet utilisateur',
'rm_user_from_processes' => '',
'rm_user_from_processes' => 'Retirer lutilisateur des processus',
'rm_version' => 'Retirer la version',
'rm_workflow' => 'Supprimer le Workflow',
'rm_workflow_action' => 'Supprimer l\'action du Workflow',
@ -1011,13 +1041,20 @@ URL: [url]',
'role_admin' => 'Administrateur',
'role_guest' => 'Invité',
'role_info' => '',
'role_management' => '',
'role_management' => 'Gestion des rôles',
'role_name' => 'Nom',
'role_type' => '',
'role_type' => 'Type de rôle',
'role_user' => 'Utilisateur',
'ro_RO' => 'Roumain',
'run_subworkflow' => 'Lancer le sous-workflow',
'run_subworkflow_email_body' => '',
'run_subworkflow_email_body' => 'Sous-workflow démarré
Document : [name]
Version : [version]
Workflow : [workflow]
Sous-workflow : [subworkflow]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'run_subworkflow_email_subject' => '[sitename]: [name] - Sous-workflow initialisé',
'ru_RU' => 'Russe',
'saturday' => 'Samedi',
@ -1048,20 +1085,21 @@ URL: [url]',
'select_grp_ind_approvers' => '',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_reviewers' => 'Cliquer pour choisir un groupe dexaminateurs',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Cliquer pour sélectionner une notification de groupe',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Cliquer pour choisir un groupe de correcteur',
'select_grp_reviewers' => 'Cliquer pour choisir un groupe dexaminateurs',
'select_grp_revisors' => '',
'select_ind_approvers' => 'Cliquer pour choisir un approbateur individuel',
'select_ind_notification' => 'Cliquer pour séleéctionner une notification individuelle',
'select_ind_notification' => 'Cliquer pour sélectionner une notification individuelle',
'select_ind_recipients' => '',
'select_ind_reviewers' => 'Cliquer pour choisir un correcteur individuel',
'select_ind_reviewers' => 'Cliquer pour choisir un examinateur individuel',
'select_ind_revisors' => '',
'select_one' => 'Selectionner',
'select_users' => 'Cliquer pour choisir un utilisateur',
'select_workflow' => 'Choisir un workflow',
'send_email' => '',
'send_email' => 'Envoyer un e-mail',
'send_login_data' => 'Envoyer les informations de connexion',
'send_login_data_body' => 'Informations de connexion
@ -1074,7 +1112,7 @@ Nom : [username]
'september' => 'Septembre',
'sequence' => 'Position dans le répertoire',
'seq_after' => 'Après "[prevname]"',
'seq_end' => 'A la fin',
'seq_end' => 'À la fin',
'seq_keep' => 'Conserver la position',
'seq_start' => 'Première position',
'sessions' => 'Utilisateurs en ligne',
@ -1092,8 +1130,8 @@ Nom : [username]
'settings_autoLoginUser_desc' => 'Utiliser lID de cet utilisateur pour se connecter automatiquement. Ce type daccès ne permet pas la création de nouveaux comptes.',
'settings_available_languages' => 'Langues disponibles',
'settings_available_languages_desc' => 'Seules les langues sélectionnées seront chargées et proposées dans le sélecteur de langue. La langue par défaut est systématiquement chargée.',
'settings_backupDir' => '',
'settings_backupDir_desc' => '',
'settings_backupDir' => 'Répertoire de sauvegarde',
'settings_backupDir_desc' => 'Répertoire dans lequel loutil de sauvegarde stocke les sauvegardes. Si aucune valeur nest définie ou si le répertoire nest pas accessible, les sauvegardes seront stockées dans le répertoire de contenu.',
'settings_cacheDir' => 'Dossier Cache',
'settings_cacheDir_desc' => 'Lieu de stockage des images de prévisualisation (choisir de préférence un dossier non accessible à travers le web-server)',
'settings_Calendar' => 'Paramètres de l\'agenda',
@ -1149,12 +1187,12 @@ Nom : [username]
'settings_editOnlineFileTypes_desc' => 'Le contenu des fichiers portant les extensions précisées pourra être modifié en ligne (utiliser des lettres minuscules)',
'settings_enable2FactorAuthentication' => 'Activer lauthentification forte',
'settings_enable2FactorAuthentication_desc' => 'Active/désactive l\'authentification forte à 2 facteurs. Les utilisateurs devront installer Google Authenticator sur leur téléphone mobile.',
'settings_enableAcknowledgeWorkflow' => '',
'settings_enableAcknowledgeWorkflow_desc' => '',
'settings_enableAdminReceipt' => '',
'settings_enableAdminReceipt_desc' => '',
'settings_enableAcknowledgeWorkflow' => 'Activer la réception de document',
'settings_enableAcknowledgeWorkflow_desc' => 'Activer cette option pour permettre de confirmer la réception de document dans le workflow.',
'settings_enableAdminReceipt' => 'Réception de document autorisée par ladministrateur',
'settings_enableAdminReceipt_desc' => 'Activer cette option pour permettre aux administrateurs dêtre listés en tant que destinataires.',
'settings_enableAdminRevApp' => 'Activer Admin Rev App',
'settings_enableAdminRevApp_desc' => 'Décochez pour ne pas lister l\'administrateur à titre de correcteur/approbateur',
'settings_enableAdminRevApp_desc' => 'Activer cette option pour ajouter les administrateurs à la liste des examinateurs/approbateurs et pour les transitions de workflow.',
'settings_enableCalendar' => 'Activer agenda',
'settings_enableCalendar_desc' => 'Activer/Désactiver agenda',
'settings_enableClipboard' => 'Activer le presse-papier',
@ -1169,6 +1207,8 @@ Nom : [username]
'settings_enableDuplicateDocNames_desc' => 'Autorise plusieurs documents de même nom dans un même dossier.',
'settings_enableEmail' => 'E-mails',
'settings_enableEmail_desc' => 'Activer/désactiver la notification automatique par E-mail',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Activer l\'arborescence des dossiers',
'settings_enableFolderTree_desc' => 'False pour ne pas montrer l\'arborescence des dossiers',
'settings_enableFullSearch' => 'Activer la recherche plein texte',
@ -1187,31 +1227,33 @@ Nom : [username]
'settings_enableMenuTasks_desc' => 'Affiche un menu avec la liste des tâches. Cette liste contient les documents en attente dune action par lutilisateur.',
'settings_enableMultiUpload' => 'Autoriser le dépôt de plusieurs fichiers',
'settings_enableMultiUpload_desc' => 'Lors de la création dun document, autoriser le dépôt de plusieurs fichiers à la fois. Un nouveau document sera créé pour chaque fichier.',
'settings_enableNotificationAppRev' => 'Notification correcteur/approbateur',
'settings_enableNotificationAppRev_desc' => 'Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée',
'settings_enableNotificationAppRev' => 'Notification examinateur/approbateur',
'settings_enableNotificationAppRev_desc' => 'Cocher pour envoyer une notification à lexaminateur/approbateur quand une nouvelle version du document est ajoutée.',
'settings_enableNotificationWorkflow' => 'Envoyer les notifications aux utilisateurs dans le prochain workflow',
'settings_enableNotificationWorkflow_desc' => 'Si cette option est activée, les utilisateurs et les groupes qui doivent intervenir dans la prochaine transition du workflow seront notifiés. Même s\'ils n\'ont pas demandé de notification pour le document.',
'settings_enableOwnerNotification' => 'Activer la notification du propriétaire par défaut',
'settings_enableOwnerNotification_desc' => 'Cocher pour ajouter une notification pour le propriétaire si un document quand il est ajouté.',
'settings_enableOwnerReceipt' => '',
'settings_enableOwnerReceipt_desc' => '',
'settings_enableOwnerRevApp' => 'Autoriser correction/approbbation pour le propriétaire',
'settings_enableOwnerRevApp_desc' => 'A autoriser pour avoir le propriétaire d\'un document designé correcteur/approbateur et pour les transitions de workflow.',
'settings_enableOwnerReceipt' => 'Réception de document autorisée par le propriétaire',
'settings_enableOwnerReceipt_desc' => 'Activer cette option pour permettre au propriétaire du document dêtre listé en tant que destinataire.',
'settings_enableOwnerRevApp' => 'Autoriser vérification/approbation par le propriétaire',
'settings_enableOwnerRevApp_desc' => 'Activer cette option pour ajouter le propriétaire du document à la liste des examinateurs/approbateurs et pour les transitions de workflow.',
'settings_enablePasswordForgotten' => 'Activer Mot de passe oublié',
'settings_enablePasswordForgotten_desc' => 'Si vous voulez permettre à l\'utilisateur de définir un nouveau mot de passe et l\'envoyer par mail, cochez cette option.',
'settings_enableRecursiveCount' => 'Décompte de documents/répertoires recursif',
'settings_enableRecursiveCount_desc' => 'Si activé, le nombre de documents et répertoires dans un répertoire est calculé en comptant récursivement le contenu des sous-répertoires auxquels l\'utilisateur a accès.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfRevApp' => 'Autoriser correction/approbbation pour l\'utilisateur actuel',
'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Autoriser vérification/approbation par lutilisateur actuel',
'settings_enableSelfRevApp_desc' => 'Activer cette option pour ajouter lutilisateur actuel à la liste des examinateurs/approbateurs et pour les transitions de workflow.',
'settings_enableSessionList' => 'Activer la liste des utilisateurs en ligne',
'settings_enableSessionList_desc' => 'Affiche un menu avec la liste des utilisateurs connectés.',
'settings_enableThemeSelector' => 'Sélection du thème',
'settings_enableThemeSelector_desc' => 'Activer/désactiver le sélecteur de thème sur la page de connexion.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => 'Autorise la modification de révisions et approbations existantes',
'settings_enableUpdateReceipt' => 'Réception de document modifiable',
'settings_enableUpdateReceipt_desc' => 'Activer cette option pour permettre à lutilisateur qui a accusé une réception de modifier sa décision.',
'settings_enableUpdateRevApp' => 'Autoriser la modification des vérifications/approbations existantes',
'settings_enableUpdateRevApp_desc' => 'A activer si l\'utilisateur qui a fait la révision/approbations peut changer sa position alors que l\'étape actuelle du processus n\'est pas terminée',
'settings_enableUserImage' => 'Activer image utilisateurs',
'settings_enableUserImage_desc' => 'Activer les images utilisateurs',
@ -1244,8 +1286,10 @@ Nom : [username]
'settings_guestID_desc' => 'ID de l\'invité utilisé lorsque vous êtes connecté en tant qu\'invité (la plupart du temps pas besoin de changer)',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Le chemin relatif dans l\'URL, après le nom de domaine. Ne pas inclure le préfixe http:// ou le nom d\'hôte Internet. Par exemple Si l\'URL complète est http://www.example.com/letodms/, mettez \'/letodms/\'. Si l\'URL est http://www.example.com/, mettez \'/\'',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => 'État initial dun document',
'settings_initialDocumentStatus_desc' => 'État du document défini lors de lajout',
'settings_initialDocumentStatus_draft' => 'ébauche',
'settings_initialDocumentStatus_released' => 'publié',
'settings_installADOdb' => 'Installer ADOdb',
@ -1264,16 +1308,18 @@ Nom : [username]
'settings_logFileEnable_desc' => 'Activer/désactiver le fichier journal',
'settings_logFileRotation' => 'Rotation fichier journal',
'settings_logFileRotation_desc' => 'Rotation fichier journal',
'settings_loginFailure' => 'Erreur Login',
'settings_loginFailure' => 'Max. échecs de connexion',
'settings_loginFailure_desc' => 'Désactiver le compte après n échecs de connexion.',
'settings_luceneClassDir' => 'Répertoire Lucene SeedDMS',
'settings_luceneClassDir_desc' => 'Chemin vers SeedDMS_Lucene (optionnel)',
'settings_luceneDir' => 'Répertoire index Lucene',
'settings_luceneDir_desc' => 'Chemin vers index Lucene',
'settings_maxDirID' => 'Max ID répertoire',
'settings_maxDirID' => 'Nombre max. de sous-dossiers',
'settings_maxDirID_desc' => 'Nombre maximum de sous-répertoires par le répertoire parent. Par défaut: 0.',
'settings_maxExecutionTime' => 'Temps d\'exécution max (s)',
'settings_maxExecutionTime_desc' => 'Ceci définit la durée maximale en secondes q\'un script est autorisé à exécuter avant de se terminer par l\'analyse syntaxique',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Nombre maximal de document/dossier récursif',
'settings_maxRecursiveCount_desc' => 'Nombre maximum de documents et répertoires dont l\'accès sera vérifié, lors d\'un décompte récursif. Si ce nombre est dépassé, le nombre de documents et répertoires affichés sera approximé.',
'settings_maxSizeForFullText' => 'Taille maximum pour l\'indexation instantanée',
@ -1310,12 +1356,16 @@ Nom : [username]
'settings_presetExpirationDate_desc' => 'La date d\'expiration de tous les nouveaux documents sera égale à cette valeur. La date peut être renseignée au format PHP strtotime(), par exemple +5 weeks',
'settings_previewWidthDetail' => 'Largeur des vignettes (vue détaillée)',
'settings_previewWidthDetail_desc' => 'Largeur des vignettes affichées sur la vue détaillée',
'settings_previewWidthDropFolderList' => 'Largeur des vignettes (liste du dossier de dépôt)',
'settings_previewWidthDropFolderList_desc' => 'Largeur des vignettes affichées dans la liste lors de la sélection dun fichier du dossier de dépôt.',
'settings_previewWidthList' => 'Largeur des vignettes (vue liste)',
'settings_previewWidthList_desc' => 'Largeur des vignettes affichées dans les listes',
'settings_previewWidthMenuList' => 'Largeur des vignettes (menu Dossier de dépôt)',
'settings_previewWidthMenuList_desc' => 'Largeur des vignettes affichées dans le menu déroulant « Dossier de dépôt ».',
'settings_printDisclaimer' => 'Afficher la clause de non-responsabilité',
'settings_printDisclaimer_desc' => 'Si activé, le message davertissement sera affiché en bas de chaque page.',
'settings_quota' => 'Quota de l\'utilisateur',
'settings_quota_desc' => 'Le maximum de bytes qu\'un utilisateur peut utiliser sur le disque. Définir à 0 pour un espace illimité. Cette valeur peut être outrepasser pour chaque utilisation dans son profile.',
'settings_quota_desc' => 'Espace maximum (en octets) quun utilisateur peut occuper sur le disque. Définir à 0 pour un espace illimité. Une valeur spécifique peut être définie par utilisateur depuis son profil.',
'settings_removeFromDropFolder' => 'Supprimer le fichier du dossier de dépôt après un chargement réussi',
'settings_removeFromDropFolder_desc' => 'Activez ceci si un fichier pris du dossier de dépôt doit être supprimé après un upload réussi.',
'settings_restricted' => 'Accès restreint',
@ -1363,7 +1413,7 @@ Nom : [username]
'settings_stopWordsFile' => 'Fichier des mots à exclure',
'settings_stopWordsFile_desc' => 'Si la recherche plein texte est activée, ce fichier contient la liste des mots à ne pas indexer.',
'settings_strictFormCheck' => 'Formulaires stricts',
'settings_strictFormCheck_desc' => 'Contrôl strict des formulaires. Si définie sur true, tous les champs du formulaire seront vérifié. Si définie sur false, les commentaires et mots clés deviennent facultatifs. Les commentaires sont toujours nécessaires lors de la soumission d\'une correction ou état du document',
'settings_strictFormCheck_desc' => 'Contrôle strict des formulaires. Si cette option est activée, tous les champs du formulaire doivent être saisis. Sinon, la plupart des champs (commentaires et mots-clés) sont facultatifs. Les commentaires sont toujours obligatoires lors de la soumission d\'une vérification ou du changement de statut dun document.',
'settings_suggestionvalue' => 'Valeur suggérée',
'settings_System' => 'Système',
'settings_theme' => 'Thème par défaut',
@ -1374,7 +1424,7 @@ Nom : [username]
'settings_undelUserIds_desc' => 'Liste des identifiants des utilisateurs qui ne peuvent pas être supprimés. Séparer les identifiants par des virgules.',
'settings_updateDatabase' => 'Exécuter les scripts de mise à jour du schéma de la base',
'settings_updateNotifyTime' => 'Délai de notification des modifications',
'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds',
'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.2.0',
'settings_versioningFileName' => 'Nom des fichiers de versionnage',
'settings_versioningFileName_desc' => 'Nom des fichiers textes dinformation créés depuis les outils de sauvegarde',
@ -1402,7 +1452,7 @@ Nom : [username]
'splash_add_attribute' => 'Attribut ajouté',
'splash_add_group' => 'Nouveau groupe ajouté',
'splash_add_group_member' => 'Nouveau membre ajouté au groupe',
'splash_add_role' => '',
'splash_add_role' => 'Nouveau rôle ajouté',
'splash_add_to_transmittal' => '',
'splash_add_transmittal' => '',
'splash_add_user' => 'Nouvel utilisateur ajouté',
@ -1416,8 +1466,8 @@ Nom : [username]
'splash_document_unlocked' => 'Document déverrouillé',
'splash_edit_attribute' => 'Attribut modifié',
'splash_edit_event' => 'Événement modifié',
'splash_edit_group' => 'Groupe sauvé',
'splash_edit_role' => '',
'splash_edit_group' => 'Groupe modifié',
'splash_edit_role' => 'Rôle modifié',
'splash_edit_user' => 'Utilisateur modifié',
'splash_error_add_to_transmittal' => '',
'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement',
@ -1429,7 +1479,7 @@ Nom : [username]
'splash_moved_clipboard' => 'Presse-papier déplacé dans le répertoire courant',
'splash_move_document' => 'Document déplacé',
'splash_move_folder' => 'Dossier déplacé',
'splash_receipt_update_success' => '',
'splash_receipt_update_success' => 'Réception ajoutée avec succès',
'splash_removed_from_clipboard' => 'Enlevé du presse-papiers',
'splash_rm_attribute' => 'Attribut supprimé',
'splash_rm_document' => 'Document supprimé',
@ -1437,10 +1487,10 @@ Nom : [username]
'splash_rm_folder' => 'Dossier supprimé',
'splash_rm_group' => 'Groupe supprimé',
'splash_rm_group_member' => 'Membre retiré du groupe',
'splash_rm_role' => '',
'splash_rm_role' => 'Rôle supprimé',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Utilisateur supprimé',
'splash_rm_user_processes' => '',
'splash_rm_user_processes' => 'Utilisateur retiré de tous les processus',
'splash_saved_file' => 'Version enregistrée',
'splash_save_user_data' => 'Données utilisateur enregistrées',
'splash_send_download_link' => 'Lien de téléchargement envoyé par e-mail',
@ -1449,23 +1499,25 @@ Nom : [username]
'splash_substituted_user' => 'Utilisateur de substitution',
'splash_switched_back_user' => 'Revenu à l\'utilisateur initial',
'splash_toogle_group_manager' => 'Responsable de groupe changé',
'splash_transfer_document' => '',
'splash_transfer_objects' => 'Objets transférés',
'state_and_next_state' => 'État initial/suivant',
'statistic' => 'Statistiques',
'status' => 'Statut',
'status_approval_rejected' => 'Approbation rejeté',
'status_approval_rejected' => 'Ébauche rejetée',
'status_approved' => 'Approuvé',
'status_approver_removed' => 'Approbateur retiré du processus',
'status_needs_correction' => '',
'status_not_approved' => 'Non approuvé',
'status_not_receipted' => '',
'status_not_reviewed' => 'Non corrigé',
'status_not_receipted' => 'Pas encore réceptionné',
'status_not_reviewed' => 'Non vérifié',
'status_not_revised' => '',
'status_receipted' => '',
'status_receipt_rejected' => '',
'status_recipient_removed' => '',
'status_reviewed' => 'Corrigé',
'status_reviewer_rejected' => 'Correction rejetée',
'status_reviewer_removed' => 'Correcteur retiré du processus',
'status_receipted' => 'Réceptionné',
'status_receipt_rejected' => 'Rejeté',
'status_recipient_removed' => 'Destinataire retiré de la liste',
'status_reviewed' => 'Vérifié',
'status_reviewer_rejected' => 'Ébauche rejetée',
'status_reviewer_removed' => 'Examinateur retiré du processus',
'status_revised' => '',
'status_revision_rejected' => 'Rejeté',
'status_revision_sleeping' => '',
@ -1475,14 +1527,14 @@ Nom : [username]
'submit_2_fact_auth' => 'Enregistrer la clé secrète',
'submit_approval' => 'Soumettre approbation',
'submit_login' => 'Connexion',
'submit_password' => 'Entrez nouveau mot de passe',
'submit_password' => 'Définir le nouveau mot de passe',
'submit_password_forgotten' => 'Envoyer',
'submit_receipt' => '',
'submit_review' => 'Soumettre la correction',
'submit_receipt' => 'Confirmer la réception',
'submit_review' => 'Soumettre la vérification',
'submit_revision' => '',
'submit_userinfo' => 'Soumettre info',
'subsribe_timelinefeed' => '',
'substitute_to_user' => '',
'subsribe_timelinefeed' => 'Sabonner au flux RSS',
'substitute_to_user' => 'Basculer sur \'[username]\'',
'substitute_user' => 'Utilisateur de substitution',
'success_add_aro' => '',
'success_add_permission' => 'Permission ajoutée',
@ -1509,9 +1561,12 @@ Nom : [username]
'timeline_add_version' => 'Nouvelle version ([version])',
'timeline_full_add_file' => '[document]<br />Nouveau fichier attaché',
'timeline_full_add_version' => '[document]<br />Nouvelle version ([version])',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Version [version] : [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => 'Document sélectionné',
'timeline_skip_add_file' => 'avec fichiers attachés',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rejetés',
'timeline_skip_status_change_-3' => 'expirés',
'timeline_skip_status_change_0' => 'en attente de revue',
@ -1519,14 +1574,18 @@ Nom : [username]
'timeline_skip_status_change_2' => 'publié',
'timeline_skip_status_change_3' => 'encore dans un workflow',
'timeline_skip_status_change_4' => 'en révision',
'timeline_skip_status_change_5' => 'brouillon',
'timeline_skip_status_change_5' => 'ébauche',
'timeline_status_change' => 'Version [version] : [status]',
'to' => 'Au',
'toggle_manager' => 'Basculer \'Responsable\'',
'toggle_qrcode' => 'Afficher/masquer le QR code',
'to_before_from' => '',
'to_before_from' => 'La date de fin ne peut pas être avant la date de début.',
'transfer_document' => 'Transférer le document',
'transfer_no_read_access' => '',
'transfer_no_write_access' => 'L\'utilisateur n\'a pas accès à ce répertoire',
'transfer_objects' => 'Transférer des objets',
'transfer_objects_to_user' => 'Nouveau propriétaire',
'transfer_to_user' => 'Transférer vers un utilisateur',
'transition_triggered_email' => 'Transition de workflow activé',
'transition_triggered_email_body' => 'Transition de workflow déclenchée
Document : [name]
@ -1538,7 +1597,7 @@ Workflow : [workflow]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'transition_triggered_email_subject' => '',
'transition_triggered_email_subject' => '[sitename] : [name] - Transition de workflow déclenchée',
'transmittal' => '',
'transmittalitem_removed' => '',
'transmittalitem_updated' => '',
@ -1554,11 +1613,11 @@ URL : [url]',
'type_to_search' => 'Effectuer une recherche',
'uk_UA' => 'Ukrénien',
'under_folder' => 'Dans le dossier',
'unknown_attrdef' => '',
'unknown_attrdef' => 'Définition dattribut inconnue',
'unknown_command' => 'Commande non reconnue.',
'unknown_document_category' => 'Catégorie inconnue',
'unknown_group' => 'Identifiant de groupe inconnu',
'unknown_id' => 'unknown id',
'unknown_id' => 'ID inconnu',
'unknown_keyword_category' => 'Catégorie inconnue',
'unknown_owner' => 'Identifiant de propriétaire inconnu',
'unknown_user' => 'Identifiant d\'utilisateur inconnu',
@ -1570,13 +1629,13 @@ URL : [url]',
'unlock_cause_locking_user' => 'Vous pouvez encore le mettre à jour, car vous êtes le seul à l\'avoir verrouillé. Le verrouillage sera automatiquement annulé.',
'unlock_document' => 'Déverrouiller',
'update' => 'Mettre à jour',
'update_approvers' => 'Mise à jour de la liste d\'Approbateurs',
'update_approvers' => 'Mettre à jour la liste des approbateurs',
'update_document' => 'Mettre à jour',
'update_fulltext_index' => 'Mettre à jour l\'index de recherche plein texte',
'update_info' => 'Informations de mise à jour',
'update_locked_msg' => 'Ce document est verrouillé.',
'update_recipients' => '',
'update_reviewers' => 'Mise à jour de la liste de correcteurs',
'update_recipients' => 'Mettre à jour la liste des destinataires',
'update_reviewers' => 'Mettre à jour la liste des examinateurs',
'update_revisors' => '',
'update_transmittalitem' => '',
'uploaded_by' => 'Déposé par',
@ -1591,12 +1650,12 @@ URL : [url]',
'users_done_work' => 'Actions des utilisateurs',
'user_exists' => 'Cet utilisateur existe déjà',
'user_group' => 'Utilisateur/Groupe',
'user_group_management' => 'Gestion d\'Utilisateurs/de Groupes',
'user_group_management' => 'Gestion des utilisateurs/groupes',
'user_image' => 'Image',
'user_info' => 'Informations utilisateur',
'user_list' => 'Liste des utilisateurs',
'user_login' => 'Identifiant',
'user_management' => 'Utilisateurs',
'user_management' => 'Gestion des utilisateurs',
'user_name' => 'Nom daffichage',
'use_comment_of_document' => 'Utiliser le commentaire du document',
'use_default_categories' => 'Use predefined categories',
@ -1625,30 +1684,31 @@ URL: [url]',
'week_view' => 'Vue par semaine',
'workflow' => 'Workflow',
'workflows_involded' => '',
'workflow_actions_management' => 'Gestion d\'actions de workflow',
'workflow_actions_management' => 'Gestion des actions de workflow',
'workflow_action_in_use' => 'Cette action est actuellement utilisée par des workflows.',
'workflow_action_name' => 'Nom',
'workflow_editor' => 'Editeur de Workflow',
'workflow_group_summary' => 'Résumé de groupe',
'workflow_group_summary' => 'Vue densemble du groupe',
'workflow_has_cycle' => '',
'workflow_initstate' => 'Etat initial',
'workflow_in_use' => 'Ce workflow est actuellement utilisé par des documents.',
'workflow_layoutdata_saved' => '',
'workflow_management' => 'Gestion de workflow',
'workflow_management' => 'Gestion des workflows',
'workflow_name' => 'Nom',
'workflow_no_doc_rejected_state' => 'Létat « rejeté » na été défini sur aucune action !',
'workflow_no_doc_released_state' => '',
'workflow_no_initial_state' => 'Aucune transition ne débute par létat initial défini pour ce workflow !',
'workflow_no_states' => 'Vous devez d\'abord définir des états de workflow avant d\'ajouter un workflow.',
'workflow_save_layout' => '',
'workflow_state' => '',
'workflow_states_management' => 'Gestion d\'états de workflow',
'workflow_state' => 'État de workflow',
'workflow_states_management' => 'Gestion des états de workflow',
'workflow_state_docstatus' => 'Etat du document',
'workflow_state_in_use' => 'Cet état est actuellement utilisé par des workflows.',
'workflow_state_name' => 'Nom',
'workflow_summary' => 'Résumé du workflow',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Résumé d\'utilisateur',
'workflow_summary' => 'Vue densemble du workflow',
'workflow_transition_without_user_group' => 'Au moins une transition a ni utilisateur, ni groupe !',
'workflow_user_summary' => 'Vue densemble de lutilisateur',
'x_more_objects' => '[number] objets supplémentaires',
'year_view' => 'Vue annuelle',
'yes' => 'Oui',
'zh_CN' => 'Chinois (CN)',

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 (1196), marbanas (16)
// Translators: Admin (1197), marbanas (16)
$text = array(
'2_factor_auth' => '',
@ -136,6 +136,7 @@ Internet poveznica: [url]',
'archive_creation_warning' => 'Ovom radnjom možete izraditi arhivu koja sadrži datoteke cijele DMS mape. Nakon izrade arhiva će biti pohranjena u podatkovnu mapu vašer servera.<br>UPOZORENJE: arhiva izrađena na način da je čitljiva ljudima, bit će bezkorisna kao sigurnosna kopija servera.',
'ar_EG' => 'Arapski',
'assign_approvers' => 'Dodijeli validatore',
'assign_recipients' => '',
'assign_reviewers' => 'Dodijeli recezente',
'assign_user_property_to' => 'Dodijeli svojstva korisnika za',
'assumed_released' => 'Podrazumijevano obrađeno',
@ -324,6 +325,7 @@ Internet poveznica: [url]',
'documentcontent' => '',
'documents' => 'Dokumenti',
'documents_checked_out_by_you' => 'Dokumenti koje ste Vi odjavili',
'documents_expired' => '',
'documents_in_process' => 'Dokumenti u postupku',
'documents_locked' => '',
'documents_locked_by_you' => 'Dokumenti koje ste vi zaključali',
@ -333,6 +335,10 @@ Internet poveznica: [url]',
'documents_to_receipt' => 'Dokumenti koji čekaju potvrdu primitka',
'documents_to_review' => 'Dokumenti koji čekaju vaš pregled',
'documents_to_revise' => 'Dokumenti za reviziju',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => 'Odbijeni dokumenti',
'documents_user_requiring_attention' => 'Dokumenti u vašem vlasništvu koji zahtjevaju pažnju',
@ -389,6 +395,8 @@ Korisnik: [username]
Internet poveznica: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Promijenjen status dokumenta',
'document_title' => 'Dokument \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Ažuriran dokument',
'document_updated_email_body' => 'Ažuriran dokument
Dokument: [name]
@ -467,11 +475,13 @@ Internet poveznica: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Španjolski',
'event_details' => 'Detalji događaja',
'exclude_items' => 'Isključivanje stavki',
'expired' => 'Isteklo',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Datum isteka',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -547,6 +557,7 @@ Internet poveznica: [url]',
'fullsearch' => 'Pretraživanje cijelog teksta',
'fullsearch_hint' => 'Koristi indeks cijelog teksta',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Pretvorba indeksa dokumenta',
'fulltext_info' => 'Informacije cijelog teksta',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributi',
@ -585,7 +596,6 @@ Internet poveznica: [url]',
'include_documents' => 'Sadrži dokumente',
'include_subdirectories' => 'Sadrži podmape',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Pretvorba indeksa dokumenta',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Mapa indeksa',
@ -593,6 +603,7 @@ Internet poveznica: [url]',
'index_waiting' => '',
'individuals' => 'Pojedinci',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'naslijeđeno',
'inherits_access_copy_msg' => 'Kopiraj listu naslijeđenih prava pristupa',
'inherits_access_empty_msg' => 'Započnite s praznim popisom pristupa',
@ -712,6 +723,7 @@ Internet poveznica: [url]',
'monday_abbr' => 'Po',
'monthly' => 'Mjesečno',
'month_view' => 'Pregled po mjesecu',
'more_objects_loading' => '',
'move' => 'Premjesti',
'move_clipboard' => 'Premjesti međuspremnik',
'move_document' => 'Premjesti dokument',
@ -720,6 +732,7 @@ Internet poveznica: [url]',
'my_documents' => 'Moji dokumenti',
'my_transmittals' => 'Moja proslijeđivanja',
'name' => 'Naziv',
'needs_correction' => '',
'needs_workflow_action' => 'Ovaj dokument zahtjeva vašu pažnju. Molimo provjerite karticu toka rada.',
'network_drive' => '',
'never' => 'nikada',
@ -848,6 +861,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator
'password_strength' => 'Jačina lozinke',
'password_strength_insuffient' => 'Nedovoljna jačina lozinke',
'password_wrong' => 'Pogrešna lozinka',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -861,6 +875,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator
'preview_converters' => 'Pretpregled konverzije dokumenta',
'preview_images' => '',
'preview_markdown' => 'Smanjenje',
'preview_pdf' => '',
'preview_plain' => 'Obični tekst',
'previous_state' => 'Prethodni status',
'previous_versions' => 'Prethodne verzije',
@ -965,7 +980,7 @@ Glavna mapa: [folder_path]
Korisnik: [username]
URL: [url]',
'review_request_email_subject' => '[sitename]: [name] - Zahtjev za pregled',
'review_status' => 'Status pregleda:',
'review_status' => 'Status pregleda',
'review_submit_email' => 'Predani pregled',
'review_submit_email_body' => 'Postavljen pregled
Dokument: [name]
@ -1075,6 +1090,7 @@ Internet poveznica: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Kliknite za odabir grupnog obavještavanja',
'select_grp_recipients' => 'Kliknite za odabir grupe primatelja',
'select_grp_reviewers' => 'Kliknite za odabir recezenta grupe',
@ -1190,6 +1206,8 @@ Internet poveznica: [url]',
'settings_enableDuplicateDocNames_desc' => 'Omogućuje da u mapi imate dvostruke nazive dokumenata.',
'settings_enableEmail' => 'Omogući E-mail',
'settings_enableEmail_desc' => 'Omogući/onemogući automatsku email obavijest',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Omogući stablo mape',
'settings_enableFolderTree_desc' => 'Omogući/onemogući stablo mape na \'Vidi mapu\' stranici',
'settings_enableFullSearch' => 'Omogući pretraživanje cijelog teksta',
@ -1224,6 +1242,8 @@ Internet poveznica: [url]',
'settings_enableRecursiveCount_desc' => 'Ako je uključeno, broj dokumenata i mapa u pregledu mape će biti određen brojanjem svih objekata rekurzivnom obradom mapa i brojanjem tih dokumenata i mapa kojima je korisniku omogućen pristup.',
'settings_enableRevisionWorkflow' => 'Omogućavanje revizije dokumenata',
'settings_enableRevisionWorkflow_desc' => 'Omogućite kako bi se mogao pokrenuti tok rada za revidiranje dokumenta nakon zadanog vremenskog perioda.',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Omogući pregled/ovjeru za prijavljenog korisnika',
'settings_enableSelfRevApp_desc' => 'Omogući ovo ako želite da trenutno prijavljeni korisnik bude naveden kao recezent/validator i za promjenu toka rada.',
'settings_enableSessionList' => '',
@ -1265,6 +1285,8 @@ Internet poveznica: [url]',
'settings_guestID_desc' => 'ID gost korisnika koja se koristi kada je prijavljen kao gost (uglavnom se ne treba mijenjati)',
'settings_httpRoot' => 'Http korijen',
'settings_httpRoot_desc' => 'U URL-u, putanja na što se odnosi, nakon domene. Ne sadrži http:// prefiks ili naziv web hosta. Npr. ako je puni URL http://www.example.com/seeddms/, postavi \'/seeddms/\'. Ako je URL http://www.example.com/, postavi \'/\'',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => 'Početni status dokumenta',
'settings_initialDocumentStatus_desc' => 'Ovo je status koji će biti postavljen za dokument prilikom dodavanja.',
'settings_initialDocumentStatus_draft' => 'Nacrt',
@ -1295,6 +1317,8 @@ Internet poveznica: [url]',
'settings_maxDirID_desc' => 'Maksimalni broj podmapa po nadređenoj mapi. Zadano: 0.',
'settings_maxExecutionTime' => 'Max. vrijeme izvršenja (s)',
'settings_maxExecutionTime_desc' => 'Ovo postavlja maksimalno vrijeme u sekundama u kojem je skripti dopušteno da se pokrene prije nego se prekine rasčlanjivanjem',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Max. broj rekurzivnog dokumenta/mape',
'settings_maxRecursiveCount_desc' => 'To je maksimalni broj dokumenata ili mapa koji će biti označen pristupnim pravima, pri rekurzivnom brojanju objekata. Ako se taj broj premaši, broj dokumenata i mapa u pregledu mape će biti procjenjen.',
'settings_maxSizeForFullText' => 'Maksimalna veličina dokumenta za instant indeksiranje',
@ -1331,8 +1355,12 @@ Internet poveznica: [url]',
'settings_presetExpirationDate_desc' => 'Svi novo učitani dokumenti će datum isteka imati postavljen na ovu vrijednost. Unešeni datum se može odrediti razumljivom PHP strtotime() funkcijom, npr. +5 tjedana.',
'settings_previewWidthDetail' => 'Širina pretpregleda slika (detalj)',
'settings_previewWidthDetail_desc' => 'Širina pretpregleda slike prikazanog na stranici detalja',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Širina pretpregleda slika (popis)',
'settings_previewWidthList_desc' => 'Širina pretpregleda slika prikazanih u popisima',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Ispiši odricanje od odgovornosti',
'settings_printDisclaimer_desc' => 'Ako je omogućeno, poruka odricanja od odgovornosti će se ispisati na dnu svake stranice',
'settings_quota' => 'Korisnička kvota',
@ -1470,6 +1498,7 @@ Internet poveznica: [url]',
'splash_substituted_user' => 'Zamjenski korisnik',
'splash_switched_back_user' => 'Prebačeno nazad na izvornog korisnika',
'splash_toogle_group_manager' => 'Zamjenjen upravitelj grupe',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Status/Slijedeći status',
'statistic' => 'Statistika',
@ -1477,6 +1506,7 @@ Internet poveznica: [url]',
'status_approval_rejected' => 'Skica odbijena',
'status_approved' => 'Odobreno',
'status_approver_removed' => 'Validator uklonjen iz postupka',
'status_needs_correction' => '',
'status_not_approved' => 'Nije odobreno',
'status_not_receipted' => 'Još nije primljeno',
'status_not_reviewed' => 'Nije pregledano',
@ -1530,9 +1560,12 @@ Internet poveznica: [url]',
'timeline_add_version' => 'Nova verzija [version]',
'timeline_full_add_file' => '[document]<br />Novi prilog',
'timeline_full_add_version' => '[document]<br />Nova verzija [version]',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Verzija [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => 'Odabrani dokument',
'timeline_skip_add_file' => 'dodan prilog',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'odbijeno',
'timeline_skip_status_change_-3' => 'isteklo',
'timeline_skip_status_change_0' => 'na čekanju za pregled',
@ -1546,8 +1579,12 @@ Internet poveznica: [url]',
'toggle_manager' => 'Zamjeni upravitelja',
'toggle_qrcode' => '',
'to_before_from' => 'Datum završetka ne može biti prije datuma početka',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Zatražena promjena toka rada',
'transition_triggered_email_body' => 'Zatražena promjena toka rada
Dokument: [name]
@ -1670,6 +1707,7 @@ Internet poveznica: [url]',
'workflow_summary' => 'Pregled toka rada',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Pregled korisnika',
'x_more_objects' => '',
'year_view' => 'Pregled po godini',
'yes' => 'Da',
'zh_CN' => 'Kineski (CN)',

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 (607), ribaz (1023)
// Translators: Admin (621), ribaz (1023)
$text = array(
'2_factor_auth' => '',
@ -131,6 +131,7 @@ URL: [url]',
'archive_creation_warning' => 'Ezzel a művelettel archívumot hozhat létre, amely tartalmazza az összes DMS mappában található állományokat. A létrehozás követően az archívum a kiszolgáló adat mappájába lesz mentve.<br>FIGYELEM: az archívum értelmezhető formában kerül tárolásra és nem használható kiszolgáló mentésként.',
'ar_EG' => 'Arab',
'assign_approvers' => 'Jóváhagyók hozzárendelése',
'assign_recipients' => '',
'assign_reviewers' => 'Felülvizsgálók hozzárendelése',
'assign_user_property_to' => 'Felhasználói tulajdonságok hozzárendelése',
'assumed_released' => 'Feltételesen kiadott',
@ -319,6 +320,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Dokumentumok',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Lejárt dokumentumok',
'documents_in_process' => 'Feldolgozás alatt lévő dokumentumok',
'documents_locked' => '',
'documents_locked_by_you' => 'Ön által zárolt dokumentumok',
@ -328,6 +330,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Felülvizsgálatára váró dokumentumok',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Az Ön tulajdonában álló dokumentumok, amelyekre figyelmet kell fordítani',
@ -384,6 +390,8 @@ Felhasználó: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Dokumentum állapot módosult',
'document_title' => 'Dokumentum \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Dokumentum frissült',
'document_updated_email_body' => 'Dokumentum frissült
Dokumentum: [name]
@ -462,20 +470,22 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Spanyol',
'event_details' => 'Esemény részletek',
'exclude_items' => 'Kizárt elemek',
'expired' => 'Lejárt',
'expired_at_date' => '',
'expired_documents' => 'Lejárt dokumentumok',
'expires' => 'Lejárat',
'expire_by_date' => '',
'expire_by_date' => 'Érvényesség dátum szerint',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => '',
'expire_in_1w' => '',
'expire_in_1y' => '',
'expire_in_1m' => 'Érvényesség egy hónapon belül',
'expire_in_1w' => 'Érvényesség egy héten belül',
'expire_in_1y' => 'Érvényesség egy éven belül',
'expire_in_2h' => '',
'expire_in_2y' => '',
'expire_in_2y' => 'Érvényesség két éven belül',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'Lejárati dátum módosítva',
@ -542,6 +552,7 @@ URL: [url]',
'fullsearch' => 'Keresés a teljes szövegben',
'fullsearch_hint' => 'Használja a teljes szöveg indexet',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Index dokumentum konverzió',
'fulltext_info' => 'Teljes szöveg index információ',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Jellemzők',
@ -572,7 +583,7 @@ URL: [url]',
'hu_HU' => 'Magyar',
'id' => 'ID',
'identical_version' => 'Az új verzió megegyezik az eredetivel.',
'import' => '',
'import' => 'Import',
'importfs' => '',
'import_fs' => 'Importálás fájlrendszerből',
'import_fs_warning' => '',
@ -580,7 +591,6 @@ URL: [url]',
'include_documents' => 'Tartalmazó dokumentumok',
'include_subdirectories' => 'Tartalmazó alkönyvtárak',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Index dokumentum konverzió',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Mappa indexelése',
@ -588,6 +598,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Egyedek',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'örökölt',
'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',
@ -707,6 +718,7 @@ URL: [url]',
'monday_abbr' => 'Hé',
'monthly' => 'Havi',
'month_view' => 'Havi nézet',
'more_objects_loading' => '',
'move' => 'Áthelyez',
'move_clipboard' => 'Vágólapra helyez',
'move_document' => 'Dokumentum áthelyezése',
@ -715,6 +727,7 @@ URL: [url]',
'my_documents' => 'Saját dokumentumok',
'my_transmittals' => '',
'name' => 'Név',
'needs_correction' => '',
'needs_workflow_action' => 'Ez a dokumentum az Ön beavatkozására vár. Ellenőrizze a munkafolyamat fület.',
'network_drive' => '',
'never' => 'soha',
@ -844,6 +857,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'password_strength' => 'Jelszó erősség',
'password_strength_insuffient' => 'Jelszó erőssége elégtelen',
'password_wrong' => 'Hibás jelszó',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -852,15 +866,16 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'personal_default_keywords' => 'Személyes kulcsszó lista',
'pl_PL' => 'Lengyel',
'possible_substitutes' => '',
'preset_expires' => '',
'preset_expires' => 'Érvényesség beállítása',
'preview' => 'Előnézet',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Előző állapot',
'previous_versions' => 'Előző változatok',
'process' => '',
'process' => 'Folyamat',
'process_without_user_group' => '',
'pt_BR' => 'Portugál (BR)',
'quota' => 'Kvóta',
@ -1053,6 +1068,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Kattintson a csoport értesítés kiválasztásához',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Kattintson a csoport felülvizsgáló kijelöléséhez',
@ -1168,6 +1184,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Engedélyezi az azonos dokumentum neveket egy mappában.',
'settings_enableEmail' => 'Email engedélyezése',
'settings_enableEmail_desc' => 'Engedélyezi/tiltja az automatikus email értesítést',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Mappa fastruktúra engedélyezése',
'settings_enableFolderTree_desc' => 'Hamis hogy ne jelenjen meg a mappa fastruktúra',
'settings_enableFullSearch' => 'Teljes szöveg keresés engedélyezése',
@ -1202,6 +1220,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Ha be van kapcsolva a mappa nézetben a dokumentumok és mappák száma minden objektum rekurzív feldolgozásával kerül meghatározásra és a dokumentumok és mappák száma a felhasználó számára engedélyezett.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Engedélyezi a felülvizsgálatot/jóváhagyást a bejelentkezett felhasználó számára',
'settings_enableSelfRevApp_desc' => 'Engedélyezze, a azt szeretné, hogy a bejelentkezett felhasználó listázásra kerüljön felülvizsgálóként/jóváhagyóként és a munkamenet átmeneteknél.',
'settings_enableSessionList' => '',
@ -1243,6 +1263,8 @@ URL: [url]',
'settings_guestID_desc' => 'A vendég felhasználó azonosítója ami a vendégként történő bejelentkezéskor lesz használva (általában nem szükséges módosítani)',
'settings_httpRoot' => 'Http gyökér',
'settings_httpRoot_desc' => 'A relatív elérési út az URL-ben a tartomány rész után. Ne tartalmazza a http:// előtagot vag a web szerver nevét. Pl.: ha a teljes URL http://www.example.com/seeddms/, adja meg \'/seeddms/\'. Ha az URL http://www.example.com/, adja meg \'/\'',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1273,6 +1295,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Szülő könyvtárban lévő alkönyvtárak maximális mennyisége, Alapérték: 0.',
'settings_maxExecutionTime' => 'Maximális végrehajtási idő (s)',
'settings_maxExecutionTime_desc' => 'Beállítja a szkript maximális engedélyezett futási idejét másodpercben mielőtt megszakítja az értelmező',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Rekurzív dokumentum/mappa számláló legnagyobb értéke',
'settings_maxRecursiveCount_desc' => 'A dokumentumok és mappák maximális mennyisége amelyeken ellenőrizni fogják a hozzáférési jogokat, ha rekurzívan számláló tárgyakat. Ha ezt az értéket túllépik, a dokumentumok számát és mappák a Mappa nézetben is becsülhetők.',
'settings_maxSizeForFullText' => '',
@ -1309,8 +1333,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Minden feltöltött dokumentumhoz ezt a lejárati dátumot rendeli hozzá. A PHP strtotime() függvényének formátuma használható, pl.: +5 weeks.',
'settings_previewWidthDetail' => 'Előnézeti képek szélessége (részletek)',
'settings_previewWidthDetail_desc' => 'A részletek oldalon megjelenő előnézeti képek szélessége',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Előnézeti képek szélessége (lista)',
'settings_previewWidthList_desc' => 'A listában megjelenő előnézeti képek szélessége',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Nyilatkozat nyomtatása',
'settings_printDisclaimer_desc' => 'Ha igaz a nyilatkozat üzenet a lang.inc állományok lesznek kiíratva a lap alján',
'settings_quota' => 'Felhasználói kvóta',
@ -1448,6 +1476,7 @@ URL: [url]',
'splash_substituted_user' => 'Helyettesített felhasználó',
'splash_switched_back_user' => 'Visszaváltva az eredeti felhasználóra',
'splash_toogle_group_manager' => 'Csoport kezelő kiválasztva',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Állapot/Következő állapot',
'statistic' => 'Statisztika',
@ -1455,6 +1484,7 @@ URL: [url]',
'status_approval_rejected' => 'Piszkozat elutasítva',
'status_approved' => 'Jóváhagyott',
'status_approver_removed' => 'Jóváhagyó eltávolítva a folyamatból',
'status_needs_correction' => '',
'status_not_approved' => 'Nem jóváhagyott',
'status_not_receipted' => '',
'status_not_reviewed' => 'Nem felülvizsgált',
@ -1508,9 +1538,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'melléklet hozzáadva',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'visszautasítva',
'timeline_skip_status_change_-3' => 'lejárt',
'timeline_skip_status_change_0' => 'felülvizsgálatra vár',
@ -1524,8 +1557,12 @@ URL: [url]',
'toggle_manager' => 'Kulcs kezelő',
'toggle_qrcode' => '',
'to_before_from' => 'A lejárati dátum nem előzheti meg a kezdési dátumot',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => 'Adatok átadása',
'transfer_objects_to_user' => 'Új tulajdonos',
'transfer_to_user' => '',
'transition_triggered_email' => 'Munkamenet átmenet kiváltva',
'transition_triggered_email_body' => 'Munkafolyamat átmenet kiváltva
Dokumentum: [name]
@ -1584,12 +1621,12 @@ URL: [url]',
'uploading_zerosize' => 'Üres állomány feltöltése. Feltöltés megszakítva.',
'used_discspace' => 'Felhasznált lemezterület',
'user' => 'Felhasználó',
'userid_groupid' => '',
'userid_groupid' => 'Felhasználó ID/Csoport ID',
'users' => 'Felhasználók',
'users_and_groups' => 'Felhasználók/Csoportok',
'users_done_work' => 'Felhasználók elvégzett munka',
'user_exists' => 'Felhasználó már létezik.',
'user_group' => '',
'user_group' => 'Felhasználó/Csoport',
'user_group_management' => 'Felhasználók/Csoportok kezelése',
'user_image' => 'Kép',
'user_info' => 'Felhasználói információ',
@ -1648,6 +1685,7 @@ URL: [url]',
'workflow_summary' => 'Munkafolyamat áttekintés',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Felhasználó áttekintés',
'x_more_objects' => '',
'year_view' => 'Éves nézet',
'yes' => 'Igen',
'zh_CN' => 'Kínai (CN)',

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 (1563), rickr (144), s.pnt (26)
// Translators: Admin (1588), rickr (144), s.pnt (26)
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'Con questa operazione è possibile creare archivi contenenti i file di intere cartelle del DMS. Dopo la creazione l\'archivio viene salvato nella cartella dati del server. Attenzione: un archivio creato per uso esterno non è utilizzabile come backup del server.',
'ar_EG' => 'Arabo',
'assign_approvers' => 'Assegna Approvatori',
'assign_recipients' => '',
'assign_reviewers' => 'Assegna Revisori',
'assign_user_property_to' => 'Assegna le proprietà dell\'utente a',
'assumed_released' => 'Rilascio acquisito',
@ -286,7 +287,7 @@ URL: [url]',
'confirm_rm_transmittal' => 'Si prega di confermare l\'eliminazione della trasmissione.',
'confirm_rm_transmittalitem' => 'Conferma rimozione',
'confirm_rm_user' => 'Vuoi davvero rimuovere l\'utente "[username]"? Attenzione: questa operazione non può essere annullata.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_user_from_processes' => 'Processo',
'confirm_rm_version' => 'Vuoi veramente eliminare la versione [version] del documento "[documentname]"? Attenzione: questa operazione non può essere annullata.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Conferma aggiornamento',
@ -325,6 +326,7 @@ URL: [url]',
'documentcontent' => 'Contenuto documento',
'documents' => 'Documenti',
'documents_checked_out_by_you' => 'Documenti approvati da te',
'documents_expired' => 'Documenti scaduti',
'documents_in_process' => 'Documenti in lavorazione',
'documents_locked' => 'Documenti bloccati',
'documents_locked_by_you' => 'Documenti bloccati da te',
@ -334,6 +336,10 @@ URL: [url]',
'documents_to_receipt' => 'Documenti in attesa di conferma ricezione',
'documents_to_review' => 'Documenti in attesa della tua revisione',
'documents_to_revise' => 'Documenti da revisionare.',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => 'Documenti rifiutati',
'documents_user_requiring_attention' => 'Tuoi documenti in attesa di revisione o approvazione',
@ -390,6 +396,8 @@ Utente: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Modificato lo stato di un documento',
'document_title' => 'Documento \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Documento aggiornato',
'document_updated_email_body' => 'Documento aggiornato
Documento: [name]
@ -468,11 +476,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => 'Errore durante la rimozione delle autorizzazioni',
'error_toogle_permission' => 'Errore durante la modifica permessi',
'error_transfer_document' => '',
'es_ES' => 'Spagnolo',
'event_details' => 'Dettagli evento',
'exclude_items' => 'Escludi Elementi',
'expired' => 'Scaduto',
'expired_at_date' => '',
'expired_documents' => 'Documenti scaduti',
'expires' => 'Scadenza',
'expire_by_date' => 'Scadenza per Data',
'expire_in_1d' => '',
@ -548,6 +558,7 @@ URL: [url]',
'fullsearch' => 'Ricerca Fulltext',
'fullsearch_hint' => 'Usa l\'indice fulltext',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Indice di conversione documenti',
'fulltext_info' => 'Info indice Fulltext',
'global_attributedefinitiongroups' => 'Attributo gruppi',
'global_attributedefinitions' => 'Definizione attributi',
@ -586,7 +597,6 @@ URL: [url]',
'include_documents' => 'Includi documenti',
'include_subdirectories' => 'Includi sottocartelle',
'indexing_tasks_in_queue' => 'Operazione di indicizzazione in corso',
'index_converters' => 'Indice di conversione documenti',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Indicizza cartella',
@ -594,6 +604,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Singoli',
'indivіduals_in_groups' => 'I membri de la gruppo',
'info_recipients_tab_not_released' => '',
'inherited' => 'ereditato',
'inherits_access_copy_msg' => 'Copia la lista degli accessi ereditati',
'inherits_access_empty_msg' => 'Reimposta una lista di permessi vuota',
@ -713,6 +724,7 @@ URL: [url]',
'monday_abbr' => 'Lun',
'monthly' => 'Mensile',
'month_view' => 'Vista mensile',
'more_objects_loading' => '',
'move' => 'Sposta',
'move_clipboard' => 'Sposta appunti',
'move_document' => 'Sposta documento',
@ -721,6 +733,7 @@ URL: [url]',
'my_documents' => 'Documenti personali',
'my_transmittals' => 'Mie trasmissioni',
'name' => 'Nome',
'needs_correction' => '',
'needs_workflow_action' => 'Il documento richiede attenzione. Prego controllare il flusso di lavoro.',
'network_drive' => 'Network drive',
'never' => 'Mai',
@ -850,6 +863,7 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di
'password_strength' => 'Sicurezza password',
'password_strength_insuffient' => 'Efficacia della password insufficiente',
'password_wrong' => 'Password errata',
'pdf_converters' => 'Convertitore a PDF',
'pending_approvals' => 'Approvazioni in sospeso',
'pending_receipt' => '',
'pending_reviews' => 'In attesa di recensioni',
@ -858,16 +872,17 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di
'personal_default_keywords' => 'Parole-chiave personali',
'pl_PL' => 'Polacco',
'possible_substitutes' => 'Sostituti',
'preset_expires' => '',
'preset_expires' => 'Scadenza preimpostata',
'preview' => 'Anteprima',
'preview_converters' => 'Anteprima convesione documento',
'preview_images' => '',
'preview_images' => 'Immagini di anteprima',
'preview_markdown' => 'Riduione ribasso',
'preview_pdf' => '',
'preview_plain' => 'Testo',
'previous_state' => 'Stato precedente',
'previous_versions' => 'Versioni precedenti',
'process' => '',
'process_without_user_group' => '',
'process' => 'Processi',
'process_without_user_group' => 'Processi senza Utente/Gruppo',
'pt_BR' => 'Portoghese (BR)',
'quota' => 'Quota',
'quota_exceeded' => 'La quota-disco è stata superata di [bytes].',
@ -972,7 +987,7 @@ Cartella: [folder_path]
Utente: [username]
URL: [url]',
'review_request_email_subject' => '[sitename]: [name] - Richiesta di revisione',
'review_status' => 'Stato revisioni:',
'review_status' => 'Stato revisioni',
'review_submit_email' => 'Sottoposta revisione',
'review_submit_email_body' => 'Sottoposta revisione
Documento: [name]
@ -1087,6 +1102,7 @@ URL: [url]',
'select_grp_ind_notification' => 'Fare clic per scegliere il gruppo',
'select_grp_ind_recipients' => 'Fare clic per scegliere il gruppo',
'select_grp_ind_reviewers' => 'Fare clic per scegliere il gruppo',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Seleziona Gruppo',
'select_grp_recipients' => 'Seleziona gruppo cartelle',
'select_grp_reviewers' => 'Seleziona gruppo revisore',
@ -1202,6 +1218,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Permetti documenti con lo stesso nome nella stessa cartella',
'settings_enableEmail' => 'Abilita l\'email',
'settings_enableEmail_desc' => 'Abilita/disabilita la notifica automatica via email',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Visualizza la struttura ad albero',
'settings_enableFolderTree_desc' => 'Abilita/disabilita la visualizzaione della struttura ad albero nella pagina \'Vista cartella\'',
'settings_enableFullSearch' => 'Abilita ricerca fulltext',
@ -1218,8 +1236,8 @@ URL: [url]',
'settings_enableLargeFileUpload_desc' => 'Se selezionato, il caricamento (upload) dei files può essere effettuato anche attraverso un\'applet Java chiamata Jumploader evitando il limite di dimensioni file imposto dal browser; Jumploader permette anche il caricamento di diversi files contemporaneamente.',
'settings_enableMenuTasks' => 'Abilita compito delle attività nel menù',
'settings_enableMenuTasks_desc' => 'Abilita / Disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.',
'settings_enableMultiUpload' => '',
'settings_enableMultiUpload_desc' => '',
'settings_enableMultiUpload' => 'Consenti il caricamento di più files',
'settings_enableMultiUpload_desc' => 'Quando viene creato un nuovo documento, possono essere caricati più files. Ogniuno di essi genera un nuovo documento.',
'settings_enableNotificationAppRev' => 'Abilita/disabilita notifica a revisore/approvatore',
'settings_enableNotificationAppRev_desc' => 'Spuntare per inviare una notifica al revisore/approvatore nel momento in cui viene aggiunta una nuova versione del documento.',
'settings_enableNotificationWorkflow' => 'Invia notifiche ai partecipanti al flusso di lavoro',
@ -1236,9 +1254,11 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Se selezionato il numero di documenti e sottocartelle accessibili all\'utente sarà calcolato con un conteggio ricursivo di tutti gli oggetti contenuti nella cartella.',
'settings_enableRevisionWorkflow' => 'Abilita revisione documenti',
'settings_enableRevisionWorkflow_desc' => 'Abilita per attivare workflow su revisione documenti dopo scadenza.',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Permetti revisione/approvazione all\'utente registrato',
'settings_enableSelfRevApp_desc' => 'Abilitare se si desidera aggiungere l\'utente attualmente registrato alla lista dei revisori/approvatori e per le transizioni del flusso di lavoro.',
'settings_enableSessionList' => '',
'settings_enableSessionList' => 'Abilita lista utenti online nel menu',
'settings_enableSessionList_desc' => '',
'settings_enableThemeSelector' => 'Selezione tema grafico',
'settings_enableThemeSelector_desc' => 'Abilita/disabilita il selettore di tema grafico nella finestra di login',
@ -1277,6 +1297,8 @@ URL: [url]',
'settings_guestID_desc' => 'ID o utenza ospite utilizzata quando collegati al sito come ospite (da cambiare solo in casi eccezionali).',
'settings_httpRoot' => 'Cartella web principale',
'settings_httpRoot_desc' => 'Percorso relativo nell\'URL dopo il dominio e senza il prefisso \'http://\'. Es: se l\'URL completo è http://www.esempio.com/SeedDMS/, impostare \'/SeedDMS/\'; se invece l\'URL è http://www.esempio.com/, impostare \'/\'',
'settings_incItemsPerPage' => 'Numero di inserimenti caricati a fine pagina',
'settings_incItemsPerPage_desc' => 'Se il numero di cartelle e documenti è stato limitato, questo imposterà il numero di ulteriori oggetti caricati allo scorrimento della pagina verso il basso nella pagina di visualizzazione. Impostare 0 significa caricare lo stesso numero di oggetti caricati inizialmente.',
'settings_initialDocumentStatus' => 'Stato iniziale documento',
'settings_initialDocumentStatus_desc' => 'Stato assegnato quando si aggiunge documento',
'settings_initialDocumentStatus_draft' => 'Bozza',
@ -1307,6 +1329,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Numero massimo di sottocartelle contenibili in una cartella. Default: 0.',
'settings_maxExecutionTime' => 'Tempo Max di esecuzione (s)',
'settings_maxExecutionTime_desc' => 'Imposta il tempo limite per l\'esecuzione di uno script prima che il parser lo termini.',
'settings_maxItemsPerPage' => 'Numero massimo di inserimenti per pagina',
'settings_maxItemsPerPage_desc' => 'Riduce numero di cartelle e documenti mostrati nell pagina di visualizzazione cartelle. Altri oggetti saranno caricati allo scorrimento verso la fine della pagina. Impostare 0 per visualizzare tutti gli elementi.',
'settings_maxRecursiveCount' => 'Conteggio ricursivo Max di files e cartelle',
'settings_maxRecursiveCount_desc' => 'Numero massimo di documenti e cartelle considerati dal conteggio ricursivo per il controllo dei diritti d\'accesso. Se tale valore dovesse essere superato, il risultato del conteggio sarà stimato.',
'settings_maxSizeForFullText' => 'La lungeza massima del file per l\'indicizzazione istantanea',
@ -1343,8 +1367,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Tutti i nuovi documenti caricati avranno la data di scadenza impostata su questo valore. La data inserita può essere specificata nel formato accettato dalla funzione strtotime() di PHP, ad esempio +5 settimane.',
'settings_previewWidthDetail' => 'Larghezza immagini di anteprima (dettagli)',
'settings_previewWidthDetail_desc' => 'Larghezza delle immagini di anteprima mostrate nella pagina dei dettagli',
'settings_previewWidthDropFolderList' => 'Larghezza immagine di anteprima (lista cartella rilascio)',
'settings_previewWidthDropFolderList_desc' => 'Larghezza immagine di anteprima mostrata nella lista, quando selezionato un file dalla cartella di rilascio',
'settings_previewWidthList' => 'Larghezza delle immagini di anteprima (lista)',
'settings_previewWidthList_desc' => 'Larghezza delle immagini di anteprima mostrate nella lista',
'settings_previewWidthMenuList' => 'Larghezza immagine di anteprima (lista menu)',
'settings_previewWidthMenuList_desc' => 'Larghezza immagine di anteprima mostrata come articolo nel menu cartella di rilascio.',
'settings_printDisclaimer' => 'Mostra disclaimer',
'settings_printDisclaimer_desc' => 'Se abilitato il messaggio circa i termini e le condizioni d\'uso verrà mostrato nel pié di pagina.',
'settings_quota' => 'Quota utente',
@ -1482,6 +1510,7 @@ URL: [url]',
'splash_substituted_user' => 'Utente sostituito',
'splash_switched_back_user' => 'Ritorno all\'utente originale',
'splash_toogle_group_manager' => 'Amministratore di gruppo invertito',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stato/Prossimo stato',
'statistic' => 'Statistiche',
@ -1489,6 +1518,7 @@ URL: [url]',
'status_approval_rejected' => 'Bozza rifiutata',
'status_approved' => 'Approvato',
'status_approver_removed' => 'Approvatore rimosso dal processo',
'status_needs_correction' => '',
'status_not_approved' => 'Non ancora approvato',
'status_not_receipted' => 'Non ancora ricevuto',
'status_not_reviewed' => 'Non ancora revisionato',
@ -1531,7 +1561,7 @@ URL: [url]',
'takeOverIndApprover' => 'Riprendi l\'approvatore dall\'ultima versione.',
'takeOverIndReviewer' => 'Riprendi il revisore dall\'ultima versione.',
'tasks' => 'Compiti',
'temp_jscode' => '',
'temp_jscode' => 'Codice javascript temporaneo',
'testmail_body' => 'Questo messaggio di posta elettronica è solo un test per verificare la configurazione del repository',
'testmail_subject' => 'Messaggio di test',
'theme' => 'Tema',
@ -1542,9 +1572,12 @@ URL: [url]',
'timeline_add_version' => 'Nuova versione [version]',
'timeline_full_add_file' => '[document]<br />Nuovo attacco',
'timeline_full_add_version' => '[document]<br />Nuovo versione [version]',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Versione [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => 'Documento selezionato',
'timeline_skip_add_file' => 'allegato aggiunto',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'respinto',
'timeline_skip_status_change_-3' => 'scaduto',
'timeline_skip_status_change_0' => 'in attesa di revisione',
@ -1558,8 +1591,12 @@ URL: [url]',
'toggle_manager' => 'Gestore',
'toggle_qrcode' => 'Mostri / nascondi codice QR',
'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio',
'transfer_document' => 'Trasferisci Documento',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Inizio transizione del flusso di lavoro',
'transition_triggered_email_body' => 'Transizione del flusso di lavoro iniziata
Documento: [name]
@ -1618,12 +1655,12 @@ URL: [url]',
'uploading_zerosize' => 'Si sta caricando un file vuoto. Operazione abortita.',
'used_discspace' => 'Spazio su disco occupato',
'user' => 'Utente',
'userid_groupid' => '',
'userid_groupid' => 'id Utente/id Gruppo',
'users' => 'Utenti',
'users_and_groups' => 'Utenti/Gruppi',
'users_done_work' => 'Lavoro eseguito dagli Utenti',
'user_exists' => 'Utente già esistente',
'user_group' => '',
'user_group' => 'Utente/Gruppo',
'user_group_management' => 'Gestione Utenti/Gruppi',
'user_image' => 'Immagine',
'user_info' => 'Informazioni utente',
@ -1682,6 +1719,7 @@ URL: [url]',
'workflow_summary' => 'Riepilogo flusso di lavoro',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Riepilogo utenti',
'x_more_objects' => '[number] altri oggetti',
'year_view' => 'Vista anno',
'yes' => 'Sì',
'zh_CN' => 'Cinese (CN)',

View File

@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => '본 작업은 전체 DMS 폴더 내의 파일 모두에 아카이브를 만듭니다. 생성한 아카이브는 서버의 데이터 폴더에 저장됩니다.<br>경고 : 이렇게 만들어진 자료는 서버의 백업과 같이 가독성이 저하 됩니다.',
'ar_EG' => '아랍어',
'assign_approvers' => '승인자 지정',
'assign_recipients' => '',
'assign_reviewers' => '검토자 배정',
'assign_user_property_to' => '사용자 속성에 할당',
'assumed_released' => 'Assumed released',
@ -327,6 +328,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => '문서',
'documents_checked_out_by_you' => '당신으로 부터 문서가 체크아웃 되었습니다.',
'documents_expired' => '',
'documents_in_process' => '진행중인 문서',
'documents_locked' => '잠긴 문서',
'documents_locked_by_you' => '당신에 의해 잠긴 문서',
@ -336,6 +338,10 @@ URL: [url]',
'documents_to_receipt' => '당신의 접수확인을 기다리는 문서들',
'documents_to_review' => '당신의 검토를 기다리는 문서',
'documents_to_revise' => '문서 정정',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '거부된 문서',
'documents_user_requiring_attention' => '주의가 필요한 당신 소유의 문서',
@ -392,6 +398,8 @@ URL: [url]',
URL: [url]',
'document_status_changed_email_subject' => '[sitename] : [name] - 문서 상태가 변경',
'document_title' => '문서\'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => '문서 업데이트',
'document_updated_email_body' => '문서 업데이트
문서: [name]
@ -468,11 +476,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => '스페인어',
'event_details' => '이벤트의 자세한 사항',
'exclude_items' => '항목 제외',
'expired' => '만료됨',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => '만료하기',
'expire_by_date' => '지정일에 만료',
'expire_in_1d' => '1일 후 만료',
@ -548,6 +558,7 @@ URL: [url]',
'fullsearch' => '전체 텍스트 검색',
'fullsearch_hint' => '전체 텍스트 색인 사용',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '인덱스 문서 변환',
'fulltext_info' => '전체 텍스트 색인 정보',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => '속성',
@ -586,7 +597,6 @@ URL: [url]',
'include_documents' => '문서 포함',
'include_subdirectories' => '하위 디렉터리 포함',
'indexing_tasks_in_queue' => '큐에서 대기중인 색인 작업들',
'index_converters' => '인덱스 문서 변환',
'index_done' => '마침',
'index_error' => '오류',
'index_folder' => '인덱스 폴더',
@ -594,6 +604,7 @@ URL: [url]',
'index_waiting' => '기다리는 중',
'individuals' => '개인',
'indivіduals_in_groups' => '개별 그룹',
'info_recipients_tab_not_released' => '',
'inherited' => '상속',
'inherits_access_copy_msg' => '상속 액세스 목록 복사',
'inherits_access_empty_msg' => '빈 액세스 목록으로 시작',
@ -713,6 +724,7 @@ URL: [url]',
'monday_abbr' => '월',
'monthly' => '월간',
'month_view' => '월간 단위로 보기',
'more_objects_loading' => '',
'move' => '이동',
'move_clipboard' => '이동 클립 보드',
'move_document' => '문서 옮기기',
@ -721,6 +733,7 @@ URL: [url]',
'my_documents' => '내 문서',
'my_transmittals' => '내 송부',
'name' => '이름',
'needs_correction' => '',
'needs_workflow_action' => '이 문서는 당신의주의가 필요합니다. 워크플로우 탭을 확인하시기 바랍니다.',
'network_drive' => '네트워크 드라이브',
'never' => '불가',
@ -842,6 +855,7 @@ URL : [url]',
'password_strength' => '강력한 비밀번호',
'password_strength_insuffient' => '부족한 비밀번호 강도',
'password_wrong' => '잘못된 비밀번호',
'pdf_converters' => '',
'pending_approvals' => '보류된 승인',
'pending_receipt' => '',
'pending_reviews' => '보류된 검토',
@ -855,6 +869,7 @@ URL : [url]',
'preview_converters' => '문서 변환 미리보기',
'preview_images' => '',
'preview_markdown' => '마크다운',
'preview_pdf' => '',
'preview_plain' => '텍스트',
'previous_state' => '이전 상태',
'previous_versions' => '이전 버전',
@ -1069,6 +1084,7 @@ URL : [url]',
'select_grp_ind_notification' => '알림 그룹 선택',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '그룹 검토자 선택',
'select_grp_ind_revisors' => '',
'select_grp_notification' => '그룹 통지를 선택합니다',
'select_grp_recipients' => '받는 사람 그룹을 클릭하시오',
'select_grp_reviewers' => '클릭하여 그룹 검토자를 고릅니다.',
@ -1184,6 +1200,8 @@ URL : [url]',
'settings_enableDuplicateDocNames_desc' => '이 폴더에 중복 된 문서명을 가질 수 있습니다.',
'settings_enableEmail' => '전자 메일 사용',
'settings_enableEmail_desc' => '자동화 전자우편 알림 활성화/비활성화',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => '폴더 트리 사용',
'settings_enableFolderTree_desc' => '\'View Folder\'에 폴더 트리 표시 활성 / 비활성',
'settings_enableFullSearch' => '전체 텍스트 검색 사용',
@ -1218,6 +1236,8 @@ URL : [url]',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRevisionWorkflow' => '문서의 개정 허용',
'settings_enableRevisionWorkflow_desc' => '일정 기간후에 문서를 개정 하기위해 워크플로우를 수행 할 수 있도록 설정 합니다.',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '로그인 한 사용자에 대한 검토 / 승인을 허용',
'settings_enableSelfRevApp_desc' => '검토 / 승인자로 워크 플로우 전환을 위해 나열되어있는 것이 현재 로그인 한 사용자가 필요한 경우이를 활성화합니다.',
'settings_enableSessionList' => '메뉴에 온라인 사용자 목록 활성화',
@ -1259,6 +1279,8 @@ URL : [url]',
'settings_guestID_desc' => 'Guest로 로그인 할 때 사용하는 ID (변경이 필요치 않음)',
'settings_httpRoot' => 'HTTP Root',
'settings_httpRoot_desc' => 'URL의 상대 경로, 도메인 이후 부분 HTTP:// 접두사 를 포함하지 마십시오. 전체 URL이 http://www.example.com/seeddms/ 경우에는 \'/seeddms/\'로 설정합니다. URL이 http://www.example.com/에는 설정이 \'/\' 입니다.',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '초기 문서 상태',
'settings_initialDocumentStatus_desc' => '문서가 추가 된 경우이 상태가 설정 됩니다.',
'settings_initialDocumentStatus_draft' => '초안',
@ -1289,6 +1311,8 @@ URL : [url]',
'settings_maxDirID_desc' => '',
'settings_maxExecutionTime' => '최대 실행 시간 (들)',
'settings_maxExecutionTime_desc' => '종료되기 전 스크립트의 구문 분석 할 수있는 최대 시간을 초 단위로 설정',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '최대 재귀 문서 / 폴더의 수',
'settings_maxRecursiveCount_desc' => '이것은 재귀적으로 개체를 셀 때 사용 권한이 확인됩니다 문서 및 폴더의 최대 수입니다. 이 수를 초과하면 폴더보기에서 문서 나 폴더의 수가 추정됩니다.',
'settings_maxSizeForFullText' => '',
@ -1325,8 +1349,12 @@ URL : [url]',
'settings_presetExpirationDate_desc' => '새로운 업로드된 문서는 설정 유효 기간을 갖게 됩니다. 이 값은 PHP의 strtotime() 함수에 의해 입력 날짜가 지정 됩니다. 예: 5중',
'settings_previewWidthDetail' => '미리보기 이미지의 폭 (세부 사항)',
'settings_previewWidthDetail_desc' => '상세정보에 표시되는 미리보기 이미자의 폭',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '미리보기 이미지의 폭 (목록)',
'settings_previewWidthList_desc' => '목록에 표시된 미리보기 이미지의 폭',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => '인쇄 면책 조항',
'settings_printDisclaimer_desc' => '활성인 경우 메시지 내역이 모든 페이지의 하단에 출력됩니다',
'settings_quota' => '사용자의 할당량',
@ -1464,6 +1492,7 @@ URL : [url]',
'splash_substituted_user' => '전환된 사용자',
'splash_switched_back_user' => '원래 사용자로 전환',
'splash_toogle_group_manager' => '그룹 관리자 전환',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '상태 / 다음 상태',
'statistic' => '통계',
@ -1471,6 +1500,7 @@ URL : [url]',
'status_approval_rejected' => '거부된 초안',
'status_approved' => '승인',
'status_approver_removed' => '승인 과정에서 제거',
'status_needs_correction' => '',
'status_not_approved' => '승인되지 않음​​',
'status_not_receipted' => '아직 접수 않된',
'status_not_reviewed' => '검토되지 않음',
@ -1524,9 +1554,12 @@ URL : [url]',
'timeline_add_version' => '새버전',
'timeline_full_add_file' => '[document]<br />새 첨부',
'timeline_full_add_version' => '[document]<br />새버전 [version]',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />버전[version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '선택된 타임라인 항목',
'timeline_skip_add_file' => '첨부 파일 이 추가 되었습니다',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '거부',
'timeline_skip_status_change_-3' => '만료',
'timeline_skip_status_change_0' => '보류된 검토',
@ -1540,8 +1573,12 @@ URL : [url]',
'toggle_manager' => '전환 매니저',
'toggle_qrcode' => 'QR code 보이기/숨기기',
'to_before_from' => '종료일은 시작일 전이 될수 없습니다',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '새 소유자',
'transfer_to_user' => '',
'transition_triggered_email' => '워크플로우 전환 트리거',
'transition_triggered_email_body' => '워크플로우 전환 트리거
문서: [name]
@ -1664,6 +1701,7 @@ URL : [url]',
'workflow_summary' => '워크플로우 요약',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '사용자 요약',
'x_more_objects' => '',
'year_view' => '연간 단위로 보기',
'yes' => '예',
'zh_CN' => '중국어 (CN)',

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 (776), netixw (84), romi (93), uGn (112)
// Translators: Admin (786), netixw (84), romi (93), uGn (112)
$text = array(
'2_factor_auth' => '',
@ -124,6 +124,7 @@ URL: [url]',
'archive_creation_warning' => 'Ta operacja utworzy archiwum zawierające pliki z całego repozytorium. Po utworzeniu archiwum będzie zapisane w folderze na serwerze.<br>UWAGA: archiwum utworzone jako czytelne dla ludzi będzie bezużyteczne jako kopia serwera.',
'ar_EG' => 'Arabski',
'assign_approvers' => 'Przypisz osoby akceptujące',
'assign_recipients' => '',
'assign_reviewers' => 'Przypisz recenzentów',
'assign_user_property_to' => 'Przypisz właściwości użytkownika do',
'assumed_released' => 'Assumed released',
@ -312,6 +313,7 @@ URL: [url]',
'documentcontent' => 'Zawartość dokumentu',
'documents' => 'Dokumenty',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Wygasłe dokumenty',
'documents_in_process' => 'Dokumenty procesowane',
'documents_locked' => '',
'documents_locked_by_you' => 'Dokumenty zablokowane przez Ciebie',
@ -321,6 +323,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokumenty oczekujące na Twoją recenzję',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokumenty należące do Ciebie, które wymagają uwagi',
@ -377,6 +383,8 @@ Użytkownik: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Zmiana statusu dokumentu',
'document_title' => 'Dokument \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Dokument zaktualizowany',
'document_updated_email_body' => 'Document zaktualizowano
Dokument: [name]
@ -455,11 +463,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Hiszpański',
'event_details' => 'Szczegóły zdarzenia',
'exclude_items' => '',
'expired' => 'Wygasłe',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Wygasa',
'expire_by_date' => 'Wygaśnięcie wg daty',
'expire_in_1d' => '',
@ -535,6 +545,7 @@ URL: [url]',
'fullsearch' => 'Przeszukiwanie treści dokumentów',
'fullsearch_hint' => 'Przeszukuj treść dokumentów',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Konwersja indeksu dokumentów',
'fulltext_info' => 'Informacje o indeksie pełnotekstowym',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Definicje atrybutów',
@ -573,7 +584,6 @@ URL: [url]',
'include_documents' => 'Uwzględnij dokumenty',
'include_subdirectories' => 'Uwzględnij podkatalogi',
'indexing_tasks_in_queue' => 'Zadanie indeksowania w kolejce',
'index_converters' => 'Konwersja indeksu dokumentów',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Indeksuj folder',
@ -581,6 +591,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Indywidualni',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'dziedziczony',
'inherits_access_copy_msg' => 'Kopiuj odziedziczoną listę dostępu',
'inherits_access_empty_msg' => 'Rozpocznij z pustą listą dostępu',
@ -700,6 +711,7 @@ URL: [url]',
'monday_abbr' => 'Pn.',
'monthly' => 'Miesięcznie',
'month_view' => 'Widok miesięczny',
'more_objects_loading' => '',
'move' => 'Przenieś',
'move_clipboard' => 'Przenieś schowek',
'move_document' => 'Przenieś dokument',
@ -708,6 +720,7 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => '',
'name' => 'Nazwa',
'needs_correction' => '',
'needs_workflow_action' => 'Dokument wymaga uwagi. Proszę sprawdzić kartę workflow.',
'network_drive' => '',
'never' => '',
@ -837,6 +850,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
'password_strength' => 'Siła hasła',
'password_strength_insuffient' => 'Niewystarczająca siła hasła',
'password_wrong' => 'Złe hasło',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -845,11 +859,12 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
'personal_default_keywords' => 'Osobiste sława kluczowe',
'pl_PL' => 'Polski',
'possible_substitutes' => '',
'preset_expires' => '',
'preset_expires' => 'Wygasa',
'preview' => '',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Poprzedni stan',
'previous_versions' => 'Poprzednie wersje',
@ -1033,6 +1048,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Kliknij, aby wybrać grupowe powiadomienia',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Kliknij by wybrać grupę recenzentów',
@ -1049,7 +1065,7 @@ URL: [url]',
'send_login_data' => '',
'send_login_data_body' => '',
'send_login_data_subject' => '',
'send_test_mail' => '',
'send_test_mail' => 'Wyślij wiadomość testową',
'september' => 'Wrzesień',
'sequence' => 'Kolejność',
'seq_after' => 'Za "[prevname]"',
@ -1067,7 +1083,7 @@ URL: [url]',
'settings_advancedAcl_desc' => '',
'settings_apache_mod_rewrite' => 'Apache - Moduł Rewrite',
'settings_Authentication' => 'Ustawienia uwierzytelniania',
'settings_autoLoginUser' => '',
'settings_autoLoginUser' => 'Automatyczne logowanie',
'settings_autoLoginUser_desc' => '',
'settings_available_languages' => 'Dostępne języki',
'settings_available_languages_desc' => 'Tylko wybrane języki zostaną załadowane i będą widoczne w kontrolce wyboru języka. Domyślny język zawsze jest ładowany.',
@ -1148,11 +1164,13 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Zezwala na tworzenie w folderze dokumentów o tej samej nazwie.',
'settings_enableEmail' => 'Włącz powiadomienia e-mail',
'settings_enableEmail_desc' => 'Włącz/Wyłącz automatyczne powiadomienia drogą mailową',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Pokaż drzewo katalogów',
'settings_enableFolderTree_desc' => 'Odznacz aby nie pokazywać drzewa katalogów',
'settings_enableFullSearch' => 'Włącz przeszukiwanie pełnotekstowe',
'settings_enableFullSearch_desc' => 'Włącz przeszukiwanie pełnotekstowe',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin' => 'Włącz automatyczne logowanie dla gości',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Pozwól na logowanie gościa',
'settings_enableGuestLogin_desc' => 'Jeśli chcesz dowolnej osobie zalogować się jako gość, zaznacz tę opcję. Uwaga: logowanie gościa powinno być używane wyłącznie w zaufanym środowisku.',
@ -1182,6 +1200,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Jeżeli jest włączone, to liczba dokumentów i folderów w widoku będzie ustalona poprzez zliczenie wszystkich obiektów przez rekurencyjnie przetwarzane foldery i policzenia tych dokumentów i folderów do których użytkownik ma dostęp',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Pozwalaj przeglądać/zatwierdzać dla zalogowanych użytkowników',
'settings_enableSelfRevApp_desc' => 'Włącz tę opcję jeżeli zalogowany użytkownik ma prawo do recenzowania/zatwierdzania oraz do przepływu procesu',
'settings_enableSessionList' => '',
@ -1223,6 +1243,8 @@ URL: [url]',
'settings_guestID_desc' => 'ID gościa używane kiedy gość jest zalogowany (zazwyczaj nie wymaga zmiany)',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Relatywna ścieżka w URL, część za domeną. Nie dołączaj przedrostka http:// ani nazwy hosta. Np. Jeśli cały URL to http://www.example.com/letodms/, wpisz \'/letodms/\'. Jeśli URL to http://www.example.com/, set \'/\'',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1253,6 +1275,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Maksymalna liczba podkatalogów dla katalogu nadrzędnego. Domyślnie: 0.',
'settings_maxExecutionTime' => 'Maksymalny czas wykonywania (s)',
'settings_maxExecutionTime_desc' => 'Ustawia maksymalny czas, liczony w sekundach, jaki ma na wykonanie skrypt zanim zostanie zakończony.',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Max. liczba rekurencji dokumentów/folderów',
'settings_maxRecursiveCount_desc' => 'Jest to maksymalna liczba dokumentów i folderów, które będą sprawdzane pod kątem praw dostępu, gdy włączone jest rekurencyjnie liczenie obiektów. Jeżeli liczba ta zostanie przekroczona to ilości dokumentów i folderów w widoku zostaną oszacowane.',
'settings_maxSizeForFullText' => '',
@ -1289,8 +1313,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => 'Szerokość obrazka podglądu (szczegóły)',
'settings_previewWidthDetail_desc' => 'Szerokość obrazka podglądu na stronie szczegółów',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Szerokość obrazka podglądu (lista)',
'settings_previewWidthList_desc' => 'Szerokość podglądu obrazu pokazanego na liście',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Wyświetlaj Zrzeczenie się',
'settings_printDisclaimer_desc' => 'Zaznaczenie tej opcji spowoduje, że na dole strony będzie wyświetlany komunikat zrzeczenia się zawarty w pliku lang.inc.',
'settings_quota' => 'Przydział dysku użytkownika',
@ -1327,11 +1355,11 @@ URL: [url]',
'settings_smtpServer_desc' => 'Nazwa hosta serwera SMTP',
'settings_smtpUser' => 'Użytkownik SMTP',
'settings_smtpUser_desc' => 'Użytkownik SMTP',
'settings_sortFoldersDefault' => '',
'settings_sortFoldersDefault' => 'Domyślna metoda sotowania',
'settings_sortFoldersDefault_desc' => '',
'settings_sortFoldersDefault_val_name' => '',
'settings_sortFoldersDefault_val_sequence' => '',
'settings_sortFoldersDefault_val_unsorted' => '',
'settings_sortFoldersDefault_val_name' => 'po nazwie',
'settings_sortFoldersDefault_val_sequence' => 'po sekwencji',
'settings_sortFoldersDefault_val_unsorted' => 'niesortowane',
'settings_sortUsersInList' => 'Uporządkuj użytkowników na liście',
'settings_sortUsersInList_desc' => 'Ustawia porządek sortowania użytkowników w menu wyboru wg loginu lub wg pełnej nazwy.',
'settings_sortUsersInList_val_fullname' => 'Sortowanie wg pełnej nazwy',
@ -1428,6 +1456,7 @@ URL: [url]',
'splash_substituted_user' => 'Zmieniono użytkownika',
'splash_switched_back_user' => 'Przełączono z powrotem do oryginalnego użytkownika',
'splash_toogle_group_manager' => 'Przełączono grupę menadżerów',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Status/Następny status',
'statistic' => 'Statystyka',
@ -1435,6 +1464,7 @@ URL: [url]',
'status_approval_rejected' => 'Szkic odrzucony',
'status_approved' => 'Zatwierdzone',
'status_approver_removed' => 'Osoba zatwierdzająca usunięta z procesu',
'status_needs_correction' => '',
'status_not_approved' => 'Nie zatwierdzone',
'status_not_receipted' => '',
'status_not_reviewed' => 'Nie zrecenzowane',
@ -1488,9 +1518,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'dodano załącznik',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'odrzucony',
'timeline_skip_status_change_-3' => 'przedawniony',
'timeline_skip_status_change_0' => 'oczekuje na opinię',
@ -1504,8 +1537,12 @@ URL: [url]',
'toggle_manager' => 'Przełączanie zarządcy',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => 'Transfer dokumentu',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Uruchomiono proces przepływu',
'transition_triggered_email_body' => 'Uruchomiono proces przepływu
Dokument: [name]
@ -1628,6 +1665,7 @@ URL: [url]',
'workflow_summary' => 'Podsumowanie procesu',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Podsumowanie użytkownika',
'x_more_objects' => '',
'year_view' => 'Widok roczny',
'yes' => 'Tak',
'zh_CN' => 'Chiński (CN)',

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 (960), flaviove (627), lfcristofoli (352)
// Translators: Admin (967), flaviove (627), lfcristofoli (352)
$text = array(
'2_factor_auth' => '',
@ -131,6 +131,7 @@ URL: [url]',
'archive_creation_warning' => 'With this operation you can create achive containing the files of entire DMS folders. After the creation the archive will be saved in the data folder of your server.<br>WARNING: an archive created as human readable will be unusable as server backup.',
'ar_EG' => 'Árabe',
'assign_approvers' => 'Assign Approvers',
'assign_recipients' => '',
'assign_reviewers' => 'Assign Reviewers',
'assign_user_property_to' => 'Assign user\'s properties to',
'assumed_released' => 'Assumed released',
@ -319,6 +320,7 @@ URL: [url]',
'documentcontent' => 'Conteúdo do Documento',
'documents' => 'Documentos',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Documentos Expirados',
'documents_in_process' => 'Documentos em Processo',
'documents_locked' => '',
'documents_locked_by_you' => 'Documentos bloqueados por você',
@ -328,8 +330,12 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents Awaiting User\'s Review',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_rejected' => 'Documentos rejeitados',
'documents_user_requiring_attention' => 'Documents Owned by User That Require Attention',
'documents_with_notification' => '',
'document_already_checkedout' => '',
@ -383,6 +389,8 @@ Pasta mãe: [folder_path]
Usuário: [username] rnURL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Status do documento modificado',
'document_title' => 'Documento [documentname]',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Documento atualizado',
'document_updated_email_body' => 'Documento atualizado
Documento: [name]
@ -458,14 +466,16 @@ URL: [url]',
'error_no_folder_selected' => 'Nenhuma pasta selecionada',
'error_occured' => 'Ocorreu um erro',
'error_remove_document' => '',
'error_remove_folder' => '',
'error_remove_folder' => 'Erro na exclusão da pasta',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Espanhol',
'event_details' => 'Event details',
'exclude_items' => 'Excluir ítens',
'expired' => 'Expirado',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Expira',
'expire_by_date' => 'Data de vencimento',
'expire_in_1d' => '',
@ -541,6 +551,7 @@ URL: [url]',
'fullsearch' => 'Pesquisa de texto completo',
'fullsearch_hint' => 'Use índice de texto completo',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Índice de conversão de documentos',
'fulltext_info' => 'Informações índice Texto completo',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributos',
@ -579,7 +590,6 @@ URL: [url]',
'include_documents' => 'Include documents',
'include_subdirectories' => 'Include subdirectories',
'indexing_tasks_in_queue' => 'Tarefas de indexação em fila',
'index_converters' => 'Índice de conversão de documentos',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Pasta Raiz',
@ -587,6 +597,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Individuals',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'herdado',
'inherits_access_copy_msg' => 'Copy inherited access list',
'inherits_access_empty_msg' => 'Inicie com a lista de acesso vazia',
@ -658,7 +669,7 @@ URL: [url]',
'linked_documents' => 'Documentos relacionados',
'linked_files' => 'Arquivos anexados',
'linked_to_current_version' => '',
'linked_to_document' => '',
'linked_to_document' => 'Ligado ao documento',
'linked_to_this_version' => '',
'link_alt_updatedocument' => 'Se você gostaria de fazer envio de arquivos maiores que o tamanho permitido, por favor use a página alternativa de <a href="%s">envio</a>.',
'link_to_version' => '',
@ -706,6 +717,7 @@ URL: [url]',
'monday_abbr' => 'Mo',
'monthly' => 'Mensal',
'month_view' => 'Month view',
'more_objects_loading' => '',
'move' => 'Move',
'move_clipboard' => 'Mover para memória auxiliar',
'move_document' => 'Mover documento',
@ -714,6 +726,7 @@ URL: [url]',
'my_documents' => 'Meus Documentos',
'my_transmittals' => '',
'name' => 'Nome',
'needs_correction' => '',
'needs_workflow_action' => 'Este documento requer sua atenção. Por favor, verifique a guia de fluxo de trabalho.',
'network_drive' => '',
'never' => '',
@ -842,6 +855,7 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ
'password_strength' => 'Força da senha',
'password_strength_insuffient' => 'A força da senha é insuficiente',
'password_wrong' => 'Senha errada',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -855,6 +869,7 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Estado anterior',
'previous_versions' => 'Previous Versions',
@ -1051,6 +1066,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Click para selecionar um grupo a ser notificado',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Clique para selecionar o grupo revisor',
@ -1142,7 +1158,7 @@ URL: [url]',
'settings_dropFolderDir' => 'Diretório para pasta suspensa',
'settings_dropFolderDir_desc' => 'Este diretório pode ser usado para soltar arquivos no sistema de arquivos do servidor e importá-los de lá, em vez de fazer o upload através do browser. O diretório deve conter um sub-diretório para cada usuário que tem permissão para importar arquivos desta forma.',
'settings_Edition' => 'Configurações Edição',
'settings_editOnlineFileTypes' => '',
'settings_editOnlineFileTypes' => 'Editar online os tipos de arquivos',
'settings_editOnlineFileTypes_desc' => 'Arquivos com as seguintes extensões podem ser editados online (use somente letras minúsculas)',
'settings_enable2FactorAuthentication' => '',
'settings_enable2FactorAuthentication_desc' => '',
@ -1166,6 +1182,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Permite ter nomes de documentos duplicados em uma pasta.',
'settings_enableEmail' => 'Ativar E-mail',
'settings_enableEmail_desc' => 'Ativar/desativar a notificação de e-mail automático',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Ativar Árvore de Pasta',
'settings_enableFolderTree_desc' => 'Falso para não mostrar a árvore de pastas',
'settings_enableFullSearch' => 'Ativar Pesquisa de texto completo',
@ -1200,6 +1218,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Se estiver ativado, o número de documentos e pastas na exibição de pasta será determinada pela contagem de todos os objetos de forma recursiva proceáando as pastas e contando eáes documentos e pastas que o usuário tem permissão de acesso.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Permitir revisão/aprovação para usuário conectado',
'settings_enableSelfRevApp_desc' => 'Habilite esta opção se quiser que o usuário conectado no momento seja listado como revisores/aprovadores e para transições de fluxo de trabalho.',
'settings_enableSessionList' => '',
@ -1241,6 +1261,8 @@ URL: [url]',
'settings_guestID_desc' => 'ID do usuário-convidado usada quando conectado como convidado (na maioria das vezes não há necessidade de mudar)',
'settings_httpRoot' => 'Raiz Http',
'settings_httpRoot_desc' => 'O caminho relativo na URL, após a parte do domínio. Não inclua o prefixo http:// ou o nome do host. por exemplo Se a URL completa é http://www.example.com/seeddms/, definir \'/seeddms/\'. Se a URL é http://www.example.com/, definir \'/\'',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1271,6 +1293,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'O número máximo de sub-diretórios por diretório mãe. Padrão: 0.',
'settings_maxExecutionTime' => 'Max Tempo de Execução (s)',
'settings_maxExecutionTime_desc' => 'Isso define o tempo máximo em segundos que é permitido executar antes de ser finalizado pelo parse',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Max. número de contagem de documentos/pasta recursiva',
'settings_maxRecursiveCount_desc' => 'Este é o número máximo de documentos ou pastas que serão verificados por direitos de acesso, quando recursivamente contar objetos. Se esse número for ultrapassado, será estimado o número de documentos e pastas na visualização da pasta.',
'settings_maxSizeForFullText' => '',
@ -1307,8 +1331,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => 'Largura de imagens de visualização (detalhe)',
'settings_previewWidthDetail_desc' => 'Largura imagem de visualização mostrados na página de detalhes',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Largura de imagens de visualização (lista)',
'settings_previewWidthList_desc' => 'Largura de imagens de visualização mostrados em listas',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Imprimir Responsabilidade',
'settings_printDisclaimer_desc' => 'Se for verdade a mensagem de aviso de isenção os arquivos lang.inc será impresso na parte inferior da página',
'settings_quota' => 'Quota do Usuário',
@ -1446,6 +1474,7 @@ URL: [url]',
'splash_substituted_user' => 'Usuário substituido',
'splash_switched_back_user' => 'Comutada de volta ao usuário original',
'splash_toogle_group_manager' => 'Gerente Grupo alternado',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Estado/Próximo estado',
'statistic' => 'Estatística',
@ -1453,9 +1482,10 @@ URL: [url]',
'status_approval_rejected' => '',
'status_approved' => 'Approved',
'status_approver_removed' => 'Approver removed from proceá',
'status_needs_correction' => '',
'status_not_approved' => 'Not approved',
'status_not_receipted' => '',
'status_not_reviewed' => '',
'status_not_reviewed' => 'Não revisado',
'status_not_revised' => '',
'status_receipted' => '',
'status_receipt_rejected' => '',
@ -1506,9 +1536,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'anexo adicionado',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rejeitado',
'timeline_skip_status_change_-3' => 'expirado',
'timeline_skip_status_change_0' => 'revisão pendente',
@ -1522,8 +1555,12 @@ URL: [url]',
'toggle_manager' => 'Toggle manager',
'toggle_qrcode' => '',
'to_before_from' => 'A data de término não pode ser anterior a data de início',
'transfer_document' => 'Transferir documento',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Transição de fluxo de trabalho desencadeado',
'transition_triggered_email_body' => 'Transição do fluxo de trabalho triggered
Document: [name]
@ -1646,6 +1683,7 @@ URL: [url]',
'workflow_summary' => 'Sumário de fluxo de trabalho',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Sumário de usuário',
'x_more_objects' => '',
'year_view' => 'Visualização Anual',
'yes' => 'Sim',
'zh_CN' => 'Chinês (CN)',

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 (1065), balan (87)
// Translators: Admin (1068), balan (87)
$text = array(
'2_factor_auth' => '',
@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'Cu această operațiune puteți crea o arhiva care sa conțina fișierele din toate folderele DMS. După creare, arhiva va fi salvata în folderul de date din serverul dumneavoastră. <br> AVERTISMENT:. O arhivă creată ca lizibilă pentru om nu va putea fi utilizata ca server de backup.',
'ar_EG' => 'Arabă',
'assign_approvers' => 'Atribuire aprobatori',
'assign_recipients' => '',
'assign_reviewers' => 'Atribuire revizuitori(reviwers)',
'assign_user_property_to' => 'Atribuire proprietati utilizator la',
'assumed_released' => 'Assumed released',
@ -324,6 +325,7 @@ URL: [url]',
'documentcontent' => 'Continut Document',
'documents' => 'Documente',
'documents_checked_out_by_you' => 'Documente verificate de tine',
'documents_expired' => 'Documente expirate',
'documents_in_process' => 'Documente în procesare',
'documents_locked' => '',
'documents_locked_by_you' => 'Documente blocate de tine',
@ -333,6 +335,10 @@ URL: [url]',
'documents_to_receipt' => 'Documente in asteptare pentru confirmarea primirii',
'documents_to_review' => 'Documente care așteaptă revizuirea dumneavoastră',
'documents_to_revise' => 'Documente de revizut',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documente deținute de tine care necesită atenție',
@ -389,6 +395,8 @@ Utilizator: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Status document schimbat',
'document_title' => 'Document \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Document actualizat',
'document_updated_email_body' => 'Document actualizat
Document: [name]
@ -467,11 +475,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Spaniola',
'event_details' => 'Detalii eveniment',
'exclude_items' => 'Elemente excluse',
'expired' => 'Expirat',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Expiră',
'expire_by_date' => 'Expirare dupa data',
'expire_in_1d' => '',
@ -547,6 +557,7 @@ URL: [url]',
'fullsearch' => 'Căutare text complet',
'fullsearch_hint' => 'Foloseste indexarea intregului text',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Indexare conversie documente',
'fulltext_info' => 'Info indexarea intregului text',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atribute',
@ -585,7 +596,6 @@ URL: [url]',
'include_documents' => 'Include documente',
'include_subdirectories' => 'Include subfoldere',
'indexing_tasks_in_queue' => 'Actiuni de indexare in stiva',
'index_converters' => 'Indexare conversie documente',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Index folder',
@ -593,6 +603,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Individuals',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'moștenit',
'inherits_access_copy_msg' => 'Copie lista de acces moștenită',
'inherits_access_empty_msg' => 'Începeți cu lista de acces goală',
@ -664,7 +675,7 @@ URL: [url]',
'linked_documents' => 'Documente relationate',
'linked_files' => 'Atașamente',
'linked_to_current_version' => '',
'linked_to_document' => '',
'linked_to_document' => 'Atasat documentului',
'linked_to_this_version' => '',
'link_alt_updatedocument' => 'Dacă doriți să încărcați fișiere mai mari decât dimensiunea maximă curentă de încărcare, vă rugăm să folosiți alternativa <a href="%s">pagină de încărcare</a>.',
'link_to_version' => '',
@ -712,6 +723,7 @@ URL: [url]',
'monday_abbr' => 'Lu',
'monthly' => 'Lunar',
'month_view' => 'Vizualizare lună',
'more_objects_loading' => '',
'move' => 'Mută',
'move_clipboard' => 'Mută clipboard',
'move_document' => 'Mută document',
@ -720,6 +732,7 @@ URL: [url]',
'my_documents' => 'Documentele Mele',
'my_transmittals' => 'Trimiterile mele',
'name' => 'Nume',
'needs_correction' => '',
'needs_workflow_action' => 'Acest document necesită atenția dumneavoastră. Vă rugăm să verificați tab-ul workflow.',
'network_drive' => '',
'never' => 'niciodată',
@ -849,6 +862,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț
'password_strength' => 'Siguranța parolei',
'password_strength_insuffient' => 'Siguranța parolei este insuficientă',
'password_wrong' => 'Parolă greșită',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -862,6 +876,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Stare precedentă',
'previous_versions' => 'Versiune precedentă',
@ -966,7 +981,7 @@ Folder parinte: [folder_path]
Utilizator: [username]
URL: [url]',
'review_request_email_subject' => '[sitename]: [name] - Cerere de revizuire',
'review_status' => 'Status revizuire:',
'review_status' => 'Status revizuire',
'review_submit_email' => 'Revizuire trimisă',
'review_submit_email_body' => 'Revizuire trimisă
Document: [name]
@ -1076,6 +1091,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Faceti click pentru a selecta o notificare de grup',
'select_grp_recipients' => 'Faceti click pentru a selecta un grup de destinatari',
'select_grp_reviewers' => 'Click pentru a selecta grupul de revizuitori',
@ -1191,6 +1207,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Permiteți sa existe nume de documente duplicate într-un fisier.',
'settings_enableEmail' => 'Activare E-mail',
'settings_enableEmail_desc' => 'Activare/dezactivare notificari automare prin e-mail',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Activare Folder Ierarhic',
'settings_enableFolderTree_desc' => 'Activare/dezactivare folder ierarhic în pagina \'Vizualizare Folder\'',
'settings_enableFullSearch' => 'Activare căutare in tot textul',
@ -1225,6 +1243,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Dacă este activată, numărul de documente și foldere din vizualizarea unui director va fi determinat prin numărarea tuturor obiectelor recursiv din folderele unde accesul utilizatorului este permis.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Permite revizuirea/aprobarea pentru utilizatorul autentificat',
'settings_enableSelfRevApp_desc' => 'Activați această opțiune dacă doriți ca utilizatorul autentificat să fie listat ca revizuitor/aprobator sau in tranzițiile workflow-ului.',
'settings_enableSessionList' => '',
@ -1266,6 +1286,8 @@ URL: [url]',
'settings_guestID_desc' => 'ID-ul utilizatorului oaspete folosit când la Logarea ca oaspete (de cele mai multe ori nu este nevoie să se schimbe)',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Calea relativă în URL-ul, după partea domeniului. Nu includeți prefixul http:// sau numele host-ului. (ex: Dacă URL-ul complet este http://www.example.com/seeddms/, setați \'/seeddms/\'. Dacă URL-ul complet este http://www.example.com/, setați \'/\')',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1296,6 +1318,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Numărul maxim de sub-directoare pe director părinte. Implicit: 0.',
'settings_maxExecutionTime' => 'Timp Maxim de executie (s)',
'settings_maxExecutionTime_desc' => 'Acesta stabilește timpul maxim în secunde în care un script este permis să ruleze înainte de a fi oprit',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Numarul Maxim recursiv de numarare documente/foldere',
'settings_maxRecursiveCount_desc' => 'Acesta este numărul maxim de documente sau foldere care vor fi verificate pentru drepturile de acces, atunci când se numără recursiv obiectele. Dacă acest număr este depășit, numărul de documente și foldere în vizualizarea directorului va fi estimat.',
'settings_maxSizeForFullText' => '',
@ -1332,8 +1356,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Toate documentele noi incarcate vor avea o data de expirare stabilita la aceasta valoare. Data introdusa poate fi specificata astfel incat sa fie inteleasa de functia PHP strtotime(), de exemplu +5 weeks.',
'settings_previewWidthDetail' => 'Lățimea imaginii de previzualizare (detalii)',
'settings_previewWidthDetail_desc' => 'Lățimea imaginii de previzualizare afișată pe pagina detalii',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Lățimea imaginii de previzualizare (listă)',
'settings_previewWidthList_desc' => 'Lățimea imaginii de previzualizare afișată în liste',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Print Disclaimer',
'settings_printDisclaimer_desc' => 'Dacă este setat, mesajul de Disclaimer din fișierele lang.inc va fi printat în partea de jos a paginii',
'settings_quota' => 'Spatiu alocat utilizator',
@ -1471,6 +1499,7 @@ URL: [url]',
'splash_substituted_user' => 'Utilizator substituit',
'splash_switched_back_user' => 'Comutat înapoi la utilizatorul original',
'splash_toogle_group_manager' => 'Comută Managerul de grup',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stare/Stare urmatoare',
'statistic' => 'Statistic',
@ -1478,6 +1507,7 @@ URL: [url]',
'status_approval_rejected' => 'Proiect respins',
'status_approved' => 'Aprobat',
'status_approver_removed' => 'Aprobator eliminat din proces',
'status_needs_correction' => '',
'status_not_approved' => 'Neaprobat',
'status_not_receipted' => 'Neprimit inca',
'status_not_reviewed' => 'Nerevizuit',
@ -1531,9 +1561,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '[document]<br />Adaugă atașament',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document] Versiune [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'atașament adăugat',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rejectat',
'timeline_skip_status_change_-3' => 'expirat',
'timeline_skip_status_change_0' => 'așteaptă revizuire',
@ -1547,8 +1580,12 @@ URL: [url]',
'toggle_manager' => 'Comută Manager',
'toggle_qrcode' => '',
'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Tranziție Workflow declanșată',
'transition_triggered_email_body' => 'Tranziție Workflow declanșată
Document: [name]
@ -1671,6 +1708,7 @@ URL: [url]',
'workflow_summary' => 'Sumar Workflow',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Sumar Utilizator',
'x_more_objects' => '',
'year_view' => 'Vizualizare an',
'yes' => 'Da',
'zh_CN' => 'Chineză (CN)',

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 (1658)
// Translators: Admin (1661)
$text = array(
'2_factor_auth' => 'Двухфакторная аутентификация',
@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'Эта операция создаст архив, содержащий все каталоги. После создания архив будет сохранен в каталоге данных сервера.<br><b>Внимание:</b> архив созданный как понятный человеку, будет непригоден в качестве резервной копии для восстановления!',
'ar_EG' => 'Arabic',
'assign_approvers' => 'Назначить утверждающих',
'assign_recipients' => '',
'assign_reviewers' => 'Назначить рецензентов',
'assign_user_property_to' => 'Назначить свойства пользователя',
'assumed_released' => 'Утверждён',
@ -324,6 +325,7 @@ URL: [url]',
'documentcontent' => 'Содержание документа',
'documents' => 'док.',
'documents_checked_out_by_you' => 'Документ проверен вами',
'documents_expired' => 'Просроченные документы',
'documents_in_process' => 'Документы в работе',
'documents_locked' => 'Заблокированные документы',
'documents_locked_by_you' => 'Документы, заблокированные вами',
@ -333,6 +335,10 @@ URL: [url]',
'documents_to_receipt' => 'Документы, которые ожидают подтверждение получения',
'documents_to_review' => 'Документы, ожидающие вашей рецензии',
'documents_to_revise' => 'Документы на ревизии',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => 'Отклоненные документы',
'documents_user_requiring_attention' => 'Ваши документы, требующие внимания',
@ -389,6 +395,8 @@ URL: [url]',
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: изменён статус документа «[name]»',
'document_title' => 'Документ [documentname]',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Документ обновлён',
'document_updated_email_body' => 'Документ обновлён
Документ: [name]
@ -467,11 +475,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => 'Ошибка снятия разрешения',
'error_toogle_permission' => 'Ошибка смены разрешения',
'error_transfer_document' => '',
'es_ES' => 'Spanish',
'event_details' => 'Информация о событии',
'exclude_items' => 'Не показывать события:',
'expired' => 'Срок действия вышел',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Срок действия',
'expire_by_date' => 'дата',
'expire_in_1d' => '',
@ -547,6 +557,7 @@ URL: [url]',
'fullsearch' => 'Полнотекстовый поиск',
'fullsearch_hint' => 'Использовать полнотекстовый индекс',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Индексирование документов',
'fulltext_info' => 'Информация о полнотекстовом индексе',
'global_attributedefinitiongroups' => 'Глобальные группы атрибутов',
'global_attributedefinitions' => 'Атрибуты',
@ -585,7 +596,6 @@ URL: [url]',
'include_documents' => 'Включая документы',
'include_subdirectories' => 'Включая подкаталоги',
'indexing_tasks_in_queue' => 'Задача индексирования поставлена в очередь',
'index_converters' => 'Индексирование документов',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Полнотекстовый индекс',
@ -593,6 +603,7 @@ URL: [url]',
'index_waiting' => 'Ожидание',
'individuals' => 'Пользователи',
'indivіduals_in_groups' => 'Пользователи группы',
'info_recipients_tab_not_released' => '',
'inherited' => 'унаследованный',
'inherits_access_copy_msg' => 'Скопировать наследованный список',
'inherits_access_empty_msg' => 'Начать с пустого списка доступа',
@ -620,7 +631,7 @@ URL: [url]',
'invalid_target_folder' => 'Неверный идентификатор целевого каталога',
'invalid_user_id' => 'Неверный идентификатор пользователя',
'invalid_version' => 'Неверная версия документа',
'in_folder' => '',
'in_folder' => 'В каталоге',
'in_revision' => 'В рассмотрении',
'in_workflow' => 'В процессе',
'is_disabled' => 'Отключить учётную запись',
@ -712,6 +723,7 @@ URL: [url]',
'monday_abbr' => 'Пн',
'monthly' => 'Ежемесячно',
'month_view' => 'Месяц',
'more_objects_loading' => '',
'move' => 'Переместить',
'move_clipboard' => 'Переместить буфер обмена',
'move_document' => 'Переместить документ',
@ -720,6 +732,7 @@ URL: [url]',
'my_documents' => 'Мои документы',
'my_transmittals' => 'Мои пересылки',
'name' => 'Имя',
'needs_correction' => '',
'needs_workflow_action' => 'Этот документ требует вашего внимания. См. вкладку «Процесс».',
'network_drive' => 'Сетевой диск',
'never' => 'никогда',
@ -846,6 +859,7 @@ URL: [url]',
'password_strength' => 'Надёжность пароля',
'password_strength_insuffient' => 'Недостаточная надёжность пароля',
'password_wrong' => 'Неверный пароль',
'pdf_converters' => '',
'pending_approvals' => 'В ожидании утверждения',
'pending_receipt' => '',
'pending_reviews' => 'В ожидании рецензии',
@ -859,6 +873,7 @@ URL: [url]',
'preview_converters' => 'Предварительный просмотр конвертации документа',
'preview_images' => '',
'preview_markdown' => 'Markdown',
'preview_pdf' => '',
'preview_plain' => 'Текст',
'previous_state' => 'Предыдущее состояние',
'previous_versions' => 'Предыдущие версии',
@ -1083,6 +1098,7 @@ URL: [url]',
'select_grp_ind_notification' => 'Выберите группу',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => 'Выберите группу',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Выберите группу для уведомления',
'select_grp_recipients' => 'Выберите группу получателей',
'select_grp_reviewers' => 'Выберите рецензирующую группу',
@ -1198,6 +1214,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Разрешить документы с одинаковым названием в каталоге.',
'settings_enableEmail' => 'Включить e-mail',
'settings_enableEmail_desc' => 'Включить/отключить автоматическое уведомление по e-mail.',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Включить дерево каталогов',
'settings_enableFolderTree_desc' => 'Если отключено, не будет показано дерево каталогов.',
'settings_enableFullSearch' => 'Включить полнотекстовый поиск',
@ -1232,6 +1250,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Если включено, количество документов и каталогов в виде каталога будет определятся рекурсивным подсчётом всех документов и каталогов разрешённых для доступа пользователя.',
'settings_enableRevisionWorkflow' => 'Включить процесс ревизии',
'settings_enableRevisionWorkflow_desc' => 'Включить для активации функции ревизии документа по истечении определенного периода времени.',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Разрешить рецензию/утверждение<br/>пользователями вошедшими в систему',
'settings_enableSelfRevApp_desc' => 'Включите для того, чтобы пользователи, в настоящее время выполнившие вход в систему, были в списке рецензентов/утверждающих и в изменении процесса.',
'settings_enableSessionList' => '',
@ -1273,6 +1293,8 @@ URL: [url]',
'settings_guestID_desc' => 'Идентификатор гостя (можно не изменять).',
'settings_httpRoot' => 'Корень http',
'settings_httpRoot_desc' => 'Относительный путь в URL, после доменной части. Без http://. Например, если полный URL http://www.example.com/seeddms/, то нужно указать «/seeddms/». Если URL http://www.example.com/, то «/».',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => 'Начальный статус документа',
'settings_initialDocumentStatus_desc' => 'Этот статус будет установлен, когда добавляется документ',
'settings_initialDocumentStatus_draft' => 'Черновик',
@ -1303,6 +1325,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Максимум каталогов в родительском каталоге. По умолчанию 0.',
'settings_maxExecutionTime' => 'Максимальное время выполнения, с',
'settings_maxExecutionTime_desc' => 'Устанавливает максимальное время выполнения скрипта, перед тем как он будет завершён.',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Ограничение рекурсивного подсчёта<br/>документов и каталогов',
'settings_maxRecursiveCount_desc' => 'Максимальное количество документов или каталогов, которые будут проверены на права доступа при рекурсивном подсчёте объектов. При превышении этого количества, будет оценено количество документов и каталогов в виде каталога.',
'settings_maxSizeForFullText' => 'Макс. размер документа для индексирования на лету',
@ -1339,8 +1363,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Все новые загружаемые документы имеют срок действия, установленный по этому шаблону. Дата может быть указана в понятном для функции PHP strtotime() виде, например +5 weeks.',
'settings_previewWidthDetail' => 'Ширина изображения предварительного просмотра (детально)',
'settings_previewWidthDetail_desc' => 'Ширина изображения для предварительного просмотра на странице информации',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Ширина изображения для предварительного просмотра (список)',
'settings_previewWidthList_desc' => 'Ширина картинок предварительного просмотра показана в списках',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Выводить предупреждение',
'settings_printDisclaimer_desc' => 'Если включено, то предупреждение из lang.inc будет выводится внизу каждой страницы.',
'settings_quota' => 'Квота пользователя',
@ -1478,6 +1506,7 @@ URL: [url]',
'splash_substituted_user' => 'Пользователь переключён',
'splash_switched_back_user' => 'Переключён на исходного пользователя',
'splash_toogle_group_manager' => 'Изменён менеджер группы',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Статус / следующий статус',
'statistic' => 'Статистика',
@ -1485,6 +1514,7 @@ URL: [url]',
'status_approval_rejected' => 'Черновик отклонён',
'status_approved' => 'Утверждён',
'status_approver_removed' => 'Утверждающий удалён из процесса',
'status_needs_correction' => '',
'status_not_approved' => 'Не утверждён',
'status_not_receipted' => 'Получение не подтверждено',
'status_not_reviewed' => 'Не рецензирован',
@ -1538,9 +1568,12 @@ URL: [url]',
'timeline_add_version' => 'Новая версия [version]',
'timeline_full_add_file' => '[document]<br />Новое вложение',
'timeline_full_add_version' => '[document]<br />Новая версия [version]',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Версия [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => 'Выбранный документ',
'timeline_skip_add_file' => 'вложение добавлено',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'отклонён',
'timeline_skip_status_change_-3' => 'срок действия вышел',
'timeline_skip_status_change_0' => 'ожидает рецензии',
@ -1554,8 +1587,12 @@ URL: [url]',
'toggle_manager' => 'Изменить как менеджера',
'toggle_qrcode' => '',
'to_before_from' => 'Конечная дата не может быть меньше начальной даты',
'transfer_document' => 'Передать документ',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Изменено состояние процесса',
'transition_triggered_email_body' => 'Изменено состояние процесса
Документ: [name]
@ -1678,6 +1715,7 @@ URL: [url]',
'workflow_summary' => 'Сводка по процессу',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Сводка по пользователю',
'x_more_objects' => '',
'year_view' => 'Год',
'yes' => 'Да',
'zh_CN' => 'Chinese (CN)',

File diff suppressed because it is too large Load Diff

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 (1052), aydin (83)
// Translators: Admin (1059), aydin (83)
$text = array(
'2_factor_auth' => '',
@ -130,6 +130,7 @@ URL: [url]',
'archive_creation_warning' => 'Bu işlemle tüm DYS içeriğindeki dosyaların arşivini oluşturabilirsiniz. Arşiv oluşturulduktan sonra sunucudaki data klasörüne kaydedilecektir.<br>DİKKAT: Okunabilir olarak oluşturulan arşiv, sunucu yedeği olarak kullanılamaz.',
'ar_EG' => 'Arapça',
'assign_approvers' => 'Onaylayıcı Tanımla',
'assign_recipients' => '',
'assign_reviewers' => 'Kontrol Eden Tanımla',
'assign_user_property_to' => 'Kullanıcının özelliklerini ata',
'assumed_released' => 'Yayınlandı kabul edilmekte',
@ -318,6 +319,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Dokümanlar',
'documents_checked_out_by_you' => '',
'documents_expired' => 'Süresi dolan belgeler',
'documents_in_process' => 'İşlemdeki Dokümanlar',
'documents_locked' => '',
'documents_locked_by_you' => 'Doküman sizin tarafınızdan kilitlendi',
@ -327,6 +329,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Kontrol etmenizi bekleyen dokümanlar',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dikkatinizi gerektiren size ait dokümanlar',
@ -383,6 +389,8 @@ Kullanıcı: [username]
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: [name] - Doküman durumu değişti',
'document_title' => 'Doküman \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Doküman güncellendi',
'document_updated_email_body' => 'Doküman güncellendi
Doküman: [name]
@ -461,20 +469,22 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'İspanyolca',
'event_details' => 'Etkinkil detayları',
'exclude_items' => '',
'expired' => 'Süresi doldu',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Süresinin dolacağı zaman',
'expire_by_date' => '',
'expire_by_date' => 'Tarihe göre sil',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => '',
'expire_in_1w' => '',
'expire_in_1y' => '',
'expire_in_1m' => '1 Ay içinde silinecek',
'expire_in_1w' => '1 Hafta içinde silinecek',
'expire_in_1y' => '1 Yıl içinde silinecek',
'expire_in_2h' => '',
'expire_in_2y' => '',
'expire_in_2y' => '2 Yıl içinde silinecek',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti',
@ -541,6 +551,7 @@ URL: [url]',
'fullsearch' => 'Tam metinde ara',
'fullsearch_hint' => 'Tam metin indeks kullan',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Doküman dönüştürmeyi indeksle',
'fulltext_info' => 'Tam metin indeks bilgi',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Nitelikler',
@ -579,7 +590,6 @@ URL: [url]',
'include_documents' => 'Dokümanları kapsa',
'include_subdirectories' => 'Alt klasörleri kapsa',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Doküman dönüştürmeyi indeksle',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Klasörü indeksle',
@ -587,6 +597,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Bireysel',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => 'devralındı',
'inherits_access_copy_msg' => 'Devralınan erişim listesini kopyala',
'inherits_access_empty_msg' => 'Boş erişim listesiyle başla',
@ -706,6 +717,7 @@ URL: [url]',
'monday_abbr' => 'Pzt',
'monthly' => 'Aylık',
'month_view' => 'Aylık görünüm',
'more_objects_loading' => '',
'move' => 'Taşı',
'move_clipboard' => 'Panoyu taşı',
'move_document' => 'Dokümanı taşı',
@ -714,6 +726,7 @@ URL: [url]',
'my_documents' => 'Dokümanlarım',
'my_transmittals' => '',
'name' => 'İsim',
'needs_correction' => '',
'needs_workflow_action' => 'Bu doküman dikkatinizi gerektiriyor. Lütfen iş akış sekmesini kontrol ediniz.',
'network_drive' => '',
'never' => 'asla',
@ -845,6 +858,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'password_strength' => 'Parola güvenlik düzeyi',
'password_strength_insuffient' => 'Parola güvenlik düzeyi yetersiz',
'password_wrong' => 'Yanlış parola',
'pdf_converters' => 'PDF Dönüştürücü',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -858,6 +872,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => 'Önceki durum',
'previous_versions' => 'Önceki versiyonlar',
@ -1055,6 +1070,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Gruplar için hatırlatma seçmek için tıklayın',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Grup kontrol edeni seçmek için tıklayın',
@ -1170,6 +1186,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Bir klasör içinde aynı isimli dosyalara izin verir.',
'settings_enableEmail' => 'E-Postayı Etkinleştir',
'settings_enableEmail_desc' => 'Otomatik e-posta bildirimlerini etkinleştir/devre dışı bırak',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Klasör Ağaç Yapısını Etkinleştir',
'settings_enableFolderTree_desc' => '\'View Folder\' sayfasında klasör ağaç yapısını etkinleştir/devredışı bırak',
'settings_enableFullSearch' => 'Tam metin aramayı etkinleştir',
@ -1204,6 +1222,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Aktif hale getirildiğinde, klasör içindeki dokümanlar ve diğer klasörlerin sayısı kullanıcının erişim hakkı olan tüm nesnelerin özyinelemeli olarak sayılması yolu ile bulunur.',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Giriş yapmış kullanıcılar için kontrol/onay izni ver',
'settings_enableSelfRevApp_desc' => 'O an giriş yapmış olan kullanıcıları kontrol eden/onaylayan olarak listelemek ve iş akışına dahil etmek için bunu seçebilirsiniz.',
'settings_enableSessionList' => '',
@ -1245,6 +1265,8 @@ URL: [url]',
'settings_guestID_desc' => 'Misafir kullanıcı için ID (genelde değiştirmek gerekmez)',
'settings_httpRoot' => 'Http Kök dizini',
'settings_httpRoot_desc' => 'Domainden sonraki yol. http:// ve domain yazmadan domainden sonraki bölüm yazılacak. Örneğin tam URL http://www.ornek.com/seeddms/ ise sadece \'seeddms\' olarak ayarlayın. Eğer URL http://www.ornek.com/ ise sadece \'/\' koymanız yeterli',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1275,6 +1297,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Klasör altında oluşturulabilecek maksimum alt klasör sayısı Varsayılan: 0.',
'settings_maxExecutionTime' => 'Maksimum çalışma zamanı (s)',
'settings_maxExecutionTime_desc' => 'Durdurulmadan önce bir betikin en fazla kaç saniye çalışabileceğini ayarlar',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Maks. özyinelemeli doküman/klasör sayısı',
'settings_maxRecursiveCount_desc' => 'Nesneleri özyinelemeli olarak erişim hakkı kontrolü için sayarken bu değer en fazla sayılacak doküman ve klasör sayısını belirler. Bu sayııldığında klasörün içindeki dosya ve diğer klasörlerin sayısı tahmin yolu ile belirlenecektir.',
'settings_maxSizeForFullText' => '',
@ -1311,8 +1335,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Yeni yüklenen tüm dokümanların son geçerlilik tarihi bu değer olacak. Girilen tarih PHP strtotime() fonksiyonu tarafından anlaşılır olmalıdır. Ör. +5 weeks.',
'settings_previewWidthDetail' => 'Resim önizleme genişliği (detay)',
'settings_previewWidthDetail_desc' => 'Detay sayfasında görünecek önizleme resminin genişliği',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Resim önizleme genişliği (liste)',
'settings_previewWidthList_desc' => 'Listelerde görünecek önizleme resminin genişliği',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Gizlilik Notu Yazdır',
'settings_printDisclaimer_desc' => 'Seçildiğinde sayfanın en altında lang.inc dosyasındaki gizlilik notu yazılacak',
'settings_quota' => 'Kullanıcı kotası',
@ -1450,6 +1478,7 @@ URL: [url]',
'splash_substituted_user' => 'Yerine geçilen kullanıcı',
'splash_switched_back_user' => 'Orijinal kullanıcıya geri dönüldü',
'splash_toogle_group_manager' => 'Grup yöneticisi değişti',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Durum/Sonraki durum',
'statistic' => 'İstatistik',
@ -1457,6 +1486,7 @@ URL: [url]',
'status_approval_rejected' => 'Taslak reddedildi',
'status_approved' => 'Onaylandı',
'status_approver_removed' => 'Onaylayan süreci sildi',
'status_needs_correction' => '',
'status_not_approved' => 'Onaylanmadı',
'status_not_receipted' => '',
'status_not_reviewed' => 'Kontrol edilmedi',
@ -1510,9 +1540,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => 'ek eklendi',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1526,8 +1559,12 @@ URL: [url]',
'toggle_manager' => 'Değişim yönetimi',
'toggle_qrcode' => '',
'to_before_from' => 'Bitiş tarihi başlama tarihinden önce olamaz',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'İş Akış Geçişi Tetiklendi',
'transition_triggered_email_body' => 'İş Akış Geçişi Tetiklendi
Doküman: [name]
@ -1650,6 +1687,7 @@ URL: [url]',
'workflow_summary' => 'İş akış özeti',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Kullanıcı özeti',
'x_more_objects' => '',
'year_view' => 'Yıllık Görünüm',
'yes' => 'Evet',
'zh_CN' => 'Çince',

View File

@ -136,6 +136,7 @@ URL: [url]',
'archive_creation_warning' => 'Ця операція створить архів, який містить всі каталоги. Після створення архів буде збережений в каталозі даних сервера.<br><b>Увага:</b> архів, який створено в читабельному вигляді, буде непридатний в якості резервної копії для відновлення!',
'ar_EG' => 'Arabic',
'assign_approvers' => 'Призначити затверджувачів',
'assign_recipients' => '',
'assign_reviewers' => 'Призначити рецензентів',
'assign_user_property_to' => 'Призначити властивості користувача',
'assumed_released' => 'Затверджено',
@ -324,6 +325,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'док.',
'documents_checked_out_by_you' => 'Документи на Опрацюванні у вас',
'documents_expired' => '',
'documents_in_process' => 'Документи в роботі',
'documents_locked' => 'Заблоковані документи',
'documents_locked_by_you' => 'Документи, які ви заблокували',
@ -333,6 +335,10 @@ URL: [url]',
'documents_to_receipt' => 'Документи, які чекають підтвердження отримання',
'documents_to_review' => 'Документи, які чекають вашої рецензії',
'documents_to_revise' => 'Документи для повторного розгляду',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => 'Документи, які відхилили',
'documents_user_requiring_attention' => 'Ваші документи, які потребують уваги',
@ -389,6 +395,8 @@ URL: [url]',
URL: [url]',
'document_status_changed_email_subject' => '[sitename]: змінено статус документа «[name]»',
'document_title' => 'Документ [documentname]',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => 'Документ оновлено',
'document_updated_email_body' => 'Оновлено документ
Документ: [name]
@ -467,11 +475,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => 'Spanish',
'event_details' => 'Інформація про подію',
'exclude_items' => 'Виключені елементи',
'expired' => 'Термін виконання вийшов',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Термін виконання виходить',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -547,6 +557,7 @@ URL: [url]',
'fullsearch' => 'Повнотекстовий пошук',
'fullsearch_hint' => 'Використовувати повнотекстовий індекс',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Індексування документів',
'fulltext_info' => 'Інформація про повнотекстовий індекс',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Атрибути',
@ -585,7 +596,6 @@ URL: [url]',
'include_documents' => 'Включно з документами',
'include_subdirectories' => 'Включно з підкаталогами',
'indexing_tasks_in_queue' => '',
'index_converters' => 'Індексування документів',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Каталог індексу',
@ -593,6 +603,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Користувачі',
'indivіduals_in_groups' => 'Користувачі групи',
'info_recipients_tab_not_released' => '',
'inherited' => 'успадкований',
'inherits_access_copy_msg' => 'Скопіювати успадкований список',
'inherits_access_empty_msg' => 'Почати з порожнього списку доступу',
@ -712,6 +723,7 @@ URL: [url]',
'monday_abbr' => 'Пн',
'monthly' => 'Щомісяця',
'month_view' => 'Місяць',
'more_objects_loading' => '',
'move' => 'Перемістити',
'move_clipboard' => 'Перемістити буфер обміну',
'move_document' => 'Перемістити документ',
@ -720,6 +732,7 @@ URL: [url]',
'my_documents' => 'Мої документи',
'my_transmittals' => 'Мої перенесення',
'name' => 'Назва',
'needs_correction' => '',
'needs_workflow_action' => 'Цей документ потребує вашої уваги. Див. вкладку «Процес».',
'network_drive' => '',
'never' => 'ніколи',
@ -846,6 +859,7 @@ URL: [url]',
'password_strength' => 'Надійність пароля',
'password_strength_insuffient' => 'Недостатня надійність пароля',
'password_wrong' => 'Невірний пароль',
'pdf_converters' => '',
'pending_approvals' => 'Очікує затвердження',
'pending_receipt' => '',
'pending_reviews' => 'Очікує рецензії',
@ -859,6 +873,7 @@ URL: [url]',
'preview_converters' => 'Попередній перегляд перетворення документу',
'preview_images' => '',
'preview_markdown' => 'Markdown',
'preview_pdf' => '',
'preview_plain' => 'Текст',
'previous_state' => 'Попередній стан',
'previous_versions' => 'Попередні версії',
@ -1076,6 +1091,7 @@ URL: [url]',
'select_grp_ind_notification' => 'Оберіть групу',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => 'Оберіть групу',
'select_grp_ind_revisors' => '',
'select_grp_notification' => 'Оберіть групу сповіщення',
'select_grp_recipients' => 'Оберіть групу отримувачів',
'select_grp_reviewers' => 'Оберіть групу рецензентів',
@ -1191,6 +1207,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => 'Дозволити документи з однаковими назвами в каталозі.',
'settings_enableEmail' => 'Увімкнути e-mail',
'settings_enableEmail_desc' => 'Увімкнути/вимкнути автоматичне сповіщення по e-mail.',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => 'Увімкнути дерево каталогів',
'settings_enableFolderTree_desc' => 'Якщо відключено, дерево каталогів не буде відображене',
'settings_enableFullSearch' => 'Увімкнути повнотекстовий пошук',
@ -1225,6 +1243,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Якщо увімкнено, кількість документів і каталогів при перегляді каталогу буде підраховано рекурсивно для всіх документів до яких користувач має доступ.',
'settings_enableRevisionWorkflow' => 'Увімкнути процес ревізії',
'settings_enableRevisionWorkflow_desc' => 'Увімкніть для актвації функції ревізії документа через певний час',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => 'Дозволити рецензію/затвердження<br/>користувачами, авторизованими у системі',
'settings_enableSelfRevApp_desc' => 'Увімкніть для того, щоб користувачі, в даний момент авторизовані у системі, були в списку рецензентів/затверджувачів і в зміні процесу.',
'settings_enableSessionList' => '',
@ -1266,6 +1286,8 @@ URL: [url]',
'settings_guestID_desc' => 'Ідентифікатор гостя (можна не змінювати).',
'settings_httpRoot' => 'Корінь http',
'settings_httpRoot_desc' => 'Відносний шлях в URL, після доменної частини. Без http://. Наприклад, якщо повний URL http://www.example.com/seeddms/, треба вказати «/seeddms/». Якщо URL http://www.example.com/, то «/».',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => 'Початковий статус документа',
'settings_initialDocumentStatus_desc' => 'Цей статус буде встановлено, коли додається документ',
'settings_initialDocumentStatus_draft' => 'Чернетка',
@ -1296,6 +1318,8 @@ URL: [url]',
'settings_maxDirID_desc' => 'Максимум каталогів у батьківському каталозі. По замовчуванню 0.',
'settings_maxExecutionTime' => 'Максимальний час виконання, с',
'settings_maxExecutionTime_desc' => 'Встановлює максимальний час виконання скрипта, перед тим як він буде завершений.',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => 'Обмеження рекурсивного підрахунку<br/>документів і каталогів',
'settings_maxRecursiveCount_desc' => 'Максимальна кількість документів і каталогів, які будуть перевірені на права доступу при рекурсивному підрахунку об\'єктів. При перевищенні цієї кількості, буде оцінено кількість документів і каталогів у вигляді каталогу.',
'settings_maxSizeForFullText' => '',
@ -1332,8 +1356,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => 'Всі нові завантажені документи матимуть термін виконання, встановлений за цим шаблоном. Дата може бути вказана в зрозумілому для функції PHP strtotime() вигляді, наприклад +5 weeks.',
'settings_previewWidthDetail' => 'Ширина попереднього перегляду зображення (детально)',
'settings_previewWidthDetail_desc' => 'Ширина зображення при перегляді на сторінці інформації',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => 'Ширина зображення при попередньому перегляді (список)',
'settings_previewWidthList_desc' => 'Ширина зображення при попередньому перегляді і відображенні в режимі списку',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => 'Виводити попередження',
'settings_printDisclaimer_desc' => 'Якщо увімкнено, то попередження з lang.inc буде виводитися внизу кожної сторінки.',
'settings_quota' => 'Квота користувача',
@ -1471,6 +1499,7 @@ URL: [url]',
'splash_substituted_user' => 'Користувача переключено',
'splash_switched_back_user' => 'Переключено на початкового користувача',
'splash_toogle_group_manager' => 'Змінено менеджера групи',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Статус / наступний статус',
'statistic' => 'Статистика',
@ -1478,6 +1507,7 @@ URL: [url]',
'status_approval_rejected' => 'Чернетку відхилено',
'status_approved' => 'Затверджено',
'status_approver_removed' => 'Затверджувач видалений з процесу',
'status_needs_correction' => '',
'status_not_approved' => 'Не затверджено',
'status_not_receipted' => 'Отримання не підтверджено',
'status_not_reviewed' => 'Не рецензовано',
@ -1531,9 +1561,12 @@ URL: [url]',
'timeline_add_version' => 'Нова версія [version]',
'timeline_full_add_file' => '[document]<br />Новий Додаток',
'timeline_full_add_version' => '[document]<br />Нова версія [version]',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '[document]<br />Версія [version]: [status]',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => 'Обраний документ',
'timeline_skip_add_file' => 'додаток додано',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'відхилений',
'timeline_skip_status_change_-3' => 'термін виконання вийшов',
'timeline_skip_status_change_0' => 'очікує рецензії',
@ -1547,8 +1580,12 @@ URL: [url]',
'toggle_manager' => 'Змінити ознаку менеджера',
'toggle_qrcode' => '',
'to_before_from' => 'Кінцева дата не може бути меншою початкової дати',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => 'Змінено стан процесу',
'transition_triggered_email_body' => 'Змінено стан процесу
Документ: [name]
@ -1671,6 +1708,7 @@ URL: [url]',
'workflow_summary' => 'Підсумки по процесу',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => 'Підсумки по користувачу',
'x_more_objects' => '',
'year_view' => 'Рік',
'yes' => 'Так',
'zh_CN' => 'Chinese (CN)',

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 (2378)
// Translators: Admin (2387)
$text = array(
'2_factor_auth' => '',
@ -119,6 +119,7 @@ URL: [url]',
'archive_creation_warning' => '通過此操作您可以創建一個包含這個DMS(文檔管理系統)的資料檔案夾。之後,所有文檔都將保存到您伺服器的資料檔案夾中.<br>警告:如果所創建文檔名為非數字的,那麼將在伺服器備份中不可用',
'ar_EG' => '阿拉伯語',
'assign_approvers' => '指派審核人',
'assign_recipients' => '',
'assign_reviewers' => '指派校對人',
'assign_user_property_to' => '分配使用者屬性給',
'assumed_released' => '假定發佈',
@ -301,6 +302,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => '文檔',
'documents_checked_out_by_you' => '',
'documents_expired' => '過期文件',
'documents_in_process' => '待處理文檔',
'documents_locked' => '',
'documents_locked_by_you' => '被您鎖定的文檔',
@ -310,6 +312,10 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => '待您校對的文檔',
'documents_to_revise' => '',
'documents_user_draft' => '',
'documents_user_expiration' => '',
'documents_user_no_reception' => '',
'documents_user_obsolete' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => '需您關注的文檔',
@ -342,6 +348,8 @@ URL: [url]',
'document_status_changed_email_body' => '',
'document_status_changed_email_subject' => '',
'document_title' => '文檔名稱 \'[documentname]\'',
'document_transfered_email_body' => '',
'document_transfered_email_subject' => '',
'document_updated_email' => '文檔已被更新',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
@ -353,7 +361,7 @@ URL: [url]',
'download_link_email_subject' => '',
'do_object_repair' => '',
'do_object_setchecksum' => '',
'do_object_setfilesize' => '',
'do_object_setfilesize' => '設定檔案大小',
'do_object_unlink' => '',
'draft' => '',
'draft_pending_approval' => '待審核',
@ -369,7 +377,7 @@ URL: [url]',
'dump_list' => '存在轉儲文件',
'dump_remove' => '刪除轉儲檔',
'duplicates' => '',
'duplicate_content' => '',
'duplicate_content' => '重複內容',
'edit' => '編輯',
'edit_attributes' => '編輯屬性',
'edit_comment' => '編輯說明',
@ -414,11 +422,13 @@ URL: [url]',
'error_remove_folder' => '',
'error_remove_permission' => '',
'error_toogle_permission' => '',
'error_transfer_document' => '',
'es_ES' => '西班牙語',
'event_details' => '錯誤詳情',
'exclude_items' => '',
'expired' => '過期',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => '有效限期',
'expire_by_date' => '',
'expire_in_1d' => '',
@ -470,6 +480,7 @@ URL: [url]',
'fullsearch' => '全文檢索搜尋',
'fullsearch_hint' => '使用全文索引',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '索引檔轉換',
'fulltext_info' => '全文索引資訊',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => '屬性',
@ -508,7 +519,6 @@ URL: [url]',
'include_documents' => '包含文檔',
'include_subdirectories' => '包含子目錄',
'indexing_tasks_in_queue' => '',
'index_converters' => '索引檔轉換',
'index_done' => '',
'index_error' => '',
'index_folder' => '索引目錄',
@ -516,6 +526,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => '個人',
'indivіduals_in_groups' => '',
'info_recipients_tab_not_released' => '',
'inherited' => '繼承',
'inherits_access_copy_msg' => '複製繼承存取權限列表',
'inherits_access_empty_msg' => '從存取權限空列表開始',
@ -635,6 +646,7 @@ URL: [url]',
'monday_abbr' => '',
'monthly' => '',
'month_view' => '月視圖',
'more_objects_loading' => '',
'move' => '移動',
'move_clipboard' => '移動剪貼簿',
'move_document' => '移動文檔',
@ -643,6 +655,7 @@ URL: [url]',
'my_documents' => '我的文件',
'my_transmittals' => '',
'name' => '名稱',
'needs_correction' => '',
'needs_workflow_action' => '',
'network_drive' => '',
'never' => '',
@ -710,7 +723,7 @@ URL: [url]',
'old' => 'Old',
'only_jpg_user_images' => '只用jpg格式的圖片才可以作為使用者身份圖片',
'order_by_sequence_off' => '',
'original_filename' => '',
'original_filename' => '原始檔名',
'overall_indexing_progress' => '',
'owner' => '所有者',
'ownership_changed_email' => '所有者已變更',
@ -734,6 +747,7 @@ URL: [url]',
'password_strength' => '密碼強度',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pdf_converters' => '',
'pending_approvals' => '',
'pending_receipt' => '',
'pending_reviews' => '',
@ -747,11 +761,12 @@ URL: [url]',
'preview_converters' => '',
'preview_images' => '',
'preview_markdown' => '',
'preview_pdf' => '',
'preview_plain' => '',
'previous_state' => '',
'previous_versions' => '先前版本',
'process' => '',
'process_without_user_group' => '',
'process_without_user_group' => '程序缺少使用者/群組',
'pt_BR' => '葡萄牙語',
'quota' => '配額',
'quota_exceeded' => '',
@ -814,7 +829,7 @@ URL: [url]',
'review_deletion_email_subject' => '',
'review_file' => '',
'review_group' => '校對組',
'review_log' => '',
'review_log' => '檢閱紀錄',
'review_request_email' => '校對請求',
'review_request_email_body' => '',
'review_request_email_subject' => '',
@ -908,6 +923,7 @@ URL: [url]',
'select_grp_ind_notification' => '',
'select_grp_ind_recipients' => '',
'select_grp_ind_reviewers' => '',
'select_grp_ind_revisors' => '',
'select_grp_notification' => '',
'select_grp_recipients' => '',
'select_grp_reviewers' => '請點選校對人員群組',
@ -1023,6 +1039,8 @@ URL: [url]',
'settings_enableDuplicateDocNames_desc' => '',
'settings_enableEmail' => '',
'settings_enableEmail_desc' => '',
'settings_enableFilterReceipt' => '',
'settings_enableFilterReceipt_desc' => '',
'settings_enableFolderTree' => '',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '',
@ -1057,6 +1075,8 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRevisionWorkflow' => '',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfReceipt' => '',
'settings_enableSelfReceipt_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableSessionList' => '',
@ -1098,6 +1118,8 @@ URL: [url]',
'settings_guestID_desc' => '',
'settings_httpRoot' => '',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
'settings_incItemsPerPage_desc' => '',
'settings_initialDocumentStatus' => '',
'settings_initialDocumentStatus_desc' => '',
'settings_initialDocumentStatus_draft' => '',
@ -1128,6 +1150,8 @@ URL: [url]',
'settings_maxDirID_desc' => '每個父目錄的子目錄的最大數目。預設值0。',
'settings_maxExecutionTime' => '最大執行時間(秒)',
'settings_maxExecutionTime_desc' => '此設置最長時間,以秒為腳本允許運行之前它是由解析終止',
'settings_maxItemsPerPage' => '',
'settings_maxItemsPerPage_desc' => '',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount_desc' => '',
'settings_maxSizeForFullText' => '',
@ -1164,8 +1188,12 @@ URL: [url]',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthDropFolderList' => '',
'settings_previewWidthDropFolderList_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthMenuList' => '',
'settings_previewWidthMenuList_desc' => '',
'settings_printDisclaimer' => '',
'settings_printDisclaimer_desc' => '',
'settings_quota' => '',
@ -1303,6 +1331,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_document' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
@ -1310,6 +1339,7 @@ URL: [url]',
'status_approval_rejected' => '擬拒絕',
'status_approved' => '批准',
'status_approver_removed' => '從審核佇列中刪除',
'status_needs_correction' => '',
'status_not_approved' => '未批准',
'status_not_receipted' => '',
'status_not_reviewed' => '未校對',
@ -1350,7 +1380,7 @@ URL: [url]',
'takeOverGrpApprover' => '',
'takeOverGrpReviewer' => '',
'takeOverIndApprover' => '',
'takeOverIndReviewer' => '',
'takeOverIndReviewer' => '從上個版本接管個別審稿人',
'tasks' => '',
'temp_jscode' => '',
'testmail_body' => '',
@ -1363,9 +1393,12 @@ URL: [url]',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_scheduled_revision' => '',
'timeline_full_status_change' => '',
'timeline_scheduled_revision' => '',
'timeline_selected_item' => '',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
@ -1379,8 +1412,12 @@ URL: [url]',
'toggle_manager' => '角色切換',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_document' => '',
'transfer_no_read_access' => '',
'transfer_no_write_access' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transfer_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',
@ -1430,12 +1467,12 @@ URL: [url]',
'uploading_zerosize' => '上傳失敗!請檢查是否沒有選擇上傳的檔。',
'used_discspace' => '使用磁碟空間',
'user' => '用戶',
'userid_groupid' => '',
'userid_groupid' => '使用者 id/群組 id',
'users' => '用戶',
'users_and_groups' => '',
'users_done_work' => '',
'user_exists' => '用戶已存在',
'user_group' => '',
'user_group' => '使用者/群組',
'user_group_management' => '用戶/組的管理',
'user_image' => '使用者圖片',
'user_info' => '使用者資訊',
@ -1489,6 +1526,7 @@ URL: [url]',
'workflow_summary' => '',
'workflow_transition_without_user_group' => '',
'workflow_user_summary' => '',
'x_more_objects' => '',
'year_view' => '年視圖',
'yes' => '是',
'zh_CN' => '中文簡體',

View File

@ -62,7 +62,8 @@ if($settings->_quota > 0) {
}
}
if($user->isAdmin()) {
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if ($accessop->check_controller_access($controller, array('action'=>'setOwner'))) {
$ownerid = (int) $_POST["ownerid"];
if($ownerid) {
if(!($owner = $dms->getUser($ownerid))) {
@ -157,10 +158,13 @@ default:
// Get the list of reviewers and approvers for this document.
$reviewers = array();
$approvers = array();
$recipients = array();
$reviewers["i"] = array();
$reviewers["g"] = array();
$approvers["i"] = array();
$approvers["g"] = array();
$recipients["i"] = array();
$recipients["g"] = array();
$workflow = null;
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
@ -269,6 +273,34 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
}
}
// Retrieve the list of individual recipients from the form.
$recipients["i"] = array();
if (isset($_POST["indRecipients"])) {
foreach ($_POST["indRecipients"] as $ind) {
$recipients["i"][] = $ind;
}
}
// Retrieve the list of recipient groups from the form.
$recipients["g"] = array();
if (isset($_POST["grpRecipients"])) {
foreach ($_POST["grpRecipients"] as $grp) {
$recipients["g"][] = $grp;
}
}
// Retrieve the list of recipient groups whose members become individual recipients
if (isset($_POST["grpIndRecipients"])) {
foreach ($_POST["grpIndRecipients"] as $grp) {
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
/* Do not add the uploader itself and approvers */
if($member->getID() != $user->getID() && !in_array($member->getID(), $approvers['i']))
$recipients["i"][] = $member->getID();
}
}
}
}
$docsource = 'upload';
if($settings->_dropFolderDir) {
@ -410,6 +442,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$controller->setParam('sequence', $sequence);
$controller->setParam('reviewers', $reviewers);
$controller->setParam('approvers', $approvers);
$controller->setParam('recipients', $recipients);
$controller->setParam('reqversion', $reqversion);
$controller->setParam('versioncomment', $version_comment);
$controller->setParam('attributes', $attributes);
@ -530,5 +563,4 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
}
header("Location:../out/out.ViewFolder.php?folderid=".$folderid."&showtree=".$_POST["showtree"]);
?>

View File

@ -27,8 +27,12 @@ include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
/* Check if the form data comes from a trusted request */
if(!checkFormKey('addsubfolder')) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
@ -75,29 +79,40 @@ foreach($attributes as $attrdefid=>$attribute) {
}
}
$subFolder = $folder->addSubFolder($name, $comment, $user, $sequence, $attributes);
/* Check if additional notification shall be added */
$notusers = array();
if(!empty($_POST['notification_users'])) {
foreach($_POST['notification_users'] as $notuserid) {
$notuser = $dms->getUser($notuserid);
if($notuser) {
$notusers[] = $notuser;
}
}
}
$notgroups = array();
if(!empty($_POST['notification_groups'])) {
foreach($_POST['notification_groups'] as $notgroupid) {
$notgroup = $dms->getGroup($notgroupid);
if($notgroup) {
$notgroups[] = $notgroup;
}
}
}
if (is_object($subFolder)) {
$controller->setParam('folder', $folder);
$controller->setParam('name', $name);
$controller->setParam('comment', $comment);
$controller->setParam('sequence', $sequence);
$controller->setParam('attributes', $attributes);
$controller->setParam('notificationgroups', $notgroups);
$controller->setParam('notificationusers', $notusers);
if(!$subFolder = $controller->run()) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg()));
} else {
// Send notification to subscribers.
if($notifier) {
$notifyList = $folder->getNotifyList();
/*
$subject = "###SITENAME###: ".$folder->getName()." - ".getMLText("new_subfolder_email");
$message = getMLText("new_subfolder_email")."\r\n";
$message .=
getMLText("name").": ".$name."\r\n".
getMLText("folder").": ".$subFolder->getFolderPathPlain()."\r\n".
getMLText("comment").": ".$comment."\r\n".
getMLText("user").": ".$user->getFullName()."\r\n".
"URL: ###URL_PREFIX###out/out.ViewFolder.php?folderid=".$subFolder->getID()."\r\n";
$notifier->toList($user, $folder->_notifyList["users"], $subject, $message);
foreach ($folder->_notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message);
}
*/
$subject = "new_subfolder_email_subject";
$message = "new_subfolder_email_body";
$params = array();
@ -114,9 +129,6 @@ if (is_object($subFolder)) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
} else {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
add_log_line("?name=".$name."&folderid=".$folderid);

View File

@ -78,6 +78,14 @@ if (isset($_COOKIE["mydms_session"])) {
$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword));
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'postAddService')) {
$notificationObj->postAddService($notifier);
}
}
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'postAddService')) {
@ -864,16 +872,22 @@ switch($command) {
if($index) {
$indexconf['Indexer']::init($settings->_stopWordsFile);
$idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, false, $settings->_cmdTimeout);
if(isset($GLOBALS['SEEDDMS_HOOKS']['indexDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['indexDocument'] as $hookObj) {
if (method_exists($hookObj, 'preIndexDocument')) {
$hookObj->preIndexDocument(null, $document, $idoc);
$error = $idoc->getErrorMsg();
if(!$error) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['indexDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['indexDocument'] as $hookObj) {
if (method_exists($hookObj, 'preIndexDocument')) {
$hookObj->preIndexDocument(null, $document, $idoc);
}
}
}
$index->addDocument($idoc);
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_indexed'), 'data'=>$document->getID()));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>$error, 'data'=>$document->getID()));
}
$index->addDocument($idoc);
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_indexed'), 'data'=>$document->getID()));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('error_occured'), 'data'=>$document->getID()));

View File

@ -24,8 +24,11 @@ include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
@ -33,13 +36,16 @@ if (!$user->isAdmin()) {
if (isset($_POST["action"])) $action=$_POST["action"];
else $action=NULL;
if(!in_array($action, array('addattrdef', 'removeattrdef', 'editattrdef')))
UI::exitError(getMLText("admin_tools"),getMLText("unknown_command"));
/* Check if the form data comes from a trusted request */
if(!checkFormKey($action)) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
}
// add new attribute definition ---------------------------------------------
if ($action == "addattrdef") {
/* Check if the form data comes from a trusted request */
if(!checkFormKey('addattrdef')) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
}
$name = trim($_POST["name"]);
$type = intval($_POST["type"]);
@ -69,10 +75,18 @@ if ($action == "addattrdef") {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
$newAttrdef = $dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex);
if (!$newAttrdef) {
$controller->setParam('name', $name);
$controller->setParam('type', $type);
$controller->setParam('objtype', $objtype);
$controller->setParam('multiple', $multiple);
$controller->setParam('minvalues', $minvalues);
$controller->setParam('maxvalues', $maxvalues);
$controller->setParam('valueset', $valueset);
$controller->setParam('regex', $regex);
if (!($newAttrdef = $controller($_POST))) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
$attrdefid=$newAttrdef->getID();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_attribute')));
@ -83,11 +97,6 @@ if ($action == "addattrdef") {
// delete attribute definition -----------------------------------------------
else if ($action == "removeattrdef") {
/* Check if the form data comes from a trusted request */
if(!checkFormKey('removeattrdef')) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
}
if (!isset($_POST["attrdefid"]) || !is_numeric($_POST["attrdefid"]) || intval($_POST["attrdefid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef"));
}
@ -97,9 +106,11 @@ else if ($action == "removeattrdef") {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef"));
}
if (!$attrdef->remove()) {
$controller->setParam('attrdef', $attrdef);
if (!$controller($_POST)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_attribute')));
add_log_line("&action=removeattrdef&attrdefid=".$attrdefid);
@ -110,11 +121,6 @@ else if ($action == "removeattrdef") {
// edit attribute definition -----------------------------------------------
else if ($action == "editattrdef") {
/* Check if the form data comes from a trusted request */
if(!checkFormKey('editattrdef')) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
}
if (!isset($_POST["attrdefid"]) || !is_numeric($_POST["attrdefid"]) || intval($_POST["attrdefid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_attrdef"));
}
@ -146,28 +152,16 @@ else if ($action == "editattrdef") {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
if (!$attrdef->setName($name)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setType($type)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setObjType($objtype)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setMultipleValues($multiple)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setMinValues($minvalues)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setMaxValues($maxvalues)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setValueSet($valueset)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$attrdef->setRegex($regex)) {
$controller->setParam('name', $name);
$controller->setParam('type', $type);
$controller->setParam('objtype', $objtype);
$controller->setParam('multiple', $multiple);
$controller->setParam('minvalues', $minvalues);
$controller->setParam('maxvalues', $maxvalues);
$controller->setParam('valueset', $valueset);
$controller->setParam('regex', $regex);
$controller->setParam('attrdef', $attrdef);
if (!$controller($_POST)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}

View File

@ -65,10 +65,13 @@ else
// Get the list of reviewers and approvers for this document.
$reviewers = array();
$approvers = array();
$recipients = array();
$reviewers["i"] = array();
$reviewers["g"] = array();
$approvers["i"] = array();
$approvers["g"] = array();
$recipients["i"] = array();
$recipients["g"] = array();
$workflow = null;
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
@ -173,6 +176,34 @@ else
}
}
// Retrieve the list of individual recipients from the form.
$recipients["i"] = array();
if (isset($_POST["indRecipients"])) {
foreach ($_POST["indRecipients"] as $ind) {
$recipients["i"][] = $ind;
}
}
// Retrieve the list of recipient groups from the form.
$recipients["g"] = array();
if (isset($_POST["grpRecipients"])) {
foreach ($_POST["grpRecipients"] as $grp) {
$recipients["g"][] = $grp;
}
}
// Retrieve the list of recipient groups whose members become individual recipients
if (isset($_POST["grpIndRecipients"])) {
foreach ($_POST["grpIndRecipients"] as $grp) {
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
/* Do not add the uploader itself and approvers */
if($member->getID() != $user->getID() && !in_array($member->getID(), $approvers['i']))
$recipients["i"][] = $member->getID();
}
}
}
}
if(isset($_POST["attributes"]) && $_POST["attributes"]) {
$attributes = $_POST["attributes"];
foreach($attributes as $attrdefid=>$attribute) {
@ -278,7 +309,7 @@ else
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $reqversion;
$params['version'] = $contentResult->getContent()->getVersion();
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
@ -299,7 +330,7 @@ else
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $reqversion;
$params['version'] = $contentResult->getContent()->getVersion();
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
@ -316,6 +347,21 @@ else
}
}
if($recipients['i']) {
foreach($recipients['i'] as $uid) {
if($u = $dms->getUser($uid)) {
$res = $contentResult->getContent()->addIndRecipient($u, $user);
}
}
}
if($recipients['g']) {
foreach($recipients['g'] as $gid) {
if($g = $dms->getGroup($gid)) {
$res = $contentResult->getContent()->addGrpRecipient($g, $user);
}
}
}
$expires = false;
if (!isset($_POST['expires']) || $_POST["expires"] != "false") {
if($_POST["expdate"]) {

View File

@ -26,8 +26,12 @@ include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
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"));
}
@ -51,6 +55,7 @@ if(!checkFormKey('documentaccess', 'GET')) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_request_token"));
}
$mode = '';
switch ($_GET["action"]) {
case "setowner":
case "delaccess":
@ -78,6 +83,7 @@ switch ($_GET["action"]) {
break;
}
$userid = '';
if (isset($_GET["userid"])) {
if (!is_numeric($_GET["userid"])) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user"));
@ -94,6 +100,7 @@ if (isset($_GET["userid"])) {
}
}
$groupid = '';
if (isset($_GET["groupid"])) {
if (!is_numeric($_GET["groupid"])) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group"));
@ -109,23 +116,36 @@ if (isset($_GET["groupid"])) {
}
}
// Change owner -----------------------------------------------------------
if ($action == "setowner") {
$newowner = null;
if($action == 'setowner') {
if (!$user->isAdmin()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!isset($_GET["ownerid"]) || !is_numeric($_GET["ownerid"]) || $_GET["ownerid"]<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user"));
if (empty($_GET["ownerid"])) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group"));
}
$newOwner = $dms->getUser($_GET["ownerid"]);
if (!is_object($newOwner)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_user"));
if (!($newowner = $dms->getUser($_GET["ownerid"]))) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group"));
}
$oldOwner = $document->getOwner();
if($document->setOwner($newOwner)) {
// Send notification to subscribers.
$oldowner = $document->getOwner();
}
$controller->setParam('document', $document);
$controller->setParam('folder', $folder);
$controller->setParam('settings', $settings);
$controller->setParam('action', $action);
$controller->setParam('mode', $mode);
$controller->setParam('userid', $userid);
$controller->setParam('groupid', $groupid);
$controller->setParam('newowner', $newowner);
if(!$controller->run()) {
UI::exitError(getMLText("folder_title", array("foldername" => htmlspecialchars($foldername))),getMLText("error_change_access"));
}
// Change owner -----------------------------------------------------------
if ($action == "setowner") {
if($oldowner->getID() != $newowner->getID()) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
@ -135,8 +155,8 @@ if ($action == "setowner") {
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['old_owner'] = $oldOwner->getFullName();
$params['new_owner'] = $newOwner->getFullName();
$params['old_owner'] = $oldowner->getFullName();
$params['new_owner'] = $newowner->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
@ -144,8 +164,7 @@ if ($action == "setowner") {
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// $notifier->toIndividual($user, $oldOwner, $subject, $message, $params);
// $notifier->toIndividual($user, $oldowner, $subject, $message, $params);
}
}
}
@ -153,8 +172,6 @@ if ($action == "setowner") {
// Change to not inherit ---------------------------------------------------
else if ($action == "notinherit") {
$defAccess = $document->getDefaultAccess();
if($document->setInheritAccess(false)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
@ -173,41 +190,10 @@ else if ($action == "notinherit") {
}
}
}
if($document->setDefaultAccess($defAccess)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "access_permission_changed_email_subject";
$message = "access_permission_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$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);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
//copy ACL of parent folder
if ($mode == "copy") {
$accessList = $folder->getAccessList();
foreach ($accessList["users"] as $userAccess)
$document->addAccess($userAccess->getMode(), $userAccess->getUserID(), true);
foreach ($accessList["groups"] as $groupAccess)
$document->addAccess($groupAccess->getMode(), $groupAccess->getGroupID(), false);
}
}
// Change to inherit-----------------------------------------------------
else if ($action == "inherit") {
if($document->clearAccessList() && $document->setInheritAccess(true)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
@ -224,14 +210,11 @@ else if ($action == "inherit") {
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
}
// Set default permissions ----------------------------------------------
else if ($action == "setdefault") {
if($document->setDefaultAccess($mode)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
@ -248,39 +231,7 @@ else if ($action == "setdefault") {
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
}
// Modify permission ------------------------------------------------------
else if ($action == "editaccess") {
if (isset($userid)) {
$document->changeAccess($mode, $userid, true);
}
else if (isset($groupid)) {
$document->changeAccess($mode, $groupid, false);
}
}
// Delete permission-------------------------------------------------------
else if ($action == "delaccess") {
if (isset($userid)) {
$document->removeAccess($userid, true);
}
else if (isset($groupid)) {
$document->removeAccess($groupid, false);
}
}
// Add new permission -----------------------------------------------------
else if ($action == "addaccess") {
if (isset($userid) && $userid != -1) {
$document->addAccess($mode, $userid, true);
}
if (isset($groupid) && $groupid != -1) {
$document->addAccess($mode, $groupid, false);
}
}
add_log_line("");

View File

@ -171,20 +171,14 @@ elseif (isset($_GET["vfile"])) { /* {{{ */
// update infos
createVersionigFile($document);
header("Content-Type: text/plain; name=\"" . $settings->_versioningFileName . "\"");
//header("Content-Type: application/force-download; name=\"" . $settings->_versioningFileName . "\"");
header("Content-Type: text/plain");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($dms->contentDir.$document->getDir().$settings->_versioningFileName )."\"");
$efilename = rawurlencode($settings->_versioningFileName);
header("Content-Disposition: attachment; filename=\"". $efilename . "\"");
//header("Expires: 0");
//header("Content-Type: " . $content->getMimeType());
//header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: must-revalidate");
//header("Pragma: no-cache");
ob_clean();
readfile($dms->contentDir . $document->getDir() .$settings->_versioningFileName);
sendFile($dms->contentDir . $document->getDir() .$settings->_versioningFileName);
} /* }}} */
elseif (isset($_GET["dumpname"])) { /* {{{ */

View File

@ -26,8 +26,12 @@ include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
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"));
}
@ -73,74 +77,6 @@ if(isset($_POST["attributes"]))
else
$attributes = array();
if (($oldname = $document->getName()) != $name) {
if($document->setName($name)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_renamed_email_subject";
$message = "document_renamed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['old_name'] = $oldname;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
if (($oldcomment = $document->getComment()) != $comment) {
if($document->setComment($comment)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_comment_changed_email_subject";
$message = "document_comment_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['old_comment'] = $oldcomment;
$params['new_comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
switch($_POST["presetexpdate"]) {
case "date":
$tmp = explode('-', $_POST["expdate"]);
@ -168,16 +104,85 @@ default:
break;
}
if ($expires != $document->getExpires()) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'preSetExpires')) {
$hookObj->preSetExpires(null, array('document'=>$document, 'expires'=>&$expires));
$oldname = $document->getName();
$oldcomment = $document->getComment();
$oldcategories = $document->getCategories();
$oldkeywords = $document->getKeywords();
$oldexpires = $document->getExpires();
$oldattributes = $document->getAttributes();
$controller->setParam('document', $document);
$controller->setParam('name', $name);
$controller->setParam('comment', $comment);
$controller->setParam('keywords', $keywords);
$controller->setParam('categories', $categories);
$controller->setParam('expires', $expires);
$controller->setParam('sequence', $sequence);
$controller->setParam('attributes', $attributes);
if(!$controller->run()) {
if($controller->getErrorNo()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $controller->getErrorMsg());
}
}
if ($oldname != $name) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_renamed_email_subject";
$message = "document_renamed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['old_name'] = $oldname;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
}
if($document->setExpires($expires)) {
if ($oldcomment != $comment) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_comment_changed_email_subject";
$message = "document_comment_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['old_comment'] = $oldcomment;
$params['new_comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifyList['users'][] = $document->getOwner();
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
}
if ($expires != $oldexpires) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
@ -202,136 +207,9 @@ if ($expires != $document->getExpires()) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
$document->verifyLastestContentExpriry();
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'postSetExpires')) {
$hookObj->postSetExpires(null, array('document'=>$document, 'expires'=>$expires));
}
}
}
}
if (($oldkeywords = $document->getKeywords()) != $keywords) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'preSetKeywords')) {
$hookObj->preSetKeywords(null, array('document'=>$document, 'keywords'=>&$keywords, 'oldkeywords'=>&$oldkeywords));
}
}
}
if($document->setKeywords($keywords)) {
}
else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'postSetKeywords')) {
$hookObj->postSetKeywords(null, array('document'=>$document, 'keywords'=>&$keywords, 'oldkeywords'=>&$oldkeywords));
}
}
}
}
$oldcategories = $document->getCategories();
if($categories) {
$categoriesarr = array();
foreach($categories as $catid) {
if($cat = $dms->getDocumentCategory($catid)) {
$categoriesarr[] = $cat;
}
}
$oldcatsids = array();
foreach($oldcategories as $oldcategory)
$oldcatsids[] = $oldcategory->getID();
if (count($categoriesarr) != count($oldcategories) ||
array_diff($categories, $oldcatsids)) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'preSetCategories')) {
$hookObj->preSetCategories(null, array('document'=>$document, 'categories'=>&$categoriesarr, 'oldcategories'=>&$oldcategories));
}
}
}
if($document->setCategories($categoriesarr)) {
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'postSetCategories')) {
$hookObj->postSetCategories(null, array('document'=>$document, 'categories'=>&$categoriesarr, 'oldcategories'=>&$oldcategories));
}
}
}
}
} elseif($oldcategories) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'preSetCategories')) {
$hookObj->preSetCategories(null, array('document'=>$document, 'categories'=>array(), 'oldcategories'=>&$oldcategories));
}
}
}
if($document->setCategories(array())) {
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) {
if (method_exists($hookObj, 'postSetCategories')) {
$hookObj->postSetCategories(null, array('document'=>$document, 'categories'=>array(), 'oldcategories'=>&$oldcategories));
}
}
}
}
$oldattributes = $document->getAttributes();
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if(!$attrdef->validate($attribute)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} elseif(isset($oldattributes[$attrdefid])) {
if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
}
foreach($oldattributes as $attrdefid=>$oldattribute) {
if(!isset($attributes[$attrdefid])) {
if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
if($sequence != "keep") {
if($document->setSequence($sequence)) {
}
else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
if ($oldkeywords != $keywords) {
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_document_edited')));

View File

@ -0,0 +1,82 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
/* Check if the form data comes from a trusted request */
if(!checkFormKey('editdocumentfile')) {
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"));
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if (!isset($_POST["fileid"]) || !is_numeric($_POST["fileid"]) || intval($_POST["fileid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_file_id"));
}
$file = $document->getDocumentFile($_POST["fileid"]);
if (!is_object($file)) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_file_id"));
}
if (($document->getAccessMode($user) < M_ALL)&&($user->getID()!=$file->getUserID())) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied"));
}
$controller->setParam('document', $document);
$controller->setParam('file', $file);
$controller->setParam('name', isset($_POST['name']) ? $_POST['name'] : '');
$controller->setParam('comment', isset($_POST['comment']) ? $_POST['comment'] : '');
$controller->setParam('version', isset($_POST['version']) ? $_POST['version'] : '');
$controller->setParam('public', isset($_POST['public']) ? $_POST['public'] : '');
if(!$controller->run()) {
if($controller->getErrorNo()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $controller->getErrorMsg());
}
}
add_log_line("?documentid=".$documentid);
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=attachments");

View File

@ -61,7 +61,8 @@ else
$comment = $_POST["comment"];
if(isset($_POST["from"])) {
$tmp = explode('-', $_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"));

View File

@ -33,7 +33,7 @@ include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc";
function _printMessage($heading, $message) { /* {{{ */
global $dms, $theme;
$view = UI::factory($theme, 'ErrorDlg', array('dms'=>$dms));
$view = UI::factory($theme, 'Login', array('dms'=>$dms));
$view->exitError($heading, $message, true);
return;
} /* }}} */

View File

@ -28,6 +28,12 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
//$controller = Controller::factory($tmp[1]);
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if(!$accessop->check_controller_access($tmp[1] /*$controller*/)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
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"));
}

View File

@ -30,10 +30,6 @@ include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
//$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
//if (!$accessop->check_controller_access($controller, $_POST)) {
// UI::exitError(getMLText("document_title", array("documentname" => "")),getMLText("access_denied"));
//}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('removedocument')) {

View File

@ -72,5 +72,4 @@ if (!$document->removeDocumentLink($linkid)) {
add_log_line("?documentid=".$documentid."&linkid=".$linkid);
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=links");
?>

View File

@ -82,7 +82,7 @@ if (!$accessop->mayRevise($document)){
}
if (!isset($_POST["revisionStatus"]) || !is_numeric($_POST["revisionStatus"]) ||
(intval($_POST["revisionStatus"])!=1 && intval($_POST["revisionStatus"])!=-1)) {
(!in_array(intval($_POST["revisionStatus"]), array(1, -1, 6)))) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_revision_status"));
}

View File

@ -95,8 +95,20 @@ foreach ($revisionStatus as $i=>$rs) {
}
}
// Get the list of proposed recipients, stripping out any duplicates.
// Get the list of proposed revisors, stripping out any duplicates.
$pIndRev = (isset($_POST["indRevisors"]) ? array_values(array_unique($_POST["indRevisors"])) : array());
// Retrieve the list of revisor groups whose members become individual revisors
if (isset($_POST["grpIndRevisors"])) {
foreach ($_POST["grpIndRevisors"] as $grp) {
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
if(!in_array($member->getID(), $pIndRev))
$pIndRev[] = $member->getID();
}
}
}
}
$pGrpRev = (isset($_POST["grpRevisors"]) ? array_values(array_unique($_POST["grpRevisors"])) : array());
foreach ($pIndRev as $p) {
if (is_numeric($p)) {
@ -121,6 +133,7 @@ foreach ($pIndRev as $p) {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->_version;
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["i"][$p]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
@ -146,8 +159,8 @@ foreach ($pIndRev as $p) {
}
else {
// Proposed recipient is already in the list of recipients.
// Remove recipient from the index of possible recipients. If there are
// any recipients left over in the list of possible recipients, they
// Remove revisor from the index of possible revisors. If there are
// any revisors left over in the list of possible revisors, they
// will be removed from the revision process for this document revision.
unset($revisionIndex["i"][$p]);
}
@ -179,6 +192,7 @@ if (count($revisionIndex["i"]) > 0) {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->_version;
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["i"][$rx]->getFullName();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
@ -226,6 +240,7 @@ foreach ($pGrpRev as $p) {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->_version;
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["g"][$p]->getName();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
@ -250,7 +265,7 @@ foreach ($pGrpRev as $p) {
}
}
else {
// Remove recipient from the index of possible recipients.
// Remove recipient from the index of possible revisors.
unset($revisionIndex["g"][$p]);
}
}
@ -280,6 +295,7 @@ if (count($revisionIndex["g"]) > 0) {
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $content->_version;
$params['comment'] = $content->getComment();
$params['revisor'] = $accessIndex["g"][$rx]->getName();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;

View File

@ -70,6 +70,8 @@ if ($action == "saveSettings")
$settings->_previewWidthDetail = $_POST["previewWidthDetail"];
$settings->_showFullPreview = getBoolValue("showFullPreview");
$settings->_convertToPdf = getBoolValue("convertToPdf");
$settings->_maxItemsPerPage = $_POST["maxItemsPerPage"];
$settings->_incItemsPerPage = $_POST["incItemsPerPage"];
// SETTINGS - SITE - EDITION
$settings->_strictFormCheck = getBoolValue("strictFormCheck");
@ -180,10 +182,12 @@ if ($action == "saveSettings")
$settings->_enableAdminRevApp = getBoolValue("enableAdminRevApp");
$settings->_enableOwnerRevApp = getBoolValue("enableOwnerRevApp");
$settings->_enableSelfRevApp = getBoolValue("enableSelfRevApp");
$settings->_enableSelfReceipt = getBoolValue("enableSelfReceipt");
$settings->_enableUpdateRevApp = getBoolValue("enableUpdateRevApp");
$settings->_enableAdminReceipt = getBoolValue("enableAdminReceipt");
$settings->_enableOwnerReceipt = getBoolValue("enableOwnerReceipt");
$settings->_enableUpdateReceipt = getBoolValue("enableUpdateReceipt");
$settings->_enableFilterReceipt = getBoolValue("enableFilterReceipt");
$settings->_enableVersionDeletion = getBoolValue("enableVersionDeletion");
$settings->_enableVersionModification = getBoolValue("enableVersionModification");
$settings->_enableDuplicateDocNames = getBoolValue("enableDuplicateDocNames");
@ -216,13 +220,16 @@ if ($action == "saveSettings")
unset($settings->_converters['fulltext']['newmimetype']);
unset($settings->_converters['fulltext']['newcmd']);
if(isset($_POST["converters"]["preview"]))
$settings->_converters['preview'] = $_POST["converters"]["preview"];
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.*-]+#', '', $settings->_converters["preview"]["newmimetype"]);
if($newmimetype && trim($settings->_converters['preview']['newcmd']))
$settings->_converters['preview'][$newmimetype] = trim($settings->_converters['preview']['newcmd']);
unset($settings->_converters['preview']['newmimetype']);
unset($settings->_converters['preview']['newcmd']);
foreach(array('preview', 'pdf') as $target) {
if(isset($_POST["converters"][$target])) {
$settings->_converters[$target] = $_POST["converters"][$target];
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.*-]+#', '', $settings->_converters[$target]["newmimetype"]);
if($newmimetype && trim($settings->_converters[$target]['newcmd']))
$settings->_converters[$target][$newmimetype] = trim($settings->_converters[$target]['newcmd']);
unset($settings->_converters[$target]['newmimetype']);
unset($settings->_converters[$target]['newcmd']);
}
}
// SETTINGS - EXTENSIONS
$settings->_extensions = isset($_POST["extensions"]) ? $_POST["extensions"] : array();

View File

@ -0,0 +1,97 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1]);
if (!$user->isAdmin()) {
UI::exitError(getMLText("document"),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */
if(!checkFormKey('transferdocument')) {
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"));
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if (!isset($_POST["userid"]) || !is_numeric($_POST["userid"]) || intval($_POST["userid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$userid = $_POST["userid"];
$newuser = $dms->getUser($userid);
if (!is_object($newuser)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$folder = $document->getFolder();
$controller->setParam('document', $document);
$controller->setParam('newuser', $newuser);
if(!$controller->run()) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("error_transfer_document"));
}
if ($notifier){
/* Get the notify list before removing the document */
$nl = $document->getNotifyList();
$subject = "document_transfered_email_subject";
$message = "document_transfered_email_body";
$params = array();
$params['name'] = $document->getName();
$params['newuser'] = $newuser->getFullName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$notifier->toList($user, $nl["users"], $subject, $message, $params);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_transfer_document')));
add_log_line("?documentid=".$documentid);
header("Location:../out/out.ViewFolder.php?folderid=".$folder->getID());
?>

View File

@ -169,10 +169,13 @@ default:
// Get the list of reviewers and approvers for this document.
$reviewers = array();
$approvers = array();
$recipients = array();
$reviewers["i"] = array();
$reviewers["g"] = array();
$approvers["i"] = array();
$approvers["g"] = array();
$recipients["i"] = array();
$recipients["g"] = array();
$workflow = null;
if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') {
@ -285,6 +288,34 @@ default:
}
}
// Retrieve the list of individual recipients from the form.
$recipients["i"] = array();
if (isset($_POST["indRecipients"])) {
foreach ($_POST["indRecipients"] as $ind) {
$recipients["i"][] = $ind;
}
}
// Retrieve the list of recipient groups from the form.
$recipients["g"] = array();
if (isset($_POST["grpRecipients"])) {
foreach ($_POST["grpRecipients"] as $grp) {
$recipients["g"][] = $grp;
}
}
// Retrieve the list of recipient groups whose members become individual recipients
if (isset($_POST["grpIndRecipients"])) {
foreach ($_POST["grpIndRecipients"] as $grp) {
if($group = $dms->getGroup($grp)) {
$members = $group->getUsers();
foreach($members as $member) {
/* Do not add the uploader itself and approvers */
if($member->getID() != $user->getID() && !in_array($member->getID(), $approvers['i']))
$recipients["i"][] = $member->getID();
}
}
}
}
if(isset($_POST["attributes_version"]) && $_POST["attributes_version"]) {
$attributes = $_POST["attributes_version"];
foreach($attributes as $attrdefid=>$attribute) {
@ -315,6 +346,7 @@ default:
$controller->setParam('userfiletype', $userfiletype);
$controller->setParam('reviewers', $reviewers);
$controller->setParam('approvers', $approvers);
$controller->setParam('recipients', $recipients);
$controller->setParam('attributes', $attributes);
$controller->setParam('workflow', $workflow);
$controller->setParam('initialdocumentstatus', $settings->_initialDocumentStatus);

View File

@ -47,5 +47,9 @@ if($view) {
$view->setParam('categories', $categories);
$view->setParam('selcategory', $selcat);
$view->setParam('accessobject', $accessop);
$view->setParam('showtree', showtree());
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout);
$view($_GET);
}

View File

@ -72,6 +72,7 @@ if($view) {
$view->setParam('enableadminrevapp', $settings->_enableAdminRevApp);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('enableselfrec', $settings->_enableSelfReceipt);
$view->setParam('dropfolderdir', $settings->_dropFolderDir);
$view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('presetexpiration', $settings->_presetExpirationDate);

View File

@ -30,6 +30,13 @@ include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_view_access($view, $_GET)) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"), false, $isajax);
}
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"));
}
@ -38,6 +45,10 @@ if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if(!$accessop->mayEditComment($document)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if($document->isLocked()) {
$lockingUser = $document->getLockingUser();
if (($lockingUser->getID() != $user->getID()) && ($document->getAccessMode($user) != M_ALL)) {
@ -52,14 +63,6 @@ if (!is_object($version)) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if(!$accessop->mayEditComment($document)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('folder', $folder);
$view->setParam('document', $document);

View File

@ -0,0 +1,71 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
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"));
}
$document = $dms->getDocument($_GET["documentid"]);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if (!isset($_GET["fileid"]) || !is_numeric($_GET["fileid"]) || intval($_GET["fileid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_file_id"));
}
$file = $document->getDocumentFile($_GET["fileid"]);
if (!is_object($file)) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_file_id"));
}
if (($document->getAccessMode($user) < M_ALL)&&($user->getID()!=$file->getUserID())) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied"));
}
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('folder', $folder);
$view->setParam('document', $document);
$view->setParam('file', $file);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}
?>

42
out/out.ErrorDlg.php Normal file
View File

@ -0,0 +1,42 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// This file is needed because SeedDMS_View_Bootstrap::htmlEndPage() includes
// a file out/out.ErrorDlg.php?action=webrootjs and out/out.ErrorDlg.php?action=footerjs
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");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view($_GET);
exit;
}

View File

@ -0,0 +1,57 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_view_access($view, $_GET)) {
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
}
if ($user->isGuest()) {
UI::exitError(getMLText("expired_documents"),getMLText("access_denied"));
}
$orderby='n';
if (isset($_GET["orderby"]) && strlen($_GET["orderby"])==1 ) {
$orderby=$_GET["orderby"];
}
if($view) {
$view->setParam('orderby', $orderby);
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}
?>

View File

@ -57,7 +57,7 @@ $folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if(!$accessop->mayOverwriteStatus($document)) {
if(!$accessop->mayOverrideStatus($document)) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_change_final_states"));
}

View File

@ -35,7 +35,7 @@ if (!$accessop->check_view_access($view, $_GET)) {
}
if (!isset($_GET["groupid"]) || !is_numeric($_GET["groupid"]) || intval($_GET["groupid"])<1) {
UI::exitError(getMLText("rm_group"),getMLText("invalid_user_id"));
UI::exitError(getMLText("rm_group"),getMLText("invalid_group_id"));
}
$group = $dms->getGroup(intval($_GET["groupid"]));

View File

@ -30,6 +30,10 @@ include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings);
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"));
}
@ -66,9 +70,6 @@ if (!is_object($subworkflow)) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {

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