diff --git a/CHANGELOG b/CHANGELOG index 137c145a0..670e63255 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,13 @@ -------------------------------------------------------------------------------- - merge changes up to 5.0.9 - filter documents by status 'draft' on search page +- list of documents to look at now contains documents in revision +- add list of documents waiting for reception on MyDocuments page +- group document lists on MyDocuments page into three sections +- show progressbar and comments for reception of document in documentlist +- restructure page for document/folder check, add check for missing access + on documents by recipient or revisor +- overhaul revision workflow, add hook after revision workflow was finished -------------------------------------------------------------------------------- Changes in version 5.1.1 @@ -99,10 +106,10 @@ -------------------------------------------------------------------------------- Changes in version 4.3.32 -------------------------------------------------------------------------------- -- fix saving new mimetype for fulltext search, available languages +- fix saving new mimetype for fulltext search, available languages (Closes #308) - put access rights of folder into popup box if more than 3 exists -- define apache_request_headers() if it does not exists, makes webdav - work in fast cgi mode or on webservers other than apache +- do not execute code which uses apache_request_headers() if it does not exists, + makes webdav work in fast cgi mode or on webservers other than apache (Closes #300) - clean up of distribution created by makefile - order groups in select boxes by name - javascript added by addToFooterJS() will be written to a temp. file @@ -115,6 +122,9 @@ - replace lots of tables in forms by bootstraps control-group - add remove button to folder selector - editing of an exiting review/approval can be turned off +- add searching for id of folder/document (Closes #302) +- admin may set owner of document when uploading it +- default access rights for documents can be set in configuration -------------------------------------------------------------------------------- Changes in version 4.3.31 diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 4a6650b4e..179b831b5 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1018,7 +1018,7 @@ class SeedDMS_Core_DMS { $queryStr = ''; } break; // }}} - case 'AppRevOwner': // Documents waiting for review/approval I'm owning {{{ + case 'AppRevOwner': // Documents waiting for review/approval/revision I'm owning {{{ $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1026,7 +1026,7 @@ class SeedDMS_Core_DMS { else $orderdir = 'ASC'; $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". - "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") "; + "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_IN_REVISION.") "; if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; @@ -1036,6 +1036,36 @@ class SeedDMS_Core_DMS { // "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") ". // "ORDER BY `statusDate` DESC"; break; // }}} + case 'ReceiveOwner': // Documents waiting for reception I'm owning {{{ + $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`'; + $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()."'"; + 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 'RejectOwner': // Documents that has been rejected and I'm owning {{{ $user = $param1; $orderby = $param3; @@ -1211,7 +1241,7 @@ class SeedDMS_Core_DMS { // if none is checkd search all if (count($searchin)==0) - $searchin=array(1, 2, 3, 4); + $searchin=array(1, 2, 3, 4, 5); /*--------- Do it all over again for folders -------------*/ $totalFolders = 0; @@ -1373,6 +1403,9 @@ class SeedDMS_Core_DMS { $searchFields[] = "`tblDocumentAttributes`.`value`"; $searchFields[] = "`tblDocumentContentAttributes`.`value`"; } + if (in_array(5, $searchin)) { + $searchFields[] = "`tblDocuments`.`id`"; + } if (count($searchFields)>0) { @@ -2757,6 +2790,44 @@ class SeedDMS_Core_DMS { return $transition; } /* }}} */ + /** + * Return all documents waiting for or in reception + * + * This function retrieves all documents and its version which are waiting for + * reception + * + * @return object instance of {@link SeedDMS_Core_DocumentContent} or false + */ + function getDocumentsInReception() { /* {{{ */ + if (!$this->db->createTemporaryTable("ttreceiptid") || !$this->db->createTemporaryTable("ttcontentid")) { + return false; + } + $queryStr = + "SELECT `tblDocumentRecipients`.* FROM `tblDocumentRecipients` LEFT JOIN `ttreceiptid` ON `tblDocumentRecipients`.`receiptID` = `ttreceiptid`.`receiptID` LEFT JOIN `tblDocumentReceiptLog` ON `ttreceiptid`.`maxLogID` = `tblDocumentReceiptLog`.`receiptLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRecipients`.`version` AND `ttcontentid`.`document`=`tblDocumentRecipients`.`documentID` WHERE `tblDocumentReceiptLog`.`status`=0 AND `ttcontentid`.`maxVersion` IS NOT NULL"; + $resArr = $this->db->getResultArray($queryStr); + + return $resArr; + } /* }}} */ + + /** + * Return all documents waiting for or in revision + * + * This function retrieves all documents and its version which are waiting for + * revision or already in revision + * + * @return object instance of {@link SeedDMS_Core_DocumentContent} or false + */ + function getDocumentsInRevision() { /* {{{ */ + if (!$this->db->createTemporaryTable("ttrevisionid") || !$this->db->createTemporaryTable("ttcontentid")) { + return false; + } + $queryStr = + "SELECT `tblDocumentRevisors`.* FROM `tblDocumentRevisors` LEFT JOIN `ttrevisionid` ON `tblDocumentRevisors`.`revisionID` = `ttrevisionid`.`revisionID` LEFT JOIN `tblDocumentRevisionLog` ON `ttrevisionid`.`maxLogID` = `tblDocumentRevisionLog`.`revisionLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` AND `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` WHERE `tblDocumentRevisionLog`.`status` in (0, -3) AND `ttcontentid`.`maxVersion` IS NOT NULL"; + $resArr = $this->db->getResultArray($queryStr); + + return $resArr; + } /* }}} */ + /** * Returns document content which is not linked to a document * @@ -2769,7 +2840,7 @@ class SeedDMS_Core_DMS { function getUnlinkedDocumentContent() { /* {{{ */ $queryStr = "SELECT * FROM tblDocumentContent WHERE document NOT IN (SELECT id FROM tblDocuments)"; $resArr = $this->db->getResultArray($queryStr); - if (!$resArr) + if ($resArr === false) return false; $versions = array(); @@ -2793,7 +2864,7 @@ class SeedDMS_Core_DMS { function getNoFileSizeDocumentContent() { /* {{{ */ $queryStr = "SELECT * FROM tblDocumentContent WHERE fileSize = 0 OR fileSize is null"; $resArr = $this->db->getResultArray($queryStr); - if (!$resArr) + if ($resArr === false) return false; $versions = array(); @@ -2817,7 +2888,7 @@ class SeedDMS_Core_DMS { function getNoChecksumDocumentContent() { /* {{{ */ $queryStr = "SELECT * FROM tblDocumentContent WHERE checksum = '' OR checksum is null"; $resArr = $this->db->getResultArray($queryStr); - if (!$resArr) + if ($resArr === false) return false; $versions = array(); @@ -2839,7 +2910,7 @@ class SeedDMS_Core_DMS { * in version 4.0.0 of SeedDMS for finding duplicates. */ function getDuplicateDocumentContent() { /* {{{ */ - $queryStr = "SELECT a.*, b.id as dupid FROM tblDocumentContent a LEFT JOIN tblDocumentContent b ON a.checksum=b.checksum where a.id!=b.id ORDER by a.id"; + $queryStr = "SELECT a.*, b.id as dupid FROM tblDocumentContent a LEFT JOIN tblDocumentContent b ON a.checksum=b.checksum where a.id!=b.id ORDER by a.id LIMIT 1000"; $resArr = $this->db->getResultArray($queryStr); if (!$resArr) return false; diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 80957ef4c..b5a1ee6f6 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -4805,6 +4805,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ /* Does it make sense to put all revisions into sleeping mode? I guess * not. If a document was released or rejected the revision are useless * anyway + */ foreach($revisionStatus as $status) { if($status['status'] != S_LOG_SLEEPING && $status['status'] != S_LOG_USER_REMOVED) { $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, @@ -4819,7 +4820,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } } } - */ if(!$this->setStatus($docstatus, $docmsg, $requestUser)) { $db->rollbackTransaction(); return false; diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index 28661f5e7..f5c20c337 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -106,6 +106,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { if (in_array(4, $searchin)) { $searchFields[] = "`tblFolderAttributes`.`value`"; } + if (in_array(5, $searchin)) { + $searchFields[] = "`tblFolders`.`id`"; + } return $searchFields; } /* }}} */ diff --git a/SeedDMS_Core/Core/inc.ClassGroup.php b/SeedDMS_Core/Core/inc.ClassGroup.php index 16cafc9bb..3c8afed0f 100644 --- a/SeedDMS_Core/Core/inc.ClassGroup.php +++ b/SeedDMS_Core/Core/inc.ClassGroup.php @@ -461,18 +461,24 @@ class SeedDMS_Core_Group { /* {{{ */ $status = array(); + if (!$db->createTemporaryTable("ttcontentid")) { + return false; + } // See if the group is assigned as a revisor. $queryStr = "SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status`, ". "`tblDocumentRevisionLog`.`comment`, `tblDocumentRevisionLog`.`date`, ". "`tblDocumentRevisionLog`.`userID` ". "FROM `tblDocumentRevisors` ". "LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ". "WHERE `tblDocumentRevisors`.`type`='1' ". ($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' "). - "AND `tblDocumentRevisors`.`required`='". $this->_id ."' "; + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : ""). + "AND `tblDocumentRevisors`.`required`='". $this->_id ."' ". + "ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if ($resArr === false) return false; if (count($resArr)>0) { $status['status'] = array(); diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 27d4a19ce..0369cd2ed 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -1223,6 +1223,9 @@ class SeedDMS_Core_User { /* {{{ */ $status = array("indstatus"=>array(), "grpstatus"=>array()); // See if the user is assigned as an individual reviewer. + /* FIXME: See query of getRevisionStatus() because it also restricts on + * latest version. This may be needed here too. + */ $queryStr = "SELECT `tblDocumentReviewers`.*, `tblDocumentReviewLog`.`status`, ". "`tblDocumentReviewLog`.`comment`, `tblDocumentReviewLog`.`date`, ". "`tblDocumentReviewLog`.`userID` ". @@ -1310,6 +1313,9 @@ class SeedDMS_Core_User { /* {{{ */ $db = $this->_dms->getDB(); $status = array("indstatus"=>array(), "grpstatus"=>array()); + /* FIXME: See query of getRevisionStatus() because it also restricts on + * latest version. This may be needed here too. + */ $queryStr = "SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`status`, ". "`tblDocumentApproveLog`.`comment`, `tblDocumentApproveLog`.`date`, ". @@ -1390,15 +1396,22 @@ class SeedDMS_Core_User { /* {{{ */ $status = array("indstatus"=>array(), "grpstatus"=>array()); + if (!$db->createTemporaryTable("ttcontentid")) { + return false; + } // See if the user is assigned as an individual recipient. + // left join with ttcontentid to restrict result on latest version of document + // unless a document and version is given $queryStr = "SELECT `tblDocumentRecipients`.*, `tblDocumentReceiptLog`.`status`, ". "`tblDocumentReceiptLog`.`comment`, `tblDocumentReceiptLog`.`date`, ". "`tblDocumentReceiptLog`.`userID` ". "FROM `tblDocumentRecipients` ". "LEFT JOIN `tblDocumentReceiptLog` USING (`receiptID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID` ". "WHERE `tblDocumentRecipients`.`type`='0' ". ($documentID==null ? "" : "AND `tblDocumentRecipients`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRecipients`.`version` = '". (int) $version ."' "). + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` " : ""). "AND `tblDocumentRecipients`.`required`='". $this->_id ."' ". "ORDER BY `tblDocumentReceiptLog`.`receiptLogID` DESC"; $resArr = $db->getResultArray($queryStr); @@ -1423,10 +1436,12 @@ class SeedDMS_Core_User { /* {{{ */ "`tblDocumentReceiptLog`.`userID` ". "FROM `tblDocumentRecipients` ". "LEFT JOIN `tblDocumentReceiptLog` USING (`receiptID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID` ". "LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentRecipients`.`required` ". "WHERE `tblDocumentRecipients`.`type`='1' ". ($documentID==null ? "" : "AND `tblDocumentRecipients`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRecipients`.`version` = '". (int) $version ."' "). + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` " : ""). "AND `tblGroupMembers`.`userID`='". $this->_id ."' ". "ORDER BY `tblDocumentReceiptLog`.`receiptLogID` DESC"; $resArr = $db->getResultArray($queryStr); @@ -1470,21 +1485,29 @@ class SeedDMS_Core_User { /* {{{ */ $status = array("indstatus"=>array(), "grpstatus"=>array()); + if (!$db->createTemporaryTable("ttcontentid")) { + return false; + } // See if the user is assigned as an individual revisor. + // left join with ttcontentid to restrict result on latest version of document + // unless a document and version is given $queryStr = "SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status`, ". "`tblDocumentRevisionLog`.`comment`, `tblDocumentRevisionLog`.`date`, ". "`tblDocumentRevisionLog`.`userID` ". "FROM `tblDocumentRevisors` ". "LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ". "WHERE `tblDocumentRevisors`.`type`='0' ". ($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' "). + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : ""). "AND `tblDocumentRevisors`.`required`='". $this->_id ."' ". "ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr === false) + if ($resArr === false) return false; if (count($resArr)>0) { + $status['indstatus'] = array(); foreach ($resArr as $res) { if($res['date']) { if(isset($status["indstatus"][$res['documentID']])) { @@ -1505,10 +1528,12 @@ class SeedDMS_Core_User { /* {{{ */ "`tblDocumentRevisionLog`.`userID` ". "FROM `tblDocumentRevisors` ". "LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ". "LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentRevisors`.`required` ". "WHERE `tblDocumentRevisors`.`type`='1' ". ($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' "). + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : ""). "AND `tblGroupMembers`.`userID`='". $this->_id ."' ". "ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC"; $resArr = $db->getResultArray($queryStr); diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index 19ae61706..95935ca4b 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -88,10 +88,15 @@ class SeedDMS_Core_DatabaseAccess { private $_ttcontentid; /** - * @var boolean set to true if temp. table for doc content has been created + * @var boolean set to true if temp. table for doc reception has been created */ private $_ttreceiptid; + /** + * @var boolean set to true if temp. table for doc revision has been created + */ + private $_ttrevisionid; + /** * @var boolean set to true if in a database transaction */ @@ -157,6 +162,7 @@ class SeedDMS_Core_DatabaseAccess { $this->_ttstatid = false; $this->_ttcontentid = false; $this->_ttreceiptid = false; + $this->_ttrevisionid = false; $this->_debug = false; } /* }}} */ @@ -341,7 +347,7 @@ class SeedDMS_Core_DatabaseAccess { } return $this->_ttreviewid; } - else if (!strcasecmp($tableName, "ttapproveid")) { + elseif (!strcasecmp($tableName, "ttapproveid")) { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` AS ". @@ -374,7 +380,7 @@ class SeedDMS_Core_DatabaseAccess { } return $this->_ttapproveid; } - else if (!strcasecmp($tableName, "ttstatid")) { + elseif (!strcasecmp($tableName, "ttstatid")) { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttstatid` AS ". @@ -407,7 +413,7 @@ class SeedDMS_Core_DatabaseAccess { } return $this->_ttstatid; } - else if (!strcasecmp($tableName, "ttcontentid")) { + elseif (!strcasecmp($tableName, "ttcontentid")) { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE `ttcontentid` AS ". @@ -473,6 +479,39 @@ class SeedDMS_Core_DatabaseAccess { } return $this->_ttreceiptid; } + elseif (!strcasecmp($tableName, "ttrevisionid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` AS ". + "SELECT `tblDocumentRevisionLog`.`revisionID`, ". + "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". + "FROM `tblDocumentRevisionLog` ". + "GROUP BY `tblDocumentRevisionLog`.`revisionID` ". + "ORDER BY `maxLogID`"; + break; + default: + $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` (PRIMARY KEY (`revisionID`), INDEX (`maxLogID`)) ". + "SELECT `tblDocumentRevisionLog`.`revisionID`, ". + "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". + "FROM `tblDocumentRevisionLog` ". + "GROUP BY `tblDocumentRevisionLog`.`revisionID` ". + "ORDER BY `maxLogID`"; + } + if (!$this->_ttrevisionid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttrevisionid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DELETE FROM `ttrevisionid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttrevisionid; + } return false; } /* }}} */ diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 4450cf615..20c3ed153 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2016-11-08 + 2017-01-18 - 5.0.9 - 5.0.9 + 5.1.2 + 5.1.2 stable @@ -24,7 +24,17 @@ GPL License -- all changes from 5.0.8 merged +- all changes from 5.0.9 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 +- temp. table for revisions can be created +- new methods SeedDMS_Core_DMS::getDocumentsInReception() and +SeedDMS_Core_DMS::getDocumentsInRevision() +- limit hits of sql statement in SeedDMЅ_Core_DMS::getDuplicateDocumentContent() to 1000 +- finishRevsion() puts all revisors into state waiting, so a new revision can be started +- fix SeedDMS_Core_Group::getRevisionStatus(), which did not always return the last +log entry first @@ -1147,6 +1157,7 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - order groups by name returned by getReadAccessList() - add optional parameter to SeedDMS_Core_DMS::filterDocumentLinks() +- SeedDMS_Core_DMS::search() can search for document/folder id @@ -1278,6 +1289,22 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - all changes from 4.3.31 merged + + 2016-11-08 + + + 5.0.9 + 5.0.9 + + + stable + stable + + GPL License + +- all changes from 4.3.32 merged + + 2016-03-09 diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php index 3c0c8ebbf..14cd6448b 100644 --- a/controllers/class.AddDocument.php +++ b/controllers/class.AddDocument.php @@ -43,6 +43,7 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { $expires = $this->getParam('expires'); $keywords = $this->getParam('keywords'); $cats = $this->getParam('categories'); + $owner = $this->getParam('owner'); $userfiletmp = $this->getParam('userfiletmp'); $userfilename = $this->getParam('userfilename'); $filetype = $this->getParam('filetype'); @@ -59,11 +60,12 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { $notificationusers = $this->getParam('notificationusers'); $initialdocumentstatus = $this->getParam('initialdocumentstatus'); $maxsizeforfulltext = $this->getParam('maxsizeforfulltext'); + $defaultaccessdocs = $this->getParam('defaultaccessdocs'); $result = $this->callHook('addDocument'); if($result === null) { $filesize = SeedDMS_Core_File::fileSize($userfiletmp); - $res = $folder->addDocument($name, $comment, $expires, $user, $keywords, + $res = $folder->addDocument($name, $comment, $expires, $owner, $keywords, $cats, $userfiletmp, basename($userfilename), $filetype, $userfiletype, $sequence, $reviewers, $approvers, $reqversion, @@ -76,6 +78,14 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { $document = $res[0]; + /* Set access as specified in settings. */ + if($defaultaccessdocs) { + if($defaultaccessdocs > 0 && $defaultaccessdocs < 4) { + $document->setInheritAccess(0, true); + $document->setDefaultAccess($defaultaccessdocs, true); + } + } + if($index) { $index->addDocument(new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $maxsizeforfulltext))); } diff --git a/controllers/class.ReviseDocument.php b/controllers/class.ReviseDocument.php index 391e8ac14..7ed205668 100644 --- a/controllers/class.ReviseDocument.php +++ b/controllers/class.ReviseDocument.php @@ -52,7 +52,7 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common { } elseif ($revisiontype == "grp") { if(0 > $content->setRevision($group, $user, $revisionstatus, $comment)) { $this->error = 1; - $this->errormsg = "revision_update_failed"; + $this->errormsg = $ll."revision_update_failed"; return false; } } @@ -90,7 +90,9 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common { // then release the document otherwise put it back into revision workflow if ($revisionCT == $revisionTotal) { $newStatus=S_RELEASED; - if ($content->finishRevision($user, $newStatus, '', getMLText("automatic_status_update"))) { + if ($content->finishRevision($user, $newStatus, 'Finished revision workflow', getMLText("automatic_status_update"))) { + if(!$this->callHook('finishReviseDocument', $content)) { + } } } else { $newStatus=S_IN_REVISION; diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index 6e3c4a45a..c4caf2ce3 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -355,6 +355,21 @@ class SeedDMS_AccessOperation { return false; } /* }}} */ + /** + * Check if a review maybe edited + * + * A review may only be updated by the user who originaly addedd the + * review and if it is allowed in the settings + */ + function mayUpdateReceipt($document, $updateUser) { /* {{{ */ + if(get_class($document) == 'SeedDMS_Core_Document') { + if($this->settings->_enableUpdateReceipt && ($updateUser == $this->user) && !$document->hasExpired()) { + return true; + } + } + return false; + } /* }}} */ + /** * Check if document content may be revised * diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 7feb7f8a0..8cda50f58 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -68,6 +68,8 @@ class Settings { /* {{{ */ var $_encryptionKey = ''; // lifetime of cookie in seconds or 0 for end of session var $_cookieLifetime = ''; + // default access mode for documents + var $_defaultAccessDocs = ''; // Strict form checking var $_strictFormCheck = false; // Path to where SeedDMS is located @@ -143,6 +145,8 @@ class Settings { /* {{{ */ var $_enableSelfRevApp = false; // enable/disable update of a review/approval by the reviewer/approver var $_enableUpdateRevApp = 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 @@ -492,6 +496,7 @@ class Settings { /* {{{ */ $this->_undelUserIds = strval($tab["undelUserIds"]); $this->_encryptionKey = strval($tab["encryptionKey"]); $this->_cookieLifetime = intval($tab["cookieLifetime"]); + $this->_defaultAccessDocs = intval($tab["defaultAccessDocs"]); $this->_restricted = Settings::boolVal($tab["restricted"]); $this->_enableUserImage = Settings::boolVal($tab["enableUserImage"]); $this->_disableSelfEdit = Settings::boolVal($tab["disableSelfEdit"]); @@ -596,6 +601,7 @@ class Settings { /* {{{ */ $this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]); $this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]); $this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]); + $this->_enableUpdateReceipt = Settings::boolval($tab["enableUpdateReceipt"]); $this->_presetExpirationDate = strval($tab["presetExpirationDate"]); $this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]); $this->_versioningFileName = strval($tab["versioningFileName"]); @@ -807,6 +813,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "undelUserIds", $this->_undelUserIds); $this->setXMLAttributValue($node, "encryptionKey", $this->_encryptionKey); $this->setXMLAttributValue($node, "cookieLifetime", $this->_cookieLifetime); + $this->setXMLAttributValue($node, "defaultAccessDocs", $this->_defaultAccessDocs); $this->setXMLAttributValue($node, "restricted", $this->_restricted); $this->setXMLAttributValue($node, "enableUserImage", $this->_enableUserImage); $this->setXMLAttributValue($node, "disableSelfEdit", $this->_disableSelfEdit); @@ -898,6 +905,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp); $this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt); $this->setXMLAttributValue($node, "enableOwnerReceipt", $this->_enableOwnerReceipt); + $this->setXMLAttributValue($node, "enableUpdateReceipt", $this->_enableUpdateReceipt); $this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate); $this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus); $this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName); @@ -981,7 +989,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($extnode, 'name', $name); foreach($GLOBALS['EXT_CONF'][$name]['config'] as $fieldname=>$conf) { $parameter = $extnode->addChild('parameter'); - $parameter[0] = isset($extension[$fieldname]) ? $extension[$fieldname] : ''; + $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; $this->setXMLAttributValue($parameter, 'name', $fieldname); } diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index da6989de2..39c9c154e 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -106,6 +106,7 @@ class UI extends UI_Default { $view->setParam('checkoutdir', $settings->_checkOutDir); $view->setParam('showmissingtranslations', $settings->_showMissingTranslations); $view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod); + $view->setParam('cachedir', $settings->_cacheDir); return $view; } return null; diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 42dab1cf2..7f4d3e9cd 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -105,12 +105,26 @@ class SeedDMS_View_Common { $ret = $tmpret; break; case 3: - default: $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2)); if(is_string($tmpret)) $ret .= $tmpret; else $ret = $tmpret; + break; + case 4: + $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3)); + if(is_string($tmpret)) + $ret .= $tmpret; + else + $ret = $tmpret; + break; + default: + case 5: + $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4)); + if(is_string($tmpret)) + $ret .= $tmpret; + else + $ret = $tmpret; } } } diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index ee28786b0..ef963df37 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -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 (1270) +// Translators: Admin (1272) $text = array( '2_factor_auth' => '', @@ -238,7 +238,7 @@ URL: [url]', 'choose_workflow_action' => 'اختر اجراء مسار عمل', 'choose_workflow_state' => 'اختر حالة مسار عمل', 'class_name' => '', -'clear_cache' => '', +'clear_cache' => 'ﻢﺴﺣ ﺎﻠﻤﺤﻓﻮﻇﺎﺗ', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => 'لوحة القصاصات', @@ -294,6 +294,8 @@ URL: [url]', 'de_DE' => 'الألمانية', 'disclaimer' => 'هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'المستند', 'documentcontent' => '', 'documents' => 'المستندات', @@ -307,6 +309,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'مستندات في انتظار المراجعة', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'مستندات ملكك تستلزم انتباهك', 'document_already_checkedout' => '', @@ -531,7 +534,7 @@ URL: [url]', 'hu_HU' => 'مجرية', 'id' => 'معرف', 'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.', -'import' => '', +'import' => 'ﺎﺴﺘﺧﺭﺎﺟ', 'importfs' => '', 'import_fs' => '', 'import_fs_warning' => '', @@ -750,6 +753,8 @@ URL: [url]', 'no_version_modification' => 'ﻻ ﺖﻋﺪﻴﻟ ﻊﻠﻳ ﺎﻠﻨﺴﺧﺓ', 'no_workflow_available' => '', 'objectcheck' => 'التحقق من مستند/مجلد', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'مهمل', 'october' => 'اكتوبر', 'old' => 'قديم', @@ -888,6 +893,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1040,6 +1047,8 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -1110,6 +1119,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 111a8643b..0db8f8784 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -279,6 +279,8 @@ $text = array( 'de_DE' => '', 'disclaimer' => 'Работим аккуратно и задълбочено. От това зависи бъдeщето на нашата страна и благополучието на народа.nПетилетката за три години!nДа не оставим неодрусана слива в наше село!', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Документ', 'documentcontent' => '', 'documents' => 'Документи', @@ -292,6 +294,7 @@ $text = array( 'documents_to_receipt' => '', 'documents_to_review' => 'Документы, чакащи Вашата рецензия', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Ваши документи, изискващи внимание', 'document_already_checkedout' => '', @@ -657,6 +660,8 @@ $text = array( 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => 'Проверка на Папка/Документ', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Остарял', 'october' => 'октомври', 'old' => 'Стар', @@ -766,6 +771,8 @@ $text = array( 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -905,6 +912,8 @@ $text = array( 'settings_dbUser' => 'Логин', 'settings_dbUser_desc' => 'Логин, въведен в процеса на инсталацията. Не променяй без нужда, само например, ако БД е преместена.', 'settings_dbVersion' => 'Схема БД остаряла', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -975,6 +984,8 @@ $text = array( 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Включи аватари', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index dfcad60f7..e7f5e47d7 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -284,6 +284,8 @@ URL: [url]', 'de_DE' => 'Alemany', 'disclaimer' => 'Aquesta és una àrea restringida. Només es permet l\'accés a usuaris autoritzats. Qualsevol intrusió es perseguirà d\'acord amb les lleis internacionals.', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Document', 'documentcontent' => '', 'documents' => 'Documents', @@ -297,6 +299,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Documents en espera de revisió d\'usuaris', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documents de la seva propietat que requereixen atenció', 'document_already_checkedout' => '', @@ -662,6 +665,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => '', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Obsolet', 'october' => 'Octubre', 'old' => 'Vell', @@ -771,6 +776,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -910,6 +917,8 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -980,6 +989,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 337f09bf7..66612025e 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -301,6 +301,8 @@ URL: [url]', 'de_DE' => 'Němčina', 'disclaimer' => 'Toto je neveřejná oblast. Přístup povolen pouze oprávněným uživatelům. Jakékoliv narušení bude stíháno podle platných právních norem.', 'discspace' => 'Místo na disku', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokument', 'documentcontent' => '', 'documents' => 'Dokumenty', @@ -314,6 +316,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Dokumenty čekající na kontrolu uživatele', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty, které uživatel vlastní a vyžadují pozornost', 'document_already_checkedout' => '', @@ -757,6 +760,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => 'workflow nedostupný', 'objectcheck' => 'kontrola adresáře/dokumentu', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Zastaralé', 'october' => 'Říjen', 'old' => 'Starý', @@ -897,6 +902,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1049,6 +1056,8 @@ URL: [url]', 'settings_dbUser' => 'Username', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -1119,6 +1128,8 @@ URL: [url]', '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_enableThemeSelector' => 'Volba tématu', 'settings_enableThemeSelector_desc' => 'Volba témat na přihlašovací stránce.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index a3ef7e87b..b7c1b3d5b 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -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 (2355), dgrutsch (22) +// Translators: Admin (2366), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'Deutsch', 'disclaimer' => 'Dies ist ein geschützter Bereich. Nur authorisiertes Personal hat Zugriff. Jegliche Verstöße werden nach geltendem Recht (Englisch und International) verfolgt.', 'discspace' => 'Plattenplatz', +'docs_in_reception_no_access' => 'Dokumente mit Empfangsbestätigung ohne Zugriff des Empfängers', +'docs_in_revision_no_access' => 'Dokumente in Revision ohne Zugriff des Prüfers', 'document' => 'Dokument', 'documentcontent' => 'Dokumentenversion', 'documents' => 'Dokumente', @@ -319,6 +321,7 @@ URL: [url]', 'documents_to_receipt' => 'Empfangsbestätigung erforderlich', 'documents_to_review' => 'Prüfung erforderlich', 'documents_to_revise' => 'Erneute Prüfung erforderlich', +'documents_user_reception' => 'Dokumente mit Empfangsbestätigung', 'documents_user_rejected' => 'Abgelehnte Dokumente', 'documents_user_requiring_attention' => 'Diese Dokumente sollte ich mal nachsehen', 'document_already_checkedout' => 'Dieses Dokument ist bereits ausgecheckt', @@ -761,6 +764,8 @@ URL: [url]', 'no_version_modification' => 'Keine Modifikationen an einer Version', 'no_workflow_available' => 'Kein Workflow verfügbar', 'objectcheck' => 'Ordner- und Dokumentenprüfung', +'object_check_critical' => 'Kritische Fehler', +'object_check_warning' => 'Warnungen', 'obsolete' => 'veraltet', 'october' => 'Oktober', 'old' => 'Alt', @@ -940,6 +945,15 @@ Benutzer: [username] URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Aufforderung zur Wiederholungsprüfung', 'revision_status' => 'Status', +'revision_submit_email_body' => 'Erneute Freigabe erteilen +Dokument: [name] +Version: [version] +Elternordner: [folder_path] +Status: [status] +Kommentar: [comment] +Benutzer: [username] +URL: [url]', +'revision_submit_email_subject' => '[sitename]: [name] - Erneute Freigabe erteilen', 'revisors' => 'Überprüfer', 'revisor_already_assigned' => 'Benutzer bereits als Wiederholungsprüfer eingetragen.', 'revisor_already_removed' => 'Wiederholungsprüfer wurde bereits vom Prozess ausgeschlossen oder hat das Dokument bereits geprüft.', @@ -1092,6 +1106,8 @@ URL: [url]', 'settings_dbUser' => 'Benutzer', 'settings_dbUser_desc' => 'Der Benutzername, um auf die Datenbank zugreifen zu können.', 'settings_dbVersion' => 'Datenbankschema zu alt', +'settings_defaultAccessDocs' => 'Standardberechtigung für neue Dokumente', +'settings_defaultAccessDocs_desc' => 'Beim Erstellen eines neuen Dokuments wird dies als Standardberechtigung gesetzt.', 'settings_defaultSearchMethod' => 'Voreingestellte Suchmethode', 'settings_defaultSearchMethod_desc' => 'Voreingestellte Suchmethode, wenn über das Suchfeld in der Menüleiste gesucht wird.', 'settings_defaultSearchMethod_valdatabase' => 'Datenbank', @@ -1162,6 +1178,8 @@ URL: [url]', '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_enableThemeSelector' => 'Auswahl des Themas', 'settings_enableThemeSelector_desc' => 'Schaltet das Auswahlmenü für die Themenauswahl in der Anmeldemaske ein oder aus.', +'settings_enableUpdateReceipt' => 'Erlaube die Änderung einer Empfangsbestätigung', +'settings_enableUpdateReceipt_desc' => 'Anwählen, um dem Benutzer, der die Empfangsbestätigung erteilt hat, die Änderung der Entscheidung zu erlauben.', 'settings_enableUpdateRevApp' => 'Erlaube die Änderung einer Prüfung/Freigabe', 'settings_enableUpdateRevApp_desc' => 'Anwählen, um dem Benutzer, der die Prüfung/Freigabe durchgeführt hat, die Änderung der Entscheidung zu erlauben, solange das Dokument den Workflow-Schritt noch nicht verlassen hat.', 'settings_enableUserImage' => 'Benutzerbilder einschalten', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 7327e094c..ad93374b1 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -279,6 +279,8 @@ $text = array( 'de_DE' => 'German/Γερμανικά', 'disclaimer' => '', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Έγγραφο', 'documentcontent' => '', 'documents' => 'Έγγραφα', @@ -292,6 +294,7 @@ $text = array( 'documents_to_receipt' => '', 'documents_to_review' => '', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '', 'document_already_checkedout' => '', @@ -668,6 +671,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => '', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => '', 'october' => 'Οκτώβριος', 'old' => 'Παλιό', @@ -777,6 +782,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -916,6 +923,8 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -986,6 +995,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 9625e0ed0..aff121206 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -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 (1484), dgrutsch (9), netixw (14) +// Translators: Admin (1493), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'German', 'disclaimer' => 'This is a classified area. Access is permitted only to authorized personnel. Any violation will be prosecuted according to the national and international laws.', 'discspace' => 'Disc space', +'docs_in_reception_no_access' => 'Documents with recepiton without access by recipient', +'docs_in_revision_no_access' => 'Documents in revision without access by revisor', 'document' => 'Document', 'documentcontent' => 'Document content', 'documents' => 'Documents', @@ -319,6 +321,7 @@ 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_reception' => 'Documents awaiting reception', 'documents_user_rejected' => 'Rejected documents', 'documents_user_requiring_attention' => 'Documents owned by you that require attention', 'document_already_checkedout' => 'This document is already checked out', @@ -762,6 +765,8 @@ URL: [url]', 'no_version_modification' => 'No version modification', 'no_workflow_available' => 'No workflow available', 'objectcheck' => 'Folder/Document check', +'object_check_critical' => 'Critical errors', +'object_check_warning' => 'Warnings', 'obsolete' => 'Obsolete', 'october' => 'October', 'old' => 'Old', @@ -941,6 +946,8 @@ User: [username] URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Revision request', 'revision_status' => 'Status', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Revisors', 'revisor_already_assigned' => 'User is already assigned as an revisor.', 'revisor_already_removed' => 'Revisor has already been removed from revision process or has already revised the document.', @@ -1093,6 +1100,8 @@ URL: [url]', 'settings_dbUser' => 'Username', 'settings_dbUser_desc' => 'The username for access to your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.', 'settings_dbVersion' => 'Database schema too old', +'settings_defaultAccessDocs' => 'Default access for new documents', +'settings_defaultAccessDocs_desc' => 'When a new document is created, this will be the default access right.', 'settings_defaultSearchMethod' => 'Default search method', 'settings_defaultSearchMethod_desc' => 'Default search method, when a search is started by the search form in the main menu.', 'settings_defaultSearchMethod_valdatabase' => 'database', @@ -1163,6 +1172,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Enable this if you want the currently logged in user to be listed as reviewers/approvers and for workflow transitions.', 'settings_enableThemeSelector' => 'Theme selection', 'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.', +'settings_enableUpdateReceipt' => 'Allow editing of existing reception', +'settings_enableUpdateReceipt_desc' => 'Enable this, if the user who has made a reception may change the decission.', 'settings_enableUpdateRevApp' => 'Allow editing of exting review/approval', 'settings_enableUpdateRevApp_desc' => 'Enable this, if the user who has made a review/approval may change the decission as long as the current workflow step has not been finished.', 'settings_enableUserImage' => 'Enable User Image', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index c85a359e0..d56dd21e4 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -301,6 +301,8 @@ URL: [url]', 'de_DE' => 'Aleman', 'disclaimer' => 'Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.', 'discspace' => 'Espacio en disco', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Documento', 'documentcontent' => '', 'documents' => 'Documentos', @@ -314,6 +316,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Documentos en espera de revisión de usuarios', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documentos de su propiedad que requieren atención', 'document_already_checkedout' => '', @@ -757,6 +760,8 @@ URL: [url]', 'no_version_modification' => 'Ninguna Modificación de Versión', 'no_workflow_available' => '', 'objectcheck' => 'Chequeo de carpeta/documento', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Obsoleto', 'october' => 'Octubre', 'old' => 'Viejo', @@ -903,6 +908,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1055,6 +1062,8 @@ URL: [url]', 'settings_dbUser' => 'Nombre de usuario', 'settings_dbUser_desc' => 'Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.', 'settings_dbVersion' => 'Esquema de base de datos demasiado antiguo', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Método de búsqueda por defecto', 'settings_defaultSearchMethod_desc' => 'Método de búsqueda por defecto, cuando se inicia una búsqueda mediante el formulario en el menú principal', 'settings_defaultSearchMethod_valdatabase' => 'base de datos', @@ -1125,6 +1134,8 @@ URL: [url]', '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_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' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Habilitar imágenes de usuario', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 67308555f..5d7238384 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'Allemand', 'disclaimer' => 'Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.
Tout accès non autorisé est punissable par les lois internationales.', 'discspace' => 'Espace disque', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Document', 'documentcontent' => '', 'documents' => 'Documents', @@ -319,6 +321,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Documents en attente de correction', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => 'Documents rejetés', 'documents_user_requiring_attention' => 'Documents à surveiller', 'document_already_checkedout' => 'Ce document est déjà débloqué', @@ -762,6 +765,8 @@ URL: [url]', 'no_version_modification' => 'Pas de modification de version', 'no_workflow_available' => '', 'objectcheck' => 'Vérification des dossiers et documents', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Obsolète', 'october' => 'Octobre', 'old' => 'Ancien', @@ -898,6 +903,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1037,6 +1044,8 @@ URL: [url]', 'settings_dbUser' => 'Nom d\'utilisateur', 'settings_dbUser_desc' => 'Le nom d\'utilisateur pour l\'accès à votre base de données entré pendant le processus d\'installation. Ne pas modifier le champ sauf si vraiment nécessaire, par exemple pour le transfert de la base de données vers un nouvel hébergement.', 'settings_dbVersion' => 'Schéma de base de données trop ancien', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Méthode de recherche par défaut', 'settings_defaultSearchMethod_desc' => 'Méthode de recherche par défaut, lorsque la recherche est exécutée depuis le moteur de recherche du menu principal', 'settings_defaultSearchMethod_valdatabase' => 'base de données', @@ -1107,6 +1116,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.', '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' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Activer image utilisateurs', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 895bc28d1..c7ca21f5e 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -306,6 +306,8 @@ Internet poveznica: [url]', 'de_DE' => 'Njemački', 'disclaimer' => 'Ovo je klasificirano područje. Pristup je omogućen samo ovlaštenim osobama. Sa svakim kršenjem bit će postupano sukladno nacionalnim i međunarodnim zakonima.', 'discspace' => 'Prostor na disku', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokument', 'documentcontent' => '', 'documents' => 'Dokumenti', @@ -319,6 +321,7 @@ 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_reception' => '', 'documents_user_rejected' => 'Odbijeni dokumenti', 'documents_user_requiring_attention' => 'Dokumenti u vašem vlasništvu koji zahtjevaju pažnju', 'document_already_checkedout' => 'Ovaj dokument je već odjavljen', @@ -761,6 +764,8 @@ Internet poveznica: [url]', 'no_version_modification' => 'Nema modifikacije verzije', 'no_workflow_available' => 'Nema dostupnog toka rada', 'objectcheck' => 'Provjera mapa / dokumenata', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Zastarjelo', 'october' => 'Listopad', 'old' => 'Staro', @@ -924,6 +929,8 @@ Internet poveznica: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Revizori', 'revisor_already_assigned' => 'Korisnik je već dodijeljen kao revizor', 'revisor_already_removed' => 'Revizor je uklonjen iz procesa revizije ili je već revidirao dokument.', @@ -1076,6 +1083,8 @@ Internet poveznica: [url]', 'settings_dbUser' => 'Korisničko ime', 'settings_dbUser_desc' => 'Korisničko ime za pristup vašoj bazi podataka unijeto tijekom postupka instalacije. Ne uređujte ovo polje bez prijeke potrebe, npr. prijenos baze podataka na novi Host.', 'settings_dbVersion' => 'Shema baze podataka je prestara', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Zadana metoda pretrage', 'settings_defaultSearchMethod_desc' => 'Zadana metoda pretrage, kada se pretraživanje pokreće putem formulara iz glavnog izbornika', 'settings_defaultSearchMethod_valdatabase' => 'baza podataka', @@ -1146,6 +1155,8 @@ Internet poveznica: [url]', 'settings_enableSelfRevApp_desc' => 'Omogući ovo ako želite da trenutno prijavljeni korisnik bude naveden kao recezent/validator i za promjenu toka rada.', 'settings_enableThemeSelector' => 'Odabir teme', 'settings_enableThemeSelector_desc' => 'Uključuje/isključuje izbornik tema na stranici prijave.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Omogući sliku korisnika', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 2e19ce26a..9ae96862e 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -301,6 +301,8 @@ URL: [url]', 'de_DE' => 'Német', 'disclaimer' => 'Ez egy bizalmas terület. Hozzáférés kizárólag a meghatalmazott személyek részére engedélyezett. Bárminemű megsértését a nemzeti, illetve a nemzetközi jog szerint fogják büntetni.', 'discspace' => 'Lemezterület', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokumentum', 'documentcontent' => '', 'documents' => 'Dokumentumok', @@ -314,6 +316,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Felülvizsgálatára váró dokumentumok', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Az Ön tulajdonában álló dokumentumok, amelyekre figyelmet kell fordítani', 'document_already_checkedout' => '', @@ -757,6 +760,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => 'Mappa/Dokumentum ellenőrzés', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Elavult', 'october' => 'Október', 'old' => 'Régi', @@ -903,6 +908,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1054,6 +1061,8 @@ URL: [url]', 'settings_dbUser' => 'Felhasználónév', 'settings_dbUser_desc' => 'Az adatbázis eléréséhez tartozó felhasználónevet a telepítési eljárás során kell megadni. Ne szerkessze ezt a mezőt, csak ha nagyon szükséges, például, ha az adatbázist át kell helyezni egy másik gépre.', 'settings_dbVersion' => 'Adatbázis séma túl régi', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Alapértelmezett keresési módszer', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => 'adatbázis', @@ -1124,6 +1133,8 @@ URL: [url]', '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_enableThemeSelector' => 'Téma választása', 'settings_enableThemeSelector_desc' => 'Kapcsolja be/ki a témaválasztót a bejelentkező oldalon', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Felhasználói kép engedélyezése', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 0ce657ffa..382559be4 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -307,6 +307,8 @@ URL: [url]', 'de_DE' => 'Tedesco', 'disclaimer' => 'Questa è un\'area riservata. L\'accesso è consentito solo agli utenti autorizzati. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.', 'discspace' => 'Spazio su disco', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Documento', 'documentcontent' => '', 'documents' => 'Documenti', @@ -320,6 +322,7 @@ 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_reception' => '', 'documents_user_rejected' => 'Documenti rifiutati', 'documents_user_requiring_attention' => 'Tuoi documenti in attesa di revisione o approvazione', 'document_already_checkedout' => 'Questo documento è già approvato', @@ -763,6 +766,8 @@ URL: [url]', 'no_version_modification' => 'Nessuna modifica versione', 'no_workflow_available' => 'Nessun flusso di lavoro disponibile', 'objectcheck' => 'Controllo cartelle o documenti', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Obsoleto', 'october' => 'Ottobre', 'old' => 'Vecchio', @@ -936,6 +941,8 @@ User: [username] URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Richiesta di revisione', 'revision_status' => 'Status', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Revisori', 'revisor_already_assigned' => 'Utente già assegnato al ruolo di revisore', 'revisor_already_removed' => 'Revisore già rimosso dal processo di revisione o ha già revisionato documento.', @@ -1088,6 +1095,8 @@ URL: [url]', 'settings_dbUser' => 'Utente', 'settings_dbUser_desc' => 'Utente per accedere al database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.', 'settings_dbVersion' => 'Schema del database obsoleto', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Metodo di ricerca predefinito', 'settings_defaultSearchMethod_desc' => 'Metodo di ricerca predefinito, quando la ricerca viene avviata dal modulo di ricerca nel menu principale.', 'settings_defaultSearchMethod_valdatabase' => 'database', @@ -1158,6 +1167,8 @@ URL: [url]', '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_enableThemeSelector' => 'Selezione tema grafico', 'settings_enableThemeSelector_desc' => 'Abilita/disabilita il selettore di tema grafico nella finestra di login', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Abilita immagine utente', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index e69ae1a95..f8ae12238 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -308,6 +308,8 @@ URL: [url]', 'de_DE' => '독일어', 'disclaimer' => '본 사이트는 접근이 허가된 자에게만 사용이 허용된 곳 입니다. 허가받지 않은 접근이나 불법행위는 국내 및 국제법에 따라 기소 될 것입니다.', 'discspace' => '디스크 공간', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => '문서', 'documentcontent' => '', 'documents' => '문서', @@ -321,6 +323,7 @@ URL: [url]', 'documents_to_receipt' => '당신의 접수확인을 기다리는 문서들', 'documents_to_review' => '당신의 검토를 기다리는 문서', 'documents_to_revise' => '문서 정정', +'documents_user_reception' => '', 'documents_user_rejected' => '거부된 문서', 'documents_user_requiring_attention' => '주의가 필요한 당신 소유의 문서', 'document_already_checkedout' => '이문서는 이미 체크아웃 되었습니다', @@ -762,6 +765,8 @@ URL : [url]', 'no_version_modification' => '버전의 변동사항이 없습니다.', 'no_workflow_available' => '사용 가능한 워크 플로우 없습니다.', 'objectcheck' => '폴더 / 문서 확인', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => '폐기', 'october' => '10월', 'old' => '이전', @@ -917,6 +922,8 @@ URL: [url]', 'revision_request_email_body' => '수정 요청 메일 내용', 'revision_request_email_subject' => '수정 요청 이메일 제목', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '감사', 'revisor_already_assigned' => '이미 감사가 선임이 된 사용자.', 'revisor_already_removed' => '감사는 문서의 개정을 과정에서 삭제했거나 이미 개정을 완료 했습니다.', @@ -1069,6 +1076,8 @@ URL : [url]', 'settings_dbUser' => '사용자 이름', 'settings_dbUser_desc' => '설치 과정에서 입력 한 데이터베이스 액세스를 위한 사용자 이름. 새 호스트에 데이터베이스의 예 전송을 위해 절대적으로 필요한 경우가 아니면 필드를 ​​편집하지 마십시오.', 'settings_dbVersion' => '오래된 데이터베이스 스키마', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '기본 검색 방법 설정', 'settings_defaultSearchMethod_desc' => '기본 검색 설정', 'settings_defaultSearchMethod_valdatabase' => '기본 검색 방법 설정', @@ -1139,6 +1148,8 @@ URL : [url]', 'settings_enableSelfRevApp_desc' => '검토 / 승인자로 워크 플로우 전환을 위해 나열되어있는 것이 현재 로그인 한 사용자가 필요한 경우이를 활성화합니다.', 'settings_enableThemeSelector' => '테마 선택', 'settings_enableThemeSelector_desc' => '로그인 페이지의 테마 선택기를 켜기/끄기로 전환합니다.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '사용자 이미지 사용', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index e30506918..139e9a822 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -299,6 +299,8 @@ URL: [url]', 'de_DE' => 'Duits', 'disclaimer' => 'Dit is een beveiligde omgeving. Gebruik is alleen toegestaan voor geautoriseerde leden. Ongeautoriseerde toegang kan worden bestraft overeenkomstig (inter)nationale wetgeving.', 'discspace' => 'Schijfruimte', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Document', 'documentcontent' => '', 'documents' => 'Documenten', @@ -312,6 +314,7 @@ URL: [url]', 'documents_to_receipt' => 'documenten te ontvangen', 'documents_to_review' => 'Documenten die wachten op uw controle', 'documents_to_revise' => 'Te reviseren documenten', +'documents_user_reception' => '', 'documents_user_rejected' => 'documenten niet geaccepteerd door gebruiker', 'documents_user_requiring_attention' => 'Eigen documenten die (nog) aandacht behoeven', 'document_already_checkedout' => 'Al in behandeling genomen documenten', @@ -754,6 +757,8 @@ URL: [url]', 'no_version_modification' => 'Geen versiewijziging', 'no_workflow_available' => 'Geen workflow beschikbaar', 'objectcheck' => 'Map/Document controle', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'verouderd', 'october' => 'oktober', 'old' => 'Oude', @@ -926,6 +931,8 @@ User: [username] URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] – Verzoek tot herziening', 'revision_status' => 'Status revisie', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Herzieners', 'revisor_already_assigned' => 'Gebruiker is reeds herziener', 'revisor_already_removed' => 'Herziener reeds verwijderd', @@ -1082,6 +1089,8 @@ URL: [url]', 'settings_dbUser' => 'Gebruikersnaam', 'settings_dbUser_desc' => 'De gebruikersnaam voor toegang tot de datbase ingevoerd tijdens de installatie. Verander de waarde niet tenzij echt nodig, bijvoorbeeld bij verplaatsing van de database naar een ander systeem.', 'settings_dbVersion' => 'Database schema te oud', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Default zoekmethode', 'settings_defaultSearchMethod_desc' => 'Default zoekmethode', 'settings_defaultSearchMethod_valdatabase' => 'Default zoekmethode (database)', @@ -1152,6 +1161,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Schakel in indien the huidig ingelogde gebruiker wordt toegewezen als goedkeurder/ beoordelaar en voor workflow overgangen.', 'settings_enableThemeSelector' => 'Selecteer thema', 'settings_enableThemeSelector_desc' => 'Schakel thema selectie op de aanmeldpagina uit', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Inschakelen Gebruikersplaatjes', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index ec3341d3f..1fd9926d9 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -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 (746), netixw (84), romi (93), uGn (112) +// Translators: Admin (747), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -294,6 +294,8 @@ URL: [url]', 'de_DE' => 'niemiecki', 'disclaimer' => 'To jest zastrzeżona strefa. Dostęp do niej ma wyłącznie wyznaczony personel. Wszelkie naruszenia będą ścigane zgodnie z prawem krajowym i międzynarodowym.', 'discspace' => 'Miejsce na dysku', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokument', 'documentcontent' => '', 'documents' => 'Dokumenty', @@ -307,6 +309,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Dokumenty oczekujące na Twoją recenzję', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty należące do Ciebie, które wymagają uwagi', 'document_already_checkedout' => '', @@ -383,7 +386,7 @@ URL: [url]', 'drag_icon_here' => 'Przeciągnij ikonę folderu lub dokumentu tutaj!', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Plik z folderu rozwijanego', -'dropfolder_folder' => '', +'dropfolder_folder' => 'Katalog ze strefy drop', 'dropupload' => 'Szybki upload', 'drop_files_here' => 'Przeciągnij tu pliki!', 'dump_creation' => 'Utworzenie zrzutu bazy danych', @@ -750,6 +753,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => 'Sprawdź Katalog/Dokument', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Zdezaktualizowany', 'october' => 'Październik', 'old' => 'Stary', @@ -882,6 +887,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1034,6 +1041,8 @@ URL: [url]', 'settings_dbUser' => 'Nazwa użytkownika', 'settings_dbUser_desc' => 'Nazwa użytkownika uprawnionego do dostępu do bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.', 'settings_dbVersion' => 'Schemat bazy danych jest za stary', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => 'baza danych', @@ -1104,6 +1113,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Włącz tę opcję jeżeli zalogowany użytkownik ma prawo do recenzowania/zatwierdzania oraz do przepływu procesu', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Włącz obrazy użytkowników', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index d2f14751d..2b4ff6e33 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -301,6 +301,8 @@ URL: [url]', 'de_DE' => 'Alemão', 'disclaimer' => 'Esta é uma área restrita, o acesso é permitido apenas ao pessoal autorizado. Qualquer violação será tratado de acordo com as normas internas e leis vigentes.', 'discspace' => 'Espaço em Disco', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Documento', 'documentcontent' => '', 'documents' => 'Documentos', @@ -314,6 +316,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Documents Awaiting User\'s Review', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documents Owned by User That Require Attention', 'document_already_checkedout' => '', @@ -755,6 +758,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => 'Verificação da Pasta/Documento', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Obsolete', 'october' => 'October', 'old' => 'Antigo', @@ -900,6 +905,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1052,6 +1059,8 @@ URL: [url]', 'settings_dbUser' => 'Nome do usuário', 'settings_dbUser_desc' => 'O nome de usuário para acesso ao banco de dados, informado durante o processo de instalação. Não edite campo a menos que seja absolutamente necessário, por exemplo, a transferência do banco de dados para um novo host.', 'settings_dbVersion' => 'Esquema de banco de dados muito antigo', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Forma padrão para buscas', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => 'Banco de Dados', @@ -1122,6 +1131,8 @@ URL: [url]', '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_enableThemeSelector' => 'Seleção de tema', 'settings_enableThemeSelector_desc' => 'Liga/desliga o seletor de tema na página de login.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Ativar Imagem de Usuário', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 470bac21e..0eed5ad8e 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'Germana', 'disclaimer' => 'Aceasta este o zonă clasificată. Accesul este permis numai personalului autorizat. Orice încălcare va fi urmărită penal în conformitate cu legile naționale și internaționale.', 'discspace' => 'Spațiu pe disc', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Document', 'documentcontent' => '', 'documents' => 'Documente', @@ -319,6 +321,7 @@ 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_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documente deținute de tine care necesită atenție', 'document_already_checkedout' => 'Acest document este deja verificat', @@ -762,6 +765,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => 'Nici un workflow disponibil', 'objectcheck' => 'Verificare folder/document', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Învechit', 'october' => 'Octombrie', 'old' => 'Vechi', @@ -925,6 +930,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Revizuitori', 'revisor_already_assigned' => 'Utilizatorul este deja asignat ca retrimitor.', 'revisor_already_removed' => 'Retrimitorul a fost deja eliminat din procesul de revizuire sau a revizuit deja documentul.', @@ -1077,6 +1084,8 @@ URL: [url]', 'settings_dbUser' => 'Username', 'settings_dbUser_desc' => 'Username-ul de acces la baza de date introdus în timpul procesului de instalare. Nu editați câmpul decât dacă este absolut necesar (de exemplu transferul bazei de date la un nou Host).', 'settings_dbVersion' => 'Schema bazei de date este prea veche', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'metoda de cautare implicita', 'settings_defaultSearchMethod_desc' => 'Metoda de cautare implicita cand cautarea a fost initiata prin formularul de cautare din meniul principal', 'settings_defaultSearchMethod_valdatabase' => 'baza de date', @@ -1147,6 +1156,8 @@ URL: [url]', '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_enableThemeSelector' => 'Selecție Temă', 'settings_enableThemeSelector_desc' => 'Activare/dezactivare selector temă pe pagina de login.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Activați Imaginea utilizatorului', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index cdc4ccad5..e85f6448e 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'German', 'disclaimer' => 'Работник, помни! От тебя зависит успех фирмы и всей страны!', 'discspace' => 'Дисковое пространство', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Документ', 'documentcontent' => '', 'documents' => 'док.', @@ -319,6 +321,7 @@ URL: [url]', 'documents_to_receipt' => 'Документы, которые ожидают подтверждение получения', 'documents_to_review' => 'Документы, ожидающие вашей рецензии', 'documents_to_revise' => 'Документы на ревизии', +'documents_user_reception' => '', 'documents_user_rejected' => 'Отклоненные документы', 'documents_user_requiring_attention' => 'Ваши документы, требующие внимания', 'document_already_checkedout' => 'Этот документ уже проверен', @@ -761,6 +764,8 @@ URL: [url]', 'no_version_modification' => 'Отсутствует модификация версии', 'no_workflow_available' => 'Отсутствует процесс', 'objectcheck' => 'Проверка целостности', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Устарел', 'october' => 'Октябрь', 'old' => 'Старый', @@ -932,6 +937,8 @@ URL: [url]', URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Запрос на ревизию', 'revision_status' => 'Состояние ревизии', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Ревизор', 'revisor_already_assigned' => 'Пользователь уже назначен как ревизор', 'revisor_already_removed' => 'Ревизор уже удален из процесса ревизии, либо уже рассмотрел документ', @@ -1084,6 +1091,8 @@ URL: [url]', 'settings_dbUser' => 'Логин', 'settings_dbUser_desc' => 'Логин, введённый при установке. Не изменяйте без необходимости, например если БД была перемещена.', 'settings_dbVersion' => 'Схема БД устарела', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Метод поиска по умолчанию', 'settings_defaultSearchMethod_desc' => 'Метод поиска по умолчанию, когда поиск начинается с поисковой формы главного меню.', 'settings_defaultSearchMethod_valdatabase' => 'база данных', @@ -1154,6 +1163,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Включите для того, чтобы пользователи, в настоящее время выполнившие вход в систему, были в списке рецензентов/утверждающих и в изменении процесса.', 'settings_enableThemeSelector' => 'Выбор темы', 'settings_enableThemeSelector_desc' => 'Включить или отключить возможность выбора темы на странице входа.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Включить аватары', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index b5fe075dd..ebe8543f3 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -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 (512), destinqo (19) +// Translators: Admin (544), destinqo (19) $text = array( '2_factor_auth' => '', @@ -268,7 +268,7 @@ URL: [url]', 'current_quota' => '', 'current_state' => '', 'current_version' => 'Aktuálna verzia', -'daily' => '', +'daily' => 'Denná', 'databasesearch' => '', 'date' => 'Dátum', 'days' => '', @@ -283,6 +283,8 @@ URL: [url]', 'de_DE' => 'Nemčina', 'disclaimer' => 'Toto je zabezpečená zóna. Prístup je povolený len autorizovaným osobám.', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokument', 'documentcontent' => '', 'documents' => 'Dokumenty', @@ -296,6 +298,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Dokumenty čakajúce na kontrolu používateľa', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty, ktoré používateľ vlastní a vyžadujú pozornosť', 'document_already_checkedout' => '', @@ -371,7 +374,7 @@ URL: [url]', 'edit_user' => 'Upraviť používateľa', 'edit_user_details' => 'Upraviť podrobnosti používateľa', 'edit_version' => '', -'el_GR' => '', +'el_GR' => 'Grécky', 'email' => 'Email', 'email_error_title' => '', 'email_footer' => 'Nastavenia e-mailu si kedykoľvek môžete zmeniť cez \'Môj účet\'', @@ -661,6 +664,8 @@ URL: [url]', 'no_version_modification' => 'Žiadne zmeny', 'no_workflow_available' => '', 'objectcheck' => 'Kontrola Adresárov/Dokumentov', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Zastaralé', 'october' => 'Október', 'old' => 'Stare', @@ -770,6 +775,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -874,9 +881,9 @@ URL: [url]', 'settings_backupDir_desc' => '', 'settings_cacheDir' => '', 'settings_cacheDir_desc' => '', -'settings_Calendar' => '', -'settings_calendarDefaultView' => '', -'settings_calendarDefaultView_desc' => '', +'settings_Calendar' => 'Nastavenie kalendára', +'settings_calendarDefaultView' => 'Predvolené zobrazenie kalendára', +'settings_calendarDefaultView_desc' => 'Predvolené zobrazenie kalendára', 'settings_cannot_disable' => '', 'settings_checkOutDir' => '', 'settings_checkOutDir_desc' => '', @@ -909,9 +916,11 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', +'settings_defaultSearchMethod_valdatabase' => 'databáza', 'settings_defaultSearchMethod_valfulltext' => '', 'settings_delete_install_folder' => '', 'settings_disableSelfEdit' => '', @@ -931,19 +940,19 @@ URL: [url]', 'settings_enableAdminReceipt_desc' => '', 'settings_enableAdminRevApp' => '', 'settings_enableAdminRevApp_desc' => '', -'settings_enableCalendar' => '', -'settings_enableCalendar_desc' => '', -'settings_enableClipboard' => '', +'settings_enableCalendar' => 'Zapnúť kalendár', +'settings_enableCalendar_desc' => 'Zapnúť/vypnúť kalendár', +'settings_enableClipboard' => 'Aktivovať schránky', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', -'settings_enableDropUpload' => '', +'settings_enableDropUpload' => 'Zapnúť rýchle nahratie', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '', 'settings_enableDuplicateDocNames_desc' => '', 'settings_enableEmail' => 'Povoliť e-mail', 'settings_enableEmail_desc' => 'Povoliť/zakázať automatické emailové upozornenie', -'settings_enableFolderTree' => '', +'settings_enableFolderTree' => 'Aktivovať strom priečinkov', 'settings_enableFolderTree_desc' => '', 'settings_enableFullSearch' => '', 'settings_enableFullSearch_desc' => '', @@ -951,10 +960,10 @@ URL: [url]', 'settings_enableGuestAutoLogin_desc' => '', 'settings_enableGuestLogin' => '', 'settings_enableGuestLogin_desc' => '', -'settings_enableHelp' => '', +'settings_enableHelp' => 'Zapnúť nápovedu', 'settings_enableHelp_desc' => '', -'settings_enableLanguageSelector' => '', -'settings_enableLanguageSelector_desc' => '', +'settings_enableLanguageSelector' => 'Aktivovať voľbu jazyka', +'settings_enableLanguageSelector_desc' => 'Zobraziť výber pre jazyk používateľského rozhrania potom, čo bol prihlásený.', 'settings_enableLargeFileUpload' => '', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', @@ -977,8 +986,10 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', -'settings_enableThemeSelector' => '', +'settings_enableThemeSelector' => 'Výber šablóny', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', @@ -992,18 +1003,18 @@ URL: [url]', 'settings_encryptionKey' => '', 'settings_encryptionKey_desc' => '', 'settings_error' => '', -'settings_expandFolderTree' => '', -'settings_expandFolderTree_desc' => '', +'settings_expandFolderTree' => 'Rozbaliť', +'settings_expandFolderTree_desc' => 'Rozbaľte strom priečinkov', 'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val1' => '', 'settings_expandFolderTree_val2' => '', 'settings_Extensions' => '', 'settings_extraPath' => '', 'settings_extraPath_desc' => '', -'settings_firstDayOfWeek' => '', -'settings_firstDayOfWeek_desc' => '', -'settings_footNote' => '', -'settings_footNote_desc' => '', +'settings_firstDayOfWeek' => 'Prvý deň v týždni', +'settings_firstDayOfWeek_desc' => 'Prvý deň v týždni', +'settings_footNote' => 'Poznámka pod čiarou', +'settings_footNote_desc' => 'Správa sa zobrazí v dolnej časti každej stránky', 'settings_fullSearchEngine' => '', 'settings_fullSearchEngine_desc' => '', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', @@ -1077,7 +1088,7 @@ URL: [url]', 'settings_previewWidthDetail' => '', 'settings_previewWidthDetail_desc' => '', 'settings_previewWidthList' => '', -'settings_previewWidthList_desc' => '', +'settings_previewWidthList_desc' => 'Šírka pre náhľad obrázkov je uvedené v zoznamoch', 'settings_printDisclaimer' => '', 'settings_printDisclaimer_desc' => '', 'settings_quota' => '', @@ -1086,12 +1097,12 @@ URL: [url]', 'settings_removeFromDropFolder_desc' => '', 'settings_restricted' => '', 'settings_restricted_desc' => '', -'settings_rootDir' => '', -'settings_rootDir_desc' => '', +'settings_rootDir' => 'Koreňový adresár', +'settings_rootDir_desc' => 'Cesta k miestu, kde sa nachádza SeedDMS', 'settings_rootFolderID' => '', 'settings_rootFolderID_desc' => '', 'settings_SaveError' => '', -'settings_Server' => '', +'settings_Server' => 'Nastavenie servera', 'settings_showFullPreview' => '', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => '', @@ -1115,14 +1126,14 @@ URL: [url]', 'settings_smtpUser' => '', 'settings_smtpUser_desc' => '', 'settings_sortFoldersDefault' => '', -'settings_sortFoldersDefault_desc' => '', -'settings_sortFoldersDefault_val_name' => '', -'settings_sortFoldersDefault_val_sequence' => '', +'settings_sortFoldersDefault_desc' => 'Toto nastavenie triedi metódy pre zložky a dokumenty v zobrazení priečinkov.', +'settings_sortFoldersDefault_val_name' => 'podľa mena', +'settings_sortFoldersDefault_val_sequence' => 'podľa sekvencií', 'settings_sortFoldersDefault_val_unsorted' => '', -'settings_sortUsersInList' => '', +'settings_sortUsersInList' => 'Triediť užívateľov v zozname', 'settings_sortUsersInList_desc' => '', -'settings_sortUsersInList_val_fullname' => '', -'settings_sortUsersInList_val_login' => '', +'settings_sortUsersInList_val_fullname' => 'Triediť podľa celého mena', +'settings_sortUsersInList_val_login' => 'Triediť podľa prihlásenie', 'settings_stagingDir' => '', 'settings_stagingDir_desc' => '', 'settings_start_install' => '', @@ -1132,7 +1143,7 @@ URL: [url]', 'settings_strictFormCheck_desc' => '', 'settings_suggestionvalue' => '', 'settings_System' => 'Systém', -'settings_theme' => '', +'settings_theme' => 'Prednastavená téma', 'settings_theme_desc' => '', 'settings_titleDisplayHack' => '', 'settings_titleDisplayHack_desc' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 088db1996..49ae7ce04 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -294,6 +294,8 @@ URL: [url]', 'de_DE' => 'tyska', 'disclaimer' => 'Detta är ett sekretessbelagt område. Bara auktoriserade personer äger tillträde. Vid överträdelse kommer åtal att väckas i enlighet med nationella och internationella lagar.', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Dokument', 'documentcontent' => '', 'documents' => 'Dokument', @@ -307,6 +309,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Dokument som du behöver granska', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokument som du behöver granska/godkänna', 'document_already_checkedout' => '', @@ -750,6 +753,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => 'Katalog/Dokument-kontroll', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Föråldrat', 'october' => 'oktober', 'old' => 'gammalt', @@ -888,6 +893,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1040,6 +1047,8 @@ URL: [url]', 'settings_dbUser' => 'Användarnamn', 'settings_dbUser_desc' => 'Användarnamnet för tillgång till databasen. Användarnamnet angavs under installationsprocessen.', 'settings_dbVersion' => 'Databasschemat för gammalt', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Standard sökmetod', 'settings_defaultSearchMethod_desc' => 'Standard sökmetod, när en sökning startas i sökformuläret i huvudmenyn.', 'settings_defaultSearchMethod_valdatabase' => 'databas', @@ -1110,6 +1119,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Aktivera om du vill att aktuell inloggad användare visas i listan för personer som granskar/godkänner dokument och i övergång på arbetsflöden.', 'settings_enableThemeSelector' => 'Tema urval', 'settings_enableThemeSelector_desc' => 'Stäng på/av tema urval vid inloggningssidan.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Aktivera användarbilder', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index c02bbe766..9e89d5f76 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -300,6 +300,8 @@ URL: [url]', 'de_DE' => 'Almanca', 'disclaimer' => 'Bu sisteme sadece yetkilendirilmiş personel yetki seviyesine göre erişebilir. Herhangi bir ihlalde veya ihlal girişiminde, ulusal ve uluslararası yasalara göre takibat yapılacaktır.', 'discspace' => 'Disk alanı', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Doküman', 'documentcontent' => '', 'documents' => 'Dokümanlar', @@ -313,6 +315,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => 'Kontrol etmenizi bekleyen dokümanlar', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dikkatinizi gerektiren size ait dokümanlar', 'document_already_checkedout' => '', @@ -756,6 +759,8 @@ URL: [url]', 'no_version_modification' => 'Versiyon değişikliği yapılmamış', 'no_workflow_available' => 'Uygun iş akışı yok', 'objectcheck' => 'Klasör/Doküman kontrol', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Geçersiz', 'october' => 'Ekim', 'old' => 'Eski', @@ -904,6 +909,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1056,6 +1063,8 @@ URL: [url]', 'settings_dbUser' => 'Kullanıcı adı', 'settings_dbUser_desc' => 'Kurulum sırasında veritabanına erişim için girdiğiniz veritabanı kullanıcı adı. Gerekmedikçe değiştirmeyin.', 'settings_dbVersion' => 'Veritabanı yapısı çok eski', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -1126,6 +1135,8 @@ URL: [url]', '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_enableThemeSelector' => 'Tema seçimini aç/kapat', 'settings_enableThemeSelector_desc' => 'Giriş sayfasında tema seçimini aç/kapat', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Kullanıcı Resmine İzin Ver', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 17f0ccdf3..e620c91d9 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -306,6 +306,8 @@ URL: [url]', 'de_DE' => 'German', 'disclaimer' => 'Авторизована зона. Несанкціонований доступ переслідується згідно національного законодавства.', 'discspace' => 'Дисковий простір', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => 'Документ', 'documentcontent' => '', 'documents' => 'док.', @@ -319,6 +321,7 @@ URL: [url]', 'documents_to_receipt' => 'Документи, які чекають підтвердження отримання', 'documents_to_review' => 'Документи, які чекають вашої рецензії', 'documents_to_revise' => 'Документи для повторного розгляду', +'documents_user_reception' => '', 'documents_user_rejected' => 'Документи, які відхилили', 'documents_user_requiring_attention' => 'Ваші документи, які потребують уваги', 'document_already_checkedout' => 'Цей документ вже на опрацюванні', @@ -761,6 +764,8 @@ URL: [url]', 'no_version_modification' => 'Відсутня модифікація версії', 'no_workflow_available' => 'Немає доступних процесів', 'objectcheck' => 'Перевірка каталогу чи документа', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => 'Застарів', 'october' => 'Жовтень', 'old' => 'Старий', @@ -925,6 +930,8 @@ URL: [url]', URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Запит на ревізію', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => 'Ревізори', 'revisor_already_assigned' => 'Ревізор вже призначений', 'revisor_already_removed' => 'Ревізора вже видалено', @@ -1077,6 +1084,8 @@ URL: [url]', 'settings_dbUser' => 'Логін', 'settings_dbUser_desc' => 'Логін, введений при встановленні. Не змінюйте без потреби, наприклад, якщо БД було переміщено.', 'settings_dbVersion' => 'Схема БД застаріла', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => 'Метод пошуку за замовчуванням', 'settings_defaultSearchMethod_desc' => 'Метод пошуку за замовчуванням, коли пошук починається з пошукової форми головного меню.', 'settings_defaultSearchMethod_valdatabase' => 'база даних', @@ -1147,6 +1156,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => 'Увімкніть для того, щоб користувачі, в даний момент авторизовані у системі, були в списку рецензентів/затверджувачів і в зміні процесу.', 'settings_enableThemeSelector' => 'Вибір теми', 'settings_enableThemeSelector_desc' => 'Увімкнути/вимкнути можливість вибору теми на сторінці авторизації.', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Увімкнути аватари', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index f08fe2d8c..710202cd4 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -285,6 +285,8 @@ URL: [url]', 'de_DE' => '德国语', 'disclaimer' => '警告:这是机密区.只有授权用户才被允许访问.任何违反行为将受到法律制裁', 'discspace' => '磁盘空间', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => '文档', 'documentcontent' => '', 'documents' => '文档', @@ -298,6 +300,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => '待您校对的文档', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '需您关注的文档', 'document_already_checkedout' => '', @@ -663,6 +666,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => '文件夹/文件检查', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => '过时的', 'october' => '十 月', 'old' => 'Old', @@ -772,6 +777,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -911,6 +918,8 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -981,6 +990,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 65580276a..ae0f57797 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -283,6 +283,8 @@ URL: [url]', 'de_DE' => '德國語', 'disclaimer' => '警告:這是機密區.只有授權使用者才被允許訪問.任何違反行為將受到法律制裁', 'discspace' => '', +'docs_in_reception_no_access' => '', +'docs_in_revision_no_access' => '', 'document' => '文檔', 'documentcontent' => '', 'documents' => '文檔', @@ -296,6 +298,7 @@ URL: [url]', 'documents_to_receipt' => '', 'documents_to_review' => '待您校對的文檔', 'documents_to_revise' => '', +'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '需您關注的文檔', 'document_already_checkedout' => '', @@ -661,6 +664,8 @@ URL: [url]', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => '資料夾/檔檢查', +'object_check_critical' => '', +'object_check_warning' => '', 'obsolete' => '過時的', 'october' => '十 月', 'old' => 'Old', @@ -770,6 +775,8 @@ URL: [url]', 'revision_request_email_body' => '', 'revision_request_email_subject' => '', 'revision_status' => '', +'revision_submit_email_body' => '', +'revision_submit_email_subject' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -909,6 +916,8 @@ URL: [url]', 'settings_dbUser' => '', 'settings_dbUser_desc' => '', 'settings_dbVersion' => '', +'settings_defaultAccessDocs' => '', +'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => '', @@ -979,6 +988,8 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', +'settings_enableUpdateReceipt' => '', +'settings_enableUpdateReceipt_desc' => '', 'settings_enableUpdateRevApp' => '', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => '', diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 3890e49eb..325733b42 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -62,6 +62,18 @@ if($settings->_quota > 0) { } } +if($user->isAdmin()) { + $ownerid = (int) $_POST["ownerid"]; + if($ownerid) { + if(!($owner = $dms->getUser($ownerid))) { + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); + } + } else { + $owner = $user; + } +} else { + $owner = $user; +} $comment = trim($_POST["comment"]); $version_comment = trim($_POST["version_comment"]); if($version_comment == "" && isset($_POST["use_comment"])) @@ -355,6 +367,7 @@ for ($file_num=0;$file_numsetParam('expires', $expires); $controller->setParam('keywords', $keywords); $controller->setParam('categories', $cats); + $controller->setParam('owner', $owner); $controller->setParam('userfiletmp', $userfiletmp); $controller->setParam('userfilename', $userfilename); $controller->setParam('filetype', $fileType); @@ -371,6 +384,7 @@ for ($file_num=0;$file_numsetParam('notificationusers', $notusers); $controller->setParam('initialdocumentstatus', $settings->_initialDocumentStatus); $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); + $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); if(!$document = $controller->run()) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg())); diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 0744e24ac..6520e6fe4 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -732,6 +732,15 @@ switch($command) { exit; } else { $document = $res[0]; + + /* Set access as specified in settings. */ + if($settings->_defaultAccessDocs) { + if($settings->_defaultAccessDocs > 0 && $settings->_defaultAccessDocs < 4) { + $document->setInheritAccess(0, true); + $document->setDefaultAccess($settings->_defaultAccessDocs, true); + } + } + if(isset($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'] as $hookObj) { if (method_exists($hookObj, 'postAddDocument')) { diff --git a/op/op.Settings.php b/op/op.Settings.php index 7238d97db..7edc2c19c 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -136,6 +136,7 @@ if ($action == "saveSettings") $settings->_undelUserIds = strval($_POST["undelUserIds"]); $settings->_encryptionKey = strval($_POST["encryptionKey"]); $settings->_cookieLifetime = intval($_POST["cookieLifetime"]); + $settings->_defaultAccessDocs = intval($_POST["defaultAccessDocs"]); // TODO Connectors @@ -176,6 +177,7 @@ if ($action == "saveSettings") $settings->_enableUpdateRevApp = getBoolValue("enableUpdateRevApp"); $settings->_enableAdminReceipt = getBoolValue("enableAdminReceipt"); $settings->_enableOwnerReceipt = getBoolValue("enableOwnerReceipt"); + $settings->_enableUpdateReceipt = getBoolValue("enableUpdateReceipt"); $settings->_enableVersionDeletion = getBoolValue("enableVersionDeletion"); $settings->_enableVersionModification = getBoolValue("enableVersionModification"); $settings->_enableDuplicateDocNames = getBoolValue("enableDuplicateDocNames"); @@ -202,7 +204,7 @@ if ($action == "saveSettings") $settings->_converters['fulltext'] = $_POST["converters"]["fulltext"]; else $settings->_converters['fulltext'] = $_POST["converters"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.]+#', '', $settings->_converters["fulltext"]["newmimetype"]); + $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-]+#', '', $settings->_converters["fulltext"]["newmimetype"]); if($newmimetype && trim($settings->_converters['fulltext']['newcmd'])) $settings->_converters['fulltext'][$newmimetype] = trim($settings->_converters['fulltext']['newcmd']); unset($settings->_converters['fulltext']['newmimetype']); @@ -210,7 +212,7 @@ if ($action == "saveSettings") if(isset($_POST["converters"]["preview"])) $settings->_converters['preview'] = $_POST["converters"]["preview"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.]+#', '', $settings->_converters["preview"]["newmimetype"]); + $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']); diff --git a/out/out.EditUserData.php b/out/out.EditUserData.php index ed49af30f..26c183c14 100644 --- a/out/out.EditUserData.php +++ b/out/out.EditUserData.php @@ -27,6 +27,10 @@ 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 ($user->isGuest()) { UI::exitError(getMLText("edit_user_details"),getMLText("access_denied")); } @@ -36,9 +40,13 @@ if (!$user->isAdmin() && ($settings->_disableSelfEdit)) { } -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'enableuserimage'=>$settings->_enableUserImage, 'enablelanguageselector'=>$settings->_enableLanguageSelector, 'enablethemeselector'=>$settings->_enableThemeSelector, 'passwordstrength'=>$settings->_passwordStrength, 'httproot'=>$settings->_httpRoot)); if($view) { + $view->setParam('enableuserimage', $settings->_enableUserImage); + $view->setParam('enablelanguageselector', $settings->_enableLanguageSelector); + $view->setParam('enablethemeselector', $settings->_enableThemeSelector); + $view->setParam('passwordstrength', $settings->_passwordStrength); + $view->setParam('httproot', $settings->_httpRoot); + $view->setParam('accessobject', $accessop); $view($_GET); exit; } diff --git a/out/out.GroupView.php b/out/out.GroupView.php index 940b2dd98..645532b6b 100644 --- a/out/out.GroupView.php +++ b/out/out.GroupView.php @@ -25,6 +25,10 @@ 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 ($user->isGuest()) { UI::exitError(getMLText("my_account"),getMLText("access_denied")); } @@ -43,11 +47,10 @@ if (is_bool($allGroups)) { UI::exitError(getMLText("admin_tools"),getMLText("internal_error")); } -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { $view->setParam('allusers', $allUsers); $view->setParam('allgroups', $allGroups); + $view->setParam('accessobject', $accessop); $view($_GET); exit; } diff --git a/out/out.ManageNotify.php b/out/out.ManageNotify.php index bc3b0acff..725a2e9ba 100644 --- a/out/out.ManageNotify.php +++ b/out/out.ManageNotify.php @@ -25,13 +25,20 @@ 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 ($user->isGuest()) { UI::exitError(getMLText("my_account"),getMLText("access_denied")); } -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview'], 'timeout'=>$settings->_cmdTimeout)); if($view) { + $view->setParam('cachedir', $settings->_cacheDir); + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('previewconverters', $settings->_converters['preview']); + $view->setParam('timeout', $settings->_cmdTimeout); + $view->setParam('accessobject', $accessop); $view($_GET); exit; } diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index 0ce8e839c..a55f48876 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -35,6 +35,11 @@ if (!$accessop->check_view_access($view, $_GET)) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } +$listtype = 'listRepair'; +if (isset($_GET["list"])) { + $listtype = $_GET['list']; +} + if(isset($_GET['repair']) && $_GET['repair'] == 1) { $repair = 1; } else { @@ -66,21 +71,111 @@ $unlinkeddocuments = $dms->checkDocuments(); $nofilesizeversions = $dms->getNoFileSizeDocumentContent(); $nochecksumversions = $dms->getNoChecksumDocumentContent(); $duplicateversions = $dms->getDuplicateDocumentContent(); +$tmprevs = $dms->getDocumentsInRevision(); +$docsinrevision = array(); +foreach($tmprevs as $rev) { + if($doc = $dms->getDocument($rev['documentID'])) { + if($rev['type'] == 0) { + $ruser = $dms->getUser($rev['required']); + $mode = $doc->getAccessMode($ruser); + } elseif($rev['type'] == 1) { + $rgroup = $dms->getGroup($rev['required']); + $mode = $doc->getGroupAccessMode($rgroup); + } + if($mode < M_READ) + $docsinrevision[] = $doc; + } +} +$tmprevs = $dms->getDocumentsInReception(); +$docsinreception = array(); +foreach($tmprevs as $rev) { + if($doc = $dms->getDocument($rev['documentID'])) { + if($rev['type'] == 0) { + $ruser = $dms->getUser($rev['required']); + $mode = $doc->getAccessMode($ruser); + } elseif($rev['type'] == 1) { + $rgroup = $dms->getGroup($rev['required']); + $mode = $doc->getGroupAccessMode($rgroup); + } + if($mode < M_READ) + $docsinreception[] = $doc; + } +} $rootfolder = $dms->getFolder($settings->_rootFolderID); +function repair_tree($dms, $user, $folder, $path=':') { /* {{{ */ + $objects = array(); + + /* Don't do folderlist check for root folder */ + if($path != ':') { + /* If the path contains a folder id twice, the a cyclic relation + * exists. + */ + $tmparr = explode(':', $path); + array_shift($tmparr); + if(count($tmparr) != count(array_unique($tmparr))) { + $objects[] = array('object'=>$folder, 'msg'=>'Folder path contains cyclic relation'); + } + $folderList = $folder->getFolderList(); + /* Check the folder */ + if($folderList != $path) { + $objects[] = array('object'=>$folder, 'msg'=>"Folderlist is '".$folderList."', should be '".$path); + } + } + + $subfolders = $folder->getSubFolders(); + foreach($subfolders as $subfolder) { + $objects = array_merge($objects, repair_tree($dms, $user, $subfolder, $path.$folder->getId().':')); + } + $path .= $folder->getId().':'; + $documents = $folder->getDocuments(); + foreach($documents as $document) { + /* Check the folder list of the document */ + $folderList = $document->getFolderList(); + if($folderList != $path) { + $objects[] = array('object'=>$document, 'msg'=>"Folderlist is '".$folderList."', should be '".$path); + } + + /* Check if the content is available */ + $versions = $document->getContent(); + if($versions) { + foreach($versions as $version) { + $filepath = $dms->contentDir . $version->getPath(); + if(!file_exists($filepath)) { + $objects[] = array('object'=>$version, 'msg'=>'Document content is missing'); + } + } + } else { + $objects[] = array('object'=>$version, 'msg'=>'Document has no content at all'); + } + } + + return $objects; +} /* }}} */ +$repairobjects = repair_tree($dms, $user, $folder); + if($view) { $view->setParam('folder', $folder); + $view->setParam('showtree', showtree()); + $view->setParam('listtype', $listtype); $view->setParam('unlinkedcontent', $unlinkedversions); $view->setParam('unlinkedfolders', $unlinkedfolders); $view->setParam('unlinkeddocuments', $unlinkeddocuments); $view->setParam('nofilesizeversions', $nofilesizeversions); $view->setParam('nochecksumversions', $nochecksumversions); $view->setParam('duplicateversions', $duplicateversions); + $view->setParam('docsinrevision', $docsinrevision); + $view->setParam('docsinreception', $docsinreception); $view->setParam('unlink', $unlink); $view->setParam('setfilesize', $setfilesize); $view->setParam('setchecksum', $setchecksum); $view->setParam('repair', $repair); $view->setParam('rootfolder', $rootfolder); + $view->setParam('repairobjects', $repairobjects); + $view->setParam('cachedir', $settings->_cacheDir); + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('previewconverters', $settings->_converters['preview']); + $view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('accessobject', $accessop); $view($_GET); exit; diff --git a/out/out.Search.php b/out/out.Search.php index 9a829400d..b6d57523c 100644 --- a/out/out.Search.php +++ b/out/out.Search.php @@ -194,6 +194,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe case 2: // name case 3: // comment case 4: // attributes + case 5: // id $searchin[$si] = $si; break; } @@ -202,7 +203,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe } // if none is checkd search all - if (count($searchin)==0) $searchin=array(1, 2, 3, 4); + if (count($searchin)==0) $searchin=array(1, 2, 3, 4, 5); // Check to see if the search has been restricted to a particular sub-tree in // the folder hierarchy. diff --git a/out/out.Settings.php b/out/out.Settings.php index 5c081ae45..0aefca5b5 100644 --- a/out/out.Settings.php +++ b/out/out.Settings.php @@ -36,9 +36,14 @@ if (!$accessop->check_view_access($view, $_GET)) { if(!trim($settings->_encryptionKey)) $settings->_encryptionKey = md5(uniqid()); +$users = $dms->getAllUsers($settings->_sortUsersInList); +$groups = $dms->getAllGroups(); + if($view) { $view->setParam('settings', $settings); $view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : '')); + $view->setParam('allusers', $users); + $view->setParam('allgroups', $groups); $view->setParam('accessobject', $accessop); $view($_GET); exit; diff --git a/out/out.UsrView.php b/out/out.UsrView.php index 497716b95..10284b079 100644 --- a/out/out.UsrView.php +++ b/out/out.UsrView.php @@ -25,6 +25,10 @@ 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 ($user->isGuest()) { UI::exitError(getMLText("my_account"),getMLText("access_denied")); } @@ -38,12 +42,11 @@ if (is_bool($users)) { UI::exitError(getMLText("my_account"),getMLText("internal_error")); } -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { $view->setParam('allusers', $users); $view->setParam('enableuserimage', $settings->_enableUserImage); $view->setParam('httproot', $settings->_httpRoot); + $view->setParam('accessobject', $accessop); $view($_GET); exit; } diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index 8a8df32ae..611e4bfd7 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -255,13 +255,23 @@ span.openpopupbox { } div.popupbox { + margin-top: 5px; background-color: #fff; border-radius: 4px; + color: black; + text-align: left; + text-shadow: none; border: 1px solid #ccc; padding: 15px; display: none; position: absolute; - width: 200px; + width: 250px; +} + +div.popupbox span.closepopupbox { + position: absolute; + right: 5px; + top: 0px; } @media (max-width: 480px) { diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 20f8841aa..eaa9812e7 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -990,11 +990,15 @@ $(document).ready(function() { /* {{{ */ }); }); - $('span.openpopupbox').on('click', function(e) { - $('div.popupbox').toggle(); - console.log('Hallo'); + $("body").on("click", "span.openpopupbox", function(e) { + $(""+$(e.target).data("href")).toggle(); + }); + $("body").on("click", "span.openpopupbox i", function(e) { + $(e.target).parent().click(); + }); + $("body").on("click", "span.closepopupbox", function(e) { + $(this).parent().hide(); }); - }); /* }}} */ var approval_count, review_count, receipt_count, revision_count; diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index d8d1f67f9..a8a680387 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -205,6 +205,24 @@ $(document).ready(function() { : printSequenceChooser($folder->getDocuments('s')); if($orderby != 's') echo "
".getMLText('order_by_sequence_off'); ?> +isAdmin()) { ?> + + : + + + + + getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 2c78d9443..e43532028 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -149,7 +149,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if(is_dir($this->params['cachedir'].'/js')) { file_put_contents($this->params['cachedir'].'/js/'.$hashjs.'.js', $jscode); } - echo ''."\n"; + parse_str($_SERVER['QUERY_STRING'], $tmp); + $tmp['action'] = 'footerjs'; + $tmp['hash'] = $hashjs; + echo ''."\n"; } if(method_exists($this, 'js')) { parse_str($_SERVER['QUERY_STRING'], $tmp); @@ -2240,6 +2243,23 @@ $(document).ready( function() { } else { $content .= getOverallStatusText($status["status"]); } + if($owner->getID() == $user->getID() && $receiptStatus = $latestContent->getReceiptStatus()) { + $rstat = array('-1'=>0, '0'=>0, '1'=>0, '-2'=>0); + $allcomments = array('-1'=>array(), '1'=>array()); + foreach ($receiptStatus as $r) { + $rstat[''.$r['status']]++; + if($r['comment']) + $allcomments[''.$r['status']][] = htmlspecialchars($r['comment']); + } + $totalreceipts = $rstat['-1'] + $rstat['0'] + $rstat['1']; + if($totalreceipts) { + $content .= "; +
+
".($rstat['1'] ? $rstat['1']."/".$totalreceipts : '').($allcomments['1'] ? " ".$this->printPopupBox('', implode('
', $allcomments['1']), true) : "")."
+
".($rstat['-1'] ? $rstat['-1']."/".$totalreceipts : '').($allcomments['-1'] ? " ".$this->printPopupBox('', implode('
', $allcomments['-1']), true) : "")."
+
"; + } + } $content .= ""; // $content .= "".$version.""; $content .= ""; @@ -2885,13 +2905,26 @@ mayscript> $this->printTimelineHtml($height); } /* }}} */ - protected function printPopupBox($title, $content) { /* {{{ */ -?> - - -addFooterJS(' +$("body").on("click", "span.openpopupbox", function(e) { + $(""+$(e.target).data("href")).toggle(); +// $("div.popupbox").toggle(); +}); +'); + */ + $html = ' + '.$title.' + '; + if($ret) + return $html; + else + echo $html; } /* }}} */ protected function printAccordion($title, $content) { /* {{{ */ diff --git a/views/bootstrap/class.DocumentVersionDetail.php b/views/bootstrap/class.DocumentVersionDetail.php index cba50629d..190f90ce1 100644 --- a/views/bootstrap/class.DocumentVersionDetail.php +++ b/views/bootstrap/class.DocumentVersionDetail.php @@ -410,6 +410,24 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style { } ?> + getReceiptStatus()) { ?> +
+
+printProtocol($version, 'receipt'); +?> +
+
+ + getRevisionStatus()) { ?> +
+
+printProtocol($version, 'revision'); +?> +
+
+ diff --git a/views/bootstrap/class.MyDocuments.php b/views/bootstrap/class.MyDocuments.php index e4b1805a7..78f844ae2 100644 --- a/views/bootstrap/class.MyDocuments.php +++ b/views/bootstrap/class.MyDocuments.php @@ -54,9 +54,7 @@ $(document).ready( function() { params['dms']; - $user = $this->params['user']; + protected function printListHeader($resArr, $previewer, $order=false) { /* {{{ */ $orderby = $this->params['orderby']; $orderdir = $this->params['orderdir']; @@ -73,24 +71,33 @@ $(document).ready( function() { print "".getMLText("status")."\n"; print "".getMLText("action")."\n"; print "\n\n\n"; + } /* }}} */ + protected function printListFooter() { /* {{{ */ + echo "\n"; + } /* }}} */ + + protected function printList($resArr, $previewer, $order=false) { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + $this->printListHeader($resArr, $previewer, $order); $noaccess = 0; foreach ($resArr as $res) { $document = $dms->getDocument($res["id"]); $document->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $document, $previewer); - if(is_string($txt)) - echo $txt; - else { - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $txt = $this->callHook('documentListItem', $document, $previewer, false, $res['version']); + if(is_string($txt)) + echo $txt; + else echo $this->documentListRow($document, $previewer, false, $res['version']); - } else { - $noaccess++; - } + } else { + $noaccess++; } } - echo "\n"; + $this->printListFooter(); if($noaccess) { $this->warningMsg(getMLText('list_contains_no_access_docs', array('count'=>$noaccess))); @@ -121,30 +128,6 @@ $(document).ready( function() { $this->contentHeading(getMLText("documents_to_review")); if($resArr) { $this->printList($resArr, $previewer, 'listReviews'); - /* - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - // List the documents for which a review has been requested. - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - $document->verifyLastestContentExpriry(); - - $txt = $this->callHook('documentListItem', $document, $previewer); - if(is_string($txt)) - echo $txt; - else { - echo $this->documentListRow($document, $previewer, false, $res['version']); - } - } - - echo "\n
".getMLText("name")."".getMLText("status")."".getMLText("action")."
\n"; - */ } else { printMLText("no_docs_to_review"); } @@ -174,30 +157,6 @@ $(document).ready( function() { $this->contentHeading(getMLText("documents_to_approve")); if($resArr) { $this->printList($resArr, $previewer, 'listApprovals'); - /* - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - // List the documents for which an approval has been requested. - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - $document->verifyLastestContentExpriry(); - - $txt = $this->callHook('documentListItem', $document, $previewer); - if(is_string($txt)) - echo $txt; - else { - echo $this->documentListRow($document, $previewer, false, $res['version']); - } - } - - echo "\n
".getMLText("name")."".getMLText("status")."".getMLText("action")."
\n"; - */ } else { printMLText("no_docs_to_approve"); } @@ -252,6 +211,36 @@ $(document).ready( function() { } } /* }}} */ + function listReceiveOwner() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $orderby = $this->params['orderby']; + $orderdir = $this->params['orderdir']; + $cachedir = $this->params['cachedir']; + $showtree = $this->params['showtree']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + /* Get list of documents owned by current user */ + $resArr = $dms->getDocumentList('ReceiveOwner', $user, false, $orderby, $orderdir); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + $this->contentHeading(getMLText("documents_user_reception")); + if($resArr) { + $this->printList($resArr, $previewer, 'listReceiveOwner'); + } + else printMLText("empty_notify_list"); + } /* }}} */ + function listMyDocs() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; @@ -559,12 +548,22 @@ $(document).ready( function() { echo '
'; echo '
'; + $this->contentHeading(getMLText("my_documents")); echo ''; + $this->contentHeading(getMLText("tasks")); + echo ''; + $this->contentHeading(getMLText("misc")); + echo '
+
+
+ +
+ + + -
+ - - - - - - - - - - - - - -
:
: +
+ +
+ +
+
+
+ +
-
- - '/> - - +
+
+
+ +
+ + '/> + + > + diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index a08b8a9b7..923a4ec6e 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -85,6 +85,8 @@ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style { function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; + $users = $this->params['allusers']; + $groups = $this->params['allgroups']; $settings = $this->params['settings']; $currenttab = $this->params['currenttab']; @@ -509,6 +511,17 @@ if(!is_writeable($settings->_configFilePath)) { : showTextField("cookieLifetime", $settings->_cookieLifetime); ?> + "> + : + + + + @@ -666,6 +679,10 @@ if(!is_writeable($settings->_configFilePath)) { : _enableOwnerReceipt) echo "checked" ?> /> + "> + : + _enableUpdateReceipt) echo "checked" ?> /> + "> : _enableVersionDeletion) echo "checked" ?> /> @@ -803,6 +820,32 @@ if(!is_writeable($settings->_configFilePath)) { " value="1" _extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> /> _extensions[$extname][$confkey])) + $selusers = explode(',', $settings->_extensions[$extname][$confkey]); + else + $selusers = array(); + echo ''; + break; + case 'groups': + if(isset($settings->_extensions[$extname][$confkey])) + $selgroups = explode(',', $settings->_extensions[$extname][$confkey]); + else + $selgroups = array(); + echo ''; + break; + } + break; default: ?> " title="" value="_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" size="" /> diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index a54b43831..5e2e8b8e5 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -142,7 +142,7 @@ $(document).ready( function() { echo ""; if($user->isAdmin() && $seluser->getID() != $user->getID()) - echo "getID()."\" class=\"btn btn-primary\">".getMLText("substitute_user")."\n"; + echo "getID())."&formtoken=".createFormKey('substituteuser')."\"> ".getMLText('substitute_user')." "; } } /* }}} */ diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 875745055..a8e5f107a 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1195,10 +1195,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
    "; if($accessop->mayReceipt($document)) { - if ($is_recipient && $r["status"]==0) { - print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."
  • "; - }else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; + if ($is_recipient) { + if($r["status"]==0) { + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."
  • "; + } elseif ($accessop->mayUpdateReceipt($document, $updateUser) && (($r["status"]==1)||($r["status"]==-1))) { + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; + } } } diff --git a/webdav/webdav.php b/webdav/webdav.php index 71a5cc184..dd58d7868 100644 --- a/webdav/webdav.php +++ b/webdav/webdav.php @@ -6,31 +6,6 @@ if(!empty($settings->_coreDir)) else require_once('SeedDMS/Core.php'); -/* Set apache_request_headers() in case it doesn't exists, like - * when using fastcgi (patch by christopher täufert taken from http://php.net/) - */ -if( !function_exists('apache_request_headers') ) { - function apache_request_headers() { - $arh = array(); - $rx_http = '/\AHTTP_/'; - foreach($_SERVER as $key => $val) { - if( preg_match($rx_http, $key) ) { - $arh_key = preg_replace($rx_http, '', $key); - $rx_matches = array(); - // do some nasty string manipulations to restore the original letter case - // this should work in most cases - $rx_matches = explode('_', $arh_key); - if( count($rx_matches) > 0 and strlen($arh_key) > 2 ) { - foreach($rx_matches as $ak_key => $ak_val) $rx_matches[$ak_key] = ucfirst($ak_val); - $arh_key = implode('-', $rx_matches); - } - $arh[$arh_key] = $val; - } - } - return( $arh ); - } -} - /** * SeedDMS access using WebDAV * @@ -79,10 +54,12 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server // special treatment for litmus compliance test // reply on its identifier header // not needed for the test itself but eases debugging - foreach (apache_request_headers() as $key => $value) { - if (stristr($key, "litmus")) { - error_log("Litmus test $value"); - header("X-Litmus-reply: ".$value); + if( function_exists('apache_request_headers') ) { + foreach (apache_request_headers() as $key => $value) { + if (stristr($key, "litmus")) { + error_log("Litmus test $value"); + header("X-Litmus-reply: ".$value); + } } }