From b43200703bbd5c0911c66650285a457231c3a684 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Jul 2017 18:12:31 +0200 Subject: [PATCH 001/169] start new version 4.3.36 --- Makefile | 2 +- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- SeedDMS_Core/package.xml | 21 ++++++++++++++++++--- inc/inc.Version.php | 2 +- install/install.php | 2 +- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 66711f42a..6e54b8d05 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION=4.3.35 +VERSION=4.3.36 SRC=CHANGELOG inc conf utils index.php languages views op out doc styles LICENSE webdav install restapi pdfviewer # webapp diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 37215e77b..f7fb9cfca 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -307,7 +307,7 @@ class SeedDMS_Core_DMS { $this->callbacks = array(); $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '4.3.35'; + $this->version = '4.3.36'; } /* }}} */ /** diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 9700a6a6b..9ebf58ec8 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -15,8 +15,8 @@ 2017-03-22 - 4.3.35 - 4.3.35 + 4.3.36 + 4.3.36 stable @@ -24,7 +24,6 @@ GPL License -do not sort some temporary tables anymore, because it causes an error in mysql if sql_mode=only_full_group_by is set @@ -1141,5 +1140,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document + + 2017-07-11 + + + 4.3.35 + 4.3.35 + + + stable + stable + + GPL License + +do not sort some temporary tables anymore, because it causes an error in mysql if sql_mode=only_full_group_by is set + + diff --git a/inc/inc.Version.php b/inc/inc.Version.php index 61bf92141..d0a7b4d5d 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -20,7 +20,7 @@ class SeedDMS_Version { - public $_number = "4.3.35"; + public $_number = "4.3.36"; private $_string = "SeedDMS"; function __construct() { diff --git a/install/install.php b/install/install.php index 6a04997dc..aed5f135c 100644 --- a/install/install.php +++ b/install/install.php @@ -118,7 +118,7 @@ function fileExistsInIncludePath($file) { /* {{{ */ * Load default settings + set */ define("SEEDDMS_INSTALL", "on"); -define("SEEDDMS_VERSION", "4.3.35"); +define("SEEDDMS_VERSION", "4.3.36"); require_once('../inc/inc.ClassSettings.php'); From f1cfa81c39ee0027cba6787906b5b84f137496a8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 08:49:50 +0200 Subject: [PATCH 002/169] set splash messages after succesful saving the data --- op/op.EditUserData.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/op/op.EditUserData.php b/op/op.EditUserData.php index 7140598b0..334319d7b 100644 --- a/op/op.EditUserData.php +++ b/op/op.EditUserData.php @@ -125,6 +125,8 @@ if (isset($_FILES["userfile"]) && is_uploaded_file($_FILES["userfile"]["tmp_name $user->setImage($_FILES["userfile"]["tmp_name"], $_FILES["userfile"]["type"]); } +$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_save_user_data'))); + add_log_line("?user=".$user->getLogin()); header("Location:../out/out.MyAccount.php"); From 7bc2b140b991002761e6f9542c83800f1affa5b5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 08:50:39 +0200 Subject: [PATCH 003/169] validate current password, set highlight and unhiglight functions remove old js code --- views/bootstrap/class.EditUserData.php | 38 +++++++------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/views/bootstrap/class.EditUserData.php b/views/bootstrap/class.EditUserData.php index af6ccd32a..aea65afa6 100644 --- a/views/bootstrap/class.EditUserData.php +++ b/views/bootstrap/class.EditUserData.php @@ -34,35 +34,7 @@ class SeedDMS_View_EditUserData extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ header('Content-Type: application/javascript'); ?> -function checkForm() -{ - msg = new Array(); - if ($("#pwd").val() != $("#pwdconf").val()) msg.push(""); - if ($("#fullname").val() == "") msg.push(""); - if ($("#email").val() == "") msg.push(""); -// if (document.form1.comment.value == "") msg.push(""); - if (msg != "") { - noty({ - text: msg.join('
'), - type: 'error', - dismissQueue: true, - layout: 'topRight', - theme: 'defaultTheme', - _timeout: 1500, - }); - return false; - } - else - return true; -} - $(document).ready( function() { -/* - $('body').on('submit', '#form', function(ev){ - if(checkForm()) return; - ev.preventDefault(); - }); -*/ $("#form").validate({ invalidHandler: function(e, validator) { noty({ @@ -74,7 +46,16 @@ $(document).ready( function() { timeout: 1500, }); }, + highlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(validClass).addClass(errorClass); + }, + unhighlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(errorClass).addClass(validClass); + }, rules: { + currentpwd: { + required: true + }, fullname: { required: true }, @@ -87,6 +68,7 @@ $(document).ready( function() { } }, messages: { + currentpwd: "", fullname: "", email: { required: "", From a34d2d8855d060f9b856febf813e7ee3860ced49 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 08:51:32 +0200 Subject: [PATCH 004/169] set highlight and unhighligth functions in validator --- views/bootstrap/class.AddFile.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/views/bootstrap/class.AddFile.php b/views/bootstrap/class.AddFile.php index 063daaf60..a5e9843de 100644 --- a/views/bootstrap/class.AddFile.php +++ b/views/bootstrap/class.AddFile.php @@ -68,6 +68,12 @@ $(document).ready( function() { timeout: 1500, }); }, + highlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(validClass).addClass(errorClass); + }, + unhighlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(errorClass).addClass(validClass); + }, From 24e34184e8f40f6174ac13d062cb104ca9985b95 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 08:52:01 +0200 Subject: [PATCH 005/169] set highlight and unhighligth functions in validato, remove old js code --- views/bootstrap/class.AddSubFolder.php | 36 +++++-------------------- views/bootstrap/class.EditDocument.php | 34 ----------------------- views/bootstrap/class.EditFolder.php | 37 +++++--------------------- 3 files changed, 12 insertions(+), 95 deletions(-) diff --git a/views/bootstrap/class.AddSubFolder.php b/views/bootstrap/class.AddSubFolder.php index 105a1145c..c7c142ca3 100644 --- a/views/bootstrap/class.AddSubFolder.php +++ b/views/bootstrap/class.AddSubFolder.php @@ -35,37 +35,7 @@ class SeedDMS_View_AddSubFolder extends SeedDMS_Bootstrap_Style { $strictformcheck = $this->params['strictformcheck']; header('Content-Type: application/javascript'); ?> -function checkForm() -{ - msg = new Array(); - if (document.form1.name.value == "") msg.push(""); - - if (document.form1.comment.value == "") msg.push(""); - - if (msg != "") { - noty({ - text: msg.join('
'), - type: 'error', - dismissQueue: true, - layout: 'topRight', - theme: 'defaultTheme', - _timeout: 1500, - }); - return false; - } - else - return true; -} $(document).ready( function() { -/* $('body').on('submit', '#form1', function(ev){ - if(checkForm()) return; - ev.preventDefault(); - }); -*/ $("#form1").validate({ invalidHandler: function(e, validator) { noty({ @@ -77,6 +47,12 @@ $(document).ready( function() { timeout: 1500, }); }, + highlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(validClass).addClass(errorClass); + }, + unhighlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(errorClass).addClass(validClass); + }, messages: { name: "", comment: "" diff --git a/views/bootstrap/class.EditDocument.php b/views/bootstrap/class.EditDocument.php index b7832b542..4dbcefbfa 100644 --- a/views/bootstrap/class.EditDocument.php +++ b/views/bootstrap/class.EditDocument.php @@ -36,41 +36,7 @@ class SeedDMS_View_EditDocument extends SeedDMS_Bootstrap_Style { header('Content-Type: application/javascript'); $this->printKeywordChooserJs('form1'); ?> -function checkForm() -{ - msg = new Array(); - if ($("#name").val() == "") msg.push(""); - - if ($("#comment").val() == "") msg.push(""); - if ($("#keywords").val() == "") msg.push(""); - - if (msg != "") - { - noty({ - text: msg.join('
'), - type: 'error', - dismissQueue: true, - layout: 'topRight', - theme: 'defaultTheme', - _timeout: 1500, - }); - return false; - } - else - return true; -} - $(document).ready( function() { -/* - $('body').on('submit', '#form1', function(ev){ - if(checkForm()) return; - ev.preventDefault(); - }); -*/ $("#form1").validate({ invalidHandler: function(e, validator) { noty({ diff --git a/views/bootstrap/class.EditFolder.php b/views/bootstrap/class.EditFolder.php index 7c403dbd7..04c5fee63 100644 --- a/views/bootstrap/class.EditFolder.php +++ b/views/bootstrap/class.EditFolder.php @@ -35,38 +35,7 @@ class SeedDMS_View_EditFolder extends SeedDMS_Bootstrap_Style { $strictformcheck = $this->params['strictformcheck']; header('Content-Type: application/javascript; charset=UTF-8'); ?> -function checkForm() -{ - msg = new Array(); - if (document.form1.name.value == "") msg.push(""); - - if (document.form1.comment.value == "") msg.push(""); - - if (msg != "") { - noty({ - text: msg.join('
'), - type: 'error', - dismissQueue: true, - layout: 'topRight', - theme: 'defaultTheme', - _timeout: 1500, - }); - return false; - } - else - return true; -} $(document).ready(function() { -/* - $('body').on('submit', '#form1', function(ev){ - if(checkForm()) return; - ev.preventDefault(); - }); -*/ $("#form1").validate({ invalidHandler: function(e, validator) { noty({ @@ -78,6 +47,12 @@ $(document).ready(function() { timeout: 1500, }); }, + highlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(validClass).addClass(errorClass); + }, + unhighlight: function(e, errorClass, validClass) { + $(e).parent().parent().removeClass(errorClass).addClass(validClass); + }, messages: { name: "", comment: "" From 6e37e1ded6a8ad0da704e64abacbdd3db7d4a201 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 14:11:04 +0200 Subject: [PATCH 006/169] fix check for new content status --- op/op.ReviewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index 3a4c91e76..5e8cc9271 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -161,7 +161,7 @@ if($olddocstatus['status'] != $newdocstatus['status']) { } // Notify approvers, if necessary. -if ($newdocstatus == S_DRAFT_APP) { +if ($newdocstatus['status'] == S_DRAFT_APP) { $requestUser = $document->getOwner(); if($notifier) { From d6e10dddd68dd7c299964b07e00464145907cb3c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 14:55:51 +0200 Subject: [PATCH 007/169] pass $content to controller, not $latestContent $latestContent and $content are different objects. If $latestContent is passed to the controller, its status will be updated in the object but $content has still the old status. Getting the status later on from $content, still returns the old content. --- op/op.ReviewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index 5e8cc9271..2e43716bf 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -94,7 +94,7 @@ if($_FILES["reviewfile"]["tmp_name"]) { } $controller->setParam('document', $document); -$controller->setParam('content', $latestContent); +$controller->setParam('content', $content); $controller->setParam('reviewstatus', $_POST["reviewStatus"]); $controller->setParam('reviewtype', $_POST["reviewType"]); if ($_POST["reviewType"] == "grp") { From d7f679428d70ceabe40d6e969b67901b2d3f4e48 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 14:58:47 +0200 Subject: [PATCH 008/169] add entry for 6.0.1 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 516beb753..a1343c643 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ -------------------------------------------------------------------------------- Changes in version 6.0.1 -------------------------------------------------------------------------------- +- fix bug in notification of approver after successful review - call hook 'rawcontent' when downloading transmittal list or search content - speed up list of locked documents on MyDocuments page - sql queries and execution times can be written to file in database layer From afbb166505bf68070f36de49fd417b25b1a8b2da Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 17:52:16 +0200 Subject: [PATCH 009/169] add 4.3.36 to list of releases --- SeedDMS_Core/package.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 49a844d47..dfc1cabb6 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -1196,6 +1196,22 @@ SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document GPL License +do not sort some temporary tables anymore, because it causes an error in mysql if sql_mode=only_full_group_by is set + + + + 2017-03-22 + + + 4.3.36 + 4.3.36 + + + stable + stable + + GPL License + From b7a55bdb18ab34b3d7273037026f66c36d080b78 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 13 Jul 2017 18:00:05 +0200 Subject: [PATCH 010/169] add 5.0.13 to releases, new version 5.1.3 --- SeedDMS_Core/package.xml | 50 ++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index df18b1ea9..b127665a6 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2017-03-23 + 2017-07-13 - 5.1.2 - 5.1.2 + 5.1.3 + 5.1.3 stable @@ -24,13 +24,6 @@ GPL License -SeedDMS_Core_DMS::filterDocumentFiles() returns also documents which are not public -if the owner tries to access them -Check return value of onPreRemove[Document|Folder], return from calling method if bool -Add SeedDMS_Core_DMS::getDocumentList() -Limit number of duplicate files to 1000 -Add hook on(Pre|Post)RemoveContent -Add hook onAttributeValidate @@ -1399,6 +1392,21 @@ all sql statements can be logged to a file do not sort some temporary tables anymore, because it causes an error in mysql if sql_mode=only_full_group_by is set + + 2017-07-13 + + + 5.0.13 + 5.0.13 + + + stable + stable + + GPL License + + + 2017-02-20 @@ -1431,5 +1439,27 @@ do not sort some temporary tables anymore, because it causes an error in mysql i - all changes from 5.0.11 merged + + 2017-03-23 + + + 5.1.2 + 5.1.2 + + + stable + stable + + GPL License + +SeedDMS_Core_DMS::filterDocumentFiles() returns also documents which are not public +if the owner tries to access them +Check return value of onPreRemove[Document|Folder], return from calling method if bool +Add SeedDMS_Core_DMS::getDocumentList() +Limit number of duplicate files to 1000 +Add hook on(Pre|Post)RemoveContent +Add hook onAttributeValidate + + From 3213aa168f7cee63e495a47f993768b6c87691bd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 17 Jul 2017 17:51:38 +0200 Subject: [PATCH 011/169] more efficient sql code in getDocumentList() --- SeedDMS_Core/Core/inc.ClassDMS.php | 180 ++++++++++++++++++++++++++++- 1 file changed, 177 insertions(+), 3 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 8f13c9952..ceffde224 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -784,6 +784,7 @@ class SeedDMS_Core_DMS { /* The following statement retrieves the status of the last version of all * documents. It must be restricted by further where clauses. */ +/* $queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lockUser`, ". "`tblDocumentContent`.`version`, `tblDocumentStatus`.*, `tblDocumentStatusLog`.`status`, ". "`tblDocumentStatusLog`.`comment` AS `statusComment`, `tblDocumentStatusLog`.`date` as `statusDate`, ". @@ -799,9 +800,33 @@ class SeedDMS_Core_DMS { "LEFT JOIN `tblUsers` AS `sTbl` on `sTbl`.`id` = `tblDocumentStatusLog`.`userID` ". "WHERE `ttstatid`.`maxLogID`=`tblDocumentStatusLog`.`statusLogID` ". "AND `ttcontentid`.`maxVersion` = `tblDocumentContent`.`version` "; + */ + /* New sql statement which retrieves all documents, its latest version and + * status, the owner and user initiating the latest status. + * It doesn't need the where clause anymore. Hence the statement could be + * extended with further left joins. + */ + $selectStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lockUser`, ". + "`tblDocumentContent`.`version`, `tblDocumentStatus`.*, `tblDocumentStatusLog`.`status`, ". + "`tblDocumentStatusLog`.`comment` AS `statusComment`, `tblDocumentStatusLog`.`date` as `statusDate`, ". + "`tblDocumentStatusLog`.`userID`, `oTbl`.`fullName` AS `ownerName`, `sTbl`.`fullName` AS `statusName` "; + $queryStr = + "FROM `ttcontentid` ". + "LEFT JOIN `tblDocuments` ON `tblDocuments`.`id` = `ttcontentid`.`document` ". + "LEFT JOIN `tblDocumentContent` ON `tblDocumentContent`.`document` = `ttcontentid`.`document` AND `tblDocumentContent`.`version` = `ttcontentid`.`maxVersion` ". + "LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID`=`ttcontentid`.`document` AND `tblDocumentStatus`.`version`=`ttcontentid`.`maxVersion` ". + "LEFT JOIN `ttstatid` ON `ttstatid`.`statusID` = `tblDocumentStatus`.`statusID` ". + "LEFT JOIN `tblDocumentStatusLog` ON `ttstatid`.`statusID` = `tblDocumentStatusLog`.`statusID` AND `ttstatid`.`maxLogID` = `tblDocumentStatusLog`.`statusLogID` ". + "LEFT JOIN `tblDocumentLocks` ON `ttcontentid`.`document`=`tblDocumentLocks`.`document` ". + "LEFT JOIN `tblUsers` `oTbl` ON `oTbl`.`id` = `tblDocuments`.`owner` ". + "LEFT JOIN `tblUsers` `sTbl` ON `sTbl`.`id` = `tblDocumentStatusLog`.`userID` "; + +// echo $queryStr; switch($listtype) { case 'AppRevByMe': // Documents I have to review/approve {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; // Get document list for the current user. $reviewStatus = $user->getReviewStatus(); @@ -845,6 +870,9 @@ class SeedDMS_Core_DMS { } break; // }}} case 'ReviewByMe': // Documents I have to review {{{ + if (!$this->db->createTemporaryTable("ttreviewid")) { + return false; + } $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -852,6 +880,33 @@ class SeedDMS_Core_DMS { else $orderdir = 'ASC'; + $groups = array(); + $tmp = $user->getGroups(); + foreach($tmp as $group) + $groups[] = $group->getID(); + + $selectStr .= ", `tblDocumentReviewLog`.`date` as `duedate` "; + $queryStr .= + "LEFT JOIN `tblDocumentReviewers` on `ttcontentid`.`document`=`tblDocumentReviewers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentReviewers`.`version` ". + "LEFT JOIN `ttreviewid` ON `ttreviewid`.`reviewID` = `tblDocumentReviewers`.`reviewID` ". + "LEFT JOIN `tblDocumentReviewLog` ON `tblDocumentReviewLog`.`reviewLogID`=`ttreviewid`.`maxLogId` "; + + if(0) { + $queryStr .= "WHERE (`tblDocumentReviewers`.`type` = 0 AND `tblDocumentReviewers`.`required` = ".$user->getID()." "; + if($groups) + $queryStr .= "OR `tblDocumentReviewers`.`type` = 1 AND `tblDocumentReviewers`.`required` IN (".implode(',', $groups).") "; + $queryStr .= ") "; + $queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_EXPIRED.") "; + if(!$param2) + $queryStr .= " AND `tblDocumentReviewLog`.`status` = 0 "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + } else { + $queryStr .= "WHERE 1=1 "; + // Get document list for the current user. $reviewStatus = $user->getReviewStatus(); @@ -887,8 +942,12 @@ class SeedDMS_Core_DMS { } else { $queryStr = ''; } + } break; // }}} case 'ApproveByMe': // Documents I have to approve {{{ + if (!$this->db->createTemporaryTable("ttapproveid")) { + return false; + } $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -896,6 +955,33 @@ class SeedDMS_Core_DMS { else $orderdir = 'ASC'; + $groups = array(); + $tmp = $user->getGroups(); + foreach($tmp as $group) + $groups[] = $group->getID(); + + $selectStr .= ", `tblDocumentApproveLog`.`date` as `duedate` "; + $queryStr .= + "LEFT JOIN `tblDocumentApprovers` on `ttcontentid`.`document`=`tblDocumentApprovers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentApprovers`.`version` ". + "LEFT JOIN `ttapproveid` ON `ttapproveid`.`approveID` = `tblDocumentApprovers`.`approveID` ". + "LEFT JOIN `tblDocumentApproveLog` ON `tblDocumentApproveLog`.`approveLogID`=`ttapproveid`.`maxLogId` "; + + if(0) { + $queryStr .= "WHERE (`tblDocumentApprovers`.`type` = 0 AND `tblDocumentApprovers`.`required` = ".$user->getID()." "; + if($groups) + $queryStr .= "OR `tblDocumentApprovers`.`type` = 1 AND `tblDocumentApprovers`.`required` IN (".implode(',', $groups).")"; + $queryStr .= ") "; + $queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") "; + if(!$param2) + $queryStr .= " AND `tblDocumentApproveLog`.`status` = 0 "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + } else { + $queryStr .= "WHERE 1=1 "; + // Get document list for the current user. $approvalStatus = $user->getApprovalStatus(); @@ -931,9 +1017,45 @@ class SeedDMS_Core_DMS { } else { $queryStr = ''; } + } break; // }}} case 'ReceiptByMe': // Documents I have to receipt {{{ + if (!$this->db->createTemporaryTable("ttreceiptid")) { + return false; + } $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + + $groups = array(); + $tmp = $user->getGroups(); + foreach($tmp as $group) + $groups[] = $group->getID(); + + $selectStr .= ", `tblDocumentReceiptLog`.`date` as `duedate` "; + $queryStr .= + "LEFT JOIN `tblDocumentRecipients` on `ttcontentid`.`document`=`tblDocumentRecipients`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRecipients`.`version` ". + "LEFT JOIN `ttreceiptid` ON `ttreceiptid`.`receiptID` = `tblDocumentRecipients`.`receiptID` ". + "LEFT JOIN `tblDocumentReceiptLog` ON `tblDocumentReceiptLog`.`receiptLogID`=`ttreceiptid`.`maxLogId` "; + + if(1) { + $queryStr .= "WHERE (`tblDocumentRecipients`.`type` = 0 AND `tblDocumentRecipients`.`required` = ".$user->getID()." "; + if($groups) + $queryStr .= "OR `tblDocumentRecipients`.`type` = 1 AND `tblDocumentRecipients`.`required` IN (".implode(',', $groups).")"; + $queryStr .= ") "; + if(!$param2) + $queryStr .= " AND `tblDocumentReceiptLog`.`status` = 0 "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + } else { + $queryStr .= "WHERE 1=1 "; + // Get document list for the current user. $receiptStatus = $user->getReceiptStatus(); @@ -958,13 +1080,22 @@ class SeedDMS_Core_DMS { } if (strlen($docCSV)>0) { - $queryStr .= "AND `tblDocuments`.`id` IN (" . $docCSV . ") ". - "ORDER BY `statusDate` DESC"; + $queryStr .= "AND `tblDocuments`.`id` IN (" . $docCSV . ") "; +// $queryStr .= "ORDER BY `statusDate` DESC"; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; } else { $queryStr = ''; } + } break; // }}} case 'ReviseByMe': // Documents I have to receipt {{{ + if (!$this->db->createTemporaryTable("ttrevisionid")) { + return false; + } $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -972,6 +1103,32 @@ class SeedDMS_Core_DMS { else $orderdir = 'ASC'; + $groups = array(); + $tmp = $user->getGroups(); + foreach($tmp as $group) + $groups[] = $group->getID(); + + $selectStr .= ", `tblDocumentRevisionLog`.`date` as `duedate` "; + $queryStr .= + "LEFT JOIN `tblDocumentRevisors` on `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` ". + "LEFT JOIN `ttrevisionid` ON `ttrevisionid`.`revisionID` = `tblDocumentRevisors`.`revisionID` ". + "LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogId` "; + + if(0) { + $queryStr .= "WHERE (`tblDocumentRevisors`.`type` = 0 AND `tblDocumentRevisors`.`required` = ".$user->getID()." "; + if($groups) + $queryStr .= "OR `tblDocumentRevisors`.`type` = 1 AND `tblDocumentRevisors`.`required` IN (".implode(',', $groups).")"; + $queryStr .= ") "; + if(!$param2) + $queryStr .= " AND `tblDocumentRevisionLog`.`status` = 0 "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + } else { + $queryStr .= "WHERE 1=1 "; + // Get document list for the current user. $revisionStatus = $user->getRevisionStatus(); @@ -1004,8 +1161,11 @@ class SeedDMS_Core_DMS { } else { $queryStr = ''; } + } break; // }}} case 'WorkflowByMe': // Documents I to trigger in Worklflow {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; // Get document list for the current user. $workflowStatus = $user->getWorkflowStatus(); @@ -1038,6 +1198,8 @@ class SeedDMS_Core_DMS { } break; // }}} case 'AppRevOwner': // Documents waiting for review/approval/revision I'm owning {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1056,6 +1218,8 @@ class SeedDMS_Core_DMS { // "ORDER BY `statusDate` DESC"; break; // }}} case 'ReceiveOwner': // Documents waiting for reception I'm owning {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1086,6 +1250,8 @@ class SeedDMS_Core_DMS { } break; // }}} case 'RejectOwner': // Documents that has been rejected and I'm owning {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1102,6 +1268,8 @@ class SeedDMS_Core_DMS { $queryStr .= " ".$orderdir; break; // }}} case 'LockedByMe': // Documents locked by me {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1131,12 +1299,16 @@ class SeedDMS_Core_DMS { } break; // }}} case 'WorkflowOwner': // Documents waiting for workflow trigger I'm owning {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". "AND `tblDocumentStatusLog`.`status` IN (".S_IN_WORKFLOW.") ". "ORDER BY `statusDate` DESC"; break; // }}} case 'MyDocs': // Documents owned by me {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1151,6 +1323,8 @@ class SeedDMS_Core_DMS { $queryStr .= " ".$orderdir; break; // }}} case 'CheckedOutByMe': // Documents I have checked out {{{ + $queryStr .= "WHERE 1=1 "; + $user = $param1; $orderby = $param3; if($param4 == 'desc') @@ -1182,7 +1356,7 @@ class SeedDMS_Core_DMS { } if($queryStr) { - $resArr = $this->db->getResultArray($queryStr); + $resArr = $this->db->getResultArray($selectStr.$queryStr); if (is_bool($resArr) && !$resArr) { return false; } From 3fd1dfe87a4a091b1bf43045acc37a440d70a935 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 17 Jul 2017 17:52:19 +0200 Subject: [PATCH 012/169] fix sql for creating temp table ttreviewid and ttapproveid --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index 5c10fece5..1c7a6d180 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -388,7 +388,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreviewid` AS ". - "SELECT `tblDocumentReviewLog`.`reviewID`, ". + "SELECT `tblDocumentReviewLog`.`reviewID` AS `reviewID`, ". "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". "FROM `tblDocumentReviewLog` ". "GROUP BY `tblDocumentReviewLog`.`reviewID` "; //. @@ -429,7 +429,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` AS ". - "SELECT `tblDocumentApproveLog`.`approveID`, ". + "SELECT `tblDocumentApproveLog`.`approveID` AS `approveID`, ". "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". "FROM `tblDocumentApproveLog` ". "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. From de6564c7e92545388be8fea122d9c37c26759ad0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 17 Jul 2017 17:57:01 +0200 Subject: [PATCH 013/169] fix sql statement for creating temp. tables ttreviewid and ttapproveid --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index 568b549cd..f41ddcf46 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -355,7 +355,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreviewid` AS ". - "SELECT `tblDocumentReviewLog`.`reviewID`, ". + "SELECT `tblDocumentReviewLog`.`reviewID` AS `reviewID`, ". "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". "FROM `tblDocumentReviewLog` ". "GROUP BY `tblDocumentReviewLog`.`reviewID` "; //. @@ -388,7 +388,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` AS ". - "SELECT `tblDocumentApproveLog`.`approveID`, ". + "SELECT `tblDocumentApproveLog`.`approveID` AS `approveID`, ". "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". "FROM `tblDocumentApproveLog` ". "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. From 525a947a19dd432f18a8d071e6d1523ef492a867 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 17 Jul 2017 17:57:45 +0200 Subject: [PATCH 014/169] add entry for 4.3.36 --- CHANGELOG | 5 +++++ SeedDMS_Core/package.xml | 1 + 2 files changed, 6 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 0cb18c54c..fab68b8e8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- + Changes in version 4.3.36 +-------------------------------------------------------------------------------- +- fix sql statement for creating temp. tables (sqlite) + -------------------------------------------------------------------------------- Changes in version 4.3.35 -------------------------------------------------------------------------------- diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 9ebf58ec8..c6a22e772 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,7 @@ GPL License +- fix sql statement for creating temp. tables (sqlite) From 9d3d91a037435a5c946f692dd576c2c69ac949aa Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 17 Jul 2017 17:59:36 +0200 Subject: [PATCH 015/169] move notes into 4.3.36 --- SeedDMS_Core/package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 5c49d1ec6..4deab6494 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,6 @@ GPL License -- fix sql statement for creating temp. tables (sqlite) @@ -1211,6 +1210,7 @@ do not sort some temporary tables anymore, because it causes an error in mysql i GPL License +- fix sql statement for creating temp. tables (sqlite) From a5688a7c3be489fe1d915f1e180a5f4a6cbcacf1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Jul 2017 13:35:01 +0200 Subject: [PATCH 016/169] turn on new sql statements in getDocumentList() --- SeedDMS_Core/Core/inc.ClassDMS.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index ceffde224..9443842e6 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -891,7 +891,7 @@ class SeedDMS_Core_DMS { "LEFT JOIN `ttreviewid` ON `ttreviewid`.`reviewID` = `tblDocumentReviewers`.`reviewID` ". "LEFT JOIN `tblDocumentReviewLog` ON `tblDocumentReviewLog`.`reviewLogID`=`ttreviewid`.`maxLogId` "; - if(0) { + if(1) { $queryStr .= "WHERE (`tblDocumentReviewers`.`type` = 0 AND `tblDocumentReviewers`.`required` = ".$user->getID()." "; if($groups) $queryStr .= "OR `tblDocumentReviewers`.`type` = 1 AND `tblDocumentReviewers`.`required` IN (".implode(',', $groups).") "; @@ -966,7 +966,7 @@ class SeedDMS_Core_DMS { "LEFT JOIN `ttapproveid` ON `ttapproveid`.`approveID` = `tblDocumentApprovers`.`approveID` ". "LEFT JOIN `tblDocumentApproveLog` ON `tblDocumentApproveLog`.`approveLogID`=`ttapproveid`.`maxLogId` "; - if(0) { + if(1) { $queryStr .= "WHERE (`tblDocumentApprovers`.`type` = 0 AND `tblDocumentApprovers`.`required` = ".$user->getID()." "; if($groups) $queryStr .= "OR `tblDocumentApprovers`.`type` = 1 AND `tblDocumentApprovers`.`required` IN (".implode(',', $groups).")"; @@ -1114,7 +1114,7 @@ class SeedDMS_Core_DMS { "LEFT JOIN `ttrevisionid` ON `ttrevisionid`.`revisionID` = `tblDocumentRevisors`.`revisionID` ". "LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogId` "; - if(0) { + if(1) { $queryStr .= "WHERE (`tblDocumentRevisors`.`type` = 0 AND `tblDocumentRevisors`.`required` = ".$user->getID()." "; if($groups) $queryStr .= "OR `tblDocumentRevisors`.`type` = 1 AND `tblDocumentRevisors`.`required` IN (".implode(',', $groups).")"; From 00b4817bc7b64afdeea0962b97c8a07f01c820fb Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Jul 2017 13:35:35 +0200 Subject: [PATCH 017/169] add formatComment() used to group comments entered for receiption of document --- inc/inc.Utils.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/inc/inc.Utils.php b/inc/inc.Utils.php index 922610e22..436de5b48 100644 --- a/inc/inc.Utils.php +++ b/inc/inc.Utils.php @@ -586,4 +586,16 @@ function addDirSep($str) { /* {{{ */ else return trim($str); } /* }}} */ + +/** + * Formats comments for aknowledge of reception. + * + * Only use in documentListRow() + */ +function formatComment($an) { /* {{{ */ + $t = array(); + foreach($an as $a) + $t[] = $a['n']." × ".$a['c']; + return $t; +} /* }}} */ ?> From d879cc611455b8c276600aa96cb870c7727ecfa9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Jul 2017 13:36:28 +0200 Subject: [PATCH 018/169] group recepition comments in documentListRow() --- views/bootstrap/class.Bootstrap.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 876e23640..76e80312a 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -2094,15 +2094,21 @@ $(document).ready( function() { $allcomments = array('-1'=>array(), '1'=>array()); foreach ($receiptStatus as $r) { $rstat[''.$r['status']]++; - if($r['comment']) - $allcomments[''.$r['status']][] = htmlspecialchars($r['comment']); + if($r['comment']) { +// $allcomments[''.$r['status']][] = htmlspecialchars($r['comment']); + $m5 = md5(trim($r['comment'])); + if($allcomments[''.$r['status']][$m5]) + $allcomments[''.$r['status']][$m5]['n']++; + else + $allcomments[''.$r['status']][$m5] = array('n'=>1, 'c'=>htmlspecialchars(trim($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) : "")."
+
".($rstat['1'] ? $rstat['1']."/".$totalreceipts : '').($allcomments['1'] ? " ".$this->printPopupBox('', implode('
', formatComment($allcomments['1'])), true) : "")."
+
".($rstat['-1'] ? $rstat['-1']."/".$totalreceipts : '').($allcomments['-1'] ? " ".$this->printPopupBox('', implode('
', formatComment($allcomments['-1'])), true) : "")."
"; } } From 78e1ac7572266c8e94250a526044dfee2ccf8cd0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Jul 2017 13:37:09 +0200 Subject: [PATCH 019/169] add filter for doc status 4 and 5 --- views/bootstrap/class.Timeline.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/views/bootstrap/class.Timeline.php b/views/bootstrap/class.Timeline.php index 3e7f2cda3..6b1d9fd13 100644 --- a/views/bootstrap/class.Timeline.php +++ b/views/bootstrap/class.Timeline.php @@ -256,6 +256,8 @@ div.timeline-event-selected { >
>
>
+ >
+ >
>
>
From b4b92a743f2fceee05d391a57383f7ee318bae48 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Jul 2017 13:37:58 +0200 Subject: [PATCH 020/169] some minor updates --- languages/ar_EG/lang.inc | 8 ++++++-- languages/bg_BG/lang.inc | 4 ++++ languages/ca_ES/lang.inc | 4 ++++ languages/cs_CZ/lang.inc | 4 ++++ languages/de_DE/lang.inc | 6 +++++- languages/el_GR/lang.inc | 4 ++++ languages/en_GB/lang.inc | 8 ++++++-- languages/es_ES/lang.inc | 8 ++++++-- languages/fr_FR/lang.inc | 4 ++++ languages/hr_HR/lang.inc | 4 ++++ languages/hu_HU/lang.inc | 4 ++++ languages/it_IT/lang.inc | 4 ++++ languages/ko_KR/lang.inc | 4 ++++ languages/nl_NL/lang.inc | 4 ++++ languages/pl_PL/lang.inc | 4 ++++ languages/pt_BR/lang.inc | 8 ++++++-- languages/ro_RO/lang.inc | 4 ++++ languages/ru_RU/lang.inc | 12 ++++++++---- languages/sk_SK/lang.inc | 4 ++++ languages/sv_SE/lang.inc | 4 ++++ languages/tr_TR/lang.inc | 4 ++++ languages/uk_UA/lang.inc | 4 ++++ languages/zh_CN/lang.inc | 4 ++++ languages/zh_TW/lang.inc | 4 ++++ 24 files changed, 109 insertions(+), 13 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 8dc9b55b1..7329598c3 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 (1274) +// Translators: Admin (1275) $text = array( '2_factor_auth' => '', @@ -609,6 +609,7 @@ URL: [url]', 'js_no_approval_group' => 'من فضلك اختر مجموعة الموافقة', 'js_no_approval_status' => 'من فضلك اختر حالة الموافقة', 'js_no_comment' => 'لايوجد تعليق', +'js_no_currentpwd' => '', 'js_no_email' => 'اكتب بريدك الالكتروني', 'js_no_file' => 'من فضلك اختر ملف', 'js_no_keywords' => 'من فضلك اختر بعض الكلمات البحثية', @@ -643,7 +644,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'اذا كنت تود تحميل ملفات اكبر من حجم الملفات المتاحة حاليا, من فضلك استخدم البديل صفحة التحميل.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'ﻉﺮﺿ ﻚﻟ ﺎﻠﺻﻼﺤﻳﺎﺗ', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'ملف محلي', @@ -1386,6 +1387,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1459,6 +1461,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'ﺖﻐﻳﺭ ﺎﻠﺣﺎﻟﺓ ﻢﻋ ﺎﻟﺰﻤﻧ', 'to' => 'الى', 'toggle_manager' => 'رجح مدير', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index ab60f7778..8c3582d0a 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -540,6 +540,7 @@ $text = array( 'js_no_approval_group' => 'Изберете утвърждаваща група', 'js_no_approval_status' => 'Изберете статусът на утвърждаване', 'js_no_comment' => 'Няма коментар', +'js_no_currentpwd' => '', 'js_no_email' => 'Въведете своя Email', 'js_no_file' => 'Изберете файл', 'js_no_keywords' => 'Укажете ключови думи', @@ -1251,6 +1252,7 @@ $text = array( 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1324,6 +1326,8 @@ $text = array( 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '', 'to' => 'към', 'toggle_manager' => 'Превключи мениджър', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 73404594d..623d292b8 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -545,6 +545,7 @@ URL: [url]', 'js_no_approval_group' => 'Si us plau, seleccioneu grup d\'aprovació', 'js_no_approval_status' => 'Si us plau, seleccioneu l\'estat d\'aprovació', 'js_no_comment' => 'No hi ha comentaris', +'js_no_currentpwd' => '', 'js_no_email' => 'Si us plau, escriviu la vostra adreça de correu electrònic', 'js_no_file' => 'Si us plau, seleccioneu un arxiu', 'js_no_keywords' => 'Si us plau, especifiqueu mots clau', @@ -1256,6 +1257,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1329,6 +1331,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versió [version]:[status]', 'to' => 'Fins', 'toggle_manager' => 'Intercanviar manager', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 857e35b12..0b8789380 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -616,6 +616,7 @@ URL: [url]', 'js_no_approval_group' => 'Prosím, vyberte skupinu pro schválení', 'js_no_approval_status' => 'Prosím, vyberte stav schválení', 'js_no_comment' => 'Žádný komentář', +'js_no_currentpwd' => '', 'js_no_email' => 'Napište svou emailovou adresu', 'js_no_file' => 'Prosím, vyberte soubor', 'js_no_keywords' => 'Zadejte nějaká klíčová slova', @@ -1395,6 +1396,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uživatel odstraněn', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Nastavení uloženo', 'splash_substituted_user' => 'Zaměněný uživatel', @@ -1468,6 +1470,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Verze [version]: [status]', 'to' => 'Do', 'toggle_manager' => 'Přepnout správce', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index e20ccd608..44de45132 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 (2420), dgrutsch (22) +// Translators: Admin (2424), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -627,6 +627,7 @@ URL: [url]', 'js_no_approval_group' => 'Wählen Sie bitte eine Freigabe-Gruppe aus', 'js_no_approval_status' => 'Wählen Sie bitte einen Freigabe-Status aus', 'js_no_comment' => 'Geben Sie einen Kommentar an', +'js_no_currentpwd' => 'Bitte das aktuelle Passwort eintragen', 'js_no_email' => 'Geben Sie eine Email-Adresse an', 'js_no_file' => 'Bitte wählen Sie eine Datei', 'js_no_keywords' => 'Geben Sie einige Stichwörter an', @@ -1451,6 +1452,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Dokumentenliste gelöscht', 'splash_rm_user' => 'Benutzer gelöscht', 'splash_saved_file' => 'Version gespeichert', +'splash_save_user_data' => 'Benutzerdaten gespeichert', 'splash_send_download_link' => 'Download-Link per E-Mail verschickt.', 'splash_settings_saved' => 'Einstellungen gesichert', 'splash_substituted_user' => 'Benutzer gewechselt', @@ -1524,6 +1526,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'bevorstehende Freigabe', 'timeline_skip_status_change_2' => 'freigegeben', 'timeline_skip_status_change_3' => 'im Workflow', +'timeline_skip_status_change_4' => 'In Revision', +'timeline_skip_status_change_5' => 'Entwurf', 'timeline_status_change' => 'Version [version]: [status]', 'to' => 'bis', 'toggle_manager' => 'Managerstatus wechseln', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 12382af23..d833b6150 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -540,6 +540,7 @@ $text = array( 'js_no_approval_group' => '', 'js_no_approval_status' => '', 'js_no_comment' => '', +'js_no_currentpwd' => '', 'js_no_email' => '', 'js_no_file' => '', 'js_no_keywords' => '', @@ -1262,6 +1263,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1335,6 +1337,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '', 'to' => 'Προς', 'toggle_manager' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 659aca8f6..b047ecf42 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 (1545), dgrutsch (9), netixw (14) +// Translators: Admin (1550), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -628,6 +628,7 @@ URL: [url]', 'js_no_approval_group' => 'Please select a approval group', 'js_no_approval_status' => 'Please select the approval status', 'js_no_comment' => 'There is no comment', +'js_no_currentpwd' => 'Please enter your current password', 'js_no_email' => 'Type in your Email-address', 'js_no_file' => 'Please select a file', 'js_no_keywords' => 'Specify some keywords', @@ -1446,6 +1447,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Transmittal deleted', 'splash_rm_user' => 'User removed', 'splash_saved_file' => 'Version saved', +'splash_save_user_data' => 'User data saved', 'splash_send_download_link' => 'Download link sent by email.', 'splash_settings_saved' => 'Settings saved', 'splash_substituted_user' => 'Substituted user', @@ -1518,7 +1520,9 @@ URL: [url]', 'timeline_skip_status_change_0' => 'pending review', 'timeline_skip_status_change_1' => 'pending approval', 'timeline_skip_status_change_2' => 'released', -'timeline_skip_status_change_3' => 'within workflow', +'timeline_skip_status_change_3' => 'in workflow', +'timeline_skip_status_change_4' => 'in revision', +'timeline_skip_status_change_5' => 'draft', 'timeline_status_change' => 'Version [version]: [status]', 'to' => 'To', 'toggle_manager' => 'Toggle manager', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index a10de4468..2a8d09c3a 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/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: acabello (20), Admin (1021), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1022), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -405,7 +405,7 @@ URL: [url]', 'dump_creation_warning' => 'Con esta operación se creará un volcado a fichero del contenido de la base de datos. Después de la creación del volcado el fichero se guardará en la carpeta de datos de su servidor.', 'dump_list' => 'Ficheros de volcado existentes', 'dump_remove' => 'Eliminar fichero de volcado', -'duplicates' => '', +'duplicates' => 'Duplicados', 'duplicate_content' => 'Contenido duplicado', 'edit' => 'editar', 'edit_attributes' => 'Editar atributos', @@ -616,6 +616,7 @@ URL: [url]', 'js_no_approval_group' => 'Por favor, seleccione grupo de aprobación', 'js_no_approval_status' => 'Por favor, seleccione el estado de aprobación', 'js_no_comment' => 'No hay comentarios', +'js_no_currentpwd' => '', 'js_no_email' => 'Escriba su dirección de correo electrónico', 'js_no_file' => 'Por favor, seleccione un archivo', 'js_no_keywords' => 'Especifique palabras clave', @@ -1401,6 +1402,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuario eliminado', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Configuración guardada', 'splash_substituted_user' => 'Usuario sustituido', @@ -1474,6 +1476,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'aprovaciones pendientes', 'timeline_skip_status_change_2' => 'versiones', 'timeline_skip_status_change_3' => 'con flujo de trabajo', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versión [version]: [estado]', 'to' => 'Hasta', 'toggle_manager' => 'Intercambiar mánager', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 7d27f988d..da8f91551 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -628,6 +628,7 @@ URL: [url]', 'js_no_approval_group' => 'Veuillez sélectionner un groupe d’approbation', 'js_no_approval_status' => 'Veuillez sélectionner le statut d’approbation', 'js_no_comment' => 'Il n\'y a pas de commentaires', +'js_no_currentpwd' => '', 'js_no_email' => 'Saisissez votre adresse e-mail', 'js_no_file' => 'Veuillez sélectionner un fichier', 'js_no_keywords' => 'Spécifiez quelques mots-clés', @@ -1396,6 +1397,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Utilisateur supprimé', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => 'Lien de téléchargement envoyé par e-mail', 'splash_settings_saved' => 'Configuration sauvegardée', 'splash_substituted_user' => 'Utilisateur de substitution', @@ -1469,6 +1471,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'en attente d\'approbation', 'timeline_skip_status_change_2' => 'publié', 'timeline_skip_status_change_3' => 'encore dans un workflow', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Version [version] : [status]', 'to' => 'Au', 'toggle_manager' => 'Basculer \'Responsable\'', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 3838afa8d..de0c4ea4a 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -621,6 +621,7 @@ Internet poveznica: [url]', 'js_no_approval_group' => 'Molim odaberite grupu odobrenja', 'js_no_approval_status' => 'Molim odaberite status odobrenja', 'js_no_comment' => 'Nema komentara', +'js_no_currentpwd' => '', 'js_no_email' => 'Upišite vašu e-mail adresu', 'js_no_file' => 'Molim odaberite datoteku', 'js_no_keywords' => 'Odredite neke ključne riječi', @@ -1422,6 +1423,7 @@ Internet poveznica: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Korisnik uklonjen', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Postavke pohranjene', 'splash_substituted_user' => 'Zamjenski korisnik', @@ -1495,6 +1497,8 @@ Internet poveznica: [url]', 'timeline_skip_status_change_1' => 'na čekanju za odobrenje', 'timeline_skip_status_change_2' => 'oslobođeno', 'timeline_skip_status_change_3' => 's tokom rada', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Verzija [version]: [status]', 'to' => 'Do', 'toggle_manager' => 'Zamjeni upravitelja', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 15363c39c..fbb8f1d2a 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -616,6 +616,7 @@ URL: [url]', 'js_no_approval_group' => 'Kérjük válasszon egy jóváhagyó csoportot', 'js_no_approval_status' => 'Kérjük válasszon jóváhagyási állapotot', 'js_no_comment' => 'Nincs megjegyzés', +'js_no_currentpwd' => '', 'js_no_email' => 'Adja meg email címét', 'js_no_file' => 'Kérjük válasszon egy állományt', 'js_no_keywords' => 'Adjon meg kulcsszavakat', @@ -1400,6 +1401,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Felhasználó eltávolítva', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Beállítások elmentve', 'splash_substituted_user' => 'Helyettesített felhasználó', @@ -1473,6 +1475,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'jóváhagyásra vár', 'timeline_skip_status_change_2' => 'kiadva', 'timeline_skip_status_change_3' => 'munkafolyamat alatt', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '[version]: [status] Verzio', 'to' => 'ig', 'toggle_manager' => 'Kulcs kezelő', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 1cde84acd..2902c6643 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -622,6 +622,7 @@ URL: [url]', 'js_no_approval_group' => 'Si prega di selezionare un gruppo di approvazione', 'js_no_approval_status' => 'Si prega di selezionare lo stato di approvazione', 'js_no_comment' => 'Non ci sono commenti', +'js_no_currentpwd' => '', 'js_no_email' => 'Scrivi il tuo indirizzo di Email', 'js_no_file' => 'Per favore seleziona un file', 'js_no_keywords' => 'Specifica alcune parole-chiave', @@ -1434,6 +1435,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Trasmissione cancellato', 'splash_rm_user' => 'Utente eliminato', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Impostazioni salvate', 'splash_substituted_user' => 'Utente sostituito', @@ -1507,6 +1509,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'in attesa di approvazione', 'timeline_skip_status_change_2' => 'rilasciato', 'timeline_skip_status_change_3' => 'nel workflow', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versione [version]: Stato', 'to' => 'A', 'toggle_manager' => 'Gestore', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 9e4d59982..3f81293cd 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -621,6 +621,7 @@ URL: [url]', 'js_no_approval_group' => '승인 그룹을 선택하세요', 'js_no_approval_status' => '승인 상태를 선택하세요', 'js_no_comment' => '코멘트가 없습니다', +'js_no_currentpwd' => '', 'js_no_email' => '당신의 이메일 주소를 입력', 'js_no_file' => '파일을 선택하세요', 'js_no_keywords' => '몇 가지 키워드를 지정', @@ -1415,6 +1416,7 @@ URL : [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '사용자 제거', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '설정 저장', 'splash_substituted_user' => '전환된 사용자', @@ -1488,6 +1490,8 @@ URL : [url]', 'timeline_skip_status_change_1' => '승인 대기', 'timeline_skip_status_change_2' => '발표', 'timeline_skip_status_change_3' => '워크 플로우', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '버전 [version]: [status]', 'to' => '마감일', 'toggle_manager' => '전환 매니저', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index f4faeba02..4ae923ccc 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -614,6 +614,7 @@ URL: [url]', 'js_no_approval_group' => 'Selecteer a.u.b. een Goedkeuring Groep', 'js_no_approval_status' => 'Selecteer a.u.b. een Goedkeuring Status', 'js_no_comment' => 'Er zijn geen commentaren', +'js_no_currentpwd' => '', 'js_no_email' => 'Voer uw e-mail adres in', 'js_no_file' => 'Selecteer een bestand', 'js_no_keywords' => 'Specificeer een aantal sleutelwoorden', @@ -1428,6 +1429,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Verzending verwijderd', 'splash_rm_user' => 'Gebruiker verwijderd', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Instellingen opgeslagen', 'splash_substituted_user' => 'Invallers gebruiker', @@ -1501,6 +1503,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'wacht op goedkeuring', 'timeline_skip_status_change_2' => 'gepubliceerd', 'timeline_skip_status_change_3' => 'binnen de workflow', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versie [version]: [status]', 'to' => 'aan', 'toggle_manager' => 'Wijzig Beheerder', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 69c5f1c24..77409d392 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -609,6 +609,7 @@ URL: [url]', 'js_no_approval_group' => 'Proszę wybrać grupę odpowiedzalną za akceptację', 'js_no_approval_status' => 'Proszę wybrać status akceptacji', 'js_no_comment' => 'Proszę dodać komentarz', +'js_no_currentpwd' => '', 'js_no_email' => 'Wprowadź swój adres email', 'js_no_file' => 'Proszę wybrać plik', 'js_no_keywords' => 'Wybierz jakieś słowa kluczowe', @@ -1380,6 +1381,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Użytkownika usunięto', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Zmiany zapisano', 'splash_substituted_user' => 'Zmieniono użytkownika', @@ -1453,6 +1455,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'oczekuje na zatwierdzenie', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => 'w obiegu', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Wersja [wersja]: [status]', 'to' => 'Do', 'toggle_manager' => 'Przełączanie zarządcy', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index cb404d60e..e88ecb353 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/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 (945), flaviove (627), lfcristofoli (352) +// Translators: Admin (946), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => '', @@ -306,7 +306,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Documento', -'documentcontent' => '', +'documentcontent' => 'Conteúdo do Documento', 'documents' => 'Documentos', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Documentos em Processo', @@ -615,6 +615,7 @@ URL: [url]', 'js_no_approval_group' => '', 'js_no_approval_status' => '', 'js_no_comment' => 'não há comentário', +'js_no_currentpwd' => '', 'js_no_email' => 'Digite seu endereço de e-mail', 'js_no_file' => 'Por favor selecione um arquivo', 'js_no_keywords' => 'Especifique algumas palavras-chave', @@ -1398,6 +1399,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuário removido', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Configurações salvas', 'splash_substituted_user' => 'Usuário substituido', @@ -1471,6 +1473,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'aprovação pendente', 'timeline_skip_status_change_2' => 'liberado', 'timeline_skip_status_change_3' => 'dentro do fluxo de trabalho', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versão [versão]: [estado]', 'to' => 'To', 'toggle_manager' => 'Toggle manager', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 5a65698cd..8543f53bf 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -621,6 +621,7 @@ URL: [url]', 'js_no_approval_group' => 'Vă rugăm să selectați un grup de aprobare', 'js_no_approval_status' => 'Vă rugăm să selectați statusul de aprobare', 'js_no_comment' => 'Nu există comentarii', +'js_no_currentpwd' => '', 'js_no_email' => 'Introduceti adresa dumneavoastra de email', 'js_no_file' => 'Vă rugăm să selectați un fișier', 'js_no_keywords' => 'Specificați câteva cuvinte cheie', @@ -1423,6 +1424,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uilizator eliminat', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Setări salvate', 'splash_substituted_user' => 'Utilizator substituit', @@ -1496,6 +1498,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'așteaptă aprobare', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => 'în proces', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versiune [versiune]: [stare]', 'to' => 'La', 'toggle_manager' => 'Comută Manager', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 8d0cc45a8..fca1f464a 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/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 (1644) +// Translators: Admin (1647) $text = array( '2_factor_auth' => 'Двухфакторная аутентификация', @@ -572,13 +572,13 @@ URL: [url]', 'include_content' => 'Включая содержимое', 'include_documents' => 'Включая документы', 'include_subdirectories' => 'Включая подкаталоги', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Задача индексирования поставлена в очередь', 'index_converters' => 'Индексирование документов', 'index_done' => '', 'index_error' => '', 'index_folder' => 'Полнотекстовый индекс', 'index_pending' => '', -'index_waiting' => '', +'index_waiting' => 'Ожидание', 'individuals' => 'Пользователи', 'indivіduals_in_groups' => 'Пользователи группы', 'inherited' => 'унаследованный', @@ -621,6 +621,7 @@ URL: [url]', 'js_no_approval_group' => 'Выберите утверждающую группу', 'js_no_approval_status' => 'Выберите статус утверждения', 'js_no_comment' => 'Нет комментария', +'js_no_currentpwd' => '', 'js_no_email' => 'Введите свой e-mail', 'js_no_file' => 'Выберите файл', 'js_no_keywords' => 'Укажите метки', @@ -797,7 +798,7 @@ URL: [url]', 'only_jpg_user_images' => 'Разрешены только .jpg-изображения', 'order_by_sequence_off' => 'Сортировка последовательности выключена в настройках. Если вы хотите применить этот эффект, вам необходимо его включить', 'original_filename' => 'Исходное имя файла', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Общий прогресс индексации', 'owner' => 'Владелец', 'ownership_changed_email' => 'Владелец изменён', 'ownership_changed_email_body' => 'Изменён владелец @@ -1430,6 +1431,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Пользователь удалён', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Настройки сохранены', 'splash_substituted_user' => 'Пользователь переключён', @@ -1503,6 +1505,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'ожидает подтверждения', 'timeline_skip_status_change_2' => 'утверждён', 'timeline_skip_status_change_3' => 'в процессе', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Версия [version]: [status]', 'to' => 'До', 'toggle_manager' => 'Изменить как менеджера', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index fee6ee8e1..071567556 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -544,6 +544,7 @@ URL: [url]', 'js_no_approval_group' => 'Prosím, vyberte skupinu pre schválenie', 'js_no_approval_status' => 'Prosím, vyberte stav schválenia', 'js_no_comment' => 'Žiadny komentár', +'js_no_currentpwd' => '', 'js_no_email' => 'Napíšte svoju emailovú adresu', 'js_no_file' => 'Prosím, vyberte súbor', 'js_no_keywords' => 'Zadajte nejaké kľúčové slová', @@ -1255,6 +1256,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1328,6 +1330,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Verzia [version]: [status]', 'to' => 'Do', 'toggle_manager' => 'Prepnúť stav manager', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 04f955c4f..679cf8590 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -609,6 +609,7 @@ URL: [url]', 'js_no_approval_group' => 'Välj en grupp som ska godkänna', 'js_no_approval_status' => 'Välj godkännandestatus', 'js_no_comment' => 'Det finns inga kommentarer', +'js_no_currentpwd' => '', 'js_no_email' => 'Ange din e-postadress', 'js_no_file' => 'Välj en fil', 'js_no_keywords' => 'Skriv några nyckelord', @@ -1386,6 +1387,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Användare har tagits bort', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Inställningar sparat', 'splash_substituted_user' => 'Bytt användare', @@ -1459,6 +1461,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Version [version]: [status]', 'to' => 'till', 'toggle_manager' => 'Byt manager', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 3e3cdfe5a..d227b44e2 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -615,6 +615,7 @@ URL: [url]', 'js_no_approval_group' => 'Lütfen bir onay grubu seçiniz', 'js_no_approval_status' => 'Lütfen onay durumu seçiniz', 'js_no_comment' => 'Açıklama yok', +'js_no_currentpwd' => '', 'js_no_email' => 'E-posta adresinizi yazınız', 'js_no_file' => 'Lütfen dosya seçiniz', 'js_no_keywords' => 'Anahtar kelime belirleyiniz', @@ -1402,6 +1403,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Kullanıcı silindi', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Ayarlar kaydedildi', 'splash_substituted_user' => 'Yerine geçilen kullanıcı', @@ -1475,6 +1477,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => 'serbest olanlar', 'timeline_skip_status_change_3' => 'iş akışı içinde', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Versiyon [version]: [status]', 'to' => 'Kime', 'toggle_manager' => 'Değişim yönetimi', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index abade20aa..9eb912c57 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -621,6 +621,7 @@ URL: [url]', 'js_no_approval_group' => 'Оберіть групу затвердження', 'js_no_approval_status' => 'Оберіть статус затвердження', 'js_no_comment' => 'Немає коментаря', +'js_no_currentpwd' => '', 'js_no_email' => 'Введіть свій e-mail', 'js_no_file' => 'Оберіть файл', 'js_no_keywords' => 'Вкажіть ключові слова', @@ -1423,6 +1424,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Користувача видалено', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => 'Налаштування збережено', 'splash_substituted_user' => 'Користувача переключено', @@ -1496,6 +1498,8 @@ URL: [url]', 'timeline_skip_status_change_1' => 'очікую підтвердження', 'timeline_skip_status_change_2' => 'затверджений', 'timeline_skip_status_change_3' => 'у процесі', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => 'Версія [version]: [status]', 'to' => 'До', 'toggle_manager' => 'Змінити ознаку менеджера', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 149d70e5c..a7a2c96aa 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -546,6 +546,7 @@ URL: [url]', 'js_no_approval_group' => '请选择审核组', 'js_no_approval_status' => '请选择审核状态', 'js_no_comment' => '没有添加说明', +'js_no_currentpwd' => '', 'js_no_email' => '输入您的e-mail', 'js_no_file' => '请选择一个文件', 'js_no_keywords' => '指定关键字', @@ -1257,6 +1258,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1330,6 +1332,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '版本 [版本]: [状态]', 'to' => '到', 'toggle_manager' => '角色切换', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 01b127201..efdcc5bd6 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -544,6 +544,7 @@ URL: [url]', 'js_no_approval_group' => '請選擇審核組', 'js_no_approval_status' => '請選擇審核狀態', 'js_no_comment' => '沒有添加說明', +'js_no_currentpwd' => '', 'js_no_email' => '輸入您的e-mail', 'js_no_file' => '請選擇一個檔', 'js_no_keywords' => '指定關鍵字', @@ -1255,6 +1256,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_save_user_data' => '', 'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', @@ -1328,6 +1330,8 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_4' => '', +'timeline_skip_status_change_5' => '', 'timeline_status_change' => '版本 [版本號]:[狀態]', 'to' => '到', 'toggle_manager' => '角色切換', From 0b88f3b30bca8b456035630caa1f6b2cfd7a349c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 08:26:03 +0200 Subject: [PATCH 021/169] add script for checking for open tasks of each or individual users --- utils/open-tasks.php | 295 +++++++++++++++++++++++++++++++++++++++ utils/seeddms-open-tasks | 6 + 2 files changed, 301 insertions(+) create mode 100644 utils/open-tasks.php create mode 100644 utils/seeddms-open-tasks diff --git a/utils/open-tasks.php b/utils/open-tasks.php new file mode 100644 index 000000000..46f6acc47 --- /dev/null +++ b/utils/open-tasks.php @@ -0,0 +1,295 @@ +] [-u ] [-r receiver] [-h] [-v] [-t] [-q] -d -D \n"; + echo "\n"; + echo "Description:\n"; + echo " Check for tasks which need to be done by a user.\n"; + echo "\n"; + echo "Options:\n"; + echo " -h, --help: print usage information and exit.\n"; + echo " -v, --version: print version and exit.\n"; + echo " --config=: set alternative config file.\n"; + echo " -u : comma separated list of user names to check. If not set all\n"; + echo " users will be checked.\n"; + echo " -r : email address where all mails are sent to. If not set the\n"; + echo " users themselves are informed.\n"; + echo " -f : set From field in notification mail\n"; + echo " -b : set base for links in html email. The final link will be\n"; + echo " out/out.ViewDocument.php. The default is\n"; + echo " http://localhost\n"; + echo " -d : check for n days in the future (default 14). Days always\n". + " start and end at midnight. A value of '1' means today.\n"; + echo " -t: run in test mode (will not send any mails)\n"; + echo " -q: be quite (just output error messages)\n"; +} /* }}} */ + +$version = "0.0.1"; +$tableformat = "%-65s %-12s"; +$tableformathtml = "%s%s"; +$baseurl = "http://localhost/"; +$mailfrom = "uwe@steinman.cx"; + +$shortoptions = "u:d:D:f:b:a:A:c:C:m:u:r:tqhv"; +$longoptions = array('help', 'version', 'config:'); +if(false === ($options = getopt($shortoptions, $longoptions))) { + usage(); + exit(0); +} + +/* Print help and exit */ +if(isset($options['h']) || isset($options['help'])) { + usage(); + exit(0); +} + +/* Print version and exit */ +if(isset($options['v']) || isset($options['verѕion'])) { + echo $version."\n"; + exit(0); +} + +/* Set alternative config file */ +if(isset($options['config'])) { + $settings = new Settings($options['config']); +} else { + $settings = new Settings(); +} +include("inc/inc.Language.php"); +include("inc/inc.Extension.php"); + +$LANG['de_DE']['daylyDigestMail'] = 'Tägliche Benachrichtigungsmail über ausstehende Aufgaben'; +$LANG['en_GB']['daylyDigestMail'] = 'Dayly digest mail with due tasks'; +$LANG['de_DE']['docsNeedToCareAbout'] = 'Dokumente, die seit mehr als [days] Tagen auf ihre Bearbeitung warten.'; +$LANG['en_GB']['docsNeedToCareAbout'] = 'Documents waiting for your attention for more than [days] days.'; +$LANG['de_DE']['waiting_for_review'] = 'Dokumente, die auf ihre Prüfung warten'; +$LANG['de_DE']['waiting_for_approval'] = 'Dokumente, die auf ihre Freigabe warten'; +$LANG['de_DE']['waiting_for_receipt'] = 'Dokumente, die auf ihre Empfangsbestätigung warten'; +$LANG['de_DE']['waiting_for_revision'] = 'Dokumente, die auf ihre Wiederholungsprüfung warten'; +$LANG['de_DE']['duedate'] = 'Fälligkeit'; + +if(isset($settings->_extraPath)) + ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path')); + +require_once("SeedDMS/Core.php"); + +$days = 14; +if(isset($options['d'])) { + $days = (int) $options['d']; +} +$enddays = 0; +if(isset($options['D'])) { + $enddays = (int) $options['D']; +} + +if($enddays >= $days) { + echo "Value of -D must be less then value of -d\n"; + exit(1); +} + +if(isset($options['f'])) { + $mailfrom = trim($options['f']); +} + +if(isset($options['b'])) { + $baseurl = trim($options['b']); +} + +$username = ''; +if(isset($options['u'])) { + $username = trim($options['u']); +} + +$receiver = ''; +if(isset($options['r'])) { + $receiver = trim($options['r']); +} + +$dryrun = false; +if(isset($options['t'])) { + $dryrun = true; + echo "Running in test mode will not send any mail.\n"; +} +$quite = false; +if(isset($options['q'])) { + $quite = true; +} + +$showobsolete = false; + +$db = new SeedDMS_Core_DatabaseAccess($settings->_dbDriver, $settings->_dbHostname, $settings->_dbUser, $settings->_dbPass, $settings->_dbDatabase); +$db->connect() or die ("Could not connect to db-server \"" . $settings->_dbHostname . "\""); +$db->_debug = 1; + +$dms = new SeedDMS_Core_DMS($db, $settings->_contentDir.$settings->_contentOffsetDir); +if(!$settings->_doNotCheckDBVersion && !$dms->checkVersion()) { + echo "Database update needed."; + exit; +} +$dms->setRootFolderID($settings->_rootFolderID); +$dms->setMaxDirID($settings->_maxDirID); +$dms->setEnableConverting($settings->_enableConverting); +$dms->setViewOnlineFileTypes($settings->_viewOnlineFileTypes); + +$startts = strtotime("midnight", time()); +if($username) { + $users = array(); + $tmp = explode(',', $username); + foreach($tmp as $t) { + if($u = $dms->getUserByLogin($t)) + $users[] = $u; + } +} else { + $users = $dms->getAllUsers(); +} +if(!$users) { + echo "No users specified or available."; + exit; +} + +foreach($users as $user) { + if(!$quite) + echo "Checking for tasks of user ".$user->getFullName()." which are due for more than ".$days." days\n\n"; + + $sendmail = false; /* Set to true if there is something to report */ + + $tasks = array('approval'=>array(), 'review'=>array(), 'receipt'=>array(), 'revision'=>array()); + $resArr = $dms->getDocumentList('ApproveByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $tmp = explode(' ', $res['duedate'], 2); + if($tmp[0] < date('Y-m-d', $startts-$days*86400)) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name'], 'date'=>$res['duedate']); + } + } + } + } + + $resArr = $dms->getDocumentList('ReviewByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $tmp = explode(' ', $res['duedate'], 2); + if($tmp[0] < date('Y-m-d', $startts-$days*86400)) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name'], 'date'=>$res['duedate']); + } + } + } + } + + $resArr = $dms->getDocumentList('ReceiptByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $tmp = explode(' ', $res['duedate'], 2); + if($tmp[0] < date('Y-m-d', $startts-$days*86400)) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['receipt'][] = array('id'=>$res['id'], 'name'=>$res['name'], 'date'=>$res['duedate']); + } + } + } + } + + $resArr = $dms->getDocumentList('ReviseByMe', $user); + if($resArr) { + foreach ($resArr as $res) { + $tmp = explode(' ', $res['duedate'], 2); + if($tmp[0] < date('Y-m-d', $startts-$days*86400)) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name'], 'date'=>$res['duedate']); + } + } + } + } + +// print_r($tasks); + + if (count($tasks['approval'])>0 || count($tasks['review'])>0 || count($tasks['receipt'])>0 || count($tasks['revision'])>0) { + $bodyhead = ""; + $bodyhead .= getMLText('docsNeedToCareAbout', array('days'=>$days))."\n"; + $bodyhead .= "\n"; + + $bodyhtmlhead = "\n\n\nSeedDMS: ".getMLText('daylyDigestMail')."\n_httpRoot."\" />\n\n\n"; + $bodyhtmlhead .= "

"; + $bodyhtmlhead .= getMLText('docsNeedToCareAbout', array('days'=>$days))."\n"; + $bodyhtmlhead .= "

\n"; + $bodyhtmlhead .= "

"; + $bodyhtmlhead .= "

\n"; + + /* Build an array of mail bodies for receiver in $bodyarr + * $bodyarr['email@domain.de']['plain'] = 'mail body for plain text mail' + * $bodyarr['email@domain.de']['html'] = 'mail body for html mail' + */ + $email = $user->getEmail(); + $bodyarr = array($email=>array('plain'=>'', 'html'=>'')); + + foreach(array('review', 'approval', 'receipt', 'revision') as $typ) { + if(!empty($tasks[$typ])) { + $bodyarr[$email]['plain'] .= sprintf($tableformat."\n", getMLText('waiting_for_'.$typ, array()), getMLText("duedate", array())); + $bodyarr[$email]['plain'] .= "---------------------------------------------------------------------------------------\n"; + $bodyarr[$email]['html'] .= "

".getMLText('waiting_for_'.$typ, array())."

"; + $bodyarr[$email]['html'] .= "\n"; + $bodyarr[$email]['html'] .= sprintf($tableformathtml."\n", getMLText('name', array()), getMLText("duedate", array())); + foreach($tasks[$typ] as $task) { + $bodyarr[$email]['plain'] .= sprintf($tableformat."\n", $task["name"], (!$task["date"] ? "-":$task["date"])); + $bodyarr[$email]['html'] .= sprintf($tableformathtml."\n", ''.htmlspecialchars($task["name"]).'', (!$task["date"] ? "-":$task["date"])); + } + $bodyarr[$email]['plain'] .= "\n"; + $bodyarr[$email]['html'] .= "
\n"; + } + } + $bodyfoot = "\n"; + $bodyhtmlfoot = ""; + +// echo $body; +// echo "----------------------------\n\n\n"; +// echo $bodyhtml; + foreach($bodyarr as $address => $msg) { + if(!$quite) { + echo "\n=== Send mail to ".trim($address)." =====================================================\n"; + echo $bodyhead; + echo $bodyarr[$address]['plain']; + echo $bodyfoot; + } else { + } + + if(!$dryrun) { + $mime = new Mail_mime(array('eol' => "\n")); + + $mime->setTXTBody($bodyhead.$msg['plain'].$bodyfoot); + $mime->setHTMLBody($bodyhtmlhead.$msg['html'].$bodyhtmlfoot); + + $body = $mime->get(array( + 'text_encoding'=>'8bit', + 'html_encoding'=>'8bit', + 'head_charset'=>'utf-8', + 'text_charset'=>'utf-8', + 'html_charset'=>'utf-8' + )); + $hdrs = $mime->headers(array('From' => $mailfrom, 'Subject' => 'SeedDMS: '.getMLText('daylyDigestMail').($receiver ? " (".trim($address).")" : ""), 'Content-Type' => 'text/plain; charset=UTF-8')); + + $mail = Mail::factory('mail'); + if($receiver) + $mail->send($receiver, $hdrs, $body); + else + $mail->send(trim($address), $hdrs, $body); + } + } + } else { + if(!$quite) { + echo "No notification needed\n"; + } + } +} diff --git a/utils/seeddms-open-tasks b/utils/seeddms-open-tasks new file mode 100644 index 000000000..e8363b2de --- /dev/null +++ b/utils/seeddms-open-tasks @@ -0,0 +1,6 @@ +#!/bin/sh +if [ -z ${SEEDDMS_HOME+x} ]; then + echo "Please set SEEDDMS_HOME before running this script"; + exit 1; +fi +php -f ${SEEDDMS_HOME}/utils/open-tasks.php -- $* From 80c78ba25cbf34bfd7b842d76fd2997dad9a95a0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 17:18:25 +0200 Subject: [PATCH 022/169] remove empty lines at end of file --- views/bootstrap/class.CreateIndex.php | 1 - views/bootstrap/class.SearchFulltext.php | 1 - views/bootstrap/class.SubstituteUser.php | 1 - views/bootstrap/class.WorkflowActionsMgr.php | 1 - views/bootstrap/class.WorkflowStatesMgr.php | 1 - views/bootstrap/class.WorkflowSummary.php | 1 - 6 files changed, 6 deletions(-) diff --git a/views/bootstrap/class.CreateIndex.php b/views/bootstrap/class.CreateIndex.php index 77d6ca302..c4cf75fd6 100644 --- a/views/bootstrap/class.CreateIndex.php +++ b/views/bootstrap/class.CreateIndex.php @@ -52,4 +52,3 @@ class SeedDMS_View_CreateIndex extends SeedDMS_Bootstrap_Style { } /* }}} */ } ?> - diff --git a/views/bootstrap/class.SearchFulltext.php b/views/bootstrap/class.SearchFulltext.php index 73abe148e..e80145e6e 100644 --- a/views/bootstrap/class.SearchFulltext.php +++ b/views/bootstrap/class.SearchFulltext.php @@ -128,4 +128,3 @@ class SeedDMS_View_SearchFulltext extends SeedDMS_Bootstrap_Style { } /* }}} */ } ?> - diff --git a/views/bootstrap/class.SubstituteUser.php b/views/bootstrap/class.SubstituteUser.php index eeb0c5cd8..904aa6c36 100644 --- a/views/bootstrap/class.SubstituteUser.php +++ b/views/bootstrap/class.SubstituteUser.php @@ -101,4 +101,3 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { } /* }}} */ } ?> - diff --git a/views/bootstrap/class.WorkflowActionsMgr.php b/views/bootstrap/class.WorkflowActionsMgr.php index 54c1df736..28d9f2a07 100644 --- a/views/bootstrap/class.WorkflowActionsMgr.php +++ b/views/bootstrap/class.WorkflowActionsMgr.php @@ -204,4 +204,3 @@ $(document).ready( function() { } /* }}} */ } ?> - diff --git a/views/bootstrap/class.WorkflowStatesMgr.php b/views/bootstrap/class.WorkflowStatesMgr.php index 078a71f6d..ffa894f10 100644 --- a/views/bootstrap/class.WorkflowStatesMgr.php +++ b/views/bootstrap/class.WorkflowStatesMgr.php @@ -215,4 +215,3 @@ $(document).ready(function() { } /* }}} */ } ?> - diff --git a/views/bootstrap/class.WorkflowSummary.php b/views/bootstrap/class.WorkflowSummary.php index 7b128b314..1f9408d98 100644 --- a/views/bootstrap/class.WorkflowSummary.php +++ b/views/bootstrap/class.WorkflowSummary.php @@ -172,4 +172,3 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style { } /* }}} */ } ?> - From 80ef51c0f31ee55c7a5c3b7ac791439c44d364b9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 17:20:42 +0200 Subject: [PATCH 023/169] add entry for 4.3.35 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index fab68b8e8..dce668215 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ Changes in version 4.3.36 -------------------------------------------------------------------------------- - fix sql statement for creating temp. tables (sqlite) +- remove empty lines at end of view/bootstrap/class.*.php files (Closes #329) -------------------------------------------------------------------------------- Changes in version 4.3.35 From 98b25c3f047b705a355a7f62d3c10346f14bd36b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 17:22:05 +0200 Subject: [PATCH 024/169] add changes for 5.0.13 --- CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 7d965bb68..03559129b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- + Changes in version 5.0.13 +-------------------------------------------------------------------------------- +- merged changes from 4.3.36 + -------------------------------------------------------------------------------- Changes in version 5.0.12 -------------------------------------------------------------------------------- From 5475764630fc03ea744efb6a69bd35bdc733477b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 17:23:55 +0200 Subject: [PATCH 025/169] add changelog for 5.1.3 --- CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index e58374e1b..aaa5ec0cc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- + Changes in version 5.1.3 +-------------------------------------------------------------------------------- +- merged changes from 5.0.13 + -------------------------------------------------------------------------------- Changes in version 5.1.2 -------------------------------------------------------------------------------- From 78ba1c131bf05f344319c7b3aad2784288b06968 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 17:45:38 +0200 Subject: [PATCH 026/169] make sure contentDir ends with DIRECTORY_SEPERATOR (Closes #323) --- inc/inc.ClassSettings.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index b2c59d635..95c4b1cbf 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -434,6 +434,8 @@ class Settings { /* {{{ */ $this->_rootDir = strval($tab["rootDir"]); $this->_httpRoot = strval($tab["httpRoot"]); $this->_contentDir = strval($tab["contentDir"]); + if(substr($this->_contentDir, -1, 1) != DIRECTORY_SEPARATOR) + $this->_contentDir .= DIRECTORY_SEPARATOR; $this->_cacheDir = strval($tab["cacheDir"]); $this->_stagingDir = strval($tab["stagingDir"]); $this->_luceneDir = strval($tab["luceneDir"]); From 986253c2e54ca53cc64267050d0e1ce5c4de2bdf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 19:03:51 +0200 Subject: [PATCH 027/169] add entry for 4.3.36 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index dce668215..31c38348c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ -------------------------------------------------------------------------------- - fix sql statement for creating temp. tables (sqlite) - remove empty lines at end of view/bootstrap/class.*.php files (Closes #329) +- make sure contentDir ends with DIRECTORY_SEPARATOR (Closes #323) -------------------------------------------------------------------------------- Changes in version 4.3.35 From 61df93ba138ea19aa25d1ac742126fc0a616b1a1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 19:14:28 +0200 Subject: [PATCH 028/169] showtree() checks expandFolderTree (partially resolves #312) --- inc/inc.Utils.php | 86 +++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/inc/inc.Utils.php b/inc/inc.Utils.php index 051911cab..fb05c3d7d 100644 --- a/inc/inc.Utils.php +++ b/inc/inc.Utils.php @@ -89,7 +89,7 @@ function getReadableDurationArray($secs) { /* {{{ */ // $string = str_replace("/*", "", $string); // $string = str_replace("*/", "", $string); // $string = str_replace("\"", """, $string); -// +// // return $string; //} @@ -151,48 +151,48 @@ function mydmsDecodeString($string) { /* {{{ */ function createVersionigFile($document) { /* {{{ */ global $settings, $dms; - + // if directory has been removed recreate it if (!file_exists($dms->contentDir . $document->getDir())) if (!SeedDMS_Core_File::makeDir($dms->contentDir . $document->getDir())) return false; - + $handle = fopen($dms->contentDir . $document->getDir() .$settings-> _versioningFileName , "wb"); - + if (is_bool($handle)&&!$handle) return false; - + $tmp = $document->getName()." (ID ".$document->getID().")\n\n"; fwrite($handle, $tmp); $owner = $document->getOwner(); $tmp = getMLText("owner")." = ".$owner->getFullName()." <".$owner->getEmail().">\n"; fwrite($handle, $tmp); - + $tmp = getMLText("creation_date")." = ".getLongReadableDate($document->getDate())."\n"; fwrite($handle, $tmp); - + $latestContent = $document->getLatestContent(); $tmp = "\n### ".getMLText("current_version")." ###\n\n"; fwrite($handle, $tmp); - + $tmp = getMLText("version")." = ".$latestContent->getVersion()."\n"; - fwrite($handle, $tmp); - + fwrite($handle, $tmp); + $tmp = getMLText("file")." = ".$latestContent->getOriginalFileName()." (".$latestContent->getMimeType().")\n"; fwrite($handle, $tmp); - + $tmp = getMLText("comment")." = ". $latestContent->getComment()."\n"; fwrite($handle, $tmp); - + $status = $latestContent->getStatus(); $tmp = getMLText("status")." = ".getOverallStatusText($status["status"])."\n"; fwrite($handle, $tmp); - + $reviewStatus = $latestContent->getReviewStatus(); $tmp = "\n### ".getMLText("reviewers")." ###\n"; fwrite($handle, $tmp); - + foreach ($reviewStatus as $r) { - + switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); @@ -208,25 +208,25 @@ function createVersionigFile($document) { /* {{{ */ $tmp = "\n".$reqName."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("status")." = ".getReviewStatusText($r["status"])."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("comment")." = ". $r["comment"]."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("last_update")." = ".$r["date"]."\n"; fwrite($handle, $tmp); } - - + + $approvalStatus = $latestContent->getApprovalStatus(); $tmp = "\n### ".getMLText("approvers")." ###\n"; fwrite($handle, $tmp); foreach ($approvalStatus as $r) { - + switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); @@ -242,42 +242,42 @@ function createVersionigFile($document) { /* {{{ */ $tmp = "\n".$reqName."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("status")." = ".getApprovalStatusText($r["status"])."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("comment")." = ". $r["comment"]."\n"; fwrite($handle, $tmp); - + $tmp = getMLText("last_update")." = ".$r["date"]."\n"; fwrite($handle, $tmp); - + } - $versions = $document->getContent(); + $versions = $document->getContent(); $tmp = "\n### ".getMLText("previous_versions")." ###\n"; fwrite($handle, $tmp); for ($i = count($versions)-2; $i >= 0; $i--){ - + $version = $versions[$i]; - $status = $version->getStatus(); - + $status = $version->getStatus(); + $tmp = "\n".getMLText("version")." = ".$version->getVersion()."\n"; - fwrite($handle, $tmp); - + fwrite($handle, $tmp); + $tmp = getMLText("file")." = ".$version->getOriginalFileName()." (".$version->getMimeType().")\n"; fwrite($handle, $tmp); - + $tmp = getMLText("comment")." = ". $version->getComment()."\n"; fwrite($handle, $tmp); - + $status = $latestContent->getStatus(); $tmp = getMLText("status")." = ".getOverallStatusText($status["status"])."\n"; fwrite($handle, $tmp); - + } - + fclose($handle); return true; } /* }}} */ @@ -355,13 +355,13 @@ function add_log_line($msg="", $priority=null) { /* {{{ */ function _add_log_line($msg="") { /* {{{ */ global $settings,$user; - + if ($settings->_logFileEnable!=TRUE) return; if ($settings->_logFileRotation=="h") $logname=date("YmdH", time()); else if ($settings->_logFileRotation=="d") $logname=date("Ymd", time()); else $logname=date("Ym", time()); - + if($h = fopen($settings->_contentDir.$logname.".log", "a")) { fwrite($h,date("Y/m/d H:i", time())." ".$user->getLogin()." (".$_SERVER['REMOTE_ADDR'].") ".basename($_SERVER["REQUEST_URI"], ".php").$msg."\n"); fclose($h); @@ -386,13 +386,13 @@ function _add_log_line($msg="") { /* {{{ */ return $txtpath; } /* }}} */ - + function showtree() { /* {{{ */ global $settings; - + if (isset($_GET["showtree"])) return intval($_GET["showtree"]); - else if ($settings->_enableFolderTree==0) return 0; - + else if ($settings->_expandFolderTree==0) return 0; + return 1; } /* }}} */ @@ -425,7 +425,7 @@ function createFormKey($formid='') { /* {{{ */ * @return string input field for html formular */ function createHiddenFieldWithKey($formid='') { /* {{{ */ - return ''; + return ''; } /* }}} */ /** @@ -449,7 +449,7 @@ function checkFormKey($formid='', $method='POST') { /* {{{ */ if(isset($_POST['formtoken']) && $_POST['formtoken'] == createFormKey($formid)) return true; } - + return false; } /* }}} */ From 49053d054a1ea0c7450973090ee04807c855ba27 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 19 Jul 2017 19:16:01 +0200 Subject: [PATCH 029/169] add entry for 4.3.36 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 31c38348c..2f48f80c7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ -------------------------------------------------------------------------------- Changes in version 4.3.36 -------------------------------------------------------------------------------- +- if expandFolderTree is set to hidden the tree actually is hidden (partially + closes #312) - fix sql statement for creating temp. tables (sqlite) - remove empty lines at end of view/bootstrap/class.*.php files (Closes #329) - make sure contentDir ends with DIRECTORY_SEPARATOR (Closes #323) From 5d6a56d95c4ae4468ed2ab07863e19bdc4cef908 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 15:00:42 +0200 Subject: [PATCH 030/169] add missing engl. translations --- utils/open-tasks.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/utils/open-tasks.php b/utils/open-tasks.php index 46f6acc47..b7216b7db 100644 --- a/utils/open-tasks.php +++ b/utils/open-tasks.php @@ -70,10 +70,15 @@ $LANG['de_DE']['daylyDigestMail'] = 'Tägliche Benachrichtigungsmail über ausst $LANG['en_GB']['daylyDigestMail'] = 'Dayly digest mail with due tasks'; $LANG['de_DE']['docsNeedToCareAbout'] = 'Dokumente, die seit mehr als [days] Tagen auf ihre Bearbeitung warten.'; $LANG['en_GB']['docsNeedToCareAbout'] = 'Documents waiting for your attention for more than [days] days.'; +$LANG['en_GB']['waiting_for_review'] = 'Documents waiting for your review'; $LANG['de_DE']['waiting_for_review'] = 'Dokumente, die auf ihre Prüfung warten'; +$LANG['en_GB']['waiting_for_approval'] = 'Documents waiting for your approval'; $LANG['de_DE']['waiting_for_approval'] = 'Dokumente, die auf ihre Freigabe warten'; +$LANG['en_GB']['waiting_for_receipt'] = 'Documents waiting for your reception'; $LANG['de_DE']['waiting_for_receipt'] = 'Dokumente, die auf ihre Empfangsbestätigung warten'; +$LANG['en_GB']['waiting_for_revision'] = 'Documents waiting for your revision'; $LANG['de_DE']['waiting_for_revision'] = 'Dokumente, die auf ihre Wiederholungsprüfung warten'; +$LANG['en_GB']['duedate'] = 'Due date'; $LANG['de_DE']['duedate'] = 'Fälligkeit'; if(isset($settings->_extraPath)) From f95baff3935fc866f8c27ff9277cfddbc05afea9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 15:07:52 +0200 Subject: [PATCH 031/169] remove box around table, mark disabled user as red line --- views/bootstrap/class.SubstituteUser.php | 4 +--- views/bootstrap/class.UserList.php | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/views/bootstrap/class.SubstituteUser.php b/views/bootstrap/class.SubstituteUser.php index 904aa6c36..51e2b9dee 100644 --- a/views/bootstrap/class.SubstituteUser.php +++ b/views/bootstrap/class.SubstituteUser.php @@ -45,7 +45,6 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("substitute_user")); - $this->contentContainerStart(); ?> @@ -54,7 +53,7 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { "; + echo "isDisabled() ? " class=\"error\"" : "").">"; echo ""; echo "
"; echo htmlspecialchars($currUser->getFullName())." (".htmlspecialchars($currUser->getLogin()).")
"; echo "".htmlspecialchars($currUser->getComment()).""; @@ -94,7 +93,6 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { } echo "
"; - $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); diff --git a/views/bootstrap/class.UserList.php b/views/bootstrap/class.UserList.php index a94159dc6..641f77f4c 100644 --- a/views/bootstrap/class.UserList.php +++ b/views/bootstrap/class.UserList.php @@ -44,7 +44,6 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style { $this->contentStart(); $this->pageNavigation("", "admin_tools"); $this->contentHeading(getMLText("user_list")); - $this->contentContainerStart(); $sessionmgr = new SeedDMS_SessionMgr($dms->getDB()); ?> @@ -53,7 +52,7 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style { "; + echo "isDisabled() ? " class=\"error\"" : "").">"; echo ""; if ($currUser->hasImage()) print ""; @@ -124,7 +123,6 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style { } echo ""; - $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); } /* }}} */ From 9c4aa5a1738a744fd8fe7a179b3e1a8ea7f32d6a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 15:08:55 +0200 Subject: [PATCH 032/169] add entry for 4.3.36 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 2f48f80c7..ab86f5999 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ -------------------------------------------------------------------------------- Changes in version 4.3.36 -------------------------------------------------------------------------------- +- mark disabled users in user list and substitute user list - if expandFolderTree is set to hidden the tree actually is hidden (partially closes #312) - fix sql statement for creating temp. tables (sqlite) From 9e8730056725d54ae6a54e0f7194766ed747d77c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:00:19 +0200 Subject: [PATCH 033/169] also check if user is disabled --- out/out.ObjectCheck.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index ed91bd287..4e548b5a2 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -75,8 +75,10 @@ $tmprevs = $dms->getDocumentsInRevision(); $docsinrevision = array(); foreach($tmprevs as $rev) { if($doc = $dms->getDocument($rev['documentID'])) { + $isdisabled = false; if($rev['type'] == 0) { $ruser = $dms->getUser($rev['required']); + $isdisabled = $ruser->isDisabled(); $mode = $doc->getAccessMode($ruser); $content = $doc->getContentByVersion($rev['version']); $cmode = $content->getAccessMode($ruser); @@ -88,7 +90,7 @@ foreach($tmprevs as $rev) { /* Caution: $content->getAccessMode($ruser) doesn't work as it uses the role * restrictions of the currently logged in user */ - if($mode < M_READ || $cmode < M_READ) + if($mode < M_READ || $cmode < M_READ || $isdisabled) $docsinrevision[] = $doc; } } @@ -96,8 +98,10 @@ $tmprevs = $dms->getDocumentsInReception(); $docsinreception = array(); foreach($tmprevs as $rev) { if($doc = $dms->getDocument($rev['documentID'])) { + $isdisabled = false; if($rev['type'] == 0) { $ruser = $dms->getUser($rev['required']); + $isdisabled = $ruser->isDisabled(); $mode = $doc->getAccessMode($ruser); $content = $doc->getContentByVersion($rev['version']); $cmode = $content->getAccessMode($ruser); @@ -109,7 +113,7 @@ foreach($tmprevs as $rev) { /* Caution: $content->getAccessMode($ruser) doesn't work as it uses the role * restrictions of the currently logged in user */ - if($mode < M_READ || $cmode < M_READ) + if($mode < M_READ || $cmode < M_READ || $isdisabled) $docsinreception[] = $doc; } } From c03566336a4c14d91c8dfa2a6ae4c008b09a0f56 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:00:41 +0200 Subject: [PATCH 034/169] skip user if disabled --- utils/open-tasks.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/open-tasks.php b/utils/open-tasks.php index b7216b7db..480d98ba7 100644 --- a/utils/open-tasks.php +++ b/utils/open-tasks.php @@ -161,6 +161,8 @@ if(!$users) { } foreach($users as $user) { + if($user->isDisabled()) + continue; if(!$quite) echo "Checking for tasks of user ".$user->getFullName()." which are due for more than ".$days." days\n\n"; From 28e84443d8c4130faadfa7947c3241ad3536c020 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:01:25 +0200 Subject: [PATCH 035/169] check if comment has been set already in list of receiption comments --- views/bootstrap/class.Bootstrap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 76e80312a..12b3200ab 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -2097,7 +2097,7 @@ $(document).ready( function() { if($r['comment']) { // $allcomments[''.$r['status']][] = htmlspecialchars($r['comment']); $m5 = md5(trim($r['comment'])); - if($allcomments[''.$r['status']][$m5]) + if(isset($allcomments[''.$r['status']][$m5])) $allcomments[''.$r['status']][$m5]['n']++; else $allcomments[''.$r['status']][$m5] = array('n'=>1, 'c'=>htmlspecialchars(trim($r['comment']))); From cfc73b11830224d49df4a91e7c99310128761efa Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:02:09 +0200 Subject: [PATCH 036/169] check if user is disabled in list of receiver, revisors --- views/bootstrap/class.ViewDocument.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 43ebefaf1..fc0945838 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1173,8 +1173,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { switch ($r["type"]) { case 0: // Recipient is an individual. $required = $dms->getUser($r["required"]); - if($user->isAdmin() && ($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ)) - $accesserr = getMLText("access_denied"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } @@ -1292,9 +1296,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach ($revisionStatus as $r) { $required = null; $is_recipient = false; + $accesserr = ''; switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } @@ -1325,7 +1336,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "".htmlspecialchars($r["comment"])."\n"; print "".getRevisionStatusText($r["status"])."\n"; print "
    "; - + if($accesserr) + echo "
  • ".$accesserr."
  • "; if($accessop->mayRevise($document)) { if ($is_recipient && $r["status"]==0) { print "
  • ".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini'), getMLText("add_revision"), false, true)."
  • "; From 58a90d595fcc35c7c04d017a908be168248e03c3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:02:37 +0200 Subject: [PATCH 037/169] get setfilesize from view --- views/bootstrap/class.ObjectCheck.php | 1 + 1 file changed, 1 insertion(+) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index 419e3ba7f..417c9dbb3 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -215,6 +215,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { $user = $this->params['user']; $folder = $this->params['folder']; $nofilesizeversions = $this->params['nofilesizeversions']; + $setfilesize = $this->params['setfilesize']; $this->contentHeading(getMLText("missing_filesize")); if($nofilesizeversions) { From 2fe4724bfd64d678ab99c7767a8c9ab36f071c7f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 17:04:26 +0200 Subject: [PATCH 038/169] set $indexconf to null if fulltext is disabled --- op/op.Ajax.php | 1 + 1 file changed, 1 insertion(+) diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 1526bfd50..0fdaaab6c 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -620,6 +620,7 @@ switch($command) { $indexconf['Indexer']::init($settings->_stopWordsFile); } else { $index = null; + $indexconf = null; } $controller = Controller::factory('AddDocument'); From bbad4795807d803752cd0c6fc235c1f20d8f3f89 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 18:21:05 +0200 Subject: [PATCH 039/169] use define S_LOG_USER_REMOVED --- SeedDMS_Core/Core/inc.ClassDocument.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index cb5432ef8..21999b624 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -4705,7 +4705,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $indstatus["reviewID"] ."', '-2', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $indstatus["reviewID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; @@ -4736,7 +4736,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $reviewStatus[0]["reviewID"] ."', '-2', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $reviewStatus[0]["reviewID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; @@ -4768,7 +4768,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $indstatus["approveID"] ."', '-2', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $indstatus["approveID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; @@ -4799,7 +4799,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $approvalStatus[0]["approveID"] ."', '-2', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $approvalStatus[0]["approveID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; @@ -4808,7 +4808,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return 0; } /* }}} */ - function delIndRecipient($user, $requestUser) { /* {{{ */ + function delIndRecipient($user, $requestUser, $msg='') { /* {{{ */ $db = $this->_document->_dms->getDB(); $userID = $user->getID(); @@ -4831,7 +4831,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $indstatus["receiptID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $indstatus["receiptID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; @@ -4840,7 +4840,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return 0; } /* }}} */ - function delGrpRecipient($group, $requestUser) { /* {{{ */ + function delGrpRecipient($group, $requestUser, $msg='') { /* {{{ */ $db = $this->_document->_dms->getDB(); $groupID = $group->getID(); @@ -4863,7 +4863,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $status["receiptID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; + "VALUES ('". $status["receiptID"] ."', '".S_LOG_USER_REMOVED."', ".$db->qstr($msg).", ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')"; $res = $db->getResult($queryStr); if (is_bool($res) && !$res) { return -1; From a846bcf633d97f2bc0f229b5a3712dd5fdc80acd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 18:21:24 +0200 Subject: [PATCH 040/169] replace sql statement by function in SeedDMS_Core_Document --- op/op.SetRecipients.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/op/op.SetRecipients.php b/op/op.SetRecipients.php index 7b8eb9e93..926e010a8 100644 --- a/op/op.SetRecipients.php +++ b/op/op.SetRecipients.php @@ -164,9 +164,7 @@ if (count($receiptIndex["i"]) > 0) { if (!isset($accessIndex["i"][$rx])) { // User does not have any receipt privileges for this document // revision or does not exist. - $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $receiptStatus[$rv["idx"]]["receiptID"] ."', '".S_LOG_USER_REMOVED."', '".getMLText("removed_recipient")."', NOW(), '". $user->getID() ."')"; - $res = $db->getResult($queryStr); + $res = $content->delIndRecipient($dms->getUser($rx), $user, getMLText("removed_recipient")); } else { $res = $content->delIndRecipient($accessIndex["i"][$rx], $user); @@ -270,9 +268,7 @@ if (count($receiptIndex["g"]) > 0) { if (!isset($accessIndex["g"][$rx])) { // Group does not have any receipt privileges for this document // revision or does not exist. - $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $receiptStatus[$rv["idx"]]["receiptID"] ."', '".S_LOG_USER_REMOVED."', '".getMLText("removed_recipient")."', NOW(), '". $user->getID() ."')"; - $res = $db->getResult($queryStr); + $res = $content->delGrpRecipient($dms->getGroup($rx), $user, getMLText("removed_recipient")); } else { $res = $content->delGrpRecipient($accessIndex["g"][$rx], $user); From 09dd448b400b627ce7158d3187db797f7e1fbe91 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 18:22:33 +0200 Subject: [PATCH 041/169] set right message when removing revisor --- op/op.SetRevisors.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op/op.SetRevisors.php b/op/op.SetRevisors.php index 3026a16ce..055735be9 100644 --- a/op/op.SetRevisors.php +++ b/op/op.SetRevisors.php @@ -161,7 +161,7 @@ if (count($revisionIndex["i"]) > 0) { if (!isset($accessIndex["i"][$rx])) { // User does not have any revision privileges for this document // revision or does not exist. - $res = $content->delIndRevisor($dms->getUser($rx), $user, getMLText("removed_recipient")); + $res = $content->delIndRevisor($dms->getUser($rx), $user, getMLText("removed_revisor")); } else { $res = $content->delIndRevisor($accessIndex["i"][$rx], $user); @@ -263,7 +263,7 @@ if (count($revisionIndex["g"]) > 0) { if (!isset($accessIndex["g"][$rx])) { // Group does not have any revision privileges for this document // revision or does not exist. - $res = $content->delGrpRevisor($dms->getGroup($rx), $user, getMLText("removed_recipient")); + $res = $content->delGrpRevisor($dms->getGroup($rx), $user, getMLText("removed_revisor")); } else { $res = $content->delGrpRevisor($accessIndex["g"][$rx], $user); From 6aee48fc08a884f44cb99210e1f5025e52f64243 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Jul 2017 18:22:58 +0200 Subject: [PATCH 042/169] do not try to get orderby and orderdir from view, because it is not set --- views/bootstrap/class.ObjectCheck.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index 417c9dbb3..3d2dd32f4 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -41,8 +41,8 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print "\n\n"; print "\n"; if($order) { - $orderby = $this->params['orderby']; - $orderdir = $this->params['orderdir']; + $orderby = ''; //$this->params['orderby']; + $orderdir = ''; //$this->params['orderdir']; print "".getMLText("name")." ".($orderby == 'n' || $orderby == '' ? ($orderdir == 'desc' ? '' : '') : '')." · ".getMLText("last_update")." ".($orderby == 'u' ? ($orderdir == 'desc' ? '' : '') : '')." · ".getMLText("expires")." ".($orderby == 'e' ? ($orderdir == 'desc' ? '' : '') : '')."\n"; } else From 37e03e2e9e262db21a61a6758c8061d59bd691e2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 11:48:01 +0200 Subject: [PATCH 043/169] SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there are any waiting or pending revisions at all --- SeedDMS_Core/Core/inc.ClassDocument.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 21999b624..051349e62 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -706,6 +706,9 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * The method will update the document status log database table * if needed. * + * FIXME: This method does not check if there are any revisors left. Even + * if all revisors have been removed, it will still start the revision workflow! + * * @param object $user user requesting the possible automatic change * @param string $next next date for review * @return boolean true if status has changed @@ -716,6 +719,22 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $st=$lc->getStatus(); if($st["status"] == S_RELEASED) { + /* First check if there are any revisors left who need to revise */ + $pendingRevision=false; + unset($this->_revisionStatus); // force to be reloaded from DB + $revisionStatus=$lc->getRevisionStatus(); + if (is_array($revisionStatus) && count($revisionStatus)>0) { + foreach ($revisionStatus as $a){ + if ($a["status"]==S_LOG_SLEEPING || $a["status"]==S_LOG_SLEEPING){ + $pendingRevision=true; + break; + } + } + } + if(!$pendingRevision) + return false; + + /* Second check if revision is already due */ if($lc->getRevisionDate() && $lc->getRevisionDate() <= date('Y-m-d 00:00:00')) { if($lc->startRevision($user, 'Automatic start of revision workflow')) { if($next) { From 26cb15fe214128e163135eae0326c5ddca056759 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 11:48:32 +0200 Subject: [PATCH 044/169] verify status after setting revisors --- op/op.SetRevisors.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/op/op.SetRevisors.php b/op/op.SetRevisors.php index 055735be9..f13dbceaa 100644 --- a/op/op.SetRevisors.php +++ b/op/op.SetRevisors.php @@ -307,6 +307,9 @@ if (count($revisionIndex["g"]) > 0) { } } +/* Recheck status, because all revisors could have been removed */ +$content->verifyStatus(false, $user, getMLText('automatic_status_update')); + add_log_line("?documentid=".$documentid); header("Location:../out/out.DocumentVersionDetail.php?documentid=".$documentid."&version=".$version); From aa162b6601650536ea74aa95aa87eec7703d2801 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 11:48:52 +0200 Subject: [PATCH 045/169] add note for 6.0.1 --- SeedDMS_Core/package.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 6bc9539dc..ab57d1e0e 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -28,6 +28,8 @@ - setting _logfile in inc.DBAccessPDO.php will log execution times in file - fix sql statement to create temp table ttrevisionid and ttreceiptid - SeedDMS_Core_DMS::noReadForStatus no longer needed +- SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there + are any waiting or pending revisions at all From 6847e1b6db5b20b8c5ad2a584b353f2329a5fa24 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 13:52:57 +0200 Subject: [PATCH 046/169] =?UTF-8?q?check=20if=20user=20has=20access=20and?= =?UTF-8?q?=20is=20not=20disabled=20=D1=96f=20reviewer,=20approver,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit also check if group has members if set as reviewer, approver, etc. --- views/bootstrap/class.ViewDocument.php | 79 ++++++++++++++++++-------- 1 file changed, 55 insertions(+), 24 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index fc0945838..2fc461746 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -771,6 +771,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach ($reviewStatus as $r) { $required = null; $is_reviewer = false; + $accesserr = ''; switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); @@ -778,7 +779,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if($required->getId() == $user->getId()/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_reviewer = true; } @@ -789,7 +796,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$r["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); + if($user->isAdmin()) { + $grpusers = $required->getUsers(); + if(!$grpusers) + $accesserr = getMLText("no_group_members"); + } if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_reviewer = true; } @@ -811,6 +823,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "\n"; print "".getReviewStatusText($r["status"])."\n"; print "
      "; + if($accesserr) + echo "
    • ".$accesserr."
    • "; if($accessop->mayReview($document)) { if ($is_reviewer) { @@ -844,6 +858,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach ($approvalStatus as $a) { $required = null; $is_approver = false; + $accesserr = ''; switch ($a["type"]) { case 0: // Approver is an individual. $required = $dms->getUser($a["required"]); @@ -851,7 +866,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_user")." '".$a["required"]."'"; } else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if($required->getId() == $user->getId()) $is_approver = true; } @@ -862,7 +883,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$a["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); + if($user->isAdmin()) { + $grpusers = $required->getUsers(); + if(!$grpusers) + $accesserr = getMLText("no_group_members"); + } if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_approver = true; } @@ -884,6 +910,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { echo "\n"; print "".getApprovalStatusText($a["status"])."\n"; print "
        "; + if($accesserr) + echo "
      • ".$accesserr."
      • "; if($accessop->mayApprove($document)) { if ($is_approver) { @@ -1173,17 +1201,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { switch ($r["type"]) { case 0: // Recipient is an individual. $required = $dms->getUser($r["required"]); - if($user->isAdmin()) { - if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) - $accesserr = getMLText("access_denied"); - elseif(is_object($required) && $required->isDisabled()) - $accesserr = getMLText("login_disabled_title"); - } if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; - } - else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + } else { + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } } if($r["required"] == $user->getId()/* && ($user->getId() != $owner->getId() || $enableownerreceipt == 1)*/) $is_recipient = true; @@ -1194,7 +1221,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$r["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); + if($user->isAdmin()) { + $grpusers = $required->getUsers(); + if(!$grpusers) + $accesserr = getMLText("no_group_members"); + } if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerreceipt == 1)*/) $is_recipient = true; } @@ -1300,17 +1332,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); - if($user->isAdmin()) { - if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) - $accesserr = getMLText("access_denied"); - elseif(is_object($required) && $required->isDisabled()) - $accesserr = getMLText("login_disabled_title"); - } if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; - } - else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + } else { + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } } if($r["required"] == $user->getId()/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_recipient = true; @@ -1321,7 +1352,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$r["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_recipient = true; } From 66044f8b4afccd31d2d786cfccd0ba5f613a82c3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 13:56:59 +0200 Subject: [PATCH 047/169] add entry for 6.0.1 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 65465dbeb..3158c15e6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ -------------------------------------------------------------------------------- Changes in version 6.0.1 -------------------------------------------------------------------------------- +- check if user has access on document and is not disabled if set as + reviewer, approver, receiver, revisor +- check if group has members if set as reviewer, approver, receiver, revisor - fix bug in notification of approver after successful review - call hook 'rawcontent' when downloading transmittal list or search content - speed up list of locked documents on MyDocuments page From d954b4df1dba409e4308df269665d4b708e424df Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 14:41:39 +0200 Subject: [PATCH 048/169] getReverseSubstitutes() works with roles --- SeedDMS_Core/Core/inc.ClassUser.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 743a3d4cd..9642d40d0 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -1877,20 +1877,23 @@ class SeedDMS_Core_User { /* {{{ */ if (!isset($this->_rev_substitutes)) { $queryStr = "SELECT `tblUsers`.* FROM `tblUserSubstitutes` ". "LEFT JOIN `tblUsers` ON `tblUserSubstitutes`.`user` = `tblUsers`.`id` ". + "LEFT JOIN `tblRoles` ON `tblRoles`.`id`=`tblUsers`.`role` ". "WHERE `tblUserSubstitutes`.`substitute`='". $this->_id ."'"; /* None admins can only be substitutes for regular users, otherwise * regular users can become admin */ if(!$this->isAdmin()) - $queryStr .= " AND `tblUsers`.`role` = ".SeedDMS_Core_User::role_user; + $queryStr .= " AND `tblRoles`.`role` = ".SeedDMS_Core_User::role_user; $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; $this->_rev_substitutes = array(); + $classnamerole = $this->_dms->getClassname('role'); $classname = $this->_dms->getClassname('user'); foreach ($resArr as $row) { - $user = new $classname($row["id"], $row["login"], $row["pwd"], $row["fullName"], $row["email"], $row["language"], $row["theme"], $row["comment"], $row["role"], $row["hidden"], $row["disabled"], $row["pwdExpiration"], $row["loginfailures"], $row["quota"], $row["homefolder"]); + $role = $classnamerole::getInstance($row['role'], $this->_dms); + $user = new $classname($row["id"], $row["login"], $row["pwd"], $row["fullName"], $row["email"], $row["language"], $row["theme"], $row["comment"], $role, $row["hidden"], $row["disabled"], $row["pwdExpiration"], $row["loginfailures"], $row["quota"], $row["homefolder"]); $user->setDMS($this->_dms); array_push($this->_rev_substitutes, $user); } From 0483e44ddc7712a343e518157287f025d24d61f6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 14:43:02 +0200 Subject: [PATCH 049/169] new note for 6.0.1 --- SeedDMS_Core/package.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index ab57d1e0e..3073e46d8 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -29,7 +29,8 @@ - fix sql statement to create temp table ttrevisionid and ttreceiptid - SeedDMS_Core_DMS::noReadForStatus no longer needed - SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there - are any waiting or pending revisions at all +are any waiting or pending revisions at all +- SeedDMS_Core_User::getReverseSubstitutes() works with new roles From bec7fc27355bca91926b65bd4812ad6635647415 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:06:03 +0200 Subject: [PATCH 050/169] check access of reviewer, approver on document --- views/bootstrap/class.ViewDocument.php | 36 +++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 130f42972..414742f0f 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -721,6 +721,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach ($reviewStatus as $r) { $required = null; $is_reviewer = false; + $accesserr = ''; switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); @@ -728,7 +729,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if($required->getId() == $user->getId()/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_reviewer = true; } @@ -739,7 +746,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$r["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); + if($user->isAdmin()) { + $grpusers = $required->getUsers(); + if(!$grpusers) + $accesserr = getMLText("no_group_members"); + } if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_reviewer = true; } @@ -759,6 +771,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "\n"; print "".getReviewStatusText($r["status"])."\n"; print "
          "; + if($accesserr) + echo "
        • ".$accesserr."
        • "; if($accessop->mayReview()) { if ($is_reviewer) { @@ -792,6 +806,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach ($approvalStatus as $a) { $required = null; $is_approver = false; + $accesserr = ''; switch ($a["type"]) { case 0: // Approver is an individual. $required = $dms->getUser($a["required"]); @@ -799,7 +814,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_user")." '".$a["required"]."'"; } else { - $reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + $reqName = " ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); + if($user->isAdmin()) { + if($document->getAccessMode($required) < M_READ || $latestContent->getAccessMode($required) < M_READ) + $accesserr = getMLText("access_denied"); + elseif(is_object($required) && $required->isDisabled()) + $accesserr = getMLText("login_disabled_title"); + } if($required->getId() == $user->getId()) $is_approver = true; } @@ -810,7 +831,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $reqName = getMLText("unknown_group")." '".$a["required"]."'"; } else { - $reqName = "".htmlspecialchars($required->getName()).""; + $reqName = " ".htmlspecialchars($required->getName()); + if($user->isAdmin()) { + $grpusers = $required->getUsers(); + if(!$grpusers) + $accesserr = getMLText("no_group_members"); + } if($required->isMember($user)/* && ($user->getId() != $owner->getId() || $enableownerrevapp == 1)*/) $is_approver = true; } @@ -830,6 +856,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { echo "\n"; print "".getApprovalStatusText($a["status"])."\n"; print "
            "; + if($accesserr) + echo "
          • ".$accesserr."
          • "; if($accessop->mayApprove()) { if ($is_approver) { From ab9f62aa3c7c859ec5a1ec3040e5f32c9691cf66 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:07:23 +0200 Subject: [PATCH 051/169] add entry for 5.1.3 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 05cf196ae..db09c7ecd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ -------------------------------------------------------------------------------- Changes in version 5.1.3 -------------------------------------------------------------------------------- +- check if user has access on document and is not disabled if set as + reviewer, approver - merged changes from 5.0.13 -------------------------------------------------------------------------------- From 29ec0987983cadffafc1a059b75fc9dc791c5d9a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:08:04 +0200 Subject: [PATCH 052/169] correct entry for 6.0.1 --- CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 29357d5d4..322ef022b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,7 +2,7 @@ Changes in version 6.0.1 -------------------------------------------------------------------------------- - check if user has access on document and is not disabled if set as - reviewer, approver, receiver, revisor + receiver, revisor - check if group has members if set as reviewer, approver, receiver, revisor - fix bug in notification of approver after successful review - call hook 'rawcontent' when downloading transmittal list or search content From 407ef2097dd0ec9d29c803f6561b758aa6126098 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:54:17 +0200 Subject: [PATCH 053/169] pass regex to getValidationText --- inc/inc.Language.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/inc.Language.php b/inc/inc.Language.php index 044645780..ae26159fa 100644 --- a/inc/inc.Language.php +++ b/inc/inc.Language.php @@ -262,7 +262,7 @@ function getOverallStatusText($status) { /* {{{ */ } } /* }}} */ -function getAttributeValidationText($error, $attrname='', $attrvalue='') { /* {{{ */ +function getAttributeValidationText($error, $attrname='', $attrvalue='', $regex='') { /* {{{ */ switch($error) { case 10: return getMLText("attr_not_in_valueset", array('attrname'=>$attrname, 'value'=>$attrvalue)); @@ -286,7 +286,7 @@ function getAttributeValidationText($error, $attrname='', $attrvalue='') { /* {{ return getMLText("attr_malformed_url", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 3: - return getMLText("attr_no_regex_match", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return getMLText("attr_no_regex_match", array('attrname'=>$attrname, 'value'=>$attrvalue, 'regex'=>$regex)); break; case 2: return getMLText("attr_max_values", array('attrname'=>$attrname, 'value'=>$attrvalue)); From e5f917bdc11234516763ef66c0b95075b867d32a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:54:49 +0200 Subject: [PATCH 054/169] fix output of validation errors, add link to search for attribute value --- views/bootstrap/class.AttributeMgr.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index 5b2454730..a7ac3382e 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -82,12 +82,13 @@ $(document).ready( function() { foreach($res['frequencies'][$type] as $entry) { $value = $selattrdef->parseValue($entry['value']); $content .= ""; - $content .= "".implode(';', $value)."".$entry['c'].""; + $content .= "".implode(';', $value).""; + $content .= "getID()."]=".$entry['value']."\">".urlencode($entry['c']).""; + $content .= ""; /* various checks, if the value is valid */ if(!$selattrdef->validate($entry['value'])) { - $content .= getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value']); + $content .= getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value'], $selattrdef->getRegex()); } - $content .= ""; /* Check if value is in value set */ if($selattrdef->getValueSet()) { foreach($value as $v) { From 6c6661f1eb898abfe114f811ec1644904cb6d79b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Jul 2017 16:56:16 +0200 Subject: [PATCH 055/169] add entries for 5.1.3 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index db09c7ecd..2e89b8c6a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ -------------------------------------------------------------------------------- Changes in version 5.1.3 -------------------------------------------------------------------------------- +- add link to search for attribute value in attribute mgr +- fix output of validation errors in attribute mgr - check if user has access on document and is not disabled if set as reviewer, approver - merged changes from 5.0.13 From a7660a5825d5e384ff182402aec57b602ba446c6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 26 Jul 2017 07:50:36 +0200 Subject: [PATCH 056/169] take out check for value in value set This check is being done by the validation already --- views/bootstrap/class.AttributeMgr.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index a7ac3382e..5acf0d580 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -90,12 +90,14 @@ $(document).ready( function() { $content .= getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value'], $selattrdef->getRegex()); } /* Check if value is in value set */ + /* if($selattrdef->getValueSet()) { foreach($value as $v) { if(!in_array($v, $selattrdef->getValueSetAsArray())) $content .= getMLText("attribute_value_not_in_valueset"); } } + */ $content .= ""; $content .= ""; } From 8b848cc05afe38d5c71ba4c3c0d48e14772639b3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 26 Jul 2017 07:55:49 +0200 Subject: [PATCH 057/169] set 'showtree' for view --- out/out.ApprovalSummary.php | 1 + out/out.ReviewSummary.php | 1 + 2 files changed, 2 insertions(+) diff --git a/out/out.ApprovalSummary.php b/out/out.ApprovalSummary.php index 97633b842..ed250d1a8 100644 --- a/out/out.ApprovalSummary.php +++ b/out/out.ApprovalSummary.php @@ -36,6 +36,7 @@ if ($user->isGuest()) { } if($view) { + $view->setParam('showtree', showtree()); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewconverters', $settings->_converters['preview']); diff --git a/out/out.ReviewSummary.php b/out/out.ReviewSummary.php index 97633b842..ed250d1a8 100644 --- a/out/out.ReviewSummary.php +++ b/out/out.ReviewSummary.php @@ -36,6 +36,7 @@ if ($user->isGuest()) { } if($view) { + $view->setParam('showtree', showtree()); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewconverters', $settings->_converters['preview']); From 752f4e87602fde76eeac511ceb9c05be70d88aba Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 26 Jul 2017 12:14:56 +0200 Subject: [PATCH 058/169] take out order by in temp. tables --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index 1c7a6d180..f3d98d383 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -555,24 +555,24 @@ class SeedDMS_Core_DatabaseAccess { "SELECT `tblDocumentReceiptLog`.`receiptID` AS `receiptID`, ". "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". "FROM `tblDocumentReceiptLog` ". - "GROUP BY `tblDocumentReceiptLog`.`receiptID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; +// "ORDER BY `maxLogID`"; break; case 'pgsql': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreceiptid` (`receiptID` INTEGER, `maxLogID` INTEGER, PRIMARY KEY (`receiptID`);". "INSERT INTO `ttreceiptid` SELECT `tblDocumentReceiptLog`.`receiptID`, ". "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". "FROM `tblDocumentReceiptLog` ". - "GROUP BY `tblDocumentReceiptLog`.`receiptID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreceiptid` (PRIMARY KEY (`receiptID`), INDEX (`maxLogID`)) ". "SELECT `tblDocumentReceiptLog`.`receiptID`, ". "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". "FROM `tblDocumentReceiptLog` ". - "GROUP BY `tblDocumentReceiptLog`.`receiptID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; +// "ORDER BY `maxLogID`"; } if (!$this->_ttreceiptid) { if (!$this->getResult($queryStr)) @@ -596,24 +596,24 @@ class SeedDMS_Core_DatabaseAccess { "SELECT `tblDocumentRevisionLog`.`revisionID` AS `revisionID`, ". "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". "FROM `tblDocumentRevisionLog` ". - "GROUP BY `tblDocumentRevisionLog`.`revisionID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentRevisionLog`.`revisionID` "; +// "ORDER BY `maxLogID`"; break; case 'pgsql': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` (`revisionID` INTEGER, `maxLogID` INTEGER, PRIMARY KEY (`revisionID`));". "INSERT INTO `ttrevisionid` SELECT `tblDocumentRevisionLog`.`revisionID`, ". "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". "FROM `tblDocumentRevisionLog` ". - "GROUP BY `tblDocumentRevisionLog`.`revisionID` ". - "ORDER BY `maxLogID`"; + "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`"; + "GROUP BY `tblDocumentRevisionLog`.`revisionID` "; +// "ORDER BY `maxLogID`"; } if (!$this->_ttrevisionid) { if (!$this->getResult($queryStr)) From f5333e7c8d401f3206478fd5a11d388d20a758ef Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 12:32:27 +0200 Subject: [PATCH 059/169] fix field name in getDocumentList(), 'maxLogId' must be 'maxLogID' otherwise the statement fails for pgsql --- SeedDMS_Core/Core/inc.ClassDMS.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 9443842e6..2a378c790 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -889,7 +889,7 @@ class SeedDMS_Core_DMS { $queryStr .= "LEFT JOIN `tblDocumentReviewers` on `ttcontentid`.`document`=`tblDocumentReviewers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentReviewers`.`version` ". "LEFT JOIN `ttreviewid` ON `ttreviewid`.`reviewID` = `tblDocumentReviewers`.`reviewID` ". - "LEFT JOIN `tblDocumentReviewLog` ON `tblDocumentReviewLog`.`reviewLogID`=`ttreviewid`.`maxLogId` "; + "LEFT JOIN `tblDocumentReviewLog` ON `tblDocumentReviewLog`.`reviewLogID`=`ttreviewid`.`maxLogID` "; if(1) { $queryStr .= "WHERE (`tblDocumentReviewers`.`type` = 0 AND `tblDocumentReviewers`.`required` = ".$user->getID()." "; @@ -964,7 +964,7 @@ class SeedDMS_Core_DMS { $queryStr .= "LEFT JOIN `tblDocumentApprovers` on `ttcontentid`.`document`=`tblDocumentApprovers`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentApprovers`.`version` ". "LEFT JOIN `ttapproveid` ON `ttapproveid`.`approveID` = `tblDocumentApprovers`.`approveID` ". - "LEFT JOIN `tblDocumentApproveLog` ON `tblDocumentApproveLog`.`approveLogID`=`ttapproveid`.`maxLogId` "; + "LEFT JOIN `tblDocumentApproveLog` ON `tblDocumentApproveLog`.`approveLogID`=`ttapproveid`.`maxLogID` "; if(1) { $queryStr .= "WHERE (`tblDocumentApprovers`.`type` = 0 AND `tblDocumentApprovers`.`required` = ".$user->getID()." "; @@ -1039,10 +1039,11 @@ class SeedDMS_Core_DMS { $queryStr .= "LEFT JOIN `tblDocumentRecipients` on `ttcontentid`.`document`=`tblDocumentRecipients`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRecipients`.`version` ". "LEFT JOIN `ttreceiptid` ON `ttreceiptid`.`receiptID` = `tblDocumentRecipients`.`receiptID` ". - "LEFT JOIN `tblDocumentReceiptLog` ON `tblDocumentReceiptLog`.`receiptLogID`=`ttreceiptid`.`maxLogId` "; + "LEFT JOIN `tblDocumentReceiptLog` ON `tblDocumentReceiptLog`.`receiptLogID`=`ttreceiptid`.`maxLogID` "; if(1) { $queryStr .= "WHERE (`tblDocumentRecipients`.`type` = 0 AND `tblDocumentRecipients`.`required` = ".$user->getID()." "; + /* Checking for groups slows down the statement extremly on sqlite */ if($groups) $queryStr .= "OR `tblDocumentRecipients`.`type` = 1 AND `tblDocumentRecipients`.`required` IN (".implode(',', $groups).")"; $queryStr .= ") "; @@ -1112,7 +1113,7 @@ class SeedDMS_Core_DMS { $queryStr .= "LEFT JOIN `tblDocumentRevisors` on `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` AND `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` ". "LEFT JOIN `ttrevisionid` ON `ttrevisionid`.`revisionID` = `tblDocumentRevisors`.`revisionID` ". - "LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogId` "; + "LEFT JOIN `tblDocumentRevisionLog` ON `tblDocumentRevisionLog`.`revisionLogID`=`ttrevisionid`.`maxLogID` "; if(1) { $queryStr .= "WHERE (`tblDocumentRevisors`.`type` = 0 AND `tblDocumentRevisors`.`required` = ".$user->getID()." "; From c953d0260484b1907911c67d36bba06d4031886f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 12:34:46 +0200 Subject: [PATCH 060/169] views instead of temp. tables can be used This speeds up many sql statements for mysql and pgsql --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 295 +++++++++++++++++++++++++- 1 file changed, 293 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index f3d98d383..16d031a74 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -112,6 +112,11 @@ class SeedDMS_Core_DatabaseAccess { */ private $_logfp; + /** + * @var boolean set to true if views instead of temp. tables shall be used + */ + private $_useviews; + /** * Return list of all database tables * @@ -140,6 +145,34 @@ class SeedDMS_Core_DatabaseAccess { return $res; } /* }}} */ + /** + * Return list of all database views + * + * This function is used to retrieve a list of database views + * + * @return array list of view names + */ + public function ViewList() { /* {{{ */ + switch($this->_driver) { + case 'mysql': + $sql = "select TABLE_NAME as name from information_schema.views where TABLE_SCHEMA='".$this->_database."'"; + break; + case 'sqlite': + $sql = "select tbl_name as name from sqlite_master where type='view'"; + break; + case 'pgsql': + $sql = "select viewname as name from pg_catalog.pg_views where schemaname='public'"; + break; + default: + return false; + } + $arr = $this->getResultArray($sql); + $res = array(); + foreach($arr as $tmp) + $res[] = $tmp['name']; + return $res; + } /* }}} */ + /** * Constructor of SeedDMS_Core_DatabaseAccess * @@ -183,6 +216,7 @@ class SeedDMS_Core_DatabaseAccess { $this->_ttcontentid = false; $this->_ttreceiptid = false; $this->_ttrevisionid = false; + $this->_useviews = true; $this->_debug = false; } /* }}} */ @@ -240,6 +274,15 @@ class SeedDMS_Core_DatabaseAccess { $this->_conn->exec('PRAGMA foreign_keys = ON'); break; } + if($this->_useviews) { + $tmp = $this->ViewList(); + foreach(array('ttreviewid', 'ttapproveid', 'ttstatid', 'ttcontentid', 'ttreceiptid', 'ttrevisionid') as $viewname) { + if(in_array($viewname, $tmp)) { + $this->{"_".$viewname} = true; + } + } + } + $this->_connected = true; return true; } /* }}} */ @@ -383,7 +426,7 @@ class SeedDMS_Core_DatabaseAccess { /** * Create various temporary tables to speed up and simplify sql queries */ - function createTemporaryTable($tableName, $override=false) { /* {{{ */ + private function __createTemporaryTable($tableName, $override=false) { /* {{{ */ if (!strcasecmp($tableName, "ttreviewid")) { switch($this->_driver) { case 'sqlite': @@ -559,7 +602,7 @@ class SeedDMS_Core_DatabaseAccess { // "ORDER BY `maxLogID`"; break; case 'pgsql': - $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreceiptid` (`receiptID` INTEGER, `maxLogID` INTEGER, PRIMARY KEY (`receiptID`);". + $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreceiptid` (`receiptID` INTEGER, `maxLogID` INTEGER, PRIMARY KEY (`receiptID`));". "INSERT INTO `ttreceiptid` SELECT `tblDocumentReceiptLog`.`receiptID`, ". "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". "FROM `tblDocumentReceiptLog` ". @@ -633,6 +676,254 @@ class SeedDMS_Core_DatabaseAccess { return false; } /* }}} */ + /** + * Create various temporary tables to speed up and simplify sql queries + */ + private function __createView($tableName, $override=false) { /* {{{ */ + if (!strcasecmp($tableName, "ttreviewid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttreviewid` AS ". + "SELECT `tblDocumentReviewLog`.`reviewID` AS `reviewID`, ". + "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". + "FROM `tblDocumentReviewLog` ". + "GROUP BY `tblDocumentReviewLog`.`reviewID` "; //. + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttreviewid` AS ". + "SELECT `tblDocumentReviewLog`.`reviewID` AS `reviewID`, ". + "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". + "FROM `tblDocumentReviewLog` ". + "GROUP BY `tblDocumentReviewLog`.`reviewID` "; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttreviewid` AS ". + "SELECT `tblDocumentReviewLog`.`reviewID` AS `reviewID`, ". + "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". + "FROM `tblDocumentReviewLog` ". + "GROUP BY `tblDocumentReviewLog`.`reviewID` "; + } + if (!$this->_ttreviewid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttreviewid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttreviewid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttreviewid; + } + elseif (!strcasecmp($tableName, "ttapproveid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttapproveid` AS ". + "SELECT `tblDocumentApproveLog`.`approveID` AS `approveID`, ". + "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". + "FROM `tblDocumentApproveLog` ". + "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttapproveid` AS ". + "SELECT `tblDocumentApproveLog`.`approveID` AS `approveID`, ". + "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". + "FROM `tblDocumentApproveLog` ". + "GROUP BY `tblDocumentApproveLog`.`approveID` "; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttapproveid` AS ". + "SELECT `tblDocumentApproveLog`.`approveID`, ". + "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". + "FROM `tblDocumentApproveLog` ". + "GROUP BY `tblDocumentApproveLog`.`approveID` "; + } + if (!$this->_ttapproveid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttapproveid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttapproveid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttapproveid; + } + elseif (!strcasecmp($tableName, "ttstatid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttstatid` AS ". + "SELECT `tblDocumentStatusLog`.`statusID` AS `statusID`, ". + "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". + "FROM `tblDocumentStatusLog` ". + "GROUP BY `tblDocumentStatusLog`.`statusID` "; + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttstatid` AS ". + "SELECT `tblDocumentStatusLog`.`statusID` AS `statusID`, ". + "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". + "FROM `tblDocumentStatusLog` ". + "GROUP BY `tblDocumentStatusLog`.`statusID` "; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttstatid` AS ". + "SELECT `tblDocumentStatusLog`.`statusID`, ". + "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". + "FROM `tblDocumentStatusLog` ". + "GROUP BY `tblDocumentStatusLog`.`statusID` "; + } + if (!$this->_ttstatid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttstatid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttstatid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttstatid; + } + elseif (!strcasecmp($tableName, "ttcontentid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttcontentid` AS ". + "SELECT `tblDocumentContent`.`document` AS `document`, ". + "MAX(`tblDocumentContent`.`version`) AS `maxVersion` ". + "FROM `tblDocumentContent` ". + "GROUP BY `tblDocumentContent`.`document` ". + "ORDER BY `tblDocumentContent`.`document`"; + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttcontentid` AS ". + "SELECT `tblDocumentContent`.`document` AS `document`, ". + "MAX(`tblDocumentContent`.`version`) AS `maxVersion` ". + "FROM `tblDocumentContent` ". + "GROUP BY `tblDocumentContent`.`document` ". + "ORDER BY `tblDocumentContent`.`document`"; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttcontentid` AS ". + "SELECT `tblDocumentContent`.`document`, ". + "MAX(`tblDocumentContent`.`version`) AS `maxVersion` ". + "FROM `tblDocumentContent` ". + "GROUP BY `tblDocumentContent`.`document` ". + "ORDER BY `tblDocumentContent`.`document`"; + } + if (!$this->_ttcontentid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttcontentid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttcontentid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttcontentid; + } + elseif (!strcasecmp($tableName, "ttreceiptid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttreceiptid` AS ". + "SELECT `tblDocumentReceiptLog`.`receiptID` AS `receiptID`, ". + "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". + "FROM `tblDocumentReceiptLog` ". + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttreceiptid` AS ". + "SELECT `tblDocumentReceiptLog`.`receiptID` AS `receiptID`, ". + "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". + "FROM `tblDocumentReceiptLog` ". + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttreceiptid` AS ". + "SELECT `tblDocumentReceiptLog`.`receiptID`, ". + "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". + "FROM `tblDocumentReceiptLog` ". + "GROUP BY `tblDocumentReceiptLog`.`receiptID` "; + } + if (!$this->_ttreceiptid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttreceiptid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttreceiptid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttreceiptid; + } + elseif (!strcasecmp($tableName, "ttrevisionid")) { + switch($this->_driver) { + case 'sqlite': + $queryStr = "CREATE VIEW `ttrevisionid` AS ". + "SELECT `tblDocumentRevisionLog`.`revisionID` AS `revisionID`, ". + "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". + "FROM `tblDocumentRevisionLog` ". + "GROUP BY `tblDocumentRevisionLog`.`revisionID` "; + break; + case 'pgsql': + $queryStr = "CREATE VIEW `ttrevisionid` AS ". + "SELECT `tblDocumentRevisionLog`.`revisionID` AS `revisionID`, ". + "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". + "FROM `tblDocumentRevisionLog` ". + "GROUP BY `tblDocumentRevisionLog`.`revisionID` "; + break; + default: + $queryStr = "CREATE".($override ? " OR REPLACE" : "")." VIEW `ttrevisionid` AS ". + "SELECT `tblDocumentRevisionLog`.`revisionID`, ". + "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". + "FROM `tblDocumentRevisionLog` ". + "GROUP BY `tblDocumentRevisionLog`.`revisionID` "; + } + if (!$this->_ttrevisionid) { + if (!$this->getResult($queryStr)) + return false; + $this->_ttrevisionid=true; + } + else { + if (is_bool($override) && $override) { + if (!$this->getResult("DROP VIEW `ttrevisionid`")) + return false; + if (!$this->getResult($queryStr)) + return false; + } + } + return $this->_ttrevisionid; + } + return false; + } /* }}} */ + + /** + * Create various temporary tables to speed up and simplify sql queries + */ + public function createTemporaryTable($tableName, $override=false) { /* {{{ */ + if($this->_useviews) + return $this->__createView($tableName, $override); + else + return $this->__createTemporaryTable($tableName, $override); + } /* }}} */ + /** * Return sql statement for extracting the date part from a field * containing a unix timestamp From 05489891f769eb9b8d7b41f476487669ac9ce43a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 12:36:20 +0200 Subject: [PATCH 061/169] getPermission() returns always an int --- inc/inc.ClassAcl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassAcl.php b/inc/inc.ClassAcl.php index f96f09ed8..04e9a3bac 100644 --- a/inc/inc.ClassAcl.php +++ b/inc/inc.ClassAcl.php @@ -353,7 +353,7 @@ class SeedDMS_Aco extends SeedDMS_AroAco{ /* {{{ */ return false; if (count($resArr) != 1) return 0; - return $resArr[0]['read']; + return (int) $resArr[0]['read']; } /* }}} */ public static function getRoot($dms) { /* {{{ */ From 9f2fd0e2ec39b88ad81092bab1e4c06afb034f26 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 12:36:42 +0200 Subject: [PATCH 062/169] check for int -1 and 1 instead of string "-1" and "1" SeedDMS_Acl_Aro::getPermission() returns int anyway --- views/bootstrap/class.Acl.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Acl.php b/views/bootstrap/class.Acl.php index e616b46f7..2777845f9 100644 --- a/views/bootstrap/class.Acl.php +++ b/views/bootstrap/class.Acl.php @@ -40,11 +40,11 @@ $('#acostree').tree({ closedIcon: '', onCreateLi: function(node, $li) { switch(node.permission) { - case "-1": + case -1: $li.find('.jqtree-element span:last-child').after(' '); $li.attr('style', 'background-color:#FDD'); break; - case "1": + case 1: $li.find('.jqtree-element span:last-child').after(' '); $li.attr('style', 'background-color:#DFD'); break; From aabbb5c25446e011c59e2c4b587e0b142b70095a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 13:27:25 +0200 Subject: [PATCH 063/169] add notes for 6.0.1 --- SeedDMS_Core/package.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 3073e46d8..ece575ffc 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -31,6 +31,8 @@ - SeedDMS_Core_Document::checkForDueRevisionWorkflow() also checks if there are any waiting or pending revisions at all - SeedDMS_Core_User::getReverseSubstitutes() works with new roles +- fix field name in getDocumentList() to make it work for pgsql +- views instead of temp. tables can be used From ffc00a6bebb875d32b875383bedde544169167d8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 13:27:37 +0200 Subject: [PATCH 064/169] add entry for 6.0.1 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index ccae3e8dd..e70705007 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,7 @@ - sql queries and execution times can be written to file in database layer - add document check for docs in revision and missing access rights of revisor - add document check for docs requiring receptions but user lacks access right +- fix Acl manager when using pgsql -------------------------------------------------------------------------------- Changes in version 6.0.0 From 1f701a84e4d8eff82b4404d800b0f9346daeb426 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 13:42:12 +0200 Subject: [PATCH 065/169] group last access sessions by userid --- inc/inc.ClassSession.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index e84fcc00a..a57b94dba 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -497,6 +497,7 @@ class SeedDMS_SessionMgr { if(!$ts = makeTsFromLongDate($datetime)) return false; $queryStr = "SELECT * FROM `tblSessions` WHERE `lastAccess`>=".$ts; + $queryStr .= " GROUP BY `userID` "; $queryStr .= " ORDER BY `lastAccess` DESC"; $resArr = $this->db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) From 88d89c206d7cba74159f9bca63e310fcddfd9eb1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 21:16:38 +0200 Subject: [PATCH 066/169] export revision date --- utils/xmldump.php | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/xmldump.php b/utils/xmldump.php index 5b172c5df..848a321f1 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -337,6 +337,7 @@ function tree($folder, $parent=null, $indent='', $skipcurrent=false) { /* {{{ */ echo $indent." ".wrapWithCData($version->getComment())."\n"; echo $indent." ".$owner->getId()."\n"; echo $indent." ".wrapWithCData($version->getOriginalFileName())."\n"; + echo $indent." ".$version->getRevisionDate()."\n"; if($attributes = $version->getAttributes()) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); From dd94898b19146af70eab97ebec4dfc5ee2dbc596 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 21:17:11 +0200 Subject: [PATCH 067/169] import revisions --- utils/xmlimport.php | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index cf64ef71c..713b91a74 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -631,6 +631,7 @@ function insert_document($document) { /* {{{ */ $newVersion = $result[1]->getContent(); $newVersion->setDate(dateToTimestamp($initversion['attributes']['date'])); + $newVersion->setRevisionDate($initversion['attributes']['revisiondate']); if($workflowstate) $newVersion->setWorkflowState($workflowstate); $newlogs = array(); @@ -659,6 +660,10 @@ function insert_document($document) { /* {{{ */ $newreceipts = getRevAppLog($initversion['receipts']); $newVersion->rewriteReceiptLog($newreceipts); } + if($initversion['revisions']) { + $newrevisions = getRevAppLog($initversion['revisions']); + $newVersion->rewriteRevisionLog($newrevisions); + } if($initversion['workflowlogs']) { $newworkflowlogs = getWorkflowLog($initversion['workflowlogs']); @@ -749,6 +754,7 @@ function insert_document($document) { /* {{{ */ if($workflowstate) $newVersion->setWorkflowState($workflowstate); $newVersion->setDate(dateToTimestamp($version['attributes']['date'])); + $newVersion->setRevisionDate($version['attributes']['revisiondate']); $newlogs = array(); foreach($version['statuslogs'] as $i=>$log) { if(!array_key_exists($log['attributes']['user'], $objmap['users'])) { @@ -773,6 +779,10 @@ function insert_document($document) { /* {{{ */ $newreceipts = getRevAppLog($version['receipts']); $newVersion->rewriteReceiptLog($newreceipts); } + if($version['revisions']) { + $newrevisions = getRevAppLog($version['revisions']); + $newVersion->rewriteRevisionLog($newrevisions); + } if($version['workflowlogs']) { $newworkflowlogs = getWorkflowLog($version['workflowlogs']); @@ -1072,7 +1082,7 @@ function set_mandatory() { /* {{{ */ } /* }}} */ function startElement($parser, $name, $attrs) { /* {{{ */ - global $logger, $dms, $noversioncheck, $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_workflowlog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; + global $logger, $dms, $noversioncheck, $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_workflowlog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_revision, $cur_revisionlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; $parent = end($elementstack); array_push($elementstack, array('name'=>$name, 'attributes'=>$attrs)); @@ -1195,6 +1205,7 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_version['approvals'] = array(); $cur_version['reviews'] = array(); $cur_version['receipts'] = array(); + $cur_version['revisions'] = array(); $cur_version['statuslogs'] = array(); $cur_version['workflowlogs'] = array(); break; @@ -1236,6 +1247,15 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_receiptlog = array(); $cur_receiptlog['attributes'] = array(); break; + case "REVISION": + $cur_revision = array(); + $cur_revision['attributes'] = array(); + $cur_revision['logs'] = array(); + break; + case "REVISIONLOG": + $cur_revisionlog = array(); + $cur_revisionlog['attributes'] = array(); + break; case 'ATTRIBUTEDEFINITION': $cur_attrdef = array(); $cur_attrdef['id'] = (int) $attrs['ID']; @@ -1271,6 +1291,10 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_receipt['attributes'][$attrs['NAME']] = ''; } elseif($parent['name'] == 'RECEIPTLOG') { $cur_receiptlog['attributes'][$attrs['NAME']] = ''; + } elseif($parent['name'] == 'REVISION') { + $cur_revision['attributes'][$attrs['NAME']] = ''; + } elseif($parent['name'] == 'REVISIONLOG') { + $cur_revisionlog['attributes'][$attrs['NAME']] = ''; } elseif($parent['name'] == 'FOLDER') { if(isset($attrs['TYPE']) && $attrs['TYPE'] == 'user') { $cur_folder['user_attributes'][$attrs['ATTRDEF']] = ''; @@ -1463,7 +1487,7 @@ function startElement($parser, $name, $attrs) { /* {{{ */ } /* }}} */ function endElement($parser, $name) { /* {{{ */ - global $logger, $dms, $sections, $rootfolder, $objmap, $elementstack, $users, $groups, $links,$cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; + global $logger, $dms, $sections, $rootfolder, $objmap, $elementstack, $users, $groups, $links,$cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_revision, $cur_revisionlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; array_pop($elementstack); $parent = end($elementstack); @@ -1503,6 +1527,12 @@ function endElement($parser, $name) { /* {{{ */ case "RECEIPTLOG": $cur_receipt['logs'][] = $cur_receiptlog; break; + case "REVISION": + $cur_version['revisions'][] = $cur_revision; + break; + case "REVISIONLOG": + $cur_revision['logs'][] = $cur_revisionlog; + break; case "USER": /* users can be the users data or the member of a group */ $first = $elementstack[1]; @@ -1609,7 +1639,7 @@ function endElement($parser, $name) { /* {{{ */ } /* }}} */ function characterData($parser, $data) { /* {{{ */ - global $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; + global $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_revision, $cur_revisionlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos; $current = end($elementstack); $parent = prev($elementstack); @@ -1688,6 +1718,15 @@ function characterData($parser, $data) { /* {{{ */ else $cur_receiptlog['attributes'][$current['attributes']['NAME']] = $data; break; + case 'REVISION': + $cur_revision['attributes'][$current['attributes']['NAME']] = $data; + break; + case 'REVISIONLOG': + if(isset($cur_revisionlog['attributes'][$current['attributes']['NAME']])) + $cur_revisionlog['attributes'][$current['attributes']['NAME']] .= $data; + else + $cur_revisionlog['attributes'][$current['attributes']['NAME']] = $data; + break; case 'WORKFLOWLOG': if(isset($cur_workflowlog['attributes'][$current['attributes']['NAME']])) $cur_workflowlog['attributes'][$current['attributes']['NAME']] .= $data; From ab141b84df699b35cf30e30a02253cda45f78ca7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 21:17:31 +0200 Subject: [PATCH 068/169] show last access in online users only to admins --- views/bootstrap/class.Session.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.Session.php b/views/bootstrap/class.Session.php index 9146fc901..fa7a86a79 100644 --- a/views/bootstrap/class.Session.php +++ b/views/bootstrap/class.Session.php @@ -45,6 +45,7 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style { $user = $this->params['user']; $sessionmgr = new SeedDMS_SessionMgr($dms->getDB()); + /* Get only sessions which has been active in the last 3600 sec. */ $sessions = $sessionmgr->getLastAccessedSessions(date('Y-m-d H:i:s', time()-3600)); if ($user->isGuest() || count($sessions) == 0) { @@ -58,7 +59,7 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style { foreach($sessions as $session) { if($sesuser = $dms->getUser($session->getUser())) if(!$sesuser->isHidden()) - $content .= "
          • ".htmlspecialchars($sesuser->getFullName())." ".getReadableDuration(time()-$session->getLastAccess())."
          • \n"; + $content .= "
          • ".htmlspecialchars($sesuser->getFullName()).($user->isAdmin() ? " ".getReadableDuration(time()-$session->getLastAccess()) : "")."
          • \n"; } $content .= "
          \n"; $content .= " \n"; From 268d844b432093a0b16849a4e8ae32b93b6704ac Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 21:17:58 +0200 Subject: [PATCH 069/169] fix some comments --- SeedDMS_Core/Core/inc.ClassDocument.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 051349e62..a6db83983 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -3799,7 +3799,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * Rewrites the complete revision log * * Attention: this function is highly dangerous. - * It removes an existing receipt log and rewrites it. + * It removes an existing revision log and rewrites it. * This method was added for importing an xml dump. * * @param array $revisionlog new status log with the newest log entry first. @@ -4414,10 +4414,10 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * * This function adds a user as a revisor but doesn't start the * revision workflow by default. This behaviour is different from all - * other workflows (approval, review, receipt), because it doesn't add - * the initial entry in the revision log, which starts the workflow. - * It just adds the revisors to the content. The workflow is started - * at a later point in time by adding the first entry in the revision log. + * other workflows (approval, review, receipt), because it adds + * an initial entry in the revision log, which marks the revision as + * 'sleeping'. The workflow is started at a later point in time by adding + * the second entry in the revision log which puts it into 'waiting'. * * @param object $user user to be added as a revisor * @param object $requestUser user requesting the addition From 29bc0c1fda335b75eebd3374d7916c3ee8c7ec56 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 22:10:44 +0200 Subject: [PATCH 070/169] getNotifyList() returns only users which are not disabled --- SeedDMS_Core/Core/inc.ClassDocument.php | 13 +++++++++---- SeedDMS_Core/Core/inc.ClassFolder.php | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index a6db83983..efb8af4da 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -1329,10 +1329,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $this->_notifyList = array("groups" => array(), "users" => array()); foreach ($resArr as $row) { - if ($row["userID"] != -1) - array_push($this->_notifyList["users"], $this->_dms->getUser($row["userID"]) ); - else //if ($row["groupID"] != -1) - array_push($this->_notifyList["groups"], $this->_dms->getGroup($row["groupID"]) ); + if ($row["userID"] != -1) { + $u = $this->_dms->getUser($row["userID"]); + if($u && !$u->isDisabled()) + array_push($this->_notifyList["users"], $u); + } else { //if ($row["groupID"] != -1) + $g = $this->_dms->getGroup($row["groupID"]); + if($g) + array_push($this->_notifyList["groups"], $g); + } } } return $this->_notifyList; diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index c1d7b9130..bdae11412 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -1251,10 +1251,15 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $this->_notifyList = array("groups" => array(), "users" => array()); foreach ($resArr as $row) { - if ($row["userID"] != -1) - array_push($this->_notifyList["users"], $this->_dms->getUser($row["userID"]) ); - else //if ($row["groupID"] != -1) - array_push($this->_notifyList["groups"], $this->_dms->getGroup($row["groupID"]) ); + if ($row["userID"] != -1) { + $u = $this->_dms->getUser($row["userID"]); + if($u && !$u->isDisabled()) + array_push($this->_notifyList["users"], $u); + } else {//if ($row["groupID"] != -1) + $g = $this->_dms->getGroup($row["groupID"]); + if($g) + array_push($this->_notifyList["groups"], $g); + } } } return $this->_notifyList; From e851c7967a25cbc9fbdc72cf29a484a61c4ea497 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 22:11:17 +0200 Subject: [PATCH 071/169] list number of all open tasks in user info --- views/bootstrap/class.UsrMgr.php | 48 ++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index f043922e3..0cb4104d7 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -105,29 +105,49 @@ $(document).ready( function() { $documents = $seluser->getDocumentsLocked(); echo "".getMLText('documents_locked')."".count($documents)."\n"; if($workflowmode == "traditional") { - $reviewStatus = $seluser->getReviewStatus(); - if($reviewStatus['indstatus']) { - $i = 0; - foreach($reviewStatus['indstatus'] as $rv) { - if($rv['status'] == 0) { - $i++; + $resArr = $dms->getDocumentList('ReviewByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']); } } - echo "".getMLText('pending_reviews')."".$i."\n"; + echo "".getMLText('pending_reviews')."".count($tasks['review'])."\n"; } } if($workflowmode == "traditional" || $workflowmode == 'traditional_only_approval') { - $approvalStatus = $seluser->getApprovalStatus(); - if($approvalStatus['indstatus']) { - $i = 0; - foreach($approvalStatus['indstatus'] as $rv) { - if($rv['status'] == 0) { - $i++; + $resArr = $dms->getDocumentList('ApproveByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name']); } } - echo "".getMLText('pending_approvals')."".$i."\n"; + echo "".getMLText('pending_approvals')."".count($tasks['approval'])."\n"; } } + $resArr = $dms->getDocumentList('ReceiptByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['receipt'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } + } + echo "".getMLText('pending_receipt')."".count($tasks['receipt'])."\n"; + } + $resArr = $dms->getDocumentList('ReviseByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name']); + } + } + echo "".getMLText('pending_revision')."".count($tasks['revision'])."\n"; + } if($workflowmode == 'advanced') { $workflowStatus = $seluser->getWorkflowStatus(); if($workflowStatus['u']) From bfd81846484b73be4216d19c56aa84f57159f50e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 22:11:42 +0200 Subject: [PATCH 072/169] notes for 6.0.1 --- CHANGELOG | 2 ++ SeedDMS_Core/package.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index e70705007..60aa3ab83 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,8 @@ - add document check for docs in revision and missing access rights of revisor - add document check for docs requiring receptions but user lacks access right - fix Acl manager when using pgsql +- do not notify disabled users +- list all open tasks of user in user info of user manager -------------------------------------------------------------------------------- Changes in version 6.0.0 diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index ece575ffc..d9e412537 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -33,6 +33,8 @@ are any waiting or pending revisions at all - SeedDMS_Core_User::getReverseSubstitutes() works with new roles - fix field name in getDocumentList() to make it work for pgsql - views instead of temp. tables can be used +- SeedDMS_Core_Document::getNotifyList() and SeedDMS_Core_Folder::getNotifyList() +returns just users which are not disabled From d55d266731fe3de697bd771c29a7734abdaa38b0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 09:35:12 +0200 Subject: [PATCH 073/169] add new methods to SeedDMS_Core_User removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() --- SeedDMS_Core/Core/inc.ClassUser.php | 123 +++++++++++++++++++++++----- 1 file changed, 103 insertions(+), 20 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 567f45458..35c4f9f62 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -475,7 +475,62 @@ class SeedDMS_Core_User { /* {{{ */ } /* }}} */ /** - * Remove the user and also remove all its keywords, notifies, etc. + * Remove user from all processes + * + * This includes review, approval and workflow + * + * @param object $user the user doing the removal (needed for entry in + * review and approve log). + * @return boolean true on success or false in case of an error + */ + private function __removeFromProcesses($user) { /* {{{ */ + $db = $this->_dms->getDB(); + + $reviewStatus = $this->getReviewStatus(); + foreach ($reviewStatus["indstatus"] as $ri) { + $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } + } + + $approvalStatus = $this->getApprovalStatus(); + foreach ($approvalStatus["indstatus"] as $ai) { + $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } + } + return true; + } /* }}} */ + + /** + * Remove user from all processes + * + * This includes review, approval and workflow + * + * @param object $user the user doing the removal (needed for entry in + * review and approve log). + * @return boolean true on success or false in case of an error + */ + public function removeFromProcesses($user) { /* {{{ */ + $db = $this->_dms->getDB(); + + $db->startTransaction(); + if(!$this->__removeFromProcesses($user)) { + $db->rollbackTransaction(); + return false; + } + $db->commitTransaction(); + return true; + } /* }}} */ + + /** + * Remove the user and also remove all its keywords, notifications, etc. * Do not remove folders and documents of the user, but assign them * to a different user. * @@ -665,27 +720,9 @@ class SeedDMS_Core_User { /* {{{ */ // "DELETE FROM `tblDocumentApproveLog` WHERE `userID` = " . $this->_id; // "DELETE FROM `tblDocumentReviewLog` WHERE `userID` = " . $this->_id; - - $reviewStatus = $this->getReviewStatus(); - foreach ($reviewStatus["indstatus"] as $ri) { - $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { + if(!$this->__removeFromProcesses($user)) { $db->rollbackTransaction(); return false; - } - } - - $approvalStatus = $this->getApprovalStatus(); - foreach ($approvalStatus["indstatus"] as $ai) { - $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { - $db->rollbackTransaction(); - return false; - } } $db->commitTransaction(); @@ -1097,6 +1134,28 @@ class SeedDMS_Core_User { /* {{{ */ return $result; } /* }}} */ + /** + * Get a list of workflows this user is involved as in individual + * + * @return array list of all workflows + */ + function getWorkflowsInvolved() { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = 'SELECT DISTINCT b.*, c.`userid` FROM `tblWorkflowTransitions` a LEFT JOIN `tblWorkflows` b ON a.`workflow`=b.`id` LEFT JOIN `tblWorkflowTransitionUsers` c ON a.`id`=c.`transition` WHERE c.`userid`='.$this->_id; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + $result = array(); + if (count($resArr)>0) { + foreach ($resArr as $res) { + $result[] = $this->_dms->getWorkflow($res['id']); + } + } + + return $result; + } /* }}} */ + /** * Get a list of mandatory reviewers * A user which isn't trusted completely may have assigned mandatory @@ -1362,5 +1421,29 @@ class SeedDMS_Core_User { /* {{{ */ return $notifications; } /* }}} */ + /** + * Return list of personal keyword categories + * + * @return array/boolean list of categories or false in case of an error + */ + function getKeywordCategories() { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = "SELECT * FROM `tblKeywordCategories` WHERE `owner` = ".$this->_id; + + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) + return false; + + $categories = array(); + foreach ($resArr as $row) { + $cat = new SeedDMS_Core_KeywordCategory($row["id"], $row["owner"], $row["name"]); + $cat->setDMS($this->_dms); + array_push($categories, $cat); + } + + return $categories; + } /* }}} */ + } /* }}} */ ?> From 70b869fb24fa65cf8b1cd06fbfd1b53723df9f52 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 09:35:59 +0200 Subject: [PATCH 074/169] show number of notifications, workflows and keyword categories --- views/bootstrap/class.UsrMgr.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index 617425d97..ebf2a387f 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -101,6 +101,15 @@ $(document).ready( function() { echo "".getMLText('documents')."".count($documents)."\n"; $documents = $seluser->getDocumentsLocked(); echo "".getMLText('documents_locked')."".count($documents)."\n"; + $categories = $seluser->getKeywordCategories(); + echo "".getMLText('personal_default_keywords')."".count($categories)."\n"; + $dnot = $seluser->getNotifications(T_DOCUMENT); + echo "".getMLText('documents_with_notification')."".count($dnot)."\n"; + $fnot = $seluser->getNotifications(T_FOLDER); + echo "".getMLText('folders_with_notification')."".count($fnot)."\n"; + $workflows = $seluser->getWorkflowsInvolved(); + echo "".getMLText('workflows_involded')."".count($workflows)."\n"; + if($workflowmode == "traditional") { $reviewStatus = $seluser->getReviewStatus(); if($reviewStatus['indstatus']) { From 9edbfd4a0f21718abbcf7fc50925924bee3bf719 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 09:36:28 +0200 Subject: [PATCH 075/169] add note for 5.1.3 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 91e5ea8a5..1af7c4db6 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,7 @@ GPL License +add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User From 29e3f8def44b1afb4d2e7f5161eca45dd2cafe10 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 09:37:17 +0200 Subject: [PATCH 076/169] new phrases and updates --- languages/ar_EG/lang.inc | 7 ++++++- languages/bg_BG/lang.inc | 7 ++++++- languages/ca_ES/lang.inc | 7 ++++++- languages/cs_CZ/lang.inc | 7 ++++++- languages/de_DE/lang.inc | 11 ++++++++--- languages/el_GR/lang.inc | 7 ++++++- languages/en_GB/lang.inc | 11 ++++++++--- languages/es_ES/lang.inc | 7 ++++++- languages/fr_FR/lang.inc | 7 ++++++- languages/hr_HR/lang.inc | 7 ++++++- languages/hu_HU/lang.inc | 7 ++++++- languages/it_IT/lang.inc | 13 +++++++++---- languages/ko_KR/lang.inc | 7 ++++++- languages/nl_NL/lang.inc | 13 +++++++++---- languages/pl_PL/lang.inc | 11 ++++++++--- languages/pt_BR/lang.inc | 7 ++++++- languages/ro_RO/lang.inc | 7 ++++++- languages/ru_RU/lang.inc | 7 ++++++- languages/sk_SK/lang.inc | 11 ++++++++--- languages/sv_SE/lang.inc | 7 ++++++- languages/tr_TR/lang.inc | 7 ++++++- languages/uk_UA/lang.inc | 7 ++++++- languages/zh_CN/lang.inc | 7 ++++++- languages/zh_TW/lang.inc | 7 ++++++- 24 files changed, 158 insertions(+), 38 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 7329598c3..95c52ac22 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -314,6 +314,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'مستندات ملكك تستلزم انتباهك', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'هذا المستند محمي ضد التعديل', 'document_comment_changed_email' => 'تم تعديل التعليق', @@ -481,6 +482,7 @@ URL: [url]', 'folder' => 'مجلد', 'folders' => 'مجلدات', 'folders_and_documents_statistic' => 'رؤية عامة للمحتوى', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'تم تعديل التعليق', 'folder_comment_changed_email_body' => 'تم تعديل التعليق الملجلد: [name] @@ -817,7 +819,9 @@ URL: [url]', 'password_strength_insuffient' => 'قوة كلمة السر غير كافية', 'password_wrong' => 'كلمة سر خاطئة', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'قوائم الكلمات البحثية الشخصية', 'pl_PL' => 'ﺎﻠﺑﻮﻠﻧﺪﻳﺓ', @@ -861,7 +865,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - تم ازالة المرفقات', 'removed_recipient' => '', 'removed_reviewer' => 'تم ازالته من قائمة المراجعة', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'تم ازالة مسار العمل من اصدار المستند مستند: [name] اصدار: [version] @@ -1563,6 +1567,7 @@ URL: [url]', 'weeks' => 'اسابيع', 'week_view' => 'عرض الاسبوع', 'workflow' => 'مسار عمل', +'workflows_involded' => '', 'workflow_actions_management' => 'ادارة اجراءات مسار العمل', 'workflow_action_in_use' => 'هذا الاجراء مستخدم حاليا في مسار عمل', 'workflow_action_name' => 'اسم', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 8c3582d0a..92896d9c9 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -299,6 +299,7 @@ $text = array( 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Ваши документи, изискващи внимание', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Документът е вече блокиран', 'document_comment_changed_email' => '', @@ -432,6 +433,7 @@ $text = array( 'folder' => 'Папка', 'folders' => 'Папки', 'folders_and_documents_statistic' => 'Обзор на съдържанието', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -718,7 +720,9 @@ $text = array( 'password_strength_insuffient' => 'Недостатъчна устойчивост на паролата', 'password_wrong' => 'Грешна парола', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Личен списък с ключови думи', 'pl_PL' => 'Полски', @@ -759,7 +763,7 @@ $text = array( 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => 'изтрит от списъка с рецензиращи', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1414,6 +1418,7 @@ $text = array( 'weeks' => 'седмици', 'week_view' => 'седмичен изглед', 'workflow' => 'процес', +'workflows_involded' => '', 'workflow_actions_management' => 'Управление на действията по процеси', 'workflow_action_in_use' => 'Това действие се използва от даден процес.', 'workflow_action_name' => 'Име', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 623d292b8..00a8cd151 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -304,6 +304,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documents de la seva propietat que requereixen atenció', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Aquest document ja està bloquejat', 'document_comment_changed_email' => '', @@ -437,6 +438,7 @@ URL: [url]', 'folder' => 'Carpeta', 'folders' => 'Carpetes', 'folders_and_documents_statistic' => 'Vista general de continguts', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -723,7 +725,9 @@ URL: [url]', 'password_strength_insuffient' => '', 'password_wrong' => '', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Mots clau personals', 'pl_PL' => 'Polonès', @@ -764,7 +768,7 @@ URL: [url]', 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => 'Ha estat eliminat de la llista de revisors', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1419,6 +1423,7 @@ URL: [url]', 'weeks' => '', 'week_view' => 'Vista de setmana', 'workflow' => '', +'workflows_involded' => '', 'workflow_actions_management' => '', 'workflow_action_in_use' => '', 'workflow_action_name' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 0b8789380..61cef21b4 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -321,6 +321,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty, které uživatel vlastní a vyžadují pozornost', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Tento dokument je už zamčený', 'document_comment_changed_email' => 'Změna komentáře', @@ -488,6 +489,7 @@ URL: [url]', 'folder' => 'Složka', 'folders' => 'Složky', 'folders_and_documents_statistic' => 'Přehled složek a dokumentů', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Změna komentáře', 'folder_comment_changed_email_body' => 'Změna komentáře Složka: [name] @@ -828,7 +830,9 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'password_strength_insuffient' => 'Nedostatečná síla hesla', 'password_wrong' => 'Špatné heslo', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Osobní klíčová slova', 'pl_PL' => 'Polština', @@ -872,7 +876,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Odstraněná příloha', 'removed_recipient' => '', 'removed_reviewer' => 'byl odstraněn ze seznamu kontrolorů.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Odstraněn pracovní postup z verze dokumentu: [name] Verze: [version] Praconí postup: [workflow] @@ -1572,6 +1576,7 @@ URL: [url]', 'weeks' => 'týdny', 'week_view' => 'Zobrazení týdne', 'workflow' => 'Pracovní postup', +'workflows_involded' => '', 'workflow_actions_management' => 'Správa akcí pracovního postupu', 'workflow_action_in_use' => 'Tato akce je v současnosti používana pracovním postupem.', 'workflow_action_name' => 'Název', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 44de45132..2c4e313e4 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 (2424), dgrutsch (22) +// Translators: Admin (2430), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => 'Dokumente mit Empfangsbestätigung', 'documents_user_rejected' => 'Abgelehnte Dokumente', 'documents_user_requiring_attention' => 'Diese Dokumente sollte ich mal nachsehen', +'documents_with_notification' => 'Dokumente unter Beobachtung', 'document_already_checkedout' => 'Dieses Dokument ist bereits ausgecheckt', 'document_already_locked' => 'Dieses Dokument ist bereits gesperrt', 'document_comment_changed_email' => 'Kommentar geändert', @@ -499,6 +500,7 @@ URL: [url]', 'folder' => 'Ordner', 'folders' => 'Verzeichnisse', 'folders_and_documents_statistic' => 'Ordner- und Dokumentenübersicht', +'folders_with_notification' => 'Ordner unter Beobachtung', 'folder_comment_changed_email' => 'Kommentar geändert', 'folder_comment_changed_email_body' => 'Kommentar geändert Ordner: [name] @@ -842,7 +844,9 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'password_strength_insuffient' => 'Ungenügend starkes Passwort', 'password_wrong' => 'Falsches Passwort', 'pending_approvals' => 'Ausstehende Freigaben', +'pending_receipt' => 'Ausstehende Empfangsbestätigungen', 'pending_reviews' => 'Ausstehende Prüfungen', +'pending_revision' => 'Ausstehende Wiederholungsprüfungen', 'pending_workflows' => 'Ausstehende Workflows', 'personal_default_keywords' => 'Persönliche Stichwortlisten', 'pl_PL' => 'Polnisch', @@ -897,7 +901,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Anhang gelöscht', 'removed_recipient' => 'ist von der Empfängerliste entfernt worden', 'removed_reviewer' => 'ist von der Prüfer-Liste entfernt worden.', -'removed_revispr' => 'ist von der Liste der Wiederholungsprüfer entfernt worden.', +'removed_revisor' => 'ist von der Liste der Wiederholungsprüfer entfernt worden.', 'removed_workflow_email_body' => 'Workflow von Dokumentenversion entfernt Dokument: [name] Version: [version] @@ -1158,7 +1162,7 @@ URL: [url]', 'settings_dropFolderDir' => 'Verzeichnis für Ablageordner', 'settings_dropFolderDir_desc' => 'Dieses Verzeichnis kann dazu benutzt werden Dokumente auf dem Server abzulegen und von dort zu importieren anstatt sie über den Browser hochzuladen. Das Verzeichnis muss ein Unterverzeichnis mit dem Login-Namen des angemeldeten Benutzers beinhalten.', 'settings_Edition' => 'Funktions-Einstellungen', -'settings_editOnlineFileTypes' => 'Dateitypen für Online-Editieren:', +'settings_editOnlineFileTypes' => 'Dateitypen für Online-Editieren', 'settings_editOnlineFileTypes_desc' => 'Dateien mit den angegebenen Endungen können Online editiert werden (benutzen Sie ausschließlich Kleinbuchstaben).', 'settings_enable2FactorAuthentication' => '2-Faktor Authentifizierung einschalten', 'settings_enable2FactorAuthentication_desc' => 'Schaltet die 2-Faktor Authentifizierung ein, welche den Google Authenticator auf dem Mobiltelefon erfordert.', @@ -1628,6 +1632,7 @@ URL: [url]', 'weeks' => 'Wochen', 'week_view' => 'Wochenansicht', 'workflow' => 'Workflow', +'workflows_involded' => 'Beteiligt an Workflow', 'workflow_actions_management' => 'Workflow-Aktions-Management', 'workflow_action_in_use' => 'Diese Aktion wird zur Zeit von Workflows benutzt', 'workflow_action_name' => 'Name', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index d833b6150..c17be7221 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -299,6 +299,7 @@ $text = array( 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => '', 'document_comment_changed_email' => '', @@ -432,6 +433,7 @@ $text = array( 'folder' => 'Φάκελος', 'folders' => 'Φάκελοι', 'folders_and_documents_statistic' => '', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -729,7 +731,9 @@ URL: [url]', 'password_strength_insuffient' => '', 'password_wrong' => '', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => '', 'pl_PL' => '', @@ -770,7 +774,7 @@ URL: [url]', 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => '', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1425,6 +1429,7 @@ URL: [url]', 'weeks' => 'εβδομάδες', 'week_view' => '', 'workflow' => 'Ροή Εργασίας', +'workflows_involded' => '', 'workflow_actions_management' => '', 'workflow_action_in_use' => '', 'workflow_action_name' => 'Όνομα', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index b047ecf42..725f015d5 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 (1550), dgrutsch (9), netixw (14) +// Translators: Admin (1556), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => 'Documents awaiting reception', 'documents_user_rejected' => 'Rejected documents', 'documents_user_requiring_attention' => 'Documents owned by you that require attention', +'documents_with_notification' => 'Documents with notification', 'document_already_checkedout' => 'This document is already checked out', 'document_already_locked' => 'This document is already locked', 'document_comment_changed_email' => 'Comment changed', @@ -500,6 +501,7 @@ URL: [url]', 'folder' => 'Folder', 'folders' => 'Folders', 'folders_and_documents_statistic' => 'Contents overview', +'folders_with_notification' => 'Folders with notification', 'folder_comment_changed_email' => 'Comment changed', 'folder_comment_changed_email_body' => 'Comment changed Folder: [name] @@ -844,7 +846,9 @@ If you have still problems to login, then please contact your administrator.', 'password_strength_insuffient' => 'Insufficient password strength', 'password_wrong' => 'Wrong password', 'pending_approvals' => 'Pending approvals', +'pending_receipt' => 'Pending receipts', 'pending_reviews' => 'Pending reviews', +'pending_revision' => 'Pending revisions', 'pending_workflows' => 'Pending workflows', 'personal_default_keywords' => 'Personal keywordlists', 'pl_PL' => 'Polish', @@ -899,7 +903,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Removed attachment', 'removed_recipient' => 'has been removed from the list of recipients.', 'removed_reviewer' => 'has been removed from the list of reviewers.', -'removed_revispr' => 'has been removed from the list of revisors.', +'removed_revisor' => 'has been removed from the list of revisors.', 'removed_workflow_email_body' => 'Removed workflow from document version Document: [name] Version: [version] @@ -1153,7 +1157,7 @@ URL: [url]', 'settings_dropFolderDir' => 'Directory for drop folder', 'settings_dropFolderDir_desc' => 'This directory can be used for dropping files on the server\'s file system and importing them from there instead of uploading via the browser. The directory must contain a sub directory for each user who is allowed to import files this way.', 'settings_Edition' => 'Edition settings', -'settings_editOnlineFileTypes' => 'Edit Online File Types:', +'settings_editOnlineFileTypes' => 'Edit Online File Types', 'settings_editOnlineFileTypes_desc' => 'Files with one of the following endings can be edited online (USE ONLY LOWER CASE CHARACTERS)', 'settings_enable2FactorAuthentication' => 'Enable 2-factor authentication', 'settings_enable2FactorAuthentication_desc' => 'Enable/disable 2 factor authentication. The users will need the Google Authenticator on its mobile phone.', @@ -1623,6 +1627,7 @@ URL: [url]', 'weeks' => 'weeks', 'week_view' => 'Week view', 'workflow' => 'Workflow', +'workflows_involded' => 'Involved in workflow', 'workflow_actions_management' => 'Workflow actions management', 'workflow_action_in_use' => 'This action is currently used by workflows.', 'workflow_action_name' => 'Name', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 2a8d09c3a..01af6982e 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -321,6 +321,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documentos de su propiedad que requieren atención', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Este documento ya está bloqueado', 'document_comment_changed_email' => 'Comentario modificado', @@ -488,6 +489,7 @@ URL: [url]', 'folder' => 'Carpeta', 'folders' => 'Carpetas', 'folders_and_documents_statistic' => 'Vista general de contenidos', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Comentario modificado', 'folder_comment_changed_email_body' => 'Comentario modificado Carpeta: [name] @@ -832,7 +834,9 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'password_strength_insuffient' => 'Insuficiente Seguridad de la contraseña', 'password_wrong' => 'Contraseña incorrecta', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Listas de palabras clave personales', 'pl_PL' => 'Polaco', @@ -876,7 +880,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Eliminar adjunto', 'removed_recipient' => '', 'removed_reviewer' => 'Ha sido eliminado de la lista de revisores.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Eliminar flujo de trabajo de la versión del documento Documento: [name] Versión: [version] @@ -1578,6 +1582,7 @@ URL: [url]', 'weeks' => 'semanas', 'week_view' => 'Vista de la semana', 'workflow' => 'Flujo de Trabajo', +'workflows_involded' => '', 'workflow_actions_management' => 'Gestión de acciones de flujo de trabajo', 'workflow_action_in_use' => 'Esta acción está siendo usada por el flujo de trabajo.', 'workflow_action_name' => 'Nombre', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index da8f91551..d76a6be3d 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'Documents rejetés', 'documents_user_requiring_attention' => 'Documents à surveiller', +'documents_with_notification' => '', 'document_already_checkedout' => 'Ce document est déjà débloqué', 'document_already_locked' => 'Ce document est déjà verrouillé', 'document_comment_changed_email' => 'Commentaire modifié', @@ -500,6 +501,7 @@ URL : [url]', 'folder' => 'Dossier', 'folders' => 'Dossiers', 'folders_and_documents_statistic' => 'Aperçu du contenu', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Commentaire changé', 'folder_comment_changed_email_body' => 'Commentaire changé Dossier: [name] @@ -842,7 +844,9 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'password_strength_insuffient' => 'Mot de passe trop faible', 'password_wrong' => 'Mauvais mot de passe', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => 'Workflows en attente', 'personal_default_keywords' => 'Mots-clés personnels', 'pl_PL' => 'Polonais', @@ -892,7 +896,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Attachement supprimé', 'removed_recipient' => 'a été supprimé de la liste des destinataires.', 'removed_reviewer' => 'a été retiré de la liste des correcteurs.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Workflow du document supprimé: [name] Version: [version] Workflow: [workflow] @@ -1573,6 +1577,7 @@ URL: [url]', 'weeks' => 'semaines', 'week_view' => 'Vue par semaine', 'workflow' => 'Workflow', +'workflows_involded' => '', 'workflow_actions_management' => 'Gestion d\'actions de workflow', 'workflow_action_in_use' => 'Cette action est actuellement utilisée par des workflows.', 'workflow_action_name' => 'Nom', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index de0c4ea4a..8ed07ef43 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -326,6 +326,7 @@ Internet poveznica: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'Odbijeni dokumenti', 'documents_user_requiring_attention' => 'Dokumenti u vašem vlasništvu koji zahtjevaju pažnju', +'documents_with_notification' => '', 'document_already_checkedout' => 'Ovaj dokument je već odjavljen', 'document_already_locked' => 'Ovaj dokument je već zaključan', 'document_comment_changed_email' => 'Promijenjen komentar', @@ -493,6 +494,7 @@ Internet poveznica: [url]', 'folder' => 'Mapa', 'folders' => 'Mape', 'folders_and_documents_statistic' => 'Pregled sadržaja', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Promijenjen komentar', 'folder_comment_changed_email_body' => 'Promijenjen komentar Mapa: [name] @@ -836,7 +838,9 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'password_strength_insuffient' => 'Nedovoljna jačina lozinke', 'password_wrong' => 'Pogrešna lozinka', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Osobni popis ključnih riječi', 'pl_PL' => 'Poljski', @@ -880,7 +884,7 @@ Internet poveznica: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Uklonjeni privitak', 'removed_recipient' => 'je uklonjen s liste primatelja.', 'removed_reviewer' => 'je uklonjen iz popisa recezenata.', -'removed_revispr' => 'je uklonjen s liste revizora.', +'removed_revisor' => 'je uklonjen s liste revizora.', 'removed_workflow_email_body' => 'Uklonjeni tok rada iz ove verzije dokumenta Dokument: [name] Verzija: [version] @@ -1599,6 +1603,7 @@ Internet poveznica: [url]', 'weeks' => 'tjedni', 'week_view' => 'Pregled po tjednima', 'workflow' => 'Tok rada', +'workflows_involded' => '', 'workflow_actions_management' => 'Upravljanje radnjama toka rada', 'workflow_action_in_use' => 'Ova radnju trenutno koriste tokovi rada.', 'workflow_action_name' => 'Naziv', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index fbb8f1d2a..1eddfe25a 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -321,6 +321,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Az Ön tulajdonában álló dokumentumok, amelyekre figyelmet kell fordítani', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Ez a dokumentum már zárolt', 'document_comment_changed_email' => 'Megjegyzés módosult', @@ -488,6 +489,7 @@ URL: [url]', 'folder' => 'Mappa', 'folders' => 'Mappák', 'folders_and_documents_statistic' => 'Tartalmak áttekintése', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Megjegyzés módosult', 'folder_comment_changed_email_body' => 'Megjegyzés módosult Mappa: [name] @@ -832,7 +834,9 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'password_strength_insuffient' => 'Jelszó erőssége elégtelen', 'password_wrong' => 'Hibás jelszó', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Személyes kulcsszó lista', 'pl_PL' => 'Lengyel', @@ -876,7 +880,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Eltávolított melléklet', 'removed_recipient' => '', 'removed_reviewer' => 'eltávolításra került a felülvizsgálók listájáról.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Dokumentum változatból eltávolított munkafolyamat Dokumentum: [name] Verzió: [version] @@ -1577,6 +1581,7 @@ URL: [url]', 'weeks' => 'hét', 'week_view' => 'Heti nézet', 'workflow' => 'Munkafolyamat', +'workflows_involded' => '', 'workflow_actions_management' => 'Munkafolyamat műveletek kezelése', 'workflow_action_in_use' => 'Ezt a műveletet munkafolyamatok használják.', 'workflow_action_name' => 'Név', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 2902c6643..538af4261 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/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 (1554), rickr (144), s.pnt (26) +// Translators: Admin (1556), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -327,6 +327,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'Documenti rifiutati', 'documents_user_requiring_attention' => 'Tuoi documenti in attesa di revisione o approvazione', +'documents_with_notification' => '', 'document_already_checkedout' => 'Questo documento è già approvato', 'document_already_locked' => 'Questo documento è già bloccato', 'document_comment_changed_email' => 'Commento modificato', @@ -494,6 +495,7 @@ URL: [url]', 'folder' => 'Cartella', 'folders' => 'Cartelle', 'folders_and_documents_statistic' => 'Visualizzazione generale', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Commento modificato per la Cartella', 'folder_comment_changed_email_body' => 'Commento modificato per la Cartella Cartella: [name] @@ -838,7 +840,9 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'password_strength_insuffient' => 'Efficacia della password insufficiente', 'password_wrong' => 'Password errata', 'pending_approvals' => 'Approvazioni in sospeso', +'pending_receipt' => '', 'pending_reviews' => 'In attesa di recensioni', +'pending_revision' => '', 'pending_workflows' => 'I flussi di lavoro in sospeso', 'personal_default_keywords' => 'Parole-chiave personali', 'pl_PL' => 'Polacco', @@ -887,7 +891,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Allegato rimosso', 'removed_recipient' => 'è stato rimosso dalla lista delle cartelle.', 'removed_reviewer' => 'è stato rimosso dalla lista dei revisori.', -'removed_revispr' => 'è stato rimosso dalla lista degli approvatori.', +'removed_revisor' => 'è stato rimosso dalla lista degli approvatori.', 'removed_workflow_email_body' => 'Flusso di lavoro rimosso dalla versione del documento Documento: [name] Versione: [version] @@ -1205,8 +1209,8 @@ URL: [url]', '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_enableUpdateRevApp' => 'Consenti la modifica della revisione / approvazione estesa', +'settings_enableUpdateRevApp_desc' => 'Abilita questo, se l\'utente che ha effettuato una revisione / approvazione può modificare la decisione finché il passaggio di flusso di lavoro corrente non è stato completato.', 'settings_enableUserImage' => 'Abilita immagine utente', 'settings_enableUserImage_desc' => 'L\'opzione permette di attribuire un\'immagine a ciascun utente', 'settings_enableUsersView' => 'Abilita visualizzazione utenti', @@ -1611,6 +1615,7 @@ URL: [url]', 'weeks' => 'settimane', 'week_view' => 'Vista settimana', 'workflow' => 'Flusso di lavoro', +'workflows_involded' => '', 'workflow_actions_management' => 'Gestione azioni del flusso di lavoro', 'workflow_action_in_use' => 'Questa azione è attualmente usata da alcuni flussi di lavoro', 'workflow_action_name' => 'Nome', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 3f81293cd..ba6c9b629 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -328,6 +328,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '거부된 문서', 'documents_user_requiring_attention' => '주의가 필요한 당신 소유의 문서', +'documents_with_notification' => '', 'document_already_checkedout' => '이문서는 이미 체크아웃 되었습니다', 'document_already_locked' => '이미 잠겨진 문서', 'document_comment_changed_email' => '코멘트가 변경됨', @@ -493,6 +494,7 @@ URL: [url]', 'folder' => '폴더', 'folders' => '폴더', 'folders_and_documents_statistic' => '개요 내용', +'folders_with_notification' => '', 'folder_comment_changed_email' => '코멘트가 변경', 'folder_comment_changed_email_body' => '코멘트 변경 폴더: [name] @@ -829,7 +831,9 @@ URL : [url]', 'password_strength_insuffient' => '부족한 비밀번호 강도', 'password_wrong' => '잘못된 비밀번호', 'pending_approvals' => '승인 보류', +'pending_receipt' => '', 'pending_reviews' => '미리보기 보류', +'pending_revision' => '', 'pending_workflows' => '대기중인 워크플로', 'personal_default_keywords' => '개인 키워드 목록', 'pl_PL' => '폴란드어', @@ -873,7 +877,7 @@ URL : [url]', 'removed_file_email_subject' => '[sitename] : [document] - 제거 된 첨부 파일', 'removed_recipient' => '수신자 목록에서 제거되었습니다.', 'removed_reviewer' => '검토 자 목록에서 제거 되었습니다', -'removed_revispr' => '수정 목록에서 제거되었습니다.', +'removed_revisor' => '수정 목록에서 제거되었습니다.', 'removed_workflow_email_body' => '문서 버전에서 워크플로우 삭제 문서: [name] 버전: [version] @@ -1592,6 +1596,7 @@ URL : [url]', 'weeks' => '주', 'week_view' => '주간 단위로 보기', 'workflow' => '워크플로우', +'workflows_involded' => '', 'workflow_actions_management' => '워크플로우 작업 관리', 'workflow_action_in_use' => '이 작업은 현재 워크플로우에 의해 사용된다.', 'workflow_action_name' => '이름', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 4ae923ccc..e957f49e9 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/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 (726), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (728), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '', @@ -319,6 +319,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'documenten niet geaccepteerd door gebruiker', 'documents_user_requiring_attention' => 'Eigen documenten die (nog) aandacht behoeven', +'documents_with_notification' => '', 'document_already_checkedout' => 'Al in behandeling genomen documenten', 'document_already_locked' => 'Dit document is al geblokkeerd', 'document_comment_changed_email' => 'Commentaar gewijzigd', @@ -486,6 +487,7 @@ URL: [url]', 'folder' => 'Map', 'folders' => 'Mappen', 'folders_and_documents_statistic' => 'Inhoudsopgave', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Commentaar gewijzigd', 'folder_comment_changed_email_body' => 'Commentaar gewijzigd Map: [name] @@ -565,7 +567,7 @@ URL: [url]', 'include_content' => 'inclusief inhoud', 'include_documents' => 'Inclusief documenten', 'include_subdirectories' => 'Inclusief submappen', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Indexerings taken in wachtrij', 'index_converters' => 'Index document conversie', 'index_done' => '', 'index_error' => '', @@ -791,7 +793,7 @@ URL: [url]', 'only_jpg_user_images' => 'U mag alleen .jpg afbeeldingen gebruiken als gebruikersafbeeldingen.', 'order_by_sequence_off' => 'Volgorde uit', 'original_filename' => 'Originele bestandsnaam', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Indexerings voortgang totaal', 'owner' => 'Eigenaar', 'ownership_changed_email' => 'Eigenaar gewijzigd', 'ownership_changed_email_body' => 'Eigenaar gewijzigd @@ -830,7 +832,9 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'password_strength_insuffient' => 'Onvoldoende sterk wachtwoord', 'password_wrong' => 'Verkeerd wachtwoord', 'pending_approvals' => 'Wachten op goedkeuring', +'pending_receipt' => '', 'pending_reviews' => 'Wachten op beoordeling', +'pending_revision' => '', 'pending_workflows' => 'Wachten op workflow', 'personal_default_keywords' => 'Persoonlijke sleutelwoorden', 'pl_PL' => 'Polen', @@ -879,7 +883,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Bijlage verwijderd', 'removed_recipient' => 'is verwijderd uit de lijst van ontvangers', 'removed_reviewer' => 'is verwijderd uit de lijst van beoordelaars', -'removed_revispr' => 'is verwijderd uit de lijst van herzieners', +'removed_revisor' => 'is verwijderd uit de lijst van herzieners', 'removed_workflow_email_body' => 'Workflow verwijderd van document versie document: [name] Versie: [version] Workflow: [workflow] @@ -1605,6 +1609,7 @@ URL: [url]', 'weeks' => 'Weken', 'week_view' => 'Week Overzicht', 'workflow' => 'Workflow', +'workflows_involded' => '', 'workflow_actions_management' => 'Workflow actiebeheer', 'workflow_action_in_use' => 'Deze actie wordt momenteel gebruikt door een workflow', 'workflow_action_name' => 'Naam', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 77409d392..37fb9b68b 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 (770), netixw (84), romi (93), uGn (112) +// Translators: Admin (771), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -173,7 +173,7 @@ URL: [url]', 'at_least_n_users_of_group' => 'Przynajmniej [number_of_users] użytkowników grupy [group]', 'august' => 'Sierpień', 'authentication' => 'Autoryzacja', -'author' => '', +'author' => 'Autor', 'automatic_status_update' => 'Automatyczna zmiana statusu', 'back' => 'Powrót', 'backup_list' => 'Lista istniejących kopii zapasowych', @@ -314,6 +314,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty należące do Ciebie, które wymagają uwagi', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Ten dokument jest już zablokowany', 'document_comment_changed_email' => 'Zmiana komentarza', @@ -481,6 +482,7 @@ URL: [url]', 'folder' => 'Folder', 'folders' => 'Foldery', 'folders_and_documents_statistic' => 'Podsumowanie zawartości', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Zmiana komentarza', 'folder_comment_changed_email_body' => 'Komentarz uległ zmianie Folder: [name] @@ -825,7 +827,9 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'password_strength_insuffient' => 'Niewystarczająca siła hasła', 'password_wrong' => 'Złe hasło', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Osobiste sława kluczowe', 'pl_PL' => 'Polski', @@ -869,7 +873,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Usunięty załącznik', 'removed_recipient' => '', 'removed_reviewer' => 'został usunięty z listy recenzentów.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Usunięcie procesu z wersji dokumentu Dokument: [name] Wersja: [version] @@ -1557,6 +1561,7 @@ URL: [url]', 'weeks' => 'tygodni', 'week_view' => 'Widok tygodniowy', 'workflow' => 'Proces', +'workflows_involded' => '', 'workflow_actions_management' => 'Zarządzanie akcjami procesu', 'workflow_action_in_use' => 'Akcja ta jest obecnie zastosowana w procesie', 'workflow_action_name' => 'Nazwa', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index e88ecb353..88773ca12 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -321,6 +321,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documents Owned by User That Require Attention', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Este documento já está travado', 'document_comment_changed_email' => 'Comentário modificado', @@ -487,6 +488,7 @@ URL: [url]', 'folder' => 'Pasta', 'folders' => 'Pastas', 'folders_and_documents_statistic' => 'Relatórios de pastas e documentos', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Comentário mudou', 'folder_comment_changed_email_body' => 'Comentário mudou Pasta: [name] @@ -830,7 +832,9 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'password_strength_insuffient' => 'A força da senha é insuficiente', 'password_wrong' => 'Senha errada', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'palavras-chave pessoais', 'pl_PL' => 'Polonês', @@ -874,7 +878,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Anexo removido', 'removed_recipient' => '', 'removed_reviewer' => 'has been removed from the list of reviewers.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Removido do fluxo de trabalho de documentos version Document: [name] Versão: [version] @@ -1575,6 +1579,7 @@ URL: [url]', 'weeks' => 'semanas', 'week_view' => 'Visualização semanal', 'workflow' => 'Fluxo de trabalho', +'workflows_involded' => '', 'workflow_actions_management' => 'Gestão de fluxo de trabalho ações', 'workflow_action_in_use' => 'Esta ação é usado atualmente por fluxos de trabalho.', 'workflow_action_name' => 'Nome', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 8543f53bf..a61f958e4 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Documente deținute de tine care necesită atenție', +'documents_with_notification' => '', 'document_already_checkedout' => 'Acest document este deja verificat', 'document_already_locked' => 'Acest document este deja blocat', 'document_comment_changed_email' => 'Comentariu schimbat', @@ -493,6 +494,7 @@ URL: [url]', 'folder' => 'Folder', 'folders' => 'Foldere', 'folders_and_documents_statistic' => 'Privire de ansamblu asupra continutului', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Comentariu schimbat', 'folder_comment_changed_email_body' => 'Comentariu schimbat Folder: [name] @@ -837,7 +839,9 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'password_strength_insuffient' => 'Siguranța parolei este insuficientă', 'password_wrong' => 'Parolă greșită', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Liste de cuvinte cheie personale', 'pl_PL' => 'Poloneză', @@ -881,7 +885,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Atașament eliminat', 'removed_recipient' => 'a fost eliminat de pe lista de destinatari.', 'removed_reviewer' => 'a fost eliminat din lista de revizuitori.', -'removed_revispr' => 'a fost eliminat din lista de retrimitori.', +'removed_revisor' => 'a fost eliminat din lista de retrimitori.', 'removed_workflow_email_body' => 'Workflow eliminat din versiunea documentului Document: [name] Versiune: [version] @@ -1600,6 +1604,7 @@ URL: [url]', 'weeks' => 'săptămâni', 'week_view' => 'Vizualizare săptămână', 'workflow' => 'Workflow', +'workflows_involded' => '', 'workflow_actions_management' => 'Management acțiuni Workflow', 'workflow_action_in_use' => 'Această acțiune este utilizată în prezent de Workflow-uri.', 'workflow_action_name' => 'Nume', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index fca1f464a..b67119821 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'Отклоненные документы', 'documents_user_requiring_attention' => 'Ваши документы, требующие внимания', +'documents_with_notification' => '', 'document_already_checkedout' => 'Этот документ уже проверен', 'document_already_locked' => 'Документ уже заблокирован', 'document_comment_changed_email' => 'Изменён комментарий', @@ -493,6 +494,7 @@ URL: [url]', 'folder' => 'Каталог', 'folders' => 'кат.', 'folders_and_documents_statistic' => 'Обзор содержимого', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Комментарий изменён', 'folder_comment_changed_email_body' => 'Изменён комментарий каталога Каталог: [name] @@ -834,7 +836,9 @@ URL: [url]', 'password_strength_insuffient' => 'Недостаточная надёжность пароля', 'password_wrong' => 'Неверный пароль', 'pending_approvals' => 'В ожидании утверждения', +'pending_receipt' => '', 'pending_reviews' => 'В ожидании рецензии', +'pending_revision' => '', 'pending_workflows' => 'В ожидании процесса', 'personal_default_keywords' => 'Личный список меток', 'pl_PL' => 'Polish', @@ -883,7 +887,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: удалено вложение к «[document]»', 'removed_recipient' => 'удален из списка получателей', 'removed_reviewer' => 'удалён из списка рецензентов', -'removed_revispr' => 'удалён из списка редакторов', +'removed_revisor' => 'удалён из списка редакторов', 'removed_workflow_email_body' => 'Удалён процесс из версии документа Документ: [name] Версия: [version] @@ -1607,6 +1611,7 @@ URL: [url]', 'weeks' => 'недели', 'week_view' => 'Неделя', 'workflow' => 'Процесс', +'workflows_involded' => '', 'workflow_actions_management' => 'Управление действиями процессов', 'workflow_action_in_use' => 'Это действие используется в процессах.', 'workflow_action_name' => 'Название', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 071567556..b50c2d4d4 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 (547), destinqo (19) +// Translators: Admin (548), destinqo (19) $text = array( '2_factor_auth' => '', @@ -303,6 +303,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokumenty, ktoré používateľ vlastní a vyžadujú pozornosť', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Tento dokument je už zamknutý', 'document_comment_changed_email' => '', @@ -436,6 +437,7 @@ URL: [url]', 'folder' => 'Zlozka', 'folders' => 'Zložky', 'folders_and_documents_statistic' => 'Prehľad zložiek a dokumentov', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -579,7 +581,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => '', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Uveďte všetky prístupové práva', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Lokálny súbor', @@ -722,7 +724,9 @@ URL: [url]', 'password_strength_insuffient' => '', 'password_wrong' => '', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Osobné kľúčové slová', 'pl_PL' => 'Polština', @@ -763,7 +767,7 @@ URL: [url]', 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => 'bol odstránený zo zoznamu kontrolórov.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1418,6 +1422,7 @@ URL: [url]', 'weeks' => '', 'week_view' => 'Týždeň', 'workflow' => '', +'workflows_involded' => '', 'workflow_actions_management' => '', 'workflow_action_in_use' => '', 'workflow_action_name' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 679cf8590..b09f6ea37 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -314,6 +314,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dokument som du behöver granska/godkänna', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Detta dokument är redan låst', 'document_comment_changed_email' => 'Kommentar ändrat', @@ -481,6 +482,7 @@ URL: [url]', 'folder' => 'Katalog', 'folders' => 'Kataloger', 'folders_and_documents_statistic' => 'Innehållsöversikt', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Kommentar har ändrats', 'folder_comment_changed_email_body' => 'Kommentar har ändrats Katalog: [name] @@ -817,7 +819,9 @@ URL: [url]', 'password_strength_insuffient' => 'För låg kvalitet på lösenordet', 'password_wrong' => 'Fel lösenord', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Personlig nyckelordslista', 'pl_PL' => 'polska', @@ -861,7 +865,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Borttagen bilaga', 'removed_recipient' => '', 'removed_reviewer' => 'har tagits bort från listan med personer som ska granska dokumentet.', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Arbetsflöde borttagen från dokument version Dokument: [name] Version: [version] @@ -1563,6 +1567,7 @@ URL: [url]', 'weeks' => 'veckor', 'week_view' => 'veckovy', 'workflow' => 'Arbetsflöde', +'workflows_involded' => '', 'workflow_actions_management' => 'Åtgärder för arbetsflöde', 'workflow_action_in_use' => 'Denna åtgärd används i ett arbetsflöde.', 'workflow_action_name' => 'Namn', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index d227b44e2..28756727c 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -320,6 +320,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => 'Dikkatinizi gerektiren size ait dokümanlar', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => 'Bu doküman zaten kilitli', 'document_comment_changed_email' => 'Açıklama değişti', @@ -487,6 +488,7 @@ URL: [url]', 'folder' => 'Klasör', 'folders' => 'Klasör', 'folders_and_documents_statistic' => 'İçeriğe Bakış', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Açıklama değişti', 'folder_comment_changed_email_body' => 'Açıklama değişti Klasör: [name] @@ -833,7 +835,9 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'password_strength_insuffient' => 'Parola güvenlik düzeyi yetersiz', 'password_wrong' => 'Yanlış parola', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Kişisel anahtar kelimeler', 'pl_PL' => 'Polonyaca', @@ -877,7 +881,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - Ek silindi', 'removed_recipient' => '', 'removed_reviewer' => 'kontrol edenler listesinden çıkarıldı', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => 'Doküman versiyonundan iş akışı silindi Doküman: [name] Versiyon: [version] @@ -1579,6 +1583,7 @@ URL: [url]', 'weeks' => 'hafta', 'week_view' => 'Hafta görünümü', 'workflow' => 'İş akışı', +'workflows_involded' => '', 'workflow_actions_management' => 'İş akış eylem yönetimi', 'workflow_action_in_use' => 'Bu eylem iş akışları tarafından kullanımda.', 'workflow_action_name' => 'İsim', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 9eb912c57..485034772 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -326,6 +326,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => 'Документи, які відхилили', 'documents_user_requiring_attention' => 'Ваші документи, які потребують уваги', +'documents_with_notification' => '', 'document_already_checkedout' => 'Цей документ вже на опрацюванні', 'document_already_locked' => 'Цей документ вже заблокований', 'document_comment_changed_email' => 'Змінено коментар', @@ -493,6 +494,7 @@ URL: [url]', 'folder' => 'Каталог', 'folders' => 'кат.', 'folders_and_documents_statistic' => 'Огляд вмісту', +'folders_with_notification' => '', 'folder_comment_changed_email' => 'Коментар змінено', 'folder_comment_changed_email_body' => 'Змінено коментар каталогу Каталог: [name] @@ -834,7 +836,9 @@ URL: [url]', 'password_strength_insuffient' => 'Недостатня надійність пароля', 'password_wrong' => 'Невірний пароль', 'pending_approvals' => 'Очікує затвердження', +'pending_receipt' => '', 'pending_reviews' => 'Очікує рецензії', +'pending_revision' => '', 'pending_workflows' => 'Очікує процес', 'personal_default_keywords' => 'Особистий список ключових слів', 'pl_PL' => 'Polish', @@ -883,7 +887,7 @@ URL: [url]', 'removed_file_email_subject' => '[sitename]: видалено додаток до «[document]»', 'removed_recipient' => 'видалено отримувача', 'removed_reviewer' => 'видалено зі списку рецензентів', -'removed_revispr' => 'видалено зі списку редакторів', +'removed_revisor' => 'видалено зі списку редакторів', 'removed_workflow_email_body' => 'Видалено процес з версії документа Документ: [name] Версія: [version] @@ -1600,6 +1604,7 @@ URL: [url]', 'weeks' => 'тижні', 'week_view' => 'Тиждень', 'workflow' => 'Процес', +'workflows_involded' => '', 'workflow_actions_management' => 'Керування діями процесів', 'workflow_action_in_use' => 'Ця дія використовується в процесах.', 'workflow_action_name' => 'Назва', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index a7a2c96aa..51c38d520 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -305,6 +305,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '需您关注的文档', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => '该文档已被锁定', 'document_comment_changed_email' => '', @@ -438,6 +439,7 @@ URL: [url]', 'folder' => '文件夹', 'folders' => '文件夹', 'folders_and_documents_statistic' => '内容概要', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -724,7 +726,9 @@ URL: [url]', 'password_strength_insuffient' => '密码强度不够', 'password_wrong' => '', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => '用户关键字', 'pl_PL' => '波兰语', @@ -765,7 +769,7 @@ URL: [url]', 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => '已经从校对人名单中删除', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1420,6 +1424,7 @@ URL: [url]', 'weeks' => '', 'week_view' => '周视图', 'workflow' => '', +'workflows_involded' => '', 'workflow_actions_management' => '', 'workflow_action_in_use' => '', 'workflow_action_name' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index efdcc5bd6..abb30d0ed 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -303,6 +303,7 @@ URL: [url]', 'documents_user_reception' => '', 'documents_user_rejected' => '', 'documents_user_requiring_attention' => '需您關注的文檔', +'documents_with_notification' => '', 'document_already_checkedout' => '', 'document_already_locked' => '該文檔已被鎖定', 'document_comment_changed_email' => '', @@ -436,6 +437,7 @@ URL: [url]', 'folder' => '資料夾', 'folders' => '資料夾', 'folders_and_documents_statistic' => '內容概要', +'folders_with_notification' => '', 'folder_comment_changed_email' => '', 'folder_comment_changed_email_body' => '', 'folder_comment_changed_email_subject' => '', @@ -722,7 +724,9 @@ URL: [url]', 'password_strength_insuffient' => '', 'password_wrong' => '', 'pending_approvals' => '', +'pending_receipt' => '', 'pending_reviews' => '', +'pending_revision' => '', 'pending_workflows' => '', 'personal_default_keywords' => '用戶關鍵字', 'pl_PL' => '波蘭語', @@ -763,7 +767,7 @@ URL: [url]', 'removed_file_email_subject' => '', 'removed_recipient' => '', 'removed_reviewer' => '已經從校對人名單中刪除', -'removed_revispr' => '', +'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', 'removeFolderFromDropFolder' => '', @@ -1418,6 +1422,7 @@ URL: [url]', 'weeks' => '', 'week_view' => '周視圖', 'workflow' => '流程', +'workflows_involded' => '', 'workflow_actions_management' => '流程動作管理', 'workflow_action_in_use' => '正在使用之流程動作', 'workflow_action_name' => '流程動作名稱', From 7576bbf2986d76ab32e6f9ad790af4118c740dc1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 10:24:32 +0200 Subject: [PATCH 077/169] show workflows involved only if advanced workflow is on --- views/bootstrap/class.UsrMgr.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index ebf2a387f..d31b4553b 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -107,8 +107,6 @@ $(document).ready( function() { echo "".getMLText('documents_with_notification')."".count($dnot)."\n"; $fnot = $seluser->getNotifications(T_FOLDER); echo "".getMLText('folders_with_notification')."".count($fnot)."\n"; - $workflows = $seluser->getWorkflowsInvolved(); - echo "".getMLText('workflows_involded')."".count($workflows)."\n"; if($workflowmode == "traditional") { $reviewStatus = $seluser->getReviewStatus(); @@ -135,6 +133,8 @@ $(document).ready( function() { } } if($workflowmode == 'advanced') { + $workflows = $seluser->getWorkflowsInvolved(); + echo "".getMLText('workflows_involded')."".count($workflows)."\n"; $workflowStatus = $seluser->getWorkflowStatus(); if($workflowStatus['u']) echo "".getMLText('pending_workflows')."".count($workflowStatus['u'])."\n"; From cb17de44fc37a031883ac85d7405d56b797dcb5d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Jul 2017 22:10:44 +0200 Subject: [PATCH 078/169] getNotifyList() returns only users which are not disabled --- SeedDMS_Core/Core/inc.ClassDocument.php | 13 +++++++++---- SeedDMS_Core/Core/inc.ClassFolder.php | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 423313670..ceec06ed5 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -967,10 +967,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $this->_notifyList = array("groups" => array(), "users" => array()); foreach ($resArr as $row) { - if ($row["userID"] != -1) - array_push($this->_notifyList["users"], $this->_dms->getUser($row["userID"]) ); - else //if ($row["groupID"] != -1) - array_push($this->_notifyList["groups"], $this->_dms->getGroup($row["groupID"]) ); + if ($row["userID"] != -1) { + $u = $this->_dms->getUser($row["userID"]); + if($u && !$u->isDisabled()) + array_push($this->_notifyList["users"], $u); + } else { //if ($row["groupID"] != -1) + $g = $this->_dms->getGroup($row["groupID"]); + if($g) + array_push($this->_notifyList["groups"], $g); + } } } return $this->_notifyList; diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index 983d5ca49..9d2dee1cc 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -1245,10 +1245,15 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $this->_notifyList = array("groups" => array(), "users" => array()); foreach ($resArr as $row) { - if ($row["userID"] != -1) - array_push($this->_notifyList["users"], $this->_dms->getUser($row["userID"]) ); - else //if ($row["groupID"] != -1) - array_push($this->_notifyList["groups"], $this->_dms->getGroup($row["groupID"]) ); + if ($row["userID"] != -1) { + $u = $this->_dms->getUser($row["userID"]); + if($u && !$u->isDisabled()) + array_push($this->_notifyList["users"], $u); + } else {//if ($row["groupID"] != -1) + $g = $this->_dms->getGroup($row["groupID"]); + if($g) + array_push($this->_notifyList["groups"], $g); + } } } return $this->_notifyList; From c0d514eb4fa2c1cc9ef2436398d8e6be105ecf7b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 10:30:10 +0200 Subject: [PATCH 079/169] add entry for 5.1.3 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 2e89b8c6a..089bbc00c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ - fix output of validation errors in attribute mgr - check if user has access on document and is not disabled if set as reviewer, approver +- notifications are only send to none disabled users - merged changes from 5.0.13 -------------------------------------------------------------------------------- From f4a18d5e924d1ee3175e7246b9ed5580b072bec4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 10:31:12 +0200 Subject: [PATCH 080/169] new notes for 5.1.3 --- SeedDMS_Core/package.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 1af7c4db6..5e1586a0a 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,9 @@ GPL License -add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User +- SeedDMS_Core_Document::getNotifyList() and SeedDMS_Core_Folder::getNotifyList() +returns just users which are not disabled +- add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User From 1309377eb1512df6d1568c479384b6a3e3366927 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 11:03:34 +0200 Subject: [PATCH 081/169] nicer layout put all action buttons into one place, remove frame from selection box --- views/bootstrap/class.UsrMgr.php | 35 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index d31b4553b..79e98304b 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -146,8 +146,23 @@ $(document).ready( function() { } echo ""; + } + } /* }}} */ + + function actionmenu() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $seluser = $this->params['seluser']; + $quota = $this->params['quota']; + $workflowmode = $this->params['workflowmode']; + $undeluserids = $this->params['undeluserids']; + + if($seluser) { + if(!in_array($seluser->getID(), $undeluserids)) { + echo ' '.getMLText("rm_user").' '; + } if($user->isAdmin() && $seluser->getID() != $user->getID()) - echo "getID()."\" class=\"btn btn-primary\">".getMLText("substitute_user")."\n"; + echo "getID()."&formtoken=".createFormKey('substituteuser')."\" class=\"btn btn-primary\">".getMLText("substitute_user")."\n"; } } /* }}} */ @@ -187,16 +202,6 @@ $(document).ready( function() { } ?> -getID(), $undeluserids)) { -?> - - - - - @@ -478,11 +483,7 @@ $(document).ready( function() { ?>
          -
          -
          - -
          -
          -
          -
          +
          getID()."\"" : "") ?>>
          getID()."\"" : "") ?>>
          From 096a119399474de7e4903ee3c554e70075f9a35a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 11:07:56 +0200 Subject: [PATCH 082/169] add icon to substitute button --- views/bootstrap/class.UsrMgr.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index 79e98304b..7e322c3e1 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -162,7 +162,7 @@ $(document).ready( function() { echo ' '.getMLText("rm_user").' '; } if($user->isAdmin() && $seluser->getID() != $user->getID()) - echo "getID()."&formtoken=".createFormKey('substituteuser')."\" class=\"btn btn-primary\">".getMLText("substitute_user")."\n"; + echo "getID()."&formtoken=".createFormKey('substituteuser')."\" class=\"btn btn-primary\"> ".getMLText("substitute_user")."\n"; } } /* }}} */ From 7f76864f41bea98065b70e546bb0504fe649a50e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 11:22:31 +0200 Subject: [PATCH 083/169] take out entry from 6.0.1 because feature was added in 5.1.3 --- CHANGELOG | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 370038bb5..ee191aa04 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,7 +11,6 @@ - add document check for docs in revision and missing access rights of revisor - add document check for docs requiring receptions but user lacks access right - fix Acl manager when using pgsql -- do not notify disabled users - list all open tasks of user in user info of user manager -------------------------------------------------------------------------------- From 78f54e7155db11231fdb63bdde24594b491c0bf4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 11:23:47 +0200 Subject: [PATCH 084/169] add note for 5.1.3 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 089bbc00c..a639de53b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ - check if user has access on document and is not disabled if set as reviewer, approver - notifications are only send to none disabled users +- nicer layout in user manager, group buttons, more information - merged changes from 5.0.13 -------------------------------------------------------------------------------- From dee74c96e6a0b6b391cb87558052c27e86f4d97d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 12:34:37 +0200 Subject: [PATCH 085/169] add new action 'removefromprocesses' --- op/op.UsrMgr.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index 48584f6b5..e775914ff 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -174,6 +174,43 @@ else if ($action == "removeuser") { $userid=-1; } +// remove user from all processes (approval, review) +else if ($action == "removefromprocesses") { + + /* Check if the form data comes from a trusted request */ + if(!checkFormKey('removefromprocesses')) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); + } + + if (isset($_POST["userid"])) { + $userid = $_POST["userid"]; + } + + if (!isset($userid) || !is_numeric($userid) || intval($userid)<1) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); + } + + /* This used to be a check if an admin is deleted. Now it checks if one + * wants to delete herself. + */ + if ($userid==$user->getID()) { + UI::exitError(getMLText("admin_tools"),getMLText("cannot_delete_yourself")); + } + + $userToRemove = $dms->getUser($userid); + if (!is_object($userToRemove)) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); + } + + if (!$userToRemove->removeFromProcesses($user)) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + } + + add_log_line(".php&action=removefromprocesses&userid=".$userid); + + $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_user_processes'))); +} + // modify user ------------------------------------------------------------ else if ($action == "edituser") { From 71705c548cfc69a1d6e89fa40ece5589e4850b90 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 12:35:18 +0200 Subject: [PATCH 086/169] add new function to remove user from all processes --- out/out.RemoveUserFromProcesses.php | 54 +++++++++++++++++ .../class.RemoveUserFromProcesses.php | 60 +++++++++++++++++++ views/bootstrap/class.UsrMgr.php | 1 + 3 files changed, 115 insertions(+) create mode 100644 out/out.RemoveUserFromProcesses.php create mode 100644 views/bootstrap/class.RemoveUserFromProcesses.php diff --git a/out/out.RemoveUserFromProcesses.php b/out/out.RemoveUserFromProcesses.php new file mode 100644 index 000000000..3948a5d78 --- /dev/null +++ b/out/out.RemoveUserFromProcesses.php @@ -0,0 +1,54 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +if (!isset($_GET["userid"]) || !is_numeric($_GET["userid"]) || intval($_GET["userid"])<1) { + UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id")); +} + +$rmuser = $dms->getUser(intval($_GET["userid"])); +if (!is_object($rmuser)) { + UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id")); +} + +if ($rmuser->getID()==$user->getID()) { + UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself")); +} + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); +if($view) { + $view->setParam('rmuser', $rmuser); + $view($_GET); + exit; +} + +?> diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php new file mode 100644 index 000000000..3e0b2a327 --- /dev/null +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -0,0 +1,60 @@ + + * @copyright Copyright (C) 2017 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Include parent class + */ +require_once("class.Bootstrap.php"); + +/** + * Class which outputs the html page for RemoveUserFromProcesses view + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2017 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $rmuser = $this->params['rmuser']; + + $this->htmlStartPage(getMLText("admin_tools")); + $this->globalNavigation(); + $this->contentStart(); + $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); + $this->contentHeading(getMLText("rm_user")); + $this->contentContainerStart(); + +?> +
          + + + +

          + htmlspecialchars($rmuser->getFullName())));?> +

          + +

          + + +contentContainerEnd(); + $this->contentEnd(); + $this->htmlEndPage(); + } /* }}} */ +} +?> diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index 7e322c3e1..cc064619c 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -161,6 +161,7 @@ $(document).ready( function() { if(!in_array($seluser->getID(), $undeluserids)) { echo ' '.getMLText("rm_user").' '; } + echo ' '.getMLText("rm_user_from_processes").' '; if($user->isAdmin() && $seluser->getID() != $user->getID()) echo "getID()."&formtoken=".createFormKey('substituteuser')."\" class=\"btn btn-primary\"> ".getMLText("substitute_user")."\n"; } From 1ecb6236c0ccefaa5d90619948a31ffa25b49624 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 12:39:08 +0200 Subject: [PATCH 087/169] add SeedDMS_Core_DMS::getDocumentList() for pending approvals and reviews --- views/bootstrap/class.UsrMgr.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index cc064619c..cccbc3eb7 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -109,27 +109,27 @@ $(document).ready( function() { echo "
          \n"; if($workflowmode == "traditional") { - $reviewStatus = $seluser->getReviewStatus(); - if($reviewStatus['indstatus']) { - $i = 0; - foreach($reviewStatus['indstatus'] as $rv) { - if($rv['status'] == 0) { - $i++; + $resArr = $dms->getDocumentList('ReviewByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']); } } - echo "\n"; + echo "\n"; } } if($workflowmode == "traditional" || $workflowmode == 'traditional_only_approval') { - $approvalStatus = $seluser->getApprovalStatus(); - if($approvalStatus['indstatus']) { - $i = 0; - foreach($approvalStatus['indstatus'] as $rv) { - if($rv['status'] == 0) { - $i++; + $resArr = $dms->getDocumentList('ApproveByMe', $seluser); + if($resArr) { + foreach ($resArr as $res) { + $document = $dms->getDocument($res["id"]); + if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { + $tasks['approval'][] = array('id'=>$res['id'], 'name'=>$res['name']); } } - echo "\n"; + echo "\n"; } } if($workflowmode == 'advanced') { From d0ab0d0f9fdb2e32646be2dc34410cbb4ce6f36d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 14:56:18 +0200 Subject: [PATCH 088/169] add option parameter $states to __removeFromProcesses() restricts removal to certain approval/review states --- SeedDMS_Core/Core/inc.ClassUser.php | 60 +++++++++++++++++++---------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 35c4f9f62..0dd1ff702 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -477,32 +477,42 @@ class SeedDMS_Core_User { /* {{{ */ /** * Remove user from all processes * - * This includes review, approval and workflow + * This method adds another log entry to the reviews and approvals + * which indicates the user has been deleted from the process. It will + * do so for each review/approval regardless of its current state. So even + * reviews/approvals already processed by the user will be added the log + * entry. Only if the last log entry was a removal already, it will not be + * added a second time. * * @param object $user the user doing the removal (needed for entry in * review and approve log). + * @param array $states remove user only from reviews/approvals in one of the states * @return boolean true on success or false in case of an error */ - private function __removeFromProcesses($user) { /* {{{ */ + private function __removeFromProcesses($user, $states = array()) { /* {{{ */ $db = $this->_dms->getDB(); $reviewStatus = $this->getReviewStatus(); foreach ($reviewStatus["indstatus"] as $ri) { - $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { - return false; + if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } } } $approvalStatus = $this->getApprovalStatus(); foreach ($approvalStatus["indstatus"] as $ai) { - $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { - return false; + if($ai['status'] != -2 && (!$states || in_array($ai['status'], $states))) { + $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } } } return true; @@ -515,13 +525,14 @@ class SeedDMS_Core_User { /* {{{ */ * * @param object $user the user doing the removal (needed for entry in * review and approve log). + * @param array $states remove user only from reviews/approvals in one of the states * @return boolean true on success or false in case of an error */ - public function removeFromProcesses($user) { /* {{{ */ + public function removeFromProcesses($user, $states=array()) { /* {{{ */ $db = $this->_dms->getDB(); $db->startTransaction(); - if(!$this->__removeFromProcesses($user)) { + if(!$this->__removeFromProcesses($user, $states)) { $db->rollbackTransaction(); return false; } @@ -923,11 +934,14 @@ class SeedDMS_Core_User { /* {{{ */ /** * Get a list of reviews - * This function returns a list of all reviews seperated by individual - * and group reviews. If the document id + * + * This function returns a list of all reviews and their latest log entry + * seperated by individuals and groups. If the document id * is passed, then only this document will be checked for reviews. The * same is true for the version of a document which limits the list - * further. + * further. If you do not limit on a version it will retrieve the status + * for each version, that includes even older versions which has been superseded + * by a new version. * * For a detailed description of the result array see * {link SeedDMS_Core_User::getApprovalStatus} which does the same for @@ -1001,17 +1015,21 @@ class SeedDMS_Core_User { /* {{{ */ /** * Get a list of approvals - * This function returns a list of all approvals seperated by individual - * and group approvals. If the document id + * + * This function returns a list of all approvals and their latest log entry + * seperated by individuals and groups. If the document id * is passed, then only this document will be checked for approvals. The * same is true for the version of a document which limits the list - * further. + * further. If you do not limit on a version it will retrieve the status + * for each version, that includes even older versions which has been superseded + * by a new version. * * The result array has two elements: * - indstatus: which contains the approvals by individuals (users) * - grpstatus: which contains the approvals by groups * - * Each element is itself an array of approvals with the following elements: + * Each element is itself an array of approvals with the following elements + * (it is a combination of fields from tblDocumentApprovers and tblDocumentApproveLog): * - approveID: unique id of approval * - documentID: id of document, that needs to be approved * - version: version of document, that needs to be approved From d8ae673270eb447f65fc3d3ba1b08d38fc6a52f0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 14:57:17 +0200 Subject: [PATCH 089/169] finish removal from process --- op/op.UsrMgr.php | 14 ++++---- .../class.RemoveUserFromProcesses.php | 33 ++++++++++++++++++- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index e775914ff..69c56243e 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -202,13 +202,15 @@ else if ($action == "removefromprocesses") { UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); } - if (!$userToRemove->removeFromProcesses($user)) { - UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); - } + if(isset($_POST["status"]) && is_array($_POST["status"]) && $_POST["status"]) { + if (!$userToRemove->removeFromProcesses($user, $_POST['status'])) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + } + + add_log_line(".php&action=removefromprocesses&userid=".$userid); - add_log_line(".php&action=removefromprocesses&userid=".$userid); - - $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_user_processes'))); + $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_user_processes'))); + } } // modify user ------------------------------------------------------------ diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php index 3e0b2a327..8ffb6da74 100644 --- a/views/bootstrap/class.RemoveUserFromProcesses.php +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -37,8 +37,8 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("rm_user")); - $this->contentContainerStart(); + $this->contentContainerStart(); ?>
          @@ -48,6 +48,37 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { htmlspecialchars($rmuser->getFullName())));?>

          +getReviewStatus(); + $tmpr = array(); + foreach($reviewStatus['indstatus'] as $ri) { + if(isset($tmpr[$ri['status']])) + $tmpr[$ri['status']][] = $ri; + else + $tmpr[$ri['status']] = array($ri); + } + + $approvalStatus = $rmuser->getApprovalStatus(); + $tmpa = array(); + foreach($approvalStatus['indstatus'] as $ai) { + if(isset($tmpa[$ai['status']])) + $tmpa[$ai['status']][] = $ai; + else + $tmpa[$ai['status']] = array($ai); + } +?> +

          + + count($tmpa["0"]), 'no_reviews' => count($tmpr["0"]))); ?>
          + + + count($tmpa["1"]), 'no_reviews' => count($tmpr["1"]))); ?>
          + + + count($tmpa["-1"]), 'no_reviews' => count($tmpr["-1"]))); ?>
          + + +

          From 52a8bec019cbcf47cc80bcc4ecc090f4b41e6b9f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 14:58:09 +0200 Subject: [PATCH 090/169] new phrases --- languages/ar_EG/lang.inc | 6 ++++++ languages/bg_BG/lang.inc | 6 ++++++ languages/ca_ES/lang.inc | 14 ++++++++++---- languages/cs_CZ/lang.inc | 14 ++++++++++---- languages/de_DE/lang.inc | 8 +++++++- languages/el_GR/lang.inc | 6 ++++++ languages/en_GB/lang.inc | 10 ++++++++-- languages/es_ES/lang.inc | 6 ++++++ languages/fr_FR/lang.inc | 6 ++++++ languages/hr_HR/lang.inc | 6 ++++++ languages/hu_HU/lang.inc | 6 ++++++ languages/it_IT/lang.inc | 10 ++++++++-- languages/ko_KR/lang.inc | 6 ++++++ languages/nl_NL/lang.inc | 6 ++++++ languages/pl_PL/lang.inc | 6 ++++++ languages/pt_BR/lang.inc | 14 ++++++++++---- languages/ro_RO/lang.inc | 6 ++++++ languages/ru_RU/lang.inc | 6 ++++++ languages/sk_SK/lang.inc | 14 ++++++++++---- languages/sv_SE/lang.inc | 6 ++++++ languages/tr_TR/lang.inc | 6 ++++++ languages/uk_UA/lang.inc | 6 ++++++ languages/zh_CN/lang.inc | 6 ++++++ languages/zh_TW/lang.inc | 6 ++++++ 24 files changed, 165 insertions(+), 21 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 95c52ac22..c93fc4c1c 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'بالفعل مشترك', 'and' => 'و', 'apply' => 'تطبيق', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'طلب الموافقة تم الغاؤه', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -265,6 +268,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'هل تود حقا ازالة المستخدم "[username]"?
          كن حذرا: هذا الاجراء لايمكن التراجع فيه', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'هل تود حقا ازالة الاصدار [version] الخاص بالمستند "[documentname]"?
          كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_update_transmittalitem' => '', 'content' => 'المحتوى', @@ -955,6 +959,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'ازالة هذا المستخدم', +'rm_user_from_processes' => '', 'rm_version' => 'ازالة اصدار', 'rm_workflow' => 'ازالة مسار عمل', 'rm_workflow_action' => 'ازالة اجراء مسار عمل', @@ -1390,6 +1395,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 92896d9c9..152f25ec1 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -84,6 +84,9 @@ $text = array( 'already_subscribed' => 'Вече е подписан', 'and' => 'и', 'apply' => 'Приложи', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Запитване за утвърждаване за изтрит', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -250,6 +253,7 @@ $text = array( 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Изтрий потребител "[username]"?
          Действието е перманентно', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Изтрий версия на [version] документ "[documentname]"?
          Действието е перманентно', 'confirm_update_transmittalitem' => '', 'content' => 'Съдържание', @@ -827,6 +831,7 @@ $text = array( 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Премахни тоз потребител', +'rm_user_from_processes' => '', 'rm_version' => 'Премахни версия', 'rm_workflow' => 'Премахни процес', 'rm_workflow_action' => 'Премахни действие по процес', @@ -1255,6 +1260,7 @@ $text = array( 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 00a8cd151..c12cc2f1d 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/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 (722) +// Translators: Admin (725) $text = array( '2_factor_auth' => '', @@ -84,6 +84,9 @@ $text = array( 'already_subscribed' => 'Ja està subscrit', 'and' => 'i', 'apply' => 'Apply', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Demanda d\'aprovació esborrada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -217,14 +220,14 @@ URL: [url]', 'checkout_is_disabled' => '', 'choose_attrdef' => '', 'choose_attrdefgroup' => '', -'choose_category' => '--Elegir categoria--', -'choose_group' => '--Seleccionar grup--', +'choose_category' => 'Elegir categoria', +'choose_group' => 'Seleccionar grup', 'choose_role' => '', 'choose_target_category' => '', 'choose_target_document' => 'Escollir document', 'choose_target_file' => '', 'choose_target_folder' => 'Escollir directori de destinació', -'choose_user' => '--Seleccionar usuari--', +'choose_user' => 'Seleccionar usuari', 'choose_workflow' => '', 'choose_workflow_action' => '', 'choose_workflow_state' => '', @@ -255,6 +258,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '¿Vol realment eliminar l\'usuari "[username]"?
          Atenció: aquesta acció no es pot desfer.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '¿Vol realment eliminar la versió [version] del document "[documentname]"?
          Atenció: aquesta acció no es pot desfer.', 'confirm_update_transmittalitem' => '', 'content' => 'Contingut', @@ -832,6 +836,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Eliminar aquest usuari', +'rm_user_from_processes' => '', 'rm_version' => 'Eliminar versió', 'rm_workflow' => '', 'rm_workflow_action' => '', @@ -1260,6 +1265,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 61cef21b4..b319369d9 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/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 (722), kreml (455) +// Translators: Admin (725), kreml (455) $text = array( '2_factor_auth' => '', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Již odebráno', 'and' => 'a', 'apply' => 'Použít', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Zrušení schválení požadavku', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -234,14 +237,14 @@ URL: [url]', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Zvolte definici atributů', 'choose_attrdefgroup' => '', -'choose_category' => '--Vyberte prosím--', -'choose_group' => '--Vyberte skupinu--', +'choose_category' => 'Vyberte prosím', +'choose_group' => 'Vyberte skupinu', 'choose_role' => '', 'choose_target_category' => 'Vyberte kategorii', 'choose_target_document' => 'Vyberte dokument', 'choose_target_file' => 'Zvolte soubor', 'choose_target_folder' => 'Vyberte cílovou složku', -'choose_user' => '--Vyberte uživatele--', +'choose_user' => 'Vyberte uživatele', 'choose_workflow' => 'Zvolte pracovní postup', 'choose_workflow_action' => 'Zvolte akci pracovního postupu', 'choose_workflow_state' => 'Zvolit akci pracovního postupu', @@ -272,6 +275,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Skutečně chcete odstranit uživatele "[username]"?
          Pozor: Akce je nevratná.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Skutečně chcete odstranit verzi [version] dokumentu "[documentname]"?
          Buďte opatrní: Tuto činnost není možné vrátit zpět.', 'confirm_update_transmittalitem' => '', 'content' => 'Domů', @@ -964,6 +968,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Odstranit tohoto uživatele', +'rm_user_from_processes' => '', 'rm_version' => 'Odstranit verzi', 'rm_workflow' => 'Odstranit pracovní postup', 'rm_workflow_action' => 'Odstranit akci pracovního postupu', @@ -1399,6 +1404,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uživatel odstraněn', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 2c4e313e4..9190b4289 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 (2430), dgrutsch (22) +// Translators: Admin (2439), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Bereits aboniert', 'and' => 'und', 'apply' => 'Anwenden', +'approvals_and_reviews_accepted' => '[no_approvals] Freigaben und [no_reviews] Prüfungen', +'approvals_and_reviews_not_touched' => '[no_approvals] offene Freigaben und [no_reviews] offenen Prüfungen', +'approvals_and_reviews_rejected' => '[no_approvals] abgelehnte Freigaben und [no_reviews] abgelehnte Prüfungen', 'approval_deletion_email' => 'Freigabeaufforderung gelöscht', 'approval_deletion_email_body' => 'Freigabeaufforderung gelöscht Dokument: [name] @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => 'Bitte bestätigen Sie as Löschen der Dokumentenliste.', 'confirm_rm_transmittalitem' => 'Löschen bestätigen', 'confirm_rm_user' => 'Möchten Sie wirklich den Benutzer "[username]" löschen?
          Beachten Sie, dass diese Operation nicht rückgängig gemacht werden kann.', +'confirm_rm_user_from_processes' => 'Möchten Sie wirklich den Benutzer "[username]" aus allen Prozessen löschen?
          Beachten Sie, dass dies möglicherweise in der Freigabe von Dokumenten resultiert, wenn der Benutzer der einzige oder letzte Prüfer ist.', 'confirm_rm_version' => 'Wollen Sie die Version [version] des Dokumentes "[documentname]" wirklich löschen?
          Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden.', 'confirm_update_transmittalitem' => 'Aktualisierung bestätigen', 'content' => 'Inhalt', @@ -1020,6 +1024,7 @@ URL: [url]', 'rm_transmittal' => 'Dokumentenliste entfernen', 'rm_transmittalitem' => 'Eintrag löschen', 'rm_user' => 'Diesen Benutzer löschen', +'rm_user_from_processes' => 'Benutzer aus Prozessen löschen', 'rm_version' => 'Version löschen', 'rm_workflow' => 'Lösche Workflow', 'rm_workflow_action' => 'Lösche Workflow-Aktion', @@ -1455,6 +1460,7 @@ URL: [url]', 'splash_rm_role' => 'Rolle gelöscht', 'splash_rm_transmittal' => 'Dokumentenliste gelöscht', 'splash_rm_user' => 'Benutzer gelöscht', +'splash_rm_user_processes' => 'Benutzer aus allen Prozessen gelöscht', 'splash_saved_file' => 'Version gespeichert', 'splash_save_user_data' => 'Benutzerdaten gespeichert', 'splash_send_download_link' => 'Download-Link per E-Mail verschickt.', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index c17be7221..bcfaababd 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -84,6 +84,9 @@ $text = array( 'already_subscribed' => '', 'and' => 'και', 'apply' => 'Apply', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => '', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -250,6 +253,7 @@ $text = array( 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Περιεχόμενο', @@ -838,6 +842,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Διαγραφή Χρήστη', +'rm_user_from_processes' => '', 'rm_version' => '', 'rm_workflow' => '', 'rm_workflow_action' => '', @@ -1266,6 +1271,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 725f015d5..c1ff080b9 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 (1556), dgrutsch (9), netixw (14) +// Translators: Admin (1568), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Already subscribed', 'and' => 'and', 'apply' => 'Apply', +'approvals_and_reviews_accepted' => '[no_approvals] approvals and [no_reviews] reviews already accepted', +'approvals_and_reviews_not_touched' => '[no_approvals] approvals and [no_reviews] reviews not being touched', +'approvals_and_reviews_rejected' => '[no_approvals] approvals and [no_reviews] reviews already rejected', 'approval_deletion_email' => 'Approval request deleted', 'approval_deletion_email_body' => 'Approval request deleted Document: [name] @@ -241,7 +244,7 @@ URL: [url]', 'choose_attrdefgroup' => 'Choose attribute group', 'choose_category' => 'Please choose', 'choose_group' => 'Choose group', -'choose_role' => '--Choose role--', +'choose_role' => 'Choose role', 'choose_target_category' => 'Choose category', 'choose_target_document' => 'Choose document', 'choose_target_file' => 'Choose file', @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => 'Please confirm the deletion of the transmittal.', 'confirm_rm_transmittalitem' => 'Confirm removal', 'confirm_rm_user' => 'Do you really want to remove the user "[username]"?
          Be careful: This action cannot be undone.', +'confirm_rm_user_from_processes' => 'Do you really want to remove the user "[username]" from all processes?
          Be careful: This action can lead to the release of documents if the user was the only or last approver.', 'confirm_rm_version' => 'Do you really want to remove version [version] of document "[documentname]"?
          Be careful: This action cannot be undone.', 'confirm_update_transmittalitem' => 'Confirm update', 'content' => 'Content', @@ -1015,6 +1019,7 @@ URL: [url]', 'rm_transmittal' => 'Remove transmittal', 'rm_transmittalitem' => 'Remove item', 'rm_user' => 'Remove this user', +'rm_user_from_processes' => 'Remove user from processes', 'rm_version' => 'Remove version', 'rm_workflow' => 'Remove Workflow', 'rm_workflow_action' => 'Remove Workflow Action', @@ -1450,6 +1455,7 @@ URL: [url]', 'splash_rm_role' => 'Role deleted', 'splash_rm_transmittal' => 'Transmittal deleted', 'splash_rm_user' => 'User removed', +'splash_rm_user_processes' => 'User removed from all processes', 'splash_saved_file' => 'Version saved', 'splash_save_user_data' => 'User data saved', 'splash_send_download_link' => 'Download link sent by email.', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 01af6982e..feccc4d58 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Ya está suscrito', 'and' => 'y', 'apply' => 'Aplicar', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Petición de aprobación eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -272,6 +275,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '¿Desea realmente eliminar el usuario "[username]"?
          Atención: Esta acción no se puede deshacer.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '¿Desea realmente eliminar la versión [version] del documento "[documentname]"?
          Atención: esta acción no se puede deshacer.', 'confirm_update_transmittalitem' => '', 'content' => 'Contenido', @@ -970,6 +974,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => 'Eliminar elemento', 'rm_user' => 'Eliminar este usuario', +'rm_user_from_processes' => '', 'rm_version' => 'Eliminar versión', 'rm_workflow' => 'Eliminar Flujo de Trabajo', 'rm_workflow_action' => 'Eliminar Accion del Flujo de Trabajo', @@ -1405,6 +1410,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuario eliminado', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index d76a6be3d..af8f082d7 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Déjà abonné', 'and' => 'et', 'apply' => 'Appliquer', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Demande d\'approbation supprimée', 'approval_deletion_email_body' => 'Demande d\'approbation supprimée Document : [name] @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Voulez-vous vraiment supprimer l\'utilisateur "[username]"?
          Attention: Cette action ne peut pas être annulée.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Voulez-vous réellement supprimer la [version] du document "[documentname]"?
          Attention: Cette action ne peut pas être annulée.', 'confirm_update_transmittalitem' => '', 'content' => 'Contenu', @@ -972,6 +976,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Supprimer cet utilisateur', +'rm_user_from_processes' => '', 'rm_version' => 'Retirer la version', 'rm_workflow' => 'Supprimer le Workflow', 'rm_workflow_action' => 'Supprimer l\'action du Workflow', @@ -1400,6 +1405,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Utilisateur supprimé', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => 'Lien de téléchargement envoyé par e-mail', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 8ed07ef43..ba9d06eee 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -88,6 +88,9 @@ Internet poveznica: [url]', 'already_subscribed' => 'Već prijavljeno', 'and' => 'i', 'apply' => 'Primjeni', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Izbrisan zahtjev za odobrenje', 'approval_deletion_email_body' => 'Zahtjev za odobrenjem izbrisan Dokument: [name] @@ -277,6 +280,7 @@ Internet poveznica: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => 'Potvrdi uklanjanje', 'confirm_rm_user' => 'Da li zaista želite ukloniti korisnika "[username]"?
          Oprez: ova radnja nije povratna.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Da li zaista želite ukloniti verziju [version] dokumenta "[documentname]"?
          Oprez: ova radnja nije povratna.', 'confirm_update_transmittalitem' => 'Potvrdi izmjenu', 'content' => 'Sadržaj', @@ -991,6 +995,7 @@ Internet poveznica: [url]', 'rm_transmittal' => 'Uklanjanje preusmjerenja', 'rm_transmittalitem' => 'Uklanjanje stavke', 'rm_user' => 'Uklonite ovog korisnika', +'rm_user_from_processes' => '', 'rm_version' => 'Uklonite verziju', 'rm_workflow' => 'Uklonite tok rada', 'rm_workflow_action' => 'Uklonite radnju toka rada', @@ -1426,6 +1431,7 @@ Internet poveznica: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Korisnik uklonjen', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 1eddfe25a..9e0595f9d 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Már feliratkozott', 'and' => '-', 'apply' => 'Elfogad', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Jóváhagyási kérelem törölve', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -272,6 +275,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Biztosan el kívánja távolítani ezt a felhasználót "[username]"?
          Legyen óvatos: Ez a művelet nem vonható vissza.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Biztosan el kívánaj távolítani a dokumentum "[documentname]" [version] verzióját?
          Legyen óvatos: Ez a művelet nem vonható vissza.', 'confirm_update_transmittalitem' => '', 'content' => 'Tartalom', @@ -970,6 +974,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Felhasználó eltávolítása', +'rm_user_from_processes' => '', 'rm_version' => 'Változat eltávolítása', 'rm_workflow' => 'Munkafolyamat eltávolítása', 'rm_workflow_action' => 'Munkafolyamat művelet eltávolítása', @@ -1404,6 +1409,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Felhasználó eltávolítva', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 538af4261..fd51bc554 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/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 (1556), rickr (144), s.pnt (26) +// Translators: Admin (1557), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'L\'oggetto è già stato sottoscritto', 'and' => 'e', 'apply' => 'Applica', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Richiesta di approvazione cancellata', 'approval_deletion_email_body' => 'Richiesta di approvazione cancellata. Documento: [name] @@ -242,7 +245,7 @@ URL: [url]', 'choose_attrdefgroup' => 'Scegli gruppo di attributi', 'choose_category' => 'Seleziona', 'choose_group' => 'Seleziona il gruppo', -'choose_role' => '--Scegli ruolo--', +'choose_role' => 'Scegli ruolo', 'choose_target_category' => 'Seleziona la categoria', 'choose_target_document' => 'Seleziona il documento', 'choose_target_file' => 'Scegli il file', @@ -278,6 +281,7 @@ URL: [url]', 'confirm_rm_transmittal' => 'Si prega di confermare l\'eliminazione della trasmissione.', 'confirm_rm_transmittalitem' => 'Conferma rimozione', 'confirm_rm_user' => 'Vuoi davvero rimuovere l\'utente "[username]"? Attenzione: questa operazione non può essere annullata.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Vuoi veramente eliminare la versione [version] del documento "[documentname]"? Attenzione: questa operazione non può essere annullata.', 'confirm_update_transmittalitem' => 'Conferma aggiornamento', 'content' => 'Contenuto', @@ -1003,6 +1007,7 @@ URL: [url]', 'rm_transmittal' => 'Rimuovi trasmissione', 'rm_transmittalitem' => 'Rimuovi oggetto', 'rm_user' => 'Rimuovi questo utente', +'rm_user_from_processes' => '', 'rm_version' => 'Rimuovi versione', 'rm_workflow' => 'Rimuovi flusso di lavoro', 'rm_workflow_action' => 'Rimuovi azione del flusso di lavoro', @@ -1438,6 +1443,7 @@ URL: [url]', 'splash_rm_role' => 'Ruolo cancellato', 'splash_rm_transmittal' => 'Trasmissione cancellato', 'splash_rm_user' => 'Utente eliminato', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index ba6c9b629..f86731e0c 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => '가입된', 'and' => '와', 'apply' => '적용', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => '승인 요청 삭제', 'approval_deletion_email_body' => '승인 요청 삭제 문서: [name] @@ -279,6 +282,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '제거 확인', 'confirm_rm_user' => '사용자 "[username]"을 정말 삭제 하시겠습니까?
          주의: 취소가 불가능 합니다.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '문서 "[documentname]"의 버젼 [version]을 정말 삭제 하시겠습니까?
          주의: 취소가 불가능 합니다.', 'confirm_update_transmittalitem' => '업데이트 확인', 'content' => '콘텐츠', @@ -984,6 +988,7 @@ URL: [url]', 'rm_transmittal' => '송부 삭제', 'rm_transmittalitem' => '아이템 삭제', 'rm_user' => '이 사용자 제거', +'rm_user_from_processes' => '', 'rm_version' => '버전 제거', 'rm_workflow' => '워크플로우 제거', 'rm_workflow_action' => '워크플로우 작업 제거', @@ -1419,6 +1424,7 @@ URL : [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '사용자 제거', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index e957f49e9..b26cb193e 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Al ingetekend', 'and' => 'en', 'apply' => 'Toepassen', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Goedkeuring verzoek verwijderd', 'approval_deletion_email_body' => 'Vraag om goedkeuring verwijderd Document: [name] @@ -270,6 +273,7 @@ URL: [url]', 'confirm_rm_transmittal' => 'Bestig de verwijdering van de verzending', 'confirm_rm_transmittalitem' => 'Bevestig te verzenden item', 'confirm_rm_user' => 'Weet U zeker dat U de Gebruiker "[username]" wilt verwijderen?
          Let op: deze handeling kan niet ongedaan worden gemaakt.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Weet U zeker dat U deze versie van het document "[documentname]" wilt verwijderen?
          Pas op: deze handeling kan niet ongedaan worden gemaakt.', 'confirm_update_transmittalitem' => 'Bevestig verandering van te verzenden item', 'content' => 'Welkomstpagina', @@ -993,6 +997,7 @@ URL: [url]', 'rm_transmittal' => 'Verwijder de verzending', 'rm_transmittalitem' => 'Verwijder verzonden item', 'rm_user' => 'Verwijder deze Gebruiker', +'rm_user_from_processes' => '', 'rm_version' => 'Verwijder versie', 'rm_workflow' => 'Verwijder workflwo', 'rm_workflow_action' => 'Verwijder workflow actie', @@ -1432,6 +1437,7 @@ URL: [url]', 'splash_rm_role' => 'Rol verwijderd', 'splash_rm_transmittal' => 'Verzending verwijderd', 'splash_rm_user' => 'Gebruiker verwijderd', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 37fb9b68b..ce1fa964e 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Aktualnie subskrybowane', 'and' => 'i', 'apply' => 'Zastosuj', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Prośba o akceptację została usunięta', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -265,6 +268,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Czy rzeczywiście chcesz usunąć użytkownika "[username]"?
          Ostrożnie: Ta operacja nie może być cofnięta.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Czy rzeczywiście chcesz usunąć wersję [version] dokumentu "[documentname]"?
          Ostrożnie: Ta operacja nie może być cofnięta.', 'confirm_update_transmittalitem' => '', 'content' => 'Zawartość', @@ -949,6 +953,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Usuń tego użytkownika', +'rm_user_from_processes' => '', 'rm_version' => 'Usuń wersję', 'rm_workflow' => 'Usuń proces', 'rm_workflow_action' => 'Usunięcie działania procesu', @@ -1384,6 +1389,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Użytkownika usunięto', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 88773ca12..52a461c30 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/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 (946), flaviove (627), lfcristofoli (352) +// Translators: Admin (949), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => '', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Já subscrito', 'and' => 'e', 'apply' => 'Aplicar', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Solicitação de Aprovação eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -234,14 +237,14 @@ URL: [url]', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Por favor escolha a definição de atributo', 'choose_attrdefgroup' => '', -'choose_category' => '--Por favor escolha--', -'choose_group' => '--Escolher grupo--', +'choose_category' => 'Por favor escolha', +'choose_group' => 'Escolher grupo', 'choose_role' => '', 'choose_target_category' => 'Escolha a categoria', 'choose_target_document' => 'Escolha documento', 'choose_target_file' => 'Escolha o arquivo', 'choose_target_folder' => 'Escolha pasta-alvo', -'choose_user' => '--Escolher usuário--', +'choose_user' => 'Escolher usuário', 'choose_workflow' => 'Escolha de fluxo de trabalho', 'choose_workflow_action' => 'Escolha a ação de fluxo de trabalho', 'choose_workflow_state' => 'Escolha um estado de fluxo de trabalho', @@ -272,6 +275,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Do you really want to remove the user "[username]"?
          Be careful: This action cannot be undone.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Deseja realmente remover versão [version] do documento "[documentname]"?
          Por favor, tenha cuidado porque esta ação não poderá ser desfeita.', 'confirm_update_transmittalitem' => '', 'content' => 'Conteúdo', @@ -967,6 +971,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Remove este usuário', +'rm_user_from_processes' => '', 'rm_version' => 'Remove versão', 'rm_workflow' => 'Retire do fluxo de trabalho', 'rm_workflow_action' => 'Remover Ação de Fluxo de Trabalho', @@ -1402,6 +1407,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuário removido', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index a61f958e4..8cdbd5391 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Deja trimis', 'and' => 'si', 'apply' => 'Aplică', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Cerere de aprobare stearsă', 'approval_deletion_email_body' => 'Cerere aprobare stearsa Document: [name] @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Sigur doriți să eliminați utilizatorul "[username]"?
          Fiți atenți: Această acțiune nu poate fi anulată.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Sigur doriți să eliminați versiunea [version] a documentului "[documentname]"?
          Fiți atenți: Această acțiune nu poate fi anulată.', 'confirm_update_transmittalitem' => '', 'content' => 'Conținut', @@ -992,6 +996,7 @@ URL: [url]', 'rm_transmittal' => 'Elimina transmiterea', 'rm_transmittalitem' => '', 'rm_user' => 'Eliminați acest utilizator', +'rm_user_from_processes' => '', 'rm_version' => 'Eliminați versiune', 'rm_workflow' => 'Eliminați Workflow', 'rm_workflow_action' => 'Eliminați actiune Workflow', @@ -1427,6 +1432,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uilizator eliminat', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index b67119821..771cab208 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Уже подписан', 'and' => 'и', 'apply' => 'Применить', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Запрос на утверждение удалён', 'approval_deletion_email_body' => 'Запрос на утверждение удален Имя: [name] @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => 'Подтвердить удаление', 'confirm_rm_transmittalitem' => 'Подтвердить удаление', 'confirm_rm_user' => 'Удалить пользователя «[username]»?
          Действие необратимо', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Удалить версию [version] документа «[documentname]»?
          Действие необратимо', 'confirm_update_transmittalitem' => 'Подтвердите обновление', 'content' => 'Содержимое', @@ -999,6 +1003,7 @@ URL: [url]', 'rm_transmittal' => 'Удалить передачу', 'rm_transmittalitem' => 'Удалить документ', 'rm_user' => 'Удалить пользователя', +'rm_user_from_processes' => '', 'rm_version' => 'Удалить версию', 'rm_workflow' => 'Удалить процесс', 'rm_workflow_action' => 'Удалить действие процесса', @@ -1434,6 +1439,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Пользователь удалён', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index b50c2d4d4..bb4a37920 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 (548), destinqo (19) +// Translators: Admin (551), destinqo (19) $text = array( '2_factor_auth' => '', @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => '', 'and' => 'a', 'apply' => 'Použiť', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Poziadavka na schvalenie zmazana', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -216,14 +219,14 @@ URL: [url]', 'checkout_is_disabled' => '', 'choose_attrdef' => '', 'choose_attrdefgroup' => '', -'choose_category' => '--Vyberte prosím--', -'choose_group' => '--Vyberte skupinu--', +'choose_category' => 'Vyberte prosím', +'choose_group' => 'Vyberte skupinu', 'choose_role' => '', 'choose_target_category' => '', 'choose_target_document' => 'Vyberte dokument', 'choose_target_file' => 'Vyberte súbor', 'choose_target_folder' => 'Vyberte cieľovú zložku', -'choose_user' => '--Vyberte používateľa--', +'choose_user' => 'Vyberte používateľa', 'choose_workflow' => '', 'choose_workflow_action' => '', 'choose_workflow_state' => '', @@ -254,6 +257,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Skutočne si prajete odstrániť používateľa "[username]"?
          Buďte opatrní, táto akcia je nezvratná.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Naozaj chcete odstrániť verziu [version] dokumentu "[documentname]"?
          Buďte opatrní: Túto činnosť nemožno vrátiť späť.', 'confirm_update_transmittalitem' => '', 'content' => 'Obsah', @@ -831,6 +835,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Odstrániť tohto používateľa', +'rm_user_from_processes' => '', 'rm_version' => 'Odstrániť verziu', 'rm_workflow' => '', 'rm_workflow_action' => '', @@ -1259,6 +1264,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index b09f6ea37..8b6d8164d 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Prenumererar redan', 'and' => 'och', 'apply' => 'Använd', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Begäran om godkännande har raderats', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -265,6 +268,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => 'Vill du verkligen ta bort användaren "[username]"?
          OBS! Användaren kan inte återskapas!', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Vill du verkligen ta bort versionen [version] av dokumentet "[documentname]"?
          OBS! Versionen kan inte återskapas!', 'confirm_update_transmittalitem' => '', 'content' => 'Innehåll', @@ -955,6 +959,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Ta bort denna användare', +'rm_user_from_processes' => '', 'rm_version' => 'Ta bort version', 'rm_workflow' => 'Ta bort arbetsflöde', 'rm_workflow_action' => 'Ta bort åtgärd från arbetsflödet', @@ -1390,6 +1395,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Användare har tagits bort', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 28756727c..5a35d7f57 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -87,6 +87,9 @@ URL: [url]', 'already_subscribed' => 'Zaten kayıtlı', 'and' => 've', 'apply' => 'Uygula', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Onay talebi silindi', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -271,6 +274,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '"[username]" kullanıcısını silmeyi onaylıyor musunuz?
          Dikkatli olun: Bu eylemin geri dönüşü yoktur.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '"[documentname]" dokümanının [version] versiyonunu silmek istiyor musunuz?
          Dikkatli olun: Bu eylemin geri dönüşü yoktur.', 'confirm_update_transmittalitem' => '', 'content' => 'İçerik', @@ -971,6 +975,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => 'Bu kullanıcıyı sil', +'rm_user_from_processes' => '', 'rm_version' => 'Versiyonu sil', 'rm_workflow' => 'İş akışını sil', 'rm_workflow_action' => 'İş Akış Eylemini Sil', @@ -1406,6 +1411,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Kullanıcı silindi', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 485034772..421e45582 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => 'Вже підписаний', 'and' => 'і', 'apply' => 'Застосувати', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => 'Запит на підтвердження скасовано', 'approval_deletion_email_body' => 'Запит на підтвердження скасовано Назва: [name] @@ -277,6 +280,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => 'Підтвердити видалення', 'confirm_rm_user' => 'Видалити користувача «[username]»?
          Дія незворотня', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Видалити версію [version] документа «[documentname]»?
          Дія незворотня', 'confirm_update_transmittalitem' => 'Підтвердити оновлення', 'content' => 'Вміст', @@ -992,6 +996,7 @@ URL: [url]', 'rm_transmittal' => 'Видалити передачу', 'rm_transmittalitem' => 'Видалити елемент передачі', 'rm_user' => 'Видалити користувача', +'rm_user_from_processes' => '', 'rm_version' => 'Видалити версію', 'rm_workflow' => 'Видалити процес', 'rm_workflow_action' => 'Видалити дію процесу', @@ -1427,6 +1432,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Користувача видалено', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 51c38d520..206a4e3a0 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => '已经订阅', 'and' => 'and', 'apply' => '应用', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => '审核请求已被删除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -254,6 +257,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '您确定要删除"[username]"用户?
          请注意:此动作执行后不能撤销.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '您确定要删除"[documentname]文档的[version]版本文件?
          请注意:此动作执行后不能撤销.', 'confirm_update_transmittalitem' => '', 'content' => '内容', @@ -833,6 +837,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => '删除该用户', +'rm_user_from_processes' => '', 'rm_version' => '删除该版本', 'rm_workflow' => '', 'rm_workflow_action' => '', @@ -1261,6 +1266,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index abb30d0ed..afe63e35a 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -88,6 +88,9 @@ URL: [url]', 'already_subscribed' => '已經訂閱', 'and' => '和', 'apply' => '接受', +'approvals_and_reviews_accepted' => '', +'approvals_and_reviews_not_touched' => '', +'approvals_and_reviews_rejected' => '', 'approval_deletion_email' => '審核請求已被刪除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -254,6 +257,7 @@ URL: [url]', 'confirm_rm_transmittal' => '', 'confirm_rm_transmittalitem' => '', 'confirm_rm_user' => '您確定要刪除"[username]"用戶?
          請注意:此動作執行後不能撤銷.', +'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '您確定要刪除"[documentname]文檔的[version]版本檔?
          請注意:此動作執行後不能撤銷.', 'confirm_update_transmittalitem' => '', 'content' => '內容', @@ -831,6 +835,7 @@ URL: [url]', 'rm_transmittal' => '', 'rm_transmittalitem' => '', 'rm_user' => '刪除該用戶', +'rm_user_from_processes' => '', 'rm_version' => '刪除該版本', 'rm_workflow' => '', 'rm_workflow_action' => '', @@ -1259,6 +1264,7 @@ URL: [url]', 'splash_rm_role' => '', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', +'splash_rm_user_processes' => '', 'splash_saved_file' => '', 'splash_save_user_data' => '', 'splash_send_download_link' => '', From a0600573dcac49a7b1cae7ffe1e8bc03b8bed495 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 18:22:53 +0200 Subject: [PATCH 091/169] add methods isMandatoryReviewerOf() and isMandatoryApproverOf() --- SeedDMS_Core/Core/inc.ClassUser.php | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 0dd1ff702..bea83a719 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -1209,6 +1209,52 @@ class SeedDMS_Core_User { /* {{{ */ return $resArr; } /* }}} */ + /** + * Get a list of users this user is a mandatory reviewer of + * + * This method is the reverse function of getMandatoryReviewers(). It returns + * those user where the current user is a mandatory reviewer. + * + * @return array list of users where this user is a mandatory reviewer. + */ + function isMandatoryReviewerOf() { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = "SELECT * FROM `tblMandatoryReviewers` WHERE `reviewerUserID` = " . $this->_id; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) return false; + + $users = array(); + foreach($resArr as $res) { + $users[] = self::getInstance($res['userID'], $this->_dms); + } + + return $users; + } /* }}} */ + + /** + * Get a list of users this user is a mandatory approver of + * + * This method is the reverse function of getMandatoryApprovers(). It returns + * those user where the current user is a mandatory approver. + * + * @return array list of users where this user is a mandatory approver. + */ + function isMandatoryApproverOf() { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = "SELECT * FROM `tblMandatoryApprovers` WHERE `approverUserID` = " . $this->_id; + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) return false; + + $users = array(); + foreach($resArr as $res) { + $users[] = self::getInstance($res['userID'], $this->_dms); + } + + return $users; + } /* }}} */ + /** * Get the mandatory workflow * A user which isn't trusted completely may have assigned mandatory From 8513e5c2a8ce31a3f9ee7822c44a0bfde85e1c24 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 18:23:37 +0200 Subject: [PATCH 092/169] add note for 5.1.3 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 5e1586a0a..5c59126cc 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -27,6 +27,7 @@ - SeedDMS_Core_Document::getNotifyList() and SeedDMS_Core_Folder::getNotifyList() returns just users which are not disabled - add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User +- add methods isMandatoryReviewerOf() and isMandatoryApproverOf() From 25a1392d5ca3ba47b0f43a20980e3bcdcd1ea6e7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 18:23:56 +0200 Subject: [PATCH 093/169] list number of users the selected user is a mandatory reviewer/approver of --- views/bootstrap/class.UsrMgr.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index cccbc3eb7..cc734a7fd 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -131,6 +131,14 @@ $(document).ready( function() { } echo "
          \n"; } + $resArr = $seluser->isMandatoryReviewerOf(); + if($resArr) { + echo "\n"; + } + $resArr = $seluser->isMandatoryApproverOf(); + if($resArr) { + echo "\n"; + } } if($workflowmode == 'advanced') { $workflows = $seluser->getWorkflowsInvolved(); From baa4b3264be9874987a3180357df2bc54737d4fe Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Jul 2017 18:26:59 +0200 Subject: [PATCH 094/169] - add entry 5.1.3 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index a639de53b..28a72b725 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,7 @@ - notifications are only send to none disabled users - nicer layout in user manager, group buttons, more information - merged changes from 5.0.13 +- show number of users where the select user is a mandatory reviewer/approver of -------------------------------------------------------------------------------- Changes in version 5.1.2 From 67f2d70ce4c3a7f590f2761d4c90ec2777260984 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:24:42 +0200 Subject: [PATCH 095/169] fix uploading of attachments --- op/op.AddFile.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/op/op.AddFile.php b/op/op.AddFile.php index 32d67c93a..80f0e6c31 100644 --- a/op/op.AddFile.php +++ b/op/op.AddFile.php @@ -44,11 +44,12 @@ if ($document->getAccessMode($user) < M_READWRITE) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); } -if(isset($_POST['fineuploaderuuids']) && $_POST['fineuploaderuuids']) { - $uuids = explode(';', $_POST['fineuploaderuuids']); - $names = explode(';', $_POST['fineuploadernames']); +$prefix = 'userfile'; +if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) { + $uuids = explode(';', $_POST[$prefix.'-fine-uploader-uuids']); + $names = explode(';', $_POST[$prefix.'-fine-uploader-names']); foreach($uuids as $i=>$uuid) { - $fullfile = $settings->_stagingDir.'/'.basename($uuid); + $fullfile = $settings->_stagingDir.'/'.utf8_basename($uuid); if(file_exists($fullfile)) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mimetype = finfo_file($finfo, $fullfile); From 58ddbca857117b94263f8485c8556ad6cfcee1be Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:25:33 +0200 Subject: [PATCH 096/169] add new methods transferDocumentsFolders() transferEvents() --- SeedDMS_Core/Core/inc.ClassUser.php | 156 +++++++++++++++++++++------- 1 file changed, 119 insertions(+), 37 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index bea83a719..8e56fd4fa 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -478,7 +478,7 @@ class SeedDMS_Core_User { /* {{{ */ * Remove user from all processes * * This method adds another log entry to the reviews and approvals - * which indicates the user has been deleted from the process. It will + * which indicates the user has been deleted from the process. By default it will * do so for each review/approval regardless of its current state. So even * reviews/approvals already processed by the user will be added the log * entry. Only if the last log entry was a removal already, it will not be @@ -487,6 +487,8 @@ class SeedDMS_Core_User { /* {{{ */ * @param object $user the user doing the removal (needed for entry in * review and approve log). * @param array $states remove user only from reviews/approvals in one of the states + * If passing array(0), the method will operate on reviews/approval which + * has not been touched. * @return boolean true on success or false in case of an error */ private function __removeFromProcesses($user, $states = array()) { /* {{{ */ @@ -540,6 +542,114 @@ class SeedDMS_Core_User { /* {{{ */ return true; } /* }}} */ + /** + * Transfer documents and folders to another user + * + * @param object $assignToUser the user who is new owner of folders and + * documents which previously were owned by the delete user. + * @return boolean true on success or false in case of an error + */ + private function __transferDocumentsFolders($assignToUser) { /* {{{ */ + $db = $this->_dms->getDB(); + + if(!$assignToUser) + return false; + + /* Assign documents of the removed user to the given user */ + $queryStr = "UPDATE `tblFolders` SET `owner` = " . $assignToUser->getID() . " WHERE `owner` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + $queryStr = "UPDATE `tblDocuments` SET `owner` = " . $assignToUser->getID() . " WHERE `owner` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + $queryStr = "UPDATE `tblDocumentContent` SET `createdBy` = " . $assignToUser->getID() . " WHERE `createdBy` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + // ... but keep public links + $queryStr = "UPDATE `tblDocumentLinks` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + // set administrator for deleted user's attachments + $queryStr = "UPDATE `tblDocumentFiles` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + return true; + } /* }}} */ + + /** + * Transfer documents and folders to another user + * + * @param object $assignToUser the user who is new owner of folders and + * documents which previously were owned by the delete user. + * @return boolean true on success or false in case of an error + */ + public function transferDocumentsFolders($assignToUser) { /* {{{ */ + $db = $this->_dms->getDB(); + + if($assignToUser->getID() == $this->_id) + return true; + + $db->startTransaction(); + if(!$this->__transferDocumentsFolders($assignToUser)) { + $db->rollbackTransaction(); + return false; + } + $db->commitTransaction(); + return true; + } /* }}} */ + + /** + * Transfer events to another user + * + * @param object $assignToUser the user who is new owner of events + * @return boolean true on success or false in case of an error + */ + private function __transferEvents($assignToUser) { /* {{{ */ + $db = $this->_dms->getDB(); + + if(!$assignToUser) + return false; + + // set new owner of events + $queryStr = "UPDATE `tblEvents` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id; + if (!$db->getResult($queryStr)) { + return false; + } + + return true; + } /* }}} */ + + /** + * Transfer events to another user + * + * @param object $assignToUser the user who is new owner of events + * @return boolean true on success or false in case of an error + */ + public function transferEvents($assignToUser) { /* {{{ */ + $db = $this->_dms->getDB(); + + if($assignToUser->getID() == $this->_id) + return true; + + $db->startTransaction(); + if(!$this->__transferEvents($assignToUser)) { + $db->rollbackTransaction(); + return false; + } + $db->commitTransaction(); + return true; + } /* }}} */ + /** * Remove the user and also remove all its keywords, notifications, etc. * Do not remove folders and documents of the user, but assign them @@ -594,25 +704,6 @@ class SeedDMS_Core_User { /* {{{ */ return false; } - /* Assign documents of the removed user to the given user */ - $queryStr = "UPDATE `tblFolders` SET `owner` = " . $assignTo . " WHERE `owner` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; - } - - $queryStr = "UPDATE `tblDocuments` SET `owner` = " . $assignTo . " WHERE `owner` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; - } - - $queryStr = "UPDATE `tblDocumentContent` SET `createdBy` = " . $assignTo . " WHERE `createdBy` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; - } - // Remove private links on documents ... $queryStr = "DELETE FROM `tblDocumentLinks` WHERE `userID` = " . $this->_id . " AND `public` = 0"; if (!$db->getResult($queryStr)) { @@ -620,18 +711,10 @@ class SeedDMS_Core_User { /* {{{ */ return false; } - // ... but keep public links - $queryStr = "UPDATE `tblDocumentLinks` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; - } - - // set administrator for deleted user's attachments - $queryStr = "UPDATE `tblDocumentFiles` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; + /* Assign documents, folders, files, public document links of the removed user to the given user */ + if(!$this->__transferDocumentsFolders($assignToUser)) { + $db->rollbackTransaction(); + return false; } // unlock documents locked by the user @@ -713,11 +796,10 @@ class SeedDMS_Core_User { /* {{{ */ return false; } - // set administrator for deleted user's events - $queryStr = "UPDATE `tblEvents` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id; - if (!$db->getResult($queryStr)) { - $db->rollbackTransaction(); - return false; + /* Assign events of the removed user to the given user */ + if(!$this->__transferEvents($assignToUser)) { + $db->rollbackTransaction(); + return false; } // Delete user itself From 36e2b29e8aa6b2ddcf89c1f36767969e44009b52 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:26:34 +0200 Subject: [PATCH 097/169] add note for 5.1.3 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 5c59126cc..0ace4e4ef 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -28,6 +28,7 @@ returns just users which are not disabled - add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User - add methods isMandatoryReviewerOf() and isMandatoryApproverOf() +- add methods transferDocumentsFolders() and transferEvents() From ca58278f29dd1e3a494f01fcbd661682f9515909 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:27:32 +0200 Subject: [PATCH 098/169] new files for transfering docs, folders, etc. to a new owner --- out/out.TransferObjects.php | 57 ++++++++++++++ views/bootstrap/class.TransferObjects.php | 90 +++++++++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100644 out/out.TransferObjects.php create mode 100644 views/bootstrap/class.TransferObjects.php diff --git a/out/out.TransferObjects.php b/out/out.TransferObjects.php new file mode 100644 index 000000000..7b45fe4a9 --- /dev/null +++ b/out/out.TransferObjects.php @@ -0,0 +1,57 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +if (!isset($_GET["userid"]) || !is_numeric($_GET["userid"]) || intval($_GET["userid"])<1) { + UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id")); +} + +$rmuser = $dms->getUser(intval($_GET["userid"])); +if (!is_object($rmuser)) { + UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id")); +} + +if ($rmuser->getID()==$user->getID()) { + UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself")); +} + +$allusers = $dms->getAllUsers($settings->_sortUsersInList); + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); +if($view) { + $view->setParam('rmuser', $rmuser); + $view->setParam('allusers', $allusers); + $view($_GET); + exit; +} + +?> diff --git a/views/bootstrap/class.TransferObjects.php b/views/bootstrap/class.TransferObjects.php new file mode 100644 index 000000000..70f97ab91 --- /dev/null +++ b/views/bootstrap/class.TransferObjects.php @@ -0,0 +1,90 @@ + + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Include parent class + */ +require_once("class.Bootstrap.php"); + +/** + * Class which outputs the html page for TransferObjects view + * + * @category DMS + * @package SeedDMS + * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_TransferObjects extends SeedDMS_Bootstrap_Style { + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $rmuser = $this->params['rmuser']; + $allusers = $this->params['allusers']; + + $this->htmlStartPage(getMLText("admin_tools")); + $this->globalNavigation(); + $this->contentStart(); + $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); + $this->contentHeading(getMLText("transfer_objects")); + +?> +
          + htmlspecialchars($rmuser->getFullName())));?> +
          +contentContainerStart(); +?> +
          + + + + +
          + +
          + +
          +
          + +
          +
          + +
          +
          + + +contentContainerEnd(); + $this->contentEnd(); + $this->htmlEndPage(); + } /* }}} */ +} +?> From 2d2dd8f1bfb08a6cc16df182fca062a72995194a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:28:39 +0200 Subject: [PATCH 099/169] docs, folders etc. can be transferred --- op/op.UsrMgr.php | 47 ++++++++++++++++++++++++++++++++ views/bootstrap/class.UsrMgr.php | 19 +++++++++++-- 2 files changed, 63 insertions(+), 3 deletions(-) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index 69c56243e..49d5be2c6 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -213,6 +213,53 @@ else if ($action == "removefromprocesses") { } } +// transfer all objects from one user to another one +else if ($action == "transferobjects") { + + /* Check if the form data comes from a trusted request */ + if(!checkFormKey('transferobjects')) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); + } + + if (isset($_POST["userid"])) { + $userid = $_POST["userid"]; + } + + if (!isset($userid) || !is_numeric($userid) || intval($userid)<1) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); + } + + /* Check if one wants to transfer his/her own objects. + */ + if ($userid==$user->getID()) { + UI::exitError(getMLText("admin_tools"),getMLText("cannot_transfer_your_objects")); + } + + $userToRemove = $dms->getUser($userid); + if (!is_object($userToRemove)) { + UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); + } + + $userToAssign = $dms->getUser($_POST["assignTo"]); + if (!$userToRemove->remove($user, $userToAssign)) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + } + +// if(isset($_POST["status"]) && is_array($_POST["status"]) && $_POST["status"]) { + if (!$userToRemove->transferDocumentsFolders($userToAssign)) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + } + + if (!$userToRemove->transferEvents($userToAssign)) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + } + + add_log_line(".php&action=transferobjects&userid=".$userid); + + $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_transfer_objects'))); +// } +} + // modify user ------------------------------------------------------------ else if ($action == "edituser") { diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index cc734a7fd..214479649 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -166,12 +166,25 @@ $(document).ready( function() { $undeluserids = $this->params['undeluserids']; if($seluser) { +?> + + Date: Mon, 31 Jul 2017 11:29:24 +0200 Subject: [PATCH 100/169] use bootstrap forms --- views/bootstrap/class.RemoveUser.php | 28 ++++++++----- .../class.RemoveUserFromProcesses.php | 40 ++++++++++++++----- 2 files changed, 50 insertions(+), 18 deletions(-) diff --git a/views/bootstrap/class.RemoveUser.php b/views/bootstrap/class.RemoveUser.php index 12e898098..355788dd7 100644 --- a/views/bootstrap/class.RemoveUser.php +++ b/views/bootstrap/class.RemoveUser.php @@ -42,20 +42,25 @@ class SeedDMS_View_RemoveUser extends SeedDMS_Bootstrap_Style { $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("rm_user")); - $this->contentContainerStart(); ?> -
          +
          + htmlspecialchars($rmuser->getFullName())));?> +
          +contentContainerStart(); +?> + -

          - htmlspecialchars($rmuser->getFullName())));?> -

          -

          +

          +
          + -

          +
          +
          + +
          +
          globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); - $this->contentHeading(getMLText("rm_user")); + $this->contentHeading(getMLText("rm_user_from_processes")); +?> +
          + htmlspecialchars($rmuser->getFullName())));?> +
          +contentContainerStart(); ?> -
          + -

          - htmlspecialchars($rmuser->getFullName())));?> -

          getReviewStatus(); @@ -67,19 +69,39 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $tmpa[$ai['status']] = array($ai); } ?> -

          - count($tmpa["0"]), 'no_reviews' => count($tmpr["0"]))); ?>
          +

          +
          + +
          +
          +
          +
          + +
          +
          +
          +
          + +
          +
          -

          -

          +
          +
          + +
          +
          Date: Mon, 31 Jul 2017 11:29:45 +0200 Subject: [PATCH 101/169] fix upload of attachments --- views/bootstrap/class.AddFile.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.AddFile.php b/views/bootstrap/class.AddFile.php index 9414e19b7..e05ec8b10 100644 --- a/views/bootstrap/class.AddFile.php +++ b/views/bootstrap/class.AddFile.php @@ -78,7 +78,7 @@ $(document).ready( function() { if($enablelargefileupload) { ?> submitHandler: function(form) { - manualuploader.uploadStoredFiles(); + userfileuploader.uploadStoredFiles(); }, fineuploaderuuids: { - fineuploader: [ manualuploader ] + fineuploader: [ userfileuploader ] } Date: Mon, 31 Jul 2017 11:30:23 +0200 Subject: [PATCH 102/169] new entry for 5.1.3 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 28a72b725..a7eee7bdf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -9,6 +9,8 @@ - nicer layout in user manager, group buttons, more information - merged changes from 5.0.13 - show number of users where the select user is a mandatory reviewer/approver of +- fix upload of attachments +- documents, folders, files, events can be moved to a new user -------------------------------------------------------------------------------- Changes in version 5.1.2 From bdf27e260b69b2823daf260c3fcc093b687598e2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:36:32 +0200 Subject: [PATCH 103/169] new phrases --- languages/ar_EG/lang.inc | 4 ++++ languages/bg_BG/lang.inc | 4 ++++ languages/ca_ES/lang.inc | 4 ++++ languages/cs_CZ/lang.inc | 4 ++++ languages/de_DE/lang.inc | 6 +++++- languages/el_GR/lang.inc | 4 ++++ languages/en_GB/lang.inc | 6 +++++- languages/es_ES/lang.inc | 4 ++++ languages/fr_FR/lang.inc | 4 ++++ languages/hr_HR/lang.inc | 4 ++++ languages/hu_HU/lang.inc | 4 ++++ languages/it_IT/lang.inc | 4 ++++ languages/ko_KR/lang.inc | 4 ++++ languages/nl_NL/lang.inc | 4 ++++ languages/pl_PL/lang.inc | 4 ++++ languages/pt_BR/lang.inc | 4 ++++ languages/ro_RO/lang.inc | 4 ++++ languages/ru_RU/lang.inc | 4 ++++ languages/sk_SK/lang.inc | 4 ++++ languages/sv_SE/lang.inc | 4 ++++ languages/tr_TR/lang.inc | 4 ++++ languages/uk_UA/lang.inc | 4 ++++ languages/zh_CN/lang.inc | 4 ++++ languages/zh_TW/lang.inc | 4 ++++ 24 files changed, 98 insertions(+), 2 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index c93fc4c1c..dff22de10 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -270,6 +270,7 @@ URL: [url]', 'confirm_rm_user' => 'هل تود حقا ازالة المستخدم "[username]"?
          كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'هل تود حقا ازالة الاصدار [version] الخاص بالمستند "[documentname]"?
          كن حذرا: هذا الاجراء لايمكن التراجع فيه', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'المحتوى', 'continue' => 'استمرار', @@ -1403,6 +1404,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => 'الحالة', @@ -1478,6 +1480,8 @@ URL: [url]', 'toggle_manager' => 'رجح مدير', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'تم تحريك انتقال مسار العمل', 'transition_triggered_email_body' => 'تم تحريك انتقال مسار العمل المستند: [name] diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 152f25ec1..97519e7b0 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -255,6 +255,7 @@ $text = array( 'confirm_rm_user' => 'Изтрий потребител "[username]"?
          Действието е перманентно', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Изтрий версия на [version] документ "[documentname]"?
          Действието е перманентно', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Съдържание', 'continue' => 'Продължи', @@ -1268,6 +1269,7 @@ $text = array( 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => 'Статус', @@ -1343,6 +1345,8 @@ $text = array( 'toggle_manager' => 'Превключи мениджър', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Забелязана промяна на процес', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index c12cc2f1d..162175d4d 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -260,6 +260,7 @@ URL: [url]', 'confirm_rm_user' => '¿Vol realment eliminar l\'usuari "[username]"?
          Atenció: aquesta acció no es pot desfer.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '¿Vol realment eliminar la versió [version] del document "[documentname]"?
          Atenció: aquesta acció no es pot desfer.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Contingut', 'continue' => 'Continuar', @@ -1273,6 +1274,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => 'Estat', @@ -1348,6 +1350,8 @@ URL: [url]', 'toggle_manager' => 'Intercanviar manager', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index b319369d9..196fd9048 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -277,6 +277,7 @@ URL: [url]', 'confirm_rm_user' => 'Skutečně chcete odstranit uživatele "[username]"?
          Pozor: Akce je nevratná.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Skutečně chcete odstranit verzi [version] dokumentu "[documentname]"?
          Buďte opatrní: Tuto činnost není možné vrátit zpět.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Domů', 'continue' => 'Pokračovat', @@ -1412,6 +1413,7 @@ URL: [url]', 'splash_substituted_user' => 'Zaměněný uživatel', 'splash_switched_back_user' => 'Přepnuto zpět na původního uživatele', 'splash_toogle_group_manager' => 'Manažer skupiny přepnut', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Stav/Další stav', 'statistic' => 'Statistika', 'status' => 'Stav', @@ -1487,6 +1489,8 @@ URL: [url]', 'toggle_manager' => 'Přepnout správce', 'toggle_qrcode' => '', 'to_before_from' => 'Datum ukončení nesmí být před datem zahájení', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Transformace pracovního postupu spuštěna', 'transition_triggered_email_body' => 'Transformace pracovního postupu spuštěna Dokument: [jméno] diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 9190b4289..593dca6b7 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 (2439), dgrutsch (22) +// Translators: Admin (2443), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Möchten Sie wirklich den Benutzer "[username]" löschen?
          Beachten Sie, dass diese Operation nicht rückgängig gemacht werden kann.', 'confirm_rm_user_from_processes' => 'Möchten Sie wirklich den Benutzer "[username]" aus allen Prozessen löschen?
          Beachten Sie, dass dies möglicherweise in der Freigabe von Dokumenten resultiert, wenn der Benutzer der einzige oder letzte Prüfer ist.', 'confirm_rm_version' => 'Wollen Sie die Version [version] des Dokumentes "[documentname]" wirklich löschen?
          Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden.', +'confirm_transfer_objects' => 'Möchten Sie wirklich die Dokumente, Ordner, etc. des Benutzer "[username]" übertragen?
          Beachten Sie, dass diese Operation nicht rückgängig gemacht werden kann.', 'confirm_update_transmittalitem' => 'Aktualisierung bestätigen', 'content' => 'Inhalt', 'continue' => 'fortführen', @@ -1468,6 +1469,7 @@ URL: [url]', 'splash_substituted_user' => 'Benutzer gewechselt', 'splash_switched_back_user' => 'Zum ursprünglichen Benutzer zurückgekehrt', 'splash_toogle_group_manager' => 'Gruppenverwalter gewechselt', +'splash_transfer_objects' => 'Objekte übertragen', 'state_and_next_state' => 'Status/Nächster Status', 'statistic' => 'Statistik', 'status' => 'Status', @@ -1543,6 +1545,8 @@ URL: [url]', 'toggle_manager' => 'Managerstatus wechseln', 'toggle_qrcode' => 'Zeige/verberge QR-Code', 'to_before_from' => 'Endedatum darf nicht vor dem Startdatum liegen', +'transfer_objects' => 'Objekte übertragen', +'transfer_objects_to_user' => 'Neuer Eigentümer', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered Document: [name] diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index bcfaababd..4fa1ce087 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -255,6 +255,7 @@ $text = array( 'confirm_rm_user' => '', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Περιεχόμενο', 'continue' => '', @@ -1279,6 +1280,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => '', @@ -1354,6 +1356,8 @@ URL: [url]', 'toggle_manager' => '', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index c1ff080b9..4bd0ea99a 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 (1568), dgrutsch (9), netixw (14) +// Translators: Admin (1572), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Do you really want to remove the user "[username]"?
          Be careful: This action cannot be undone.', 'confirm_rm_user_from_processes' => 'Do you really want to remove the user "[username]" from all processes?
          Be careful: This action can lead to the release of documents if the user was the only or last approver.', 'confirm_rm_version' => 'Do you really want to remove version [version] of document "[documentname]"?
          Be careful: This action cannot be undone.', +'confirm_transfer_objects' => 'Do you really want to transfer the documents, folders, etc. of the user "[username]"?
          Be careful: This action cannot be undone.', 'confirm_update_transmittalitem' => 'Confirm update', 'content' => 'Content', 'continue' => 'Continue', @@ -1463,6 +1464,7 @@ URL: [url]', 'splash_substituted_user' => 'Substituted user', 'splash_switched_back_user' => 'Switched back to original user', 'splash_toogle_group_manager' => 'Group manager toogled', +'splash_transfer_objects' => 'Objects transfered', 'state_and_next_state' => 'State/Next state', 'statistic' => 'Statistic', 'status' => 'Status', @@ -1538,6 +1540,8 @@ URL: [url]', 'toggle_manager' => 'Toggle manager', 'toggle_qrcode' => 'Show/hide QR code', 'to_before_from' => 'End date may not be before start date', +'transfer_objects' => 'Transfer objects', +'transfer_objects_to_user' => 'New owner', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered Document: [name] diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index feccc4d58..f047fae97 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -277,6 +277,7 @@ URL: [url]', 'confirm_rm_user' => '¿Desea realmente eliminar el usuario "[username]"?
          Atención: Esta acción no se puede deshacer.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '¿Desea realmente eliminar la versión [version] del documento "[documentname]"?
          Atención: esta acción no se puede deshacer.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Contenido', 'continue' => 'Continuar', @@ -1418,6 +1419,7 @@ URL: [url]', 'splash_substituted_user' => 'Usuario sustituido', 'splash_switched_back_user' => 'Cambió de nuevo al usuario original', 'splash_toogle_group_manager' => 'Administrador de grupo activado', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Estado/Estado siguiente', 'statistic' => 'Estadística', 'status' => 'Estado', @@ -1493,6 +1495,8 @@ URL: [url]', 'toggle_manager' => 'Intercambiar mánager', 'toggle_qrcode' => '', 'to_before_from' => 'La fecha de finalización no debe ser anterior a la de inicio', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered Documento: [name] diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index af8f082d7..c79b0e75f 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Voulez-vous vraiment supprimer l\'utilisateur "[username]"?
          Attention: Cette action ne peut pas être annulée.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Voulez-vous réellement supprimer la [version] du document "[documentname]"?
          Attention: Cette action ne peut pas être annulée.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Contenu', 'continue' => 'Continuer', @@ -1413,6 +1414,7 @@ URL: [url]', 'splash_substituted_user' => 'Utilisateur de substitution', 'splash_switched_back_user' => 'Revenu à l\'utilisateur initial', 'splash_toogle_group_manager' => 'Responsable de groupe changé', +'splash_transfer_objects' => '', 'state_and_next_state' => 'État initial/suivant', 'statistic' => 'Statistiques', 'status' => 'Statut', @@ -1488,6 +1490,8 @@ URL: [url]', 'toggle_manager' => 'Basculer \'Responsable\'', 'toggle_qrcode' => 'Afficher/masquer le QR code', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Transition de workflow activé', 'transition_triggered_email_body' => 'Transition de workflow déclenchée Document : [name] diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index ba9d06eee..fd30d26d8 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -282,6 +282,7 @@ Internet poveznica: [url]', 'confirm_rm_user' => 'Da li zaista želite ukloniti korisnika "[username]"?
          Oprez: ova radnja nije povratna.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Da li zaista želite ukloniti verziju [version] dokumenta "[documentname]"?
          Oprez: ova radnja nije povratna.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => 'Potvrdi izmjenu', 'content' => 'Sadržaj', 'continue' => 'Nastavi', @@ -1439,6 +1440,7 @@ Internet poveznica: [url]', 'splash_substituted_user' => 'Zamjenski korisnik', 'splash_switched_back_user' => 'Prebačeno nazad na izvornog korisnika', 'splash_toogle_group_manager' => 'Zamjenjen upravitelj grupe', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Status/Slijedeći status', 'statistic' => 'Statistika', 'status' => 'Status', @@ -1514,6 +1516,8 @@ Internet poveznica: [url]', 'toggle_manager' => 'Zamjeni upravitelja', 'toggle_qrcode' => '', 'to_before_from' => 'Datum završetka ne može biti prije datuma početka', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Zatražena promjena toka rada', 'transition_triggered_email_body' => 'Zatražena promjena toka rada Dokument: [name] diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 9e0595f9d..c3e35cbc3 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -277,6 +277,7 @@ URL: [url]', 'confirm_rm_user' => 'Biztosan el kívánja távolítani ezt a felhasználót "[username]"?
          Legyen óvatos: Ez a művelet nem vonható vissza.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Biztosan el kívánaj távolítani a dokumentum "[documentname]" [version] verzióját?
          Legyen óvatos: Ez a művelet nem vonható vissza.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Tartalom', 'continue' => 'Folytatás', @@ -1417,6 +1418,7 @@ URL: [url]', 'splash_substituted_user' => 'Helyettesített felhasználó', 'splash_switched_back_user' => 'Visszaváltva az eredeti felhasználóra', 'splash_toogle_group_manager' => 'Csoport kezelő kiválasztva', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Állapot/Következő állapot', 'statistic' => 'Statisztika', 'status' => 'Állapot', @@ -1492,6 +1494,8 @@ URL: [url]', 'toggle_manager' => 'Kulcs kezelő', 'toggle_qrcode' => '', 'to_before_from' => 'A lejárati dátum nem előzheti meg a kezdési dátumot', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Munkamenet átmenet kiváltva', 'transition_triggered_email_body' => 'Munkafolyamat átmenet kiváltva Dokumentum: [name] diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index fd51bc554..212fc981d 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -283,6 +283,7 @@ URL: [url]', 'confirm_rm_user' => 'Vuoi davvero rimuovere l\'utente "[username]"? Attenzione: questa operazione non può essere annullata.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Vuoi veramente eliminare la versione [version] del documento "[documentname]"? Attenzione: questa operazione non può essere annullata.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => 'Conferma aggiornamento', 'content' => 'Contenuto', 'continue' => 'Continua', @@ -1451,6 +1452,7 @@ URL: [url]', 'splash_substituted_user' => 'Utente sostituito', 'splash_switched_back_user' => 'Ritorno all\'utente originale', 'splash_toogle_group_manager' => 'Amministratore di gruppo invertito', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Stato/Prossimo stato', 'statistic' => 'Statistiche', 'status' => 'Stato', @@ -1526,6 +1528,8 @@ URL: [url]', 'toggle_manager' => 'Gestore', 'toggle_qrcode' => 'Mostri / nascondi codice QR', 'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Inizio transizione del flusso di lavoro', 'transition_triggered_email_body' => 'Transizione del flusso di lavoro iniziata Documento: [name] diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index f86731e0c..5c4768a0e 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -284,6 +284,7 @@ URL: [url]', 'confirm_rm_user' => '사용자 "[username]"을 정말 삭제 하시겠습니까?
          주의: 취소가 불가능 합니다.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '문서 "[documentname]"의 버젼 [version]을 정말 삭제 하시겠습니까?
          주의: 취소가 불가능 합니다.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '업데이트 확인', 'content' => '콘텐츠', 'continue' => '계속', @@ -1432,6 +1433,7 @@ URL : [url]', 'splash_substituted_user' => '전환된 사용자', 'splash_switched_back_user' => '원래 사용자로 전환', 'splash_toogle_group_manager' => '그룹 관리자 전환', +'splash_transfer_objects' => '', 'state_and_next_state' => '상태 / 다음 상태', 'statistic' => '통계', 'status' => '상태', @@ -1507,6 +1509,8 @@ URL : [url]', 'toggle_manager' => '전환 매니저', 'toggle_qrcode' => '', 'to_before_from' => '종료일은 시작일 전이 될수 없습니다', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '워크플로우 전환 트리거', 'transition_triggered_email_body' => '워크플로우 전환 트리거 문서: [name] diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index b26cb193e..f7f2dcda1 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -275,6 +275,7 @@ URL: [url]', 'confirm_rm_user' => 'Weet U zeker dat U de Gebruiker "[username]" wilt verwijderen?
          Let op: deze handeling kan niet ongedaan worden gemaakt.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Weet U zeker dat U deze versie van het document "[documentname]" wilt verwijderen?
          Pas op: deze handeling kan niet ongedaan worden gemaakt.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => 'Bevestig verandering van te verzenden item', 'content' => 'Welkomstpagina', 'continue' => 'Doorgaan', @@ -1445,6 +1446,7 @@ URL: [url]', 'splash_substituted_user' => 'Invallers gebruiker', 'splash_switched_back_user' => 'Teruggeschakeld naar de oorspronkelijke gebruiker', 'splash_toogle_group_manager' => 'Group manager toogled', +'splash_transfer_objects' => '', 'state_and_next_state' => 'staat/ volgende staat', 'statistic' => 'Statistieken', 'status' => 'Status', @@ -1520,6 +1522,8 @@ URL: [url]', 'toggle_manager' => 'Wijzig Beheerder', 'toggle_qrcode' => '', 'to_before_from' => 'De einddatum mag niet voor de startdatum liggen', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Workflow-overgang geactiveerd', 'transition_triggered_email_body' => 'Workflow Overgang Document: [name] diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index ce1fa964e..ad3ebf5af 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -270,6 +270,7 @@ URL: [url]', 'confirm_rm_user' => 'Czy rzeczywiście chcesz usunąć użytkownika "[username]"?
          Ostrożnie: Ta operacja nie może być cofnięta.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Czy rzeczywiście chcesz usunąć wersję [version] dokumentu "[documentname]"?
          Ostrożnie: Ta operacja nie może być cofnięta.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Zawartość', 'continue' => 'Kontynuuj', @@ -1397,6 +1398,7 @@ URL: [url]', 'splash_substituted_user' => 'Zmieniono użytkownika', 'splash_switched_back_user' => 'Przełączono z powrotem do oryginalnego użytkownika', 'splash_toogle_group_manager' => 'Przełączono grupę menadżerów', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Status/Następny status', 'statistic' => 'Statystyka', 'status' => 'Status', @@ -1472,6 +1474,8 @@ URL: [url]', 'toggle_manager' => 'Przełączanie zarządcy', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Uruchomiono proces przepływu', 'transition_triggered_email_body' => 'Uruchomiono proces przepływu Dokument: [name] diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 52a461c30..fc97fbcfc 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -277,6 +277,7 @@ URL: [url]', 'confirm_rm_user' => 'Do you really want to remove the user "[username]"?
          Be careful: This action cannot be undone.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Deseja realmente remover versão [version] do documento "[documentname]"?
          Por favor, tenha cuidado porque esta ação não poderá ser desfeita.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Conteúdo', 'continue' => 'Continue', @@ -1415,6 +1416,7 @@ URL: [url]', 'splash_substituted_user' => 'Usuário substituido', 'splash_switched_back_user' => 'Comutada de volta ao usuário original', 'splash_toogle_group_manager' => 'Gerente Grupo alternado', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Estado/Próximo estado', 'statistic' => 'Estatística', 'status' => 'Status', @@ -1490,6 +1492,8 @@ URL: [url]', 'toggle_manager' => 'Toggle manager', 'toggle_qrcode' => '', 'to_before_from' => 'A data de término não pode ser anterior a data de início', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Transição de fluxo de trabalho desencadeado', 'transition_triggered_email_body' => 'Transição do fluxo de trabalho triggered Document: [name] diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 8cdbd5391..1e765c683 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Sigur doriți să eliminați utilizatorul "[username]"?
          Fiți atenți: Această acțiune nu poate fi anulată.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Sigur doriți să eliminați versiunea [version] a documentului "[documentname]"?
          Fiți atenți: Această acțiune nu poate fi anulată.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Conținut', 'continue' => 'Continuă', @@ -1440,6 +1441,7 @@ URL: [url]', 'splash_substituted_user' => 'Utilizator substituit', 'splash_switched_back_user' => 'Comutat înapoi la utilizatorul original', 'splash_toogle_group_manager' => 'Comută Managerul de grup', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Stare/Stare urmatoare', 'statistic' => 'Statistic', 'status' => 'Status', @@ -1515,6 +1517,8 @@ URL: [url]', 'toggle_manager' => 'Comută Manager', 'toggle_qrcode' => '', 'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Tranziție Workflow declanșată', 'transition_triggered_email_body' => 'Tranziție Workflow declanșată Document: [name] diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 771cab208..909ab33de 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Удалить пользователя «[username]»?
          Действие необратимо', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Удалить версию [version] документа «[documentname]»?
          Действие необратимо', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => 'Подтвердите обновление', 'content' => 'Содержимое', 'continue' => 'Продолжить', @@ -1447,6 +1448,7 @@ URL: [url]', 'splash_substituted_user' => 'Пользователь переключён', 'splash_switched_back_user' => 'Переключён на исходного пользователя', 'splash_toogle_group_manager' => 'Изменён менеджер группы', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Статус / следующий статус', 'statistic' => 'Статистика', 'status' => 'Статус', @@ -1522,6 +1524,8 @@ URL: [url]', 'toggle_manager' => 'Изменить как менеджера', 'toggle_qrcode' => '', 'to_before_from' => 'Конечная дата не может быть меньше начальной даты', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Изменено состояние процесса', 'transition_triggered_email_body' => 'Изменено состояние процесса Документ: [name] diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index bb4a37920..bc3fe57b1 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -259,6 +259,7 @@ URL: [url]', 'confirm_rm_user' => 'Skutočne si prajete odstrániť používateľa "[username]"?
          Buďte opatrní, táto akcia je nezvratná.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Naozaj chcete odstrániť verziu [version] dokumentu "[documentname]"?
          Buďte opatrní: Túto činnosť nemožno vrátiť späť.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Obsah', 'continue' => 'Pokračovať', @@ -1272,6 +1273,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => 'Stav', @@ -1347,6 +1349,8 @@ URL: [url]', 'toggle_manager' => 'Prepnúť stav manager', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 8b6d8164d..2c441631f 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -270,6 +270,7 @@ URL: [url]', 'confirm_rm_user' => 'Vill du verkligen ta bort användaren "[username]"?
          OBS! Användaren kan inte återskapas!', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Vill du verkligen ta bort versionen [version] av dokumentet "[documentname]"?
          OBS! Versionen kan inte återskapas!', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'Innehåll', 'continue' => 'Fortsätt', @@ -1403,6 +1404,7 @@ URL: [url]', 'splash_substituted_user' => 'Bytt användare', 'splash_switched_back_user' => 'Byt tillbaka till original användare', 'splash_toogle_group_manager' => 'Gruppmanager har ändrats', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Status/Nästa status', 'statistic' => 'Statistik', 'status' => 'Status', @@ -1478,6 +1480,8 @@ URL: [url]', 'toggle_manager' => 'Byt manager', 'toggle_qrcode' => '', 'to_before_from' => 'Slutdatum får inte vara innan startdatum', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Arbetsflödesövergång utlöstes', 'transition_triggered_email_body' => 'Arbetsflödesövergång utlöstes Dokument: [name] diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 5a35d7f57..1ef6e15bb 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -276,6 +276,7 @@ URL: [url]', 'confirm_rm_user' => '"[username]" kullanıcısını silmeyi onaylıyor musunuz?
          Dikkatli olun: Bu eylemin geri dönüşü yoktur.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '"[documentname]" dokümanının [version] versiyonunu silmek istiyor musunuz?
          Dikkatli olun: Bu eylemin geri dönüşü yoktur.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => 'İçerik', 'continue' => 'Devam', @@ -1419,6 +1420,7 @@ URL: [url]', 'splash_substituted_user' => 'Yerine geçilen kullanıcı', 'splash_switched_back_user' => 'Orijinal kullanıcıya geri dönüldü', 'splash_toogle_group_manager' => 'Grup yöneticisi değişti', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Durum/Sonraki durum', 'statistic' => 'İstatistik', 'status' => 'Durum', @@ -1494,6 +1496,8 @@ URL: [url]', 'toggle_manager' => 'Değişim yönetimi', 'toggle_qrcode' => '', 'to_before_from' => 'Bitiş tarihi başlama tarihinden önce olamaz', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'İş Akış Geçişi Tetiklendi', 'transition_triggered_email_body' => 'İş Akış Geçişi Tetiklendi Doküman: [name] diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 421e45582..7a2d28171 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -282,6 +282,7 @@ URL: [url]', 'confirm_rm_user' => 'Видалити користувача «[username]»?
          Дія незворотня', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => 'Видалити версію [version] документа «[documentname]»?
          Дія незворотня', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => 'Підтвердити оновлення', 'content' => 'Вміст', 'continue' => 'Продовжити', @@ -1440,6 +1441,7 @@ URL: [url]', 'splash_substituted_user' => 'Користувача переключено', 'splash_switched_back_user' => 'Переключено на початкового користувача', 'splash_toogle_group_manager' => 'Змінено менеджера групи', +'splash_transfer_objects' => '', 'state_and_next_state' => 'Статус / наступний статус', 'statistic' => 'Статистика', 'status' => 'Статус', @@ -1515,6 +1517,8 @@ URL: [url]', 'toggle_manager' => 'Змінити ознаку менеджера', 'toggle_qrcode' => '', 'to_before_from' => 'Кінцева дата не може бути меншою початкової дати', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => 'Змінено стан процесу', 'transition_triggered_email_body' => 'Змінено стан процесу Документ: [name] diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 206a4e3a0..03490b1ce 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -259,6 +259,7 @@ URL: [url]', 'confirm_rm_user' => '您确定要删除"[username]"用户?
          请注意:此动作执行后不能撤销.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '您确定要删除"[documentname]文档的[version]版本文件?
          请注意:此动作执行后不能撤销.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => '内容', 'continue' => '继续', @@ -1274,6 +1275,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '统计', 'status' => '状态', @@ -1349,6 +1351,8 @@ URL: [url]', 'toggle_manager' => '角色切换', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index afe63e35a..c0822701b 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -259,6 +259,7 @@ URL: [url]', 'confirm_rm_user' => '您確定要刪除"[username]"用戶?
          請注意:此動作執行後不能撤銷.', 'confirm_rm_user_from_processes' => '', 'confirm_rm_version' => '您確定要刪除"[documentname]文檔的[version]版本檔?
          請注意:此動作執行後不能撤銷.', +'confirm_transfer_objects' => '', 'confirm_update_transmittalitem' => '', 'content' => '內容', 'continue' => '繼續', @@ -1272,6 +1273,7 @@ URL: [url]', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', 'splash_toogle_group_manager' => '', +'splash_transfer_objects' => '', 'state_and_next_state' => '', 'statistic' => '', 'status' => '狀態', @@ -1347,6 +1349,8 @@ URL: [url]', 'toggle_manager' => '角色切換', 'toggle_qrcode' => '', 'to_before_from' => '', +'transfer_objects' => '', +'transfer_objects_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', 'transition_triggered_email_subject' => '', From 114a8a3ac1708c51ee6563d322176c7869d5a0f7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 11:54:24 +0200 Subject: [PATCH 104/169] move code in remove() into __removeFromProcesses() --- SeedDMS_Core/Core/inc.ClassUser.php | 47 +++++++++++++++-------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 4b92bbcd2..9a8d9767f 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -785,6 +785,31 @@ class SeedDMS_Core_User { /* {{{ */ } } } + + $receiptStatus = $this->getReceiptStatus(); + foreach ($receiptStatus["indstatus"] as $ri) { + if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ri["receiptID"] ."', '-2', 'Recipient removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } + } + } + + $revisionStatus = $this->getRevisionStatus(); + foreach ($revisionStatus["indstatus"] as $ri) { + if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('". $ri["revisionID"] ."', '-2', 'Revisor removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + $res=$db->getResult($queryStr); + if(!$res) { + return false; + } + } + } + return true; } /* }}} */ @@ -1086,28 +1111,6 @@ class SeedDMS_Core_User { /* {{{ */ return false; } - $receiptStatus = $this->getReceiptStatus(); - foreach ($receiptStatus["indstatus"] as $ri) { - $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ri["receiptID"] ."', '-2', 'Recipient removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { - $db->rollbackTransaction(); - return false; - } - } - - $revisionStatus = $this->getRevisionStatus(); - foreach ($revisionStatus["indstatus"] as $ri) { - $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('". $ri["revisionID"] ."', '-2', 'Revisor removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - $res=$db->getResult($queryStr); - if(!$res) { - $db->rollbackTransaction(); - return false; - } - } - $db->commitTransaction(); return true; } /* }}} */ From acb63375037547ac36bf5e152fc1d8408f7cc0a4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 12:41:28 +0200 Subject: [PATCH 105/169] remove receipts and revisions --- .../class.RemoveUserFromProcesses.php | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php index 422f07a4c..302faf46d 100644 --- a/views/bootstrap/class.RemoveUserFromProcesses.php +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -68,6 +68,24 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { else $tmpa[$ai['status']] = array($ai); } + + $receiptStatus = $rmuser->getReceiptStatus(); + $tmpb = array(); + foreach($approvalStatus['indstatus'] as $ai) { + if(isset($tmpb[$ai['status']])) + $tmpb[$ai['status']][] = $ai; + else + $tmpb[$ai['status']] = array($ai); + } + + $revisionStatus = $rmuser->getRevisionStatus(); + $tmpc = array(); + foreach($approvalStatus['indstatus'] as $ai) { + if(isset($tmpc[$ai['status']])) + $tmpc[$ai['status']][] = $ai; + else + $tmpc[$ai['status']] = array($ai); + } ?>
          @@ -97,6 +115,62 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          + +
          +
          + +
          +
          + + +
          +
          + +
          +
          + + +
          +
          + +
          +
          + + + +
          +
          + +
          +
          + + +
          +
          + +
          +
          + + +
          +
          + +
          +
          + +
          From 60fca04ddaab9e0af878423a16c954e41c856af7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 12:42:18 +0200 Subject: [PATCH 106/169] new phrases --- languages/ar_EG/lang.inc | 6 ++++++ languages/bg_BG/lang.inc | 6 ++++++ languages/ca_ES/lang.inc | 6 ++++++ languages/cs_CZ/lang.inc | 6 ++++++ languages/de_DE/lang.inc | 8 +++++++- languages/el_GR/lang.inc | 6 ++++++ languages/en_GB/lang.inc | 8 +++++++- languages/es_ES/lang.inc | 6 ++++++ languages/fr_FR/lang.inc | 6 ++++++ languages/hr_HR/lang.inc | 6 ++++++ languages/hu_HU/lang.inc | 6 ++++++ languages/it_IT/lang.inc | 6 ++++++ languages/ko_KR/lang.inc | 6 ++++++ languages/nl_NL/lang.inc | 6 ++++++ languages/pl_PL/lang.inc | 6 ++++++ languages/pt_BR/lang.inc | 6 ++++++ languages/ro_RO/lang.inc | 6 ++++++ languages/ru_RU/lang.inc | 6 ++++++ languages/sk_SK/lang.inc | 6 ++++++ languages/sv_SE/lang.inc | 6 ++++++ languages/tr_TR/lang.inc | 6 ++++++ languages/uk_UA/lang.inc | 6 ++++++ languages/zh_CN/lang.inc | 6 ++++++ languages/zh_TW/lang.inc | 6 ++++++ 24 files changed, 146 insertions(+), 2 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index dff22de10..c961c895c 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -844,6 +844,9 @@ URL: [url]', 'quota_exceeded' => 'لقد قمت بتعدي المساحة المخصصة لك بمقدار [bytes].', 'quota_is_disabled' => '', 'quota_warning' => 'اقصى مساحة للقرص الصلب تم تعديها بمقدار [bytes]. من فضلك قم بمسح بعض المستندات او اصدارات سابقة منها', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -926,6 +929,9 @@ URL: [url]', 'review_update_failed' => 'خطأ في تحديث حالة المراجعة. التحديث فشل.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 97519e7b0..91d8b5bb4 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -745,6 +745,9 @@ $text = array( 'quota_exceeded' => 'Вашата дискова квота е превишена с [bytes].', 'quota_is_disabled' => '', 'quota_warning' => 'Вашето max. използуване на диска е превишена с [bytes]. Please remove documents or previous versions.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -804,6 +807,9 @@ $text = array( 'review_update_failed' => 'грешка при обновяване статуса на рецензията', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 162175d4d..68dbcacff 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -750,6 +750,9 @@ URL: [url]', 'quota_exceeded' => '', 'quota_is_disabled' => '', 'quota_warning' => '', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -809,6 +812,9 @@ URL: [url]', 'review_update_failed' => 'Error actualitzant l\'estat de la revisió. L\'actualizació ha fallat.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 196fd9048..329d6eccc 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -855,6 +855,9 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'quota_exceeded' => 'Vaše kvóta disku je překročena o [bytes].', 'quota_is_disabled' => 'Podpora kvót je v současné době zakázána v nastavení. Nastavení uživatelských kvót nebude mít žádný vliv, dokud se znovu neaktivuje.', 'quota_warning' => 'Vaše maximální využití disku je překročeno o [bajtů]. Prosím, odstraňte dokumenty nebo předchozí verze.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -935,6 +938,9 @@ URL: [url]', 'review_update_failed' => 'Chyba při aktualizaci stavu kontroly. Aktualizace selhala.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 593dca6b7..1660a12de 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 (2443), dgrutsch (22) +// Translators: Admin (2448), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -869,6 +869,9 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'quota_exceeded' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten.', 'quota_is_disabled' => 'Quota-Unterstützung ist zur Zeit ausgeschaltet. Benutzer-Quota werden ignoriert bis Quota-Unterstützung in den Einstellungen eingeschaltet wird.', 'quota_warning' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten. Bitte löschen Sie Dokumente oder ältere Versionen.', +'receipts_accepted' => '[no_receipts] Empfangsbestätigungen', +'receipts_not_touched' => '[no_receipts] offene Empfangsbestätigungen', +'receipts_rejected' => '[no_receipts] abgelehnte Empfangsbestätigungen', 'receipt_deletion_email_body' => 'Benutzer von Liste der Empfänger gelöscht Dokument: [name] Version: [version] @@ -979,6 +982,9 @@ URL: [url]', 'review_update_failed' => 'Störung bei Aktualisierung des Prüfstatus. Aktualisierung gescheitert.', 'revise_document' => 'Dokument überprüfen', 'revise_document_on' => 'Nächste Überprüfung des Dokuments am [date]', +'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen', +'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen', +'revisions_rejected' => '', 'revision_date' => 'Datum der Wiederholungsprüfung', 'revision_log' => 'Protokoll der erneuten Prüfung', 'revision_request_email_body' => 'Aufforderung zur Wiederholungsprüfung diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 4fa1ce087..c0d904cf3 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -756,6 +756,9 @@ URL: [url]', 'quota_exceeded' => '', 'quota_is_disabled' => '', 'quota_warning' => '', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -815,6 +818,9 @@ URL: [url]', 'review_update_failed' => '', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 4bd0ea99a..fb1165910 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 (1572), dgrutsch (9), netixw (14) +// Translators: Admin (1577), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -871,6 +871,9 @@ If you have still problems to login, then please contact your administrator.', 'quota_exceeded' => 'Your disk quota is exceeded by [bytes].', 'quota_is_disabled' => 'Quota support is currently disabled in the settings. Setting a user quota will have no effect until it is enabled again.', 'quota_warning' => 'Your maximum disc usage is exceeded by [bytes]. Please remove documents or previous versions.', +'receipts_accepted' => '[no_receipts] receipts already accepted', +'receipts_not_touched' => '[no_receipts] receipts not being touched', +'receipts_rejected' => '[no_receipts] receipts already rejected', 'receipt_deletion_email_body' => 'User has been removed from the list of recipients Document: [name] Version: [version] @@ -981,6 +984,9 @@ URL: [url]', 'review_update_failed' => 'Error updating review status. Update failed.', 'revise_document' => 'Revise document', 'revise_document_on' => 'Next revision of document version on [date]', +'revisions_accepted' => '[no_revisions] revisions already accepted', +'revisions_not_touched' => '[no_revisions] revisions not being touched', +'revisions_rejected' => '', 'revision_date' => 'Date of revision', 'revision_log' => 'Revision log', 'revision_request_email_body' => 'Revision request diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index f047fae97..903f34400 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -859,6 +859,9 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'quota_exceeded' => 'Su cuota de disco se ha excedido en [bytes].', 'quota_is_disabled' => 'La cuota está actualmente deshabilitada en las opciones. Establecer una cuota de usuario no tendrá efecto hasta que sea habilitada de nuevo.', 'quota_warning' => 'El máximo de uso de disco se ha excedido en [bytes]. Por favor eliminar documentos o versiones anteriores.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -941,6 +944,9 @@ URL: [url]', 'review_update_failed' => 'Error actualizando el estado de la revisión. La actualización ha fallado.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index c79b0e75f..dfed489bd 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -869,6 +869,9 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'quota_exceeded' => 'Votre quota de disque est dépassé de [bytes].', 'quota_is_disabled' => 'Le support des quotas est actuellement désactivé dans les réglages. Affecter un quota utilisateur n’aura pas d’effet jusqu’à ce qu’il soit de nouveau activé.', 'quota_warning' => 'Votre quota d’espace disque est dépassé de [bytes]. Veuillez supprimer des documents ou d\'anciennes versions.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => 'L’utilisateur a été retiré de la liste des destinataires Document : [name] Version : [version] @@ -949,6 +952,9 @@ URL: [url]', 'review_update_failed' => 'Erreur lors de la mise à jour de la correction. Echec de la mise à jour.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index fd30d26d8..09dd6404a 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -863,6 +863,9 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'quota_exceeded' => 'Vaša kvota na disku je premašena za [bytes].', 'quota_is_disabled' => 'Podrška kvoti je trenutno onemogućena u postavkama. Postavka korisničke kvote neće imati utjecaja dok se ponovno ne omogući.', 'quota_warning' => 'Vaš maksimalni prostor na disku je premašen za [bytes]. Molimo uklonite dokumente ili prethodne verzije.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Zapisi prijema', @@ -962,6 +965,9 @@ Internet poveznica: [url]', 'review_update_failed' => 'Greška kod izmjene statusa pregleda. Izmjena nije uspjela.', 'revise_document' => 'Revidiraj dokument', 'revise_document_on' => 'Slijedeća revizija verzije dokumenta na dan [date]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => 'Datum revizije', 'revision_log' => 'Zapisi revizije', 'revision_request_email_body' => '', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index c3e35cbc3..238bd0be9 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -859,6 +859,9 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'quota_exceeded' => 'Túllépte a lemezterület korlátot [bytes].', 'quota_is_disabled' => 'Kvóta támogatás jelenleg le van tiltva a beállításoknál. Felhasználói korlát beállítások nem kerülnek érvényesítésre amíg nincs újra engedélyezve.', 'quota_warning' => 'Túllépte lemez korlátot [bytes] bájttal. Kérjük távolítson el dokumentumokat vagy korábbi változatokat.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -941,6 +944,9 @@ URL: [url]', 'review_update_failed' => 'Hiba a felülvizsgálat állapot frissítése során. Frissítés sikertelen.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 212fc981d..333e5dc90 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -865,6 +865,9 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'quota_exceeded' => 'La quota-disco è stata superata di [bytes].', 'quota_is_disabled' => 'Il supporto per le quote è attualmente disattivato nelle impostazioni. L\'impostazione di una quota-utente non avrà alcun effetto finché tale funzionalità non verrà nuovamente attivata.', 'quota_warning' => 'Il vostro utilizzo massimo di spazio è stato superato di [bytes]. Si prega di rimuovere documenti o versioni obsolete.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Ricezione Log', @@ -969,6 +972,9 @@ URL: [url]', 'review_update_failed' => 'Errore nella variazione dello stato di revisione. Aggiornamento fallito.', 'revise_document' => 'Rivedi documento', 'revise_document_on' => 'Prossima revisione del documento il [date]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => 'data revisione', 'revision_log' => 'Log revisione', 'revision_request_email_body' => 'Richiesta di ricezione diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 5c4768a0e..c0ff1091b 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -856,6 +856,9 @@ URL : [url]', 'quota_exceeded' => '당신은 디스크 할당량 [bytes]을 초과한다.', 'quota_is_disabled' => '할당량 지원이 설정에서 비활성화되어 있습니다. 다시 활성화 될 때까지 사용자의 할당량 설정은 적용되지 않습니다.', 'quota_warning' => '당신의 최대 디스크 사용량 [bytes] 초과됩니다. 문서 또는 이전 버전을 제거하십시오.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '로그 수신', @@ -955,6 +958,9 @@ URL: [url]', 'review_update_failed' => '오류 업데이트 검토 상태. 업데이트에 실패했습니다 rewind_workflow워크플로우 되돌리기', 'revise_document' => '개정 문서', 'revise_document_on' => '문서 버전의 다음 개정 [날짜]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '개정 일자', 'revision_log' => '개정 로그', 'revision_request_email_body' => '수정 요청 메일 내용', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index f7f2dcda1..af1eb3018 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -857,6 +857,9 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'quota_exceeded' => 'Uw data quotum is overschreden met [bytes].', 'quota_is_disabled' => 'Quota support is momenteel niet actief in de eigenschappen. Een user-quotum instellen zal geen effect hebben tot quota actief zijn', 'quota_warning' => 'Uw maximale datagebruik is overschreden met [bytes]. Gelieve documenten of eerdere versies te verwijderen.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Log ontvangst', @@ -959,6 +962,9 @@ URL: [url]', 'review_update_failed' => 'Fout: bijwerken status beoordeling mislukt.', 'revise_document' => 'Document herzien', 'revise_document_on' => 'Volgende herziening van document op [date]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => 'Datum revisie', 'revision_log' => 'Log herziening', 'revision_request_email_body' => 'Verzoek tot herziening diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index ad3ebf5af..4b45d0c86 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -852,6 +852,9 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'quota_exceeded' => 'Twój limit przydzielonej przestrzeni dyskowej został przekroczony o [bytes].', 'quota_is_disabled' => 'Wsparcie limitów dyskowych jest obecnie wyłączone w ustawieniach. Ustawiony limit dyskowy użytkownika nie będzie działał dopóki wparcie nie zostanie ponownie włączone.', 'quota_warning' => 'Przekroczono użycie dysku o [bytes]. Usuń dokumenty lub poprzednie wersje.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -920,6 +923,9 @@ URL: [url]', 'review_update_failed' => 'Błąd podczas aktualizowania statusu recenzji. Aktualizacja nie powiodła się.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index fc97fbcfc..3bfb6b98a 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -857,6 +857,9 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'quota_exceeded' => 'Sua cota de disco foi ultrapassada em [bytes].', 'quota_is_disabled' => 'Suporte a cota está desativado nas configurações. A definição de cota do usuário não terá efeito até que seja habilitada novamente.', 'quota_warning' => 'Seu uso máximo do disco foi ultrapassado em [bytes]. Por favor, remova documentos ou versões anteriores.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -938,6 +941,9 @@ URL: [url]', 'review_update_failed' => 'Error updating review status. Update failed.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 1e765c683..06135fe11 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -864,6 +864,9 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'quota_exceeded' => 'Spatiul tău alocat pe disc este depășit cu [bytes].', 'quota_is_disabled' => 'Spatiu alocat este dezactivată în setări. Stabilirea unui spatiu alocat pentru utilizator nu va avea nici un efect până când setarea este reactivată din nou.', 'quota_warning' => 'Dimensiunea dumneavoastră maximă este depasită cu [bytes]. Vă rugăm să eliminați documente sau versiuni anterioare.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -963,6 +966,9 @@ URL: [url]', 'review_update_failed' => 'Eroare actualizarea status revizuire. Actualizarea a eșuat.', 'revise_document' => 'Revizuiti documentul', 'revise_document_on' => 'Urmatoarea revizuire a versiunii document pe [data]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => 'Log revizuire', 'revision_request_email_body' => '', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 909ab33de..6b3ed7d74 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -861,6 +861,9 @@ URL: [url]', 'quota_exceeded' => 'Ваша дисковая квота превышена на [bytes].', 'quota_is_disabled' => 'Поддержка квот в настоящее время отключена в настройках.', 'quota_warning' => 'Ваша дисковая квота превышена на [bytes]. Удалите ненужные документы или их предыдущие версии.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Лог получения', @@ -965,6 +968,9 @@ URL: [url]', 'review_update_failed' => 'Ошибка обновления статуса рецензии', 'revise_document' => 'Ревизировать документ', 'revise_document_on' => 'Следующий ревизия версии документа назначен на [date]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => 'Дата ревизии', 'revision_log' => 'Лог ревизии', 'revision_request_email_body' => 'Запрос на ревизию diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index bc3fe57b1..ed2a35c78 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -749,6 +749,9 @@ URL: [url]', 'quota_exceeded' => '', 'quota_is_disabled' => '', 'quota_warning' => '', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -808,6 +811,9 @@ URL: [url]', 'review_update_failed' => 'Chyba pri aktualizácii stavu kontroly. Aktualizácia zlyhala.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 2c441631f..172adb29b 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -844,6 +844,9 @@ URL: [url]', 'quota_exceeded' => 'Din minneskvot har överskridits med [bytes].', 'quota_is_disabled' => 'Kvot stöd är för närvarande inaktiverad i inställningarna. Ställa in en användarkvot kommer att ha någon effekt förrän den är aktiverad igen.', 'quota_warning' => 'Din maximala minneskvot har överskridits med [bytes]. Ta bort dokument eller tidigare versioner.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -926,6 +929,9 @@ URL: [url]', 'review_update_failed' => 'Fel vid uppdatering av granskningsstatus. Kunde inte uppdatera.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 1ef6e15bb..5d4c5c3e5 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -860,6 +860,9 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'quota_exceeded' => 'Size ayrılan disk kotası [bytes] aşıldı.', 'quota_is_disabled' => 'Kota desteği ayarlardan kapatılmış durumda. Açılana kadar kullanıcıya kota tanımlamanın bir etkisi olmaz.', 'quota_warning' => 'Size ayrılan disk kotası [bytes] aşıldı. Lütfen gereksiz olduğunu düşündüğünüz dokümanları veya eski versiyonları silin.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -942,6 +945,9 @@ URL: [url]', 'review_update_failed' => 'Kontrol güncelleme durumu hatalı. Güncelleme başarısız.', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 7a2d28171..067300cae 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -861,6 +861,9 @@ URL: [url]', 'quota_exceeded' => 'Ваша дискова квота перевищена на [bytes].', 'quota_is_disabled' => 'Квотування відключено', 'quota_warning' => 'Ваша дискова квота перевищена на [bytes]. Видаліть непотрібні документи або їх попередні версії.', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Лог отримання', @@ -958,6 +961,9 @@ URL: [url]', 'review_update_failed' => 'Помилка оновлення статусу рецензії', 'revise_document' => 'Ревізувати документ', 'revise_document_on' => 'Наступна ревізія документу [date]', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => 'Дата ревізії', 'revision_log' => 'Лог ревізії', 'revision_request_email_body' => 'Запит на ревізію diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 03490b1ce..0c1bd66c3 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -751,6 +751,9 @@ URL: [url]', 'quota_exceeded' => '', 'quota_is_disabled' => '配额的支持', 'quota_warning' => '', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -810,6 +813,9 @@ URL: [url]', 'review_update_failed' => '错误 更新校对状态.更新失败', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index c0822701b..fc7163a3d 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -749,6 +749,9 @@ URL: [url]', 'quota_exceeded' => '', 'quota_is_disabled' => '', 'quota_warning' => '', +'receipts_accepted' => '', +'receipts_not_touched' => '', +'receipts_rejected' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -808,6 +811,9 @@ URL: [url]', 'review_update_failed' => '錯誤 更新校對狀態.更新失敗', 'revise_document' => '', 'revise_document_on' => '', +'revisions_accepted' => '', +'revisions_not_touched' => '', +'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', From 35d24d9062781af7f4452b0b55e11f7810cc13a6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 12:52:20 +0200 Subject: [PATCH 107/169] new phrases --- languages/ar_EG/lang.inc | 6 ++++++ languages/bg_BG/lang.inc | 6 ++++++ languages/ca_ES/lang.inc | 6 ++++++ languages/cs_CZ/lang.inc | 6 ++++++ languages/de_DE/lang.inc | 10 ++++++++-- languages/el_GR/lang.inc | 6 ++++++ languages/en_GB/lang.inc | 12 +++++++++--- languages/es_ES/lang.inc | 6 ++++++ languages/fr_FR/lang.inc | 6 ++++++ languages/hr_HR/lang.inc | 6 ++++++ languages/hu_HU/lang.inc | 6 ++++++ languages/it_IT/lang.inc | 6 ++++++ languages/ko_KR/lang.inc | 6 ++++++ languages/nl_NL/lang.inc | 6 ++++++ languages/pl_PL/lang.inc | 6 ++++++ languages/pt_BR/lang.inc | 6 ++++++ languages/ro_RO/lang.inc | 6 ++++++ languages/ru_RU/lang.inc | 6 ++++++ languages/sk_SK/lang.inc | 6 ++++++ languages/sv_SE/lang.inc | 6 ++++++ languages/tr_TR/lang.inc | 6 ++++++ languages/uk_UA/lang.inc | 6 ++++++ languages/zh_CN/lang.inc | 6 ++++++ languages/zh_TW/lang.inc | 6 ++++++ 24 files changed, 149 insertions(+), 5 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index c961c895c..2a984bb82 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'بالفعل مشترك', 'and' => 'و', 'apply' => 'تطبيق', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'طلب الموافقة تم الغاؤه', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -905,6 +908,9 @@ URL: [url]', 'reviewers' => 'المراجعون', 'reviewer_already_assigned' => 'بالفعل تم تخصيصة كمراجع', 'reviewer_already_removed' => 'بالفعل تم ازالته من عملية المراجعة او تم تقديمه للمراجعة', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'طلب المراجعة تم مسحه', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 91d8b5bb4..039c118c2 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -84,9 +84,12 @@ $text = array( 'already_subscribed' => 'Вече е подписан', 'and' => 'и', 'apply' => 'Приложи', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Запитване за утвърждаване за изтрит', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -790,6 +793,9 @@ $text = array( 'reviewers' => 'Рецензиращи', 'reviewer_already_assigned' => 'вече назначено за рецензиране', 'reviewer_already_removed' => 'вече премахнат от списъка с рецензиращи или вече е оставил рецензия', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Запитване за рецензия премахнато', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 68dbcacff..f8d80ac0b 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -84,9 +84,12 @@ $text = array( 'already_subscribed' => 'Ja està subscrit', 'and' => 'i', 'apply' => 'Apply', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Demanda d\'aprovació esborrada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -795,6 +798,9 @@ URL: [url]', 'reviewers' => 'Revisors', 'reviewer_already_assigned' => 'Ja està asignat com revisor', 'reviewer_already_removed' => 'Ja ha estat eliminat del procés de revisió o ja ha enviat una revisió', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Petició de revisió eliminada', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 329d6eccc..94c96811b 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Již odebráno', 'and' => 'a', 'apply' => 'Použít', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Zrušení schválení požadavku', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -915,6 +918,9 @@ URL: [url]', 'reviewers' => 'Kontroloři', 'reviewer_already_assigned' => 'je už pověřen jako kontrolor', 'reviewer_already_removed' => 'už byl odstraněn z procesu kontroly nebo poslal kontrolu', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Žádost na revizi odstraněn', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 1660a12de..7fb535ff0 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 (2448), dgrutsch (22) +// Translators: Admin (2455), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Bereits aboniert', 'and' => 'und', 'apply' => 'Anwenden', +'approvals_accepted' => '[no_approvals] Freigaben', 'approvals_and_reviews_accepted' => '[no_approvals] Freigaben und [no_reviews] Prüfungen', 'approvals_and_reviews_not_touched' => '[no_approvals] offene Freigaben und [no_reviews] offenen Prüfungen', 'approvals_and_reviews_rejected' => '[no_approvals] abgelehnte Freigaben und [no_reviews] abgelehnte Prüfungen', +'approvals_not_touched' => '[no_approvals] offene Freigaben', +'approvals_rejected' => '[no_approvals] abgelehnte Freigaben', 'approval_deletion_email' => 'Freigabeaufforderung gelöscht', 'approval_deletion_email_body' => 'Freigabeaufforderung gelöscht Dokument: [name] @@ -948,6 +951,9 @@ URL: [url]', 'reviewers' => 'Prüfer', 'reviewer_already_assigned' => 'Prüfer bereits zugewiesen', 'reviewer_already_removed' => 'Prüfer wurde bereits aus dem Prüfvorgang entfernt oder hat die Prüfung bereits abgeschlossen', +'reviews_accepted' => '[no_reviews] Prüfungen', +'reviews_not_touched' => '[no_reviews] offene Prüfungen', +'reviews_rejected' => '[no_reviews] abgelehnte Prüfungen', 'review_deletion_email' => 'Prüfungsaufforderung gelöscht', 'review_deletion_email_body' => 'Prüfungsaufforderung gelöscht Dokument: [name] @@ -984,7 +990,7 @@ URL: [url]', 'revise_document_on' => 'Nächste Überprüfung des Dokuments am [date]', 'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen', 'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen', -'revisions_rejected' => '', +'revisions_rejected' => '[no_revisions] abgelehnte Wiederholungsprüfungen', 'revision_date' => 'Datum der Wiederholungsprüfung', 'revision_log' => 'Protokoll der erneuten Prüfung', 'revision_request_email_body' => 'Aufforderung zur Wiederholungsprüfung diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index c0d904cf3..96d252345 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -84,9 +84,12 @@ $text = array( 'already_subscribed' => '', 'and' => 'και', 'apply' => 'Apply', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => '', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -801,6 +804,9 @@ URL: [url]', 'reviewers' => '', 'reviewer_already_assigned' => '', 'reviewer_already_removed' => '', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => '', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index fb1165910..9a60d1e5e 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 (1577), dgrutsch (9), netixw (14) +// Translators: Admin (1585), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Already subscribed', 'and' => 'and', 'apply' => 'Apply', +'approvals_accepted' => '[no_approvals] approvals already accepted', 'approvals_and_reviews_accepted' => '[no_approvals] approvals and [no_reviews] reviews already accepted', 'approvals_and_reviews_not_touched' => '[no_approvals] approvals and [no_reviews] reviews not being touched', 'approvals_and_reviews_rejected' => '[no_approvals] approvals and [no_reviews] reviews already rejected', +'approvals_not_touched' => '[no_approvals] approvals not being touched', +'approvals_rejected' => '[no_approvals] approvals already rejected', 'approval_deletion_email' => 'Approval request deleted', 'approval_deletion_email_body' => 'Approval request deleted Document: [name] @@ -950,6 +953,9 @@ URL: [url]', 'reviewers' => 'Reviewers', 'reviewer_already_assigned' => 'User is already assigned as a reviewer', 'reviewer_already_removed' => 'Reviewer has already been removed from review process or has already submitted a review', +'reviews_accepted' => '[no_reviews] reviews already accepted', +'reviews_not_touched' => '[no_reviews] reviews not being touched', +'reviews_rejected' => '[no_reviews] reviews already rejected', 'review_deletion_email' => 'Review request deleted', 'review_deletion_email_body' => 'Review request deleted Document: [name] @@ -986,7 +992,7 @@ URL: [url]', 'revise_document_on' => 'Next revision of document version on [date]', 'revisions_accepted' => '[no_revisions] revisions already accepted', 'revisions_not_touched' => '[no_revisions] revisions not being touched', -'revisions_rejected' => '', +'revisions_rejected' => '[no_revisions] revisions already rejected', 'revision_date' => 'Date of revision', 'revision_log' => 'Revision log', 'revision_request_email_body' => 'Revision request @@ -1488,7 +1494,7 @@ URL: [url]', 'status_reviewer_rejected' => 'Draft rejected', 'status_reviewer_removed' => 'Reviewer removed from process', 'status_revised' => 'revised', -'status_revision_rejected' => 'rejected', +'status_revision_rejected' => 'Rejected', 'status_revision_sleeping' => 'pending', 'status_revisor_removed' => 'Revisor removed from list', 'status_unknown' => 'Unknown', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 903f34400..cf7977bf2 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Ya está suscrito', 'and' => 'y', 'apply' => 'Aplicar', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Petición de aprobación eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -920,6 +923,9 @@ nURL: [url]', 'reviewers' => 'Revisores', 'reviewer_already_assigned' => 'Ya está asignado como revisor', 'reviewer_already_removed' => 'Ya ha sido eliminado del proceso de revisión o ya ha enviado una revisión', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Petición de revisión eliminada', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index dfed489bd..f821e4108 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Déjà abonné', 'and' => 'et', 'apply' => 'Appliquer', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Demande d\'approbation supprimée', 'approval_deletion_email_body' => 'Demande d\'approbation supprimée Document : [name] @@ -928,6 +931,9 @@ URL: [url]', 'reviewers' => 'Correcteurs', 'reviewer_already_assigned' => 'est déjà déclaré en tant que correcteur', 'reviewer_already_removed' => 'a déjà été retiré du processus de correction ou a déjà soumis une correction', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Demande de correction supprimée', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 09dd6404a..1c523c634 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -88,9 +88,12 @@ Internet poveznica: [url]', 'already_subscribed' => 'Već prijavljeno', 'and' => 'i', 'apply' => 'Primjeni', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Izbrisan zahtjev za odobrenje', 'approval_deletion_email_body' => 'Zahtjev za odobrenjem izbrisan Dokument: [name] @@ -931,6 +934,9 @@ Internet poveznica: [url]', 'reviewers' => 'Recezenti', 'reviewer_already_assigned' => 'je već dodijeljen kao recezent', 'reviewer_already_removed' => 'je već uklonjen iz postupka pregleda ili je već podnijet pregled.', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Izbrisan zahtjev za pregled', 'review_deletion_email_body' => 'Zahtjev za pregled izbrisan Dokument: [name] diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 238bd0be9..c2f16aec8 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Már feliratkozott', 'and' => '-', 'apply' => 'Elfogad', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Jóváhagyási kérelem törölve', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -920,6 +923,9 @@ URL: [url]', 'reviewers' => 'Felülvizsgálók', 'reviewer_already_assigned' => 'már hozzá lett rendelve felülvizsgálóként', 'reviewer_already_removed' => 'már el lett távolítva a felülvizsgálati folyamatból vagy már el lett küldve egy felülvizsgálat', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Felülvizsgálat kérés törölve', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 333e5dc90..c56140bf3 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'L\'oggetto è già stato sottoscritto', 'and' => 'e', 'apply' => 'Applica', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Richiesta di approvazione cancellata', 'approval_deletion_email_body' => 'Richiesta di approvazione cancellata. Documento: [name] @@ -938,6 +941,9 @@ URL: [url]', 'reviewers' => 'Revisori', 'reviewer_already_assigned' => 'è già assegnato come revisore', 'reviewer_already_removed' => 'è già stato rimosso dal processo di revisione oppure ha già inserito una revisione.', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Richiesta di revisione cancellata', 'review_deletion_email_body' => 'Richiesta di revisione cancellata. Documento: [name] diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index c0ff1091b..7b5a1c85f 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => '가입된', 'and' => '와', 'apply' => '적용', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => '승인 요청 삭제', 'approval_deletion_email_body' => '승인 요청 삭제 문서: [name] @@ -924,6 +927,9 @@ URL: [url]', 'reviewers' => '검토', 'reviewer_already_assigned' => '이미 검토 지정됩', 'reviewer_already_removed' => '이미 검토 과정에서 제거되었거나 리뷰로 제출', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => '검토 요청 삭제', 'review_deletion_email_body' => '검토 요청 삭제 문서: [name] diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index af1eb3018..75ad5e32f 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Al ingetekend', 'and' => 'en', 'apply' => 'Toepassen', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Goedkeuring verzoek verwijderd', 'approval_deletion_email_body' => 'Vraag om goedkeuring verwijderd Document: [name] @@ -929,6 +932,9 @@ URL: [url]', 'reviewers' => 'Beoordelaars', 'reviewer_already_assigned' => 'is reeds aangewezen als beoordelaar', 'reviewer_already_removed' => 'is reeds verwijderd uit het beoordelingsproces of heeft reeds een beoordeling uitgevoerd', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Beoordelingsverzoek verwijderd', 'review_deletion_email_body' => 'Beoordelingsverzoek verwijderd Document: [name] diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 4b45d0c86..a98f09624 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Aktualnie subskrybowane', 'and' => 'i', 'apply' => 'Zastosuj', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Prośba o akceptację została usunięta', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -906,6 +909,9 @@ URL: [url]', 'reviewers' => 'Recenzenci', 'reviewer_already_assigned' => 'jest już przypisany jako recenzent', 'reviewer_already_removed' => 'został już usunięty z procesu opiniowania lub już wydał swoją opinię', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Prośba o recenzję usunięta', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 3bfb6b98a..e30a94537 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Já subscrito', 'and' => 'e', 'apply' => 'Aplicar', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Solicitação de Aprovação eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -918,6 +921,9 @@ URL: [url]', 'reviewers' => 'Reviewers', 'reviewer_already_assigned' => 'is already assigned as a reviewer', 'reviewer_already_removed' => 'has already been removed from review proceá or has already submitted a review', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Pedido de revisão eliminado', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 06135fe11..5881d034f 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Deja trimis', 'and' => 'si', 'apply' => 'Aplică', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Cerere de aprobare stearsă', 'approval_deletion_email_body' => 'Cerere aprobare stearsa Document: [name] @@ -932,6 +935,9 @@ URL: [url]', 'reviewers' => 'Revizuitori', 'reviewer_already_assigned' => 'este deja alocat ca un revizuitor', 'reviewer_already_removed' => 'a fost deja eliminat din procesul de revizuire sau a postat deja o revizuire', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Cerere de revizuire eliminată', 'review_deletion_email_body' => 'Cerere de revizuire eliminata Document: [name] diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 6b3ed7d74..43975c7c6 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Уже подписан', 'and' => 'и', 'apply' => 'Применить', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Запрос на утверждение удалён', 'approval_deletion_email_body' => 'Запрос на утверждение удален Имя: [name] @@ -934,6 +937,9 @@ URL: [url]', 'reviewers' => 'Рецензирующие', 'reviewer_already_assigned' => 'уже назначен на рецензирование', 'reviewer_already_removed' => 'уже удалён из списка рецензирующих или уже оставил рецензию', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Запрос на рецензию удалён', 'review_deletion_email_body' => 'Запрос на рецензию удалён Документ: [name] diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index ed2a35c78..eae91bcba 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => '', 'and' => 'a', 'apply' => 'Použiť', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Poziadavka na schvalenie zmazana', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -794,6 +797,9 @@ URL: [url]', 'reviewers' => 'Kontrolóri', 'reviewer_already_assigned' => 'je už poverený ako kontrolór', 'reviewer_already_removed' => 'už bol odstránený z procesu kontroly alebo poslal kontrolu', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Poziadavka na recenziu zmazana', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 172adb29b..ed3f72cce 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Prenumererar redan', 'and' => 'och', 'apply' => 'Använd', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Begäran om godkännande har raderats', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -905,6 +908,9 @@ URL: [url]', 'reviewers' => 'Granska', 'reviewer_already_assigned' => 'ska redan granska dokumentet', 'reviewer_already_removed' => 'har redan tagits bort från granskningen eller har redan skickat en granskning', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Förfrågan om granskning borttagen', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 5d4c5c3e5..b2a920d0e 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -87,9 +87,12 @@ URL: [url]', 'already_subscribed' => 'Zaten kayıtlı', 'and' => 've', 'apply' => 'Uygula', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Onay talebi silindi', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -921,6 +924,9 @@ URL: [url]', 'reviewers' => 'Kontrol edenler', 'reviewer_already_assigned' => 'zaten kontrol eden olarak tanımlı', 'reviewer_already_removed' => 'kontrol sürecinden silindi veya zaten kontrolü gönderdi', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Kontrol talebi silindi', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 067300cae..b3dfd5091 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => 'Вже підписаний', 'and' => 'і', 'apply' => 'Застосувати', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => 'Запит на підтвердження скасовано', 'approval_deletion_email_body' => 'Запит на підтвердження скасовано Назва: [name] @@ -927,6 +930,9 @@ URL: [url]', 'reviewers' => 'Рецензенти', 'reviewer_already_assigned' => 'вже призначений для рецензування', 'reviewer_already_removed' => 'вже видалено зі списку рецензентів або вже лишив рецензію', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => 'Запит на редагування видалено', 'review_deletion_email_body' => 'Запит на рецензування видалено Документ: [name] diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 0c1bd66c3..d666e6de4 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => '已经订阅', 'and' => 'and', 'apply' => '应用', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => '审核请求已被删除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -796,6 +799,9 @@ URL: [url]', 'reviewers' => '校对人', 'reviewer_already_assigned' => '已经被指派为校对人', 'reviewer_already_removed' => '已经从校对队列中删除或者已经提交校对', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => '校对请求被删除', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index fc7163a3d..a1e8a8573 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -88,9 +88,12 @@ URL: [url]', 'already_subscribed' => '已經訂閱', 'and' => '和', 'apply' => '接受', +'approvals_accepted' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', +'approvals_not_touched' => '', +'approvals_rejected' => '', 'approval_deletion_email' => '審核請求已被刪除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -794,6 +797,9 @@ URL: [url]', 'reviewers' => '校對人', 'reviewer_already_assigned' => '已經被指派為校對人', 'reviewer_already_removed' => '已經從校對佇列中刪除或者已經提交校對', +'reviews_accepted' => '', +'reviews_not_touched' => '', +'reviews_rejected' => '', 'review_deletion_email' => '校對請求被刪除', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', From c32bff5074ebde9ad8c36b635b3c3e17d57d8216 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 13:21:01 +0200 Subject: [PATCH 108/169] separate removal of reviews and approval --- SeedDMS_Core/Core/inc.ClassUser.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 8e56fd4fa..8e463986a 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -496,9 +496,10 @@ class SeedDMS_Core_User { /* {{{ */ $reviewStatus = $this->getReviewStatus(); foreach ($reviewStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + if($ri['status'] != -2 && (empty($states['review']) || in_array($ri['status'], $states['review']))) { $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; @@ -508,9 +509,10 @@ class SeedDMS_Core_User { /* {{{ */ $approvalStatus = $this->getApprovalStatus(); foreach ($approvalStatus["indstatus"] as $ai) { - if($ai['status'] != -2 && (!$states || in_array($ai['status'], $states))) { + if($ai['status'] != -2 && (empty($states['approval']) || in_array($ai['status'], $states['approval']))) { $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; + echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; From c6a69f399b5759dff4e8bd5f49d48c56cb458e2c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 13:21:56 +0200 Subject: [PATCH 109/169] separate removal of reviews and approvals --- .../class.RemoveUserFromProcesses.php | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php index 422f07a4c..f8cca27e3 100644 --- a/views/bootstrap/class.RemoveUserFromProcesses.php +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -69,29 +69,57 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $tmpa[$ai['status']] = array($ai); } ?> - +
          - +
          - +
          +
          +
          + + + +
          +
          + +
          +
          + + +
          +
          + +
          +
          + + +
          +
          +
          From 07d760d7d8899f19df567ac80344d0ac333964fd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:13:02 +0200 Subject: [PATCH 110/169] fix remove from process for receipts and revisions --- SeedDMS_Core/Core/inc.ClassUser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 353471d91..973e8221e 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -790,7 +790,7 @@ class SeedDMS_Core_User { /* {{{ */ $receiptStatus = $this->getReceiptStatus(); foreach ($receiptStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + if($ri['status'] != -2 && (empty($states['receipt']) || in_array($ri['status'], $states['receipt']))) { $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["receiptID"] ."', '-2', 'Recipient removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; $res=$db->getResult($queryStr); @@ -802,7 +802,7 @@ class SeedDMS_Core_User { /* {{{ */ $revisionStatus = $this->getRevisionStatus(); foreach ($revisionStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (!$states || in_array($ri['status'], $states))) { + if($ri['status'] != -2 && (empty($states['revision']) || in_array($ri['status'], $states['revision']))) { $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["revisionID"] ."', '-2', 'Revisor removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; $res=$db->getResult($queryStr); From cda9f99f9e4b5903229a94cd203c208d7467d1c4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:13:27 +0200 Subject: [PATCH 111/169] show right values for receipts and revisions --- .../class.RemoveUserFromProcesses.php | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/views/bootstrap/class.RemoveUserFromProcesses.php b/views/bootstrap/class.RemoveUserFromProcesses.php index e804b4cc4..856c16b67 100644 --- a/views/bootstrap/class.RemoveUserFromProcesses.php +++ b/views/bootstrap/class.RemoveUserFromProcesses.php @@ -71,7 +71,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $receiptStatus = $rmuser->getReceiptStatus(); $tmpb = array(); - foreach($approvalStatus['indstatus'] as $ai) { + foreach($receiptStatus['indstatus'] as $ai) { if(isset($tmpb[$ai['status']])) $tmpb[$ai['status']][] = $ai; else @@ -80,7 +80,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style { $revisionStatus = $rmuser->getRevisionStatus(); $tmpc = array(); - foreach($approvalStatus['indstatus'] as $ai) { + foreach($revisionStatus['indstatus'] as $ai) { if(isset($tmpc[$ai['status']])) $tmpc[$ai['status']][] = $ai; else @@ -147,7 +147,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          @@ -156,7 +156,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          @@ -165,7 +165,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          @@ -175,7 +175,16 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          +
          +
          + + +
          +
          +
          @@ -184,7 +193,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          @@ -193,7 +202,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
          From f3076582906173d6e1ebd0c2d23741bbaa4005d4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:16:45 +0200 Subject: [PATCH 112/169] do not remove from process when none is checked --- op/op.UsrMgr.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index 49d5be2c6..5583e5e0b 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -203,6 +203,10 @@ else if ($action == "removefromprocesses") { } if(isset($_POST["status"]) && is_array($_POST["status"]) && $_POST["status"]) { + if(!isset($_POST["status"]["review"])) + $_POST["status"]["review"] = array(); + if(!isset($_POST["status"]["approval"])) + $_POST["status"]["approval"] = array(); if (!$userToRemove->removeFromProcesses($user, $_POST['status'])) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } From 2a4b8ffcfc84aa0264e3dda3ee4928ca83ee8f3b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:17:41 +0200 Subject: [PATCH 113/169] remove from process only if status[review], status[approval] is not set --- SeedDMS_Core/Core/inc.ClassUser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 8e463986a..b8824b285 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -496,7 +496,7 @@ class SeedDMS_Core_User { /* {{{ */ $reviewStatus = $this->getReviewStatus(); foreach ($reviewStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (empty($states['review']) || in_array($ri['status'], $states['review']))) { + if($ri['status'] != -2 && (!isset($states['review']) || in_array($ri['status'], $states['review']))) { $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; echo $queryStr; @@ -509,7 +509,7 @@ class SeedDMS_Core_User { /* {{{ */ $approvalStatus = $this->getApprovalStatus(); foreach ($approvalStatus["indstatus"] as $ai) { - if($ai['status'] != -2 && (empty($states['approval']) || in_array($ai['status'], $states['approval']))) { + if($ai['status'] != -2 && (!isset($states['approval']) || in_array($ai['status'], $states['approval']))) { $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; echo $queryStr; From 7b5412ff3692b36c18e14a79ee4279a9064e92ce Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:21:24 +0200 Subject: [PATCH 114/169] remove from process only if status[receipt], status[revision] is not set --- SeedDMS_Core/Core/inc.ClassUser.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index 185625515..5ee1bc840 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -767,7 +767,6 @@ class SeedDMS_Core_User { /* {{{ */ if($ri['status'] != -2 && (!isset($states['review']) || in_array($ri['status'], $states['review']))) { $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; @@ -780,7 +779,6 @@ class SeedDMS_Core_User { /* {{{ */ if($ai['status'] != -2 && (!isset($states['approval']) || in_array($ai['status'], $states['approval']))) { $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; @@ -790,7 +788,7 @@ class SeedDMS_Core_User { /* {{{ */ $receiptStatus = $this->getReceiptStatus(); foreach ($receiptStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (empty($states['receipt']) || in_array($ri['status'], $states['receipt']))) { + if($ri['status'] != -2 && (!isset($states['receipt']) || in_array($ri['status'], $states['receipt']))) { $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["receiptID"] ."', '-2', 'Recipient removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; $res=$db->getResult($queryStr); @@ -802,7 +800,7 @@ class SeedDMS_Core_User { /* {{{ */ $revisionStatus = $this->getRevisionStatus(); foreach ($revisionStatus["indstatus"] as $ri) { - if($ri['status'] != -2 && (empty($states['revision']) || in_array($ri['status'], $states['revision']))) { + if($ri['status'] != -2 && (!isset($states['revision']) || in_array($ri['status'], $states['revision']))) { $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["revisionID"] ."', '-2', 'Revisor removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; $res=$db->getResult($queryStr); From 2de7d8931a07b0337b148af3ff3c3a6b29f615b7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:22:12 +0200 Subject: [PATCH 115/169] set status[receipt] and status[revision] to empty array if not set --- op/op.UsrMgr.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index 4cfe1a588..8c23cc26b 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -215,6 +215,10 @@ else if ($action == "removefromprocesses") { $_POST["status"]["review"] = array(); if(!isset($_POST["status"]["approval"])) $_POST["status"]["approval"] = array(); + if(!isset($_POST["status"]["receipt"])) + $_POST["status"]["receipt"] = array(); + if(!isset($_POST["status"]["revision"])) + $_POST["status"]["revision"] = array(); if (!$userToRemove->removeFromProcesses($user, $_POST['status'])) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } From 5396829d7fc11fb37e9273f4f888ba9f63468a1c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:23:16 +0200 Subject: [PATCH 116/169] take out echos --- SeedDMS_Core/Core/inc.ClassUser.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassUser.php b/SeedDMS_Core/Core/inc.ClassUser.php index b8824b285..25260c333 100644 --- a/SeedDMS_Core/Core/inc.ClassUser.php +++ b/SeedDMS_Core/Core/inc.ClassUser.php @@ -499,7 +499,6 @@ class SeedDMS_Core_User { /* {{{ */ if($ri['status'] != -2 && (!isset($states['review']) || in_array($ri['status'], $states['review']))) { $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; @@ -512,7 +511,6 @@ class SeedDMS_Core_User { /* {{{ */ if($ai['status'] != -2 && (!isset($states['approval']) || in_array($ai['status'], $states['approval']))) { $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". "VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')"; - echo $queryStr; $res=$db->getResult($queryStr); if(!$res) { return false; From 78e66b20d489360a81084720d9a1f15941e43453 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:48:56 +0200 Subject: [PATCH 117/169] do not show quota info if turne off --- views/bootstrap/class.UsrMgr.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.UsrMgr.php b/views/bootstrap/class.UsrMgr.php index 214479649..4c676d6ce 100644 --- a/views/bootstrap/class.UsrMgr.php +++ b/views/bootstrap/class.UsrMgr.php @@ -93,9 +93,13 @@ $(document).ready( function() { $this->contentHeading(getMLText("user_info")); echo "
          : ">
          ".getMLText('folders_with_notification')."".count($fnot)."
          ".getMLText('pending_reviews')."".$i."
          ".getMLText('pending_reviews')."".count($tasks['review'])."
          ".getMLText('pending_approvals')."".$i."
          ".getMLText('pending_approvals')."".count($tasks['approval'])."
          ".getMLText('pending_approvals')."".count($tasks['approval'])."
          ".getMLText('mandatory_reviewers')."".count($resArr)."
          ".getMLText('mandatory_approvers')."".count($resArr)."
          \n"; echo "\n"; $documents = $seluser->getDocuments(); echo "\n"; From a7c24043d4c1578e3075677ad27b9120f8ba9a42 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 14:49:16 +0200 Subject: [PATCH 118/169] add entry from 5.1.3 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index a7eee7bdf..f9b1d4d9e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,7 @@ - show number of users where the select user is a mandatory reviewer/approver of - fix upload of attachments - documents, folders, files, events can be moved to a new user +- do not quota information in user manager if quotas are turn off -------------------------------------------------------------------------------- Changes in version 5.1.2 From b0dfeca98b86c4ca44cf45256848d2446631cba7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 15:12:12 +0200 Subject: [PATCH 119/169] show progress of receptions also to owner of document, show numbers --- views/bootstrap/class.ViewDocument.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 2fc461746..d34f42352 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1265,16 +1265,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
          ".getMLText('discspace').""; - $qt = $seluser->getQuota() ? $seluser->getQuota() : $quota; - echo SeedDMS_Core_File::format_filesize($seluser->getUsedDiskSpace())." / ".SeedDMS_Core_File::format_filesize($qt)."
          "; - echo $this->getProgressBar($seluser->getUsedDiskSpace(), $qt); + if($quota) { + $qt = $seluser->getQuota() ? $seluser->getQuota() : $quota; + echo SeedDMS_Core_File::format_filesize($seluser->getUsedDiskSpace())." / ".SeedDMS_Core_File::format_filesize($qt)."
          "; + echo $this->getProgressBar($seluser->getUsedDiskSpace(), $qt); + } else { + echo SeedDMS_Core_File::format_filesize($seluser->getUsedDiskSpace())."
          "; + } echo "
          ".getMLText('documents')."".count($documents)."
          contentContainerEnd(); - if($user->isAdmin()) { + if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) { /* Do not count entries '-2' as they are removed userѕ */ $totalreceipts = $stat['-1'] + $stat['0'] + $stat['1']; ?>
          -
          +
          -
          +
          From b5a7f41a8ed3f3c83557f47ba1165113fe056870 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 15:36:34 +0200 Subject: [PATCH 120/169] show logs to owner of document --- views/bootstrap/class.DocumentVersionDetail.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.DocumentVersionDetail.php b/views/bootstrap/class.DocumentVersionDetail.php index 177879438..095f1204b 100644 --- a/views/bootstrap/class.DocumentVersionDetail.php +++ b/views/bootstrap/class.DocumentVersionDetail.php @@ -270,6 +270,8 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style { echo ""; print "\n\n"; + $this->contentContainerEnd(); + $this->contentContainerStart(); print "\n"; @@ -456,7 +458,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style { $this->contentContainerEnd(); } - if($user->isAdmin()) { + if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) { $this->contentHeading(getMLText("status")); $this->contentContainerStart(); $statuslog = $version->getStatusLog(); From 547eb0672502a85f81498dcd3166a1ae82f04e73 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 15:37:05 +0200 Subject: [PATCH 121/169] show logs to owner of document --- views/bootstrap/class.ViewDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index d34f42352..7ed560818 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -932,7 +932,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
          \n"; $this->contentContainerEnd(); - if($user->isAdmin()) { + if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) { ?>
          contentContainerEnd(); - if($user->isAdmin()) { + if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) { ?>
          From 887612ddf9a188dafff0e656050be19afec0b77d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 15:37:20 +0200 Subject: [PATCH 122/169] add entry for 6.0.1 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index bd26189b6..8c967cce8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,7 @@ - add document check for docs requiring receptions but user lacks access right - fix Acl manager when using pgsql - list all open tasks of user in user info of user manager +- owner of document may see review/approval/receipt/revision log -------------------------------------------------------------------------------- Changes in version 6.0.0 From 05671428e14b700f2029e40ace56e90175e468d2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 20:30:59 +0200 Subject: [PATCH 123/169] file in drop folder can be shown in menu as item --- inc/inc.ClassSettings.php | 4 ++ inc/inc.ClassUI.php | 2 + op/op.Settings.php | 1 + views/bootstrap/class.Bootstrap.php | 5 +++ views/bootstrap/class.DropFolderChooser.php | 47 +++++++++++++++++++++ views/bootstrap/class.Settings.php | 4 ++ 6 files changed, 63 insertions(+) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 76fd25789..460dcfddf 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -180,6 +180,8 @@ class Settings { /* {{{ */ var $_enableClipboard = true; // enable/disable list of tasks in main menu var $_enableMenuTasks = true; + // enable/disable list of files in drop folder + var $_enableDropFolderList = false; // enable/disable display of the session list var $_enableSessionList = false; // enable/disable display of the drop zone for file upload @@ -419,6 +421,7 @@ class Settings { /* {{{ */ $this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]); $this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]); $this->_enableMenuTasks = Settings::boolVal($tab["enableMenuTasks"]); + $this->_enableDropFolderList = Settings::boolVal($tab["enableDropFolderList"]); $this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]); $this->_enableMultiUpload = Settings::boolVal($tab["enableMultiUpload"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); @@ -731,6 +734,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableSessionList", $this->_enableSessionList); $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); $this->setXMLAttributValue($node, "enableMenuTasks", $this->_enableMenuTasks); + $this->setXMLAttributValue($node, "enableDropFolderList", $this->_enableDropFolderList); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); $this->setXMLAttributValue($node, "enableMultiUpload", $this->_enableMultiUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index d044cbe77..a06f120bb 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -105,6 +105,8 @@ class UI extends UI_Default { $view->setParam('enablelanguageselector', $settings->_enableLanguageSelector); $view->setParam('enableclipboard', $settings->_enableClipboard); $view->setParam('enablemenutasks', $settings->_enableMenuTasks); + $view->setParam('enabledropfolderlist', $settings->_enableDropFolderList); + $view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('enablesessionlist', $settings->_enableSessionList); $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('partitionsize', (int) $settings->_partitionSize); diff --git a/op/op.Settings.php b/op/op.Settings.php index 169845420..7466686d3 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -84,6 +84,7 @@ if ($action == "saveSettings") $settings->_enableSessionList = getBoolValue("enableSessionList"); $settings->_enableClipboard = getBoolValue("enableClipboard"); $settings->_enableMenuTasks = getBoolValue("enableMenuTasks"); + $settings->_enableDropFolderList = getBoolValue("enableDropFolderList"); $settings->_enableDropUpload = getBoolValue("enableDropUpload"); $settings->_enableMultiUpload = getBoolValue("enableMultiUpload"); $settings->_enableFolderTree = getBoolValue("enableFolderTree"); diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index d8ed544b1..c2f6c8304 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -327,6 +327,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);; //$this->addFooterJS('checkTasks();'); } + if($this->params['dropfolderdir'] && $this->params['enabledropfolderlist']) { + echo "
          "; + echo "
          "; + echo "
          "; + } if($this->params['enablesessionlist']) { echo "
          "; echo "
          "; diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index 78cbec64d..366b2ec9b 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -50,6 +50,53 @@ $('.folderselect').click(function(ev) { params['dms']; + $user = $this->params['user']; + $dropfolderdir = $this->params['dropfolderdir']; + $cachedir = $this->params['cachedir']; + $timeout = $this->params['timeout']; + + $previewwidth = 40; + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + + $content = ''; + $content .= " \n"; + echo $content; + } /* }}} */ + function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 06f68917e..32d24628d 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -269,6 +269,10 @@ if(!is_writeable($settings->_configFilePath)) { "> : _enableMenuTasks) echo "checked" ?> /> + + "> + : + _enableDropFolderList) echo "checked" ?> /> "> : From b5c16a24c7d2bf3ab5b58cbccd9093a1ea0a171c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 31 Jul 2017 20:32:23 +0200 Subject: [PATCH 124/169] first check if $_GER[form] is set --- out/out.DropFolderChooser.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/out/out.DropFolderChooser.php b/out/out.DropFolderChooser.php index e95ec0032..9320b1c14 100644 --- a/out/out.DropFolderChooser.php +++ b/out/out.DropFolderChooser.php @@ -26,7 +26,10 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); +if(isset($_GET["form"])) + $form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); +else + $form = ''; if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR) $dropfolderdir = substr($settings->_dropFolderDir, 0, -1); From e1bd23b828bdccca0dac6747c443a198e784c848 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 07:56:31 +0200 Subject: [PATCH 125/169] drop folder file can be passed by http request --- out/out.AddDocument.php | 1 + views/bootstrap/class.AddDocument.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/out/out.AddDocument.php b/out/out.AddDocument.php index 4b545da02..5f487ecbc 100644 --- a/out/out.AddDocument.php +++ b/out/out.AddDocument.php @@ -59,6 +59,7 @@ if($view) { $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('dropfolderdir', $settings->_dropFolderDir); + $view->setParam('dropfolderfile', isset($_REQUEST["dropfolderfileform1"]) ?$_REQUEST["dropfolderfileform1"] : ''); $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('presetexpiration', $settings->_presetExpirationDate); $view->setParam('sortusersinlist', $settings->_sortUsersInList); diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 3c67814e7..bbd9364c9 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -154,6 +154,7 @@ $(document).ready(function() { $enableselfrevapp = $this->params['enableselfrevapp']; $strictformcheck = $this->params['strictformcheck']; $dropfolderdir = $this->params['dropfolderdir']; + $dropfolderfile = $this->params['dropfolderfile']; $workflowmode = $this->params['workflowmode']; $presetexpiration = $this->params['presetexpiration']; $sortusersinlist = $this->params['sortusersinlist']; @@ -330,7 +331,7 @@ $(document).ready(function() { : - printDropFolderChooserHtml("form1");?> + printDropFolderChooserHtml("form1", $dropfolderfile);?> From f35b9bf5c5b94c421fc71d61f1d00ff34539d748 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 07:57:16 +0200 Subject: [PATCH 126/169] show preview image, link to out.AddDocument.php if folder is set --- views/bootstrap/class.DropFolderChooser.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index 366b2ec9b..b83abf79b 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -54,8 +54,10 @@ $('.folderselect').click(function(ev) { $dms = $this->params['dms']; $user = $this->params['user']; $dropfolderdir = $this->params['dropfolderdir']; + $showfolders = $this->params['showfolders']; $cachedir = $this->params['cachedir']; $timeout = $this->params['timeout']; + $folderid = isset($_GET['folderid']) ? $_GET['folderid'] : 0; $previewwidth = 40; $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); @@ -63,7 +65,7 @@ $('.folderselect').click(function(ev) { $content = ''; $content .= "
            \n"; $content .= "
          • \n"; - $content .= " ".getMLText('dropfolder')." \n"; + $content .= " ".getMLText('menu_dropfolder')." \n"; $content .= "
              \n"; $dir = $dropfolderdir.'/'.$user->getLogin(); /* Check if we are still looking in the configured directory and @@ -79,9 +81,9 @@ $('.folderselect').click(function(ev) { if($showfolders == 0 && !is_dir($dir.'/'.$entry)) { $mimetype = finfo_file($finfo, $dir.'/'.$entry); $previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); - $content .= "
            • "; + $content .= "
            • "; if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { - $content .= "
              "; + $content .= "
              "; } $content .= "
              ".$entry."
              ".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."
            • \n"; } elseif($showfolders && is_dir($dir.'/'.$entry)) { From 29586676008723917b06b2d93842bc10a2d7b61f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 07:58:05 +0200 Subject: [PATCH 127/169] pass folder id to DropFolderChooser::menuList --- views/bootstrap/class.Bootstrap.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index c2f6c8304..237d67401 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -329,7 +329,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if($this->params['dropfolderdir'] && $this->params['enabledropfolderlist']) { echo "
              "; - echo "
              "; + echo "
              getClassname('folder'))) + echo " data-query=\"folderid=".$folder->getID()."\""; + echo ">
              "; echo "
              "; } if($this->params['enablesessionlist']) { From d16ec5d6310990b9645dfb300cf5e98792baa139 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 07:58:27 +0200 Subject: [PATCH 128/169] pass dropfolderfile to view --- out/out.DropFolderChooser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/out/out.DropFolderChooser.php b/out/out.DropFolderChooser.php index 9320b1c14..54f83be27 100644 --- a/out/out.DropFolderChooser.php +++ b/out/out.DropFolderChooser.php @@ -45,7 +45,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { $view->setParam('dropfolderdir', $dropfolderdir); - $view->setParam('dropfolderfile', $_GET["dropfolderfile"]); + $view->setParam('dropfolderfile', isset($_GET["dropfolderfile"]) ? $_GET["dropfolderfile"] : ''); $view->setParam('form', $form); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('previewWidthList', $settings->_previewWidthList); From e8b09b3f035e5a2f32573ba8f2db1e36ad4c70c0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 08:04:46 +0200 Subject: [PATCH 129/169] do not send notification to owner anymore was sent when current user != owner --- op/op.CheckInDocument.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/op/op.CheckInDocument.php b/op/op.CheckInDocument.php index 78459d678..a2855fb9c 100644 --- a/op/op.CheckInDocument.php +++ b/op/op.CheckInDocument.php @@ -245,9 +245,6 @@ else foreach ($notifyList["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); } - // if user is not owner send notification to owner - if ($user->getID() != $document->getOwner()->getID()) - $notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params); if($workflow && $settings->_enableNotificationWorkflow) { $subject = "request_workflow_action_email_subject"; From 85cc7c017fcfca2682c0a8bda205f9e51b3fc3dd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 08:36:17 +0200 Subject: [PATCH 130/169] send mails to reviewer and approver --- op/op.CheckInDocument.php | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/op/op.CheckInDocument.php b/op/op.CheckInDocument.php index a2855fb9c..e3e336741 100644 --- a/op/op.CheckInDocument.php +++ b/op/op.CheckInDocument.php @@ -269,6 +269,51 @@ else } } } + + if($settings->_enableNotificationAppRev) { + /* Reviewers and approvers will be informed about the new document */ + if($reviewers['i'] || $reviewers['g']) { + $subject = "review_request_email_subject"; + $message = "review_request_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['version'] = $reqversion; + $params['comment'] = $comment; + $params['username'] = $user->getFullName(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + + foreach($reviewers['i'] as $reviewerid) { + $notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params); + } + foreach($reviewers['g'] as $reviewergrpid) { + $notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params); + } + } + + elseif($approvers['i'] || $approvers['g']) { + $subject = "approval_request_email_subject"; + $message = "approval_request_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['version'] = $reqversion; + $params['comment'] = $comment; + $params['username'] = $user->getFullName(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + + foreach($approvers['i'] as $approverid) { + $notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params); + } + foreach($approvers['g'] as $approvergrpid) { + $notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params); + } + } + } } $expires = false; From 52395af0cec27cbde35394c7a0cd77586b1b24d6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 08:46:34 +0200 Subject: [PATCH 131/169] add entry for 6.0.1 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 8c967cce8..dc9a3b0a2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,7 @@ - fix Acl manager when using pgsql - list all open tasks of user in user info of user manager - owner of document may see review/approval/receipt/revision log +- fix sending mails to reviewer/approvers after check in -------------------------------------------------------------------------------- Changes in version 6.0.0 From e9c6c09fa1baf7921ac45b5f2b2b08d1821759da Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 08:47:53 +0200 Subject: [PATCH 132/169] fix typo --- CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index f9b1d4d9e..44329adc3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,7 +11,7 @@ - show number of users where the select user is a mandatory reviewer/approver of - fix upload of attachments - documents, folders, files, events can be moved to a new user -- do not quota information in user manager if quotas are turn off +- do not show quota information in user manager if quotas are turn off -------------------------------------------------------------------------------- Changes in version 5.1.2 From ca479f29d9f531a668642e925e16659bdc9793de Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 08:50:13 +0200 Subject: [PATCH 133/169] add entry for 5.1.3 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 44329adc3..c04941853 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,7 @@ - fix upload of attachments - documents, folders, files, events can be moved to a new user - do not show quota information in user manager if quotas are turn off +- files in drop folder can be listed in main menu -------------------------------------------------------------------------------- Changes in version 5.1.2 From abfc3a248d2493782eae671236c7aa640b964624 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 09:03:58 +0200 Subject: [PATCH 134/169] list number of files in drop folder, don't show menu if no files available --- views/bootstrap/class.DropFolderChooser.php | 30 ++++++++++++--------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index b83abf79b..966da8cd3 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -62,11 +62,8 @@ $('.folderselect').click(function(ev) { $previewwidth = 40; $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); - $content = ''; - $content .= "
                \n"; - $content .= "
              • \n"; - $content .= " ".getMLText('menu_dropfolder')." \n"; - $content .= "
                  \n"; + $c = 0; // count files + $filecontent = ''; $dir = $dropfolderdir.'/'.$user->getLogin(); /* Check if we are still looking in the configured directory and * not somewhere else, e.g. if the login was '../test' @@ -79,23 +76,32 @@ $('.folderselect').click(function(ev) { while (false !== ($entry = $d->read())) { if($entry != '..' && $entry != '.') { if($showfolders == 0 && !is_dir($dir.'/'.$entry)) { + $c++; $mimetype = finfo_file($finfo, $dir.'/'.$entry); $previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); - $content .= "
                • "; + $filecontent .= "
                • "; if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { - $content .= "
                  "; + $filecontent .= "
                  "; } - $content .= "
                  ".$entry."
                  ".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."
                • \n"; + $filecontent .= "
                  ".$entry."
                  ".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."
                  \n"; } elseif($showfolders && is_dir($dir.'/'.$entry)) { - $content .= "
                • ".$entry."
                • "; + $filecontent .= "
                • ".$entry."
                • "; } } } } } - $content .= "
                \n"; - $content .= "
              • \n"; - $content .= "
              \n"; + $content = ''; + if($c) { + $content .= " \n"; + } echo $content; } /* }}} */ From 3697ab0da10af70c11da453baeaf875e41c786be Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 09:08:31 +0200 Subject: [PATCH 135/169] new phrases --- languages/ar_EG/lang.inc | 4 ++++ languages/bg_BG/lang.inc | 4 ++++ languages/ca_ES/lang.inc | 4 ++++ languages/cs_CZ/lang.inc | 4 ++++ languages/de_DE/lang.inc | 10 +++++++--- languages/el_GR/lang.inc | 4 ++++ languages/en_GB/lang.inc | 6 +++++- languages/es_ES/lang.inc | 4 ++++ languages/fr_FR/lang.inc | 4 ++++ languages/hr_HR/lang.inc | 4 ++++ languages/hu_HU/lang.inc | 4 ++++ languages/it_IT/lang.inc | 4 ++++ languages/ko_KR/lang.inc | 4 ++++ languages/nl_NL/lang.inc | 4 ++++ languages/pl_PL/lang.inc | 4 ++++ languages/pt_BR/lang.inc | 4 ++++ languages/ro_RO/lang.inc | 4 ++++ languages/ru_RU/lang.inc | 4 ++++ languages/sk_SK/lang.inc | 4 ++++ languages/sv_SE/lang.inc | 4 ++++ languages/tr_TR/lang.inc | 4 ++++ languages/uk_UA/lang.inc | 4 ++++ languages/zh_CN/lang.inc | 4 ++++ languages/zh_TW/lang.inc | 4 ++++ 24 files changed, 100 insertions(+), 4 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 2a984bb82..66999e2fa 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -684,6 +684,7 @@ URL: [url]', 'march' => 'مارس', 'max_upload_size' => 'الحجم الاقصى للملف', 'may' => 'مايو', +'menu_dropfolder' => '', 'mimetype' => 'Mime type', 'minutes' => 'دقائق', 'misc' => 'متنوعات', @@ -937,6 +938,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1131,6 +1133,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 039c118c2..3097ea388 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -615,6 +615,7 @@ $text = array( 'march' => 'март', 'max_upload_size' => 'Лимит за размер на файла', 'may' => 'май', +'menu_dropfolder' => '', 'mimetype' => 'Mime тип', 'minutes' => 'минути', 'misc' => 'Разни', @@ -815,6 +816,7 @@ $text = array( 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -996,6 +998,8 @@ $text = array( 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => 'Включи конвертирането', 'settings_enableConverting_desc' => 'Включване/изключване конвертирането на файлове', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => 'Разреши еднакви имена на документи', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index f8d80ac0b..f34a43078 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -620,6 +620,7 @@ URL: [url]', 'march' => 'Març', 'max_upload_size' => 'Mida màxima de pujada de cada fitxer', 'may' => 'Maig', +'menu_dropfolder' => '', 'mimetype' => '', 'minutes' => '', 'misc' => 'Miscelànea', @@ -820,6 +821,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1001,6 +1003,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 94c96811b..0d8a37e99 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -691,6 +691,7 @@ URL: [url]', 'march' => 'Březen', 'max_upload_size' => 'Max. délka pro nahrání jednoho souboru', 'may' => 'Květen', +'menu_dropfolder' => '', 'mimetype' => 'Typ "MIME"', 'minutes' => 'minuty', 'misc' => 'Různé', @@ -946,6 +947,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1140,6 +1142,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Povolit/zakázat schránku', 'settings_enableConverting' => 'Povolit konverzi', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Povolit rychlý upload', 'settings_enableDropUpload_desc' => 'Povolit/zakázat pokládácí prostor na stránce \'Zobrazení složek\' pro upload souborů pomocí Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Povolit duplicitu názvů dokumentů', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 7fb535ff0..4ce190ce4 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 (2455), dgrutsch (22) +// Translators: Admin (2461), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -115,7 +115,7 @@ URL: [url]', 'approval_request_email_subject' => '[sitename]: [name] - Aufforderung zur Freigabe', 'approval_status' => 'Freigabestatus', 'approval_submit_email' => '', -'approval_submit_email_body' => 'Freigabe erteilen +'approval_submit_email_body' => 'Freigabe erteilt Dokument: [name] Version: [version] Elternordner: [folder_path] @@ -702,6 +702,7 @@ URL: [url]', 'march' => 'März', 'max_upload_size' => 'Maximale Dateigröße', 'may' => 'Mai', +'menu_dropfolder' => 'Ablageordner', 'mimetype' => 'Mime-Type', 'minutes' => 'Minuten', 'misc' => 'Sonstiges', @@ -990,6 +991,7 @@ URL: [url]', 'revise_document_on' => 'Nächste Überprüfung des Dokuments am [date]', 'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen', 'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen', +'revisions_pending' => '[no_revisions] zukünftige Wiederholungsprüfungen', 'revisions_rejected' => '[no_revisions] abgelehnte Wiederholungsprüfungen', 'revision_date' => 'Datum der Wiederholungsprüfung', 'revision_log' => 'Protokoll der erneuten Prüfung', @@ -1001,7 +1003,7 @@ Benutzer: [username] URL: [url]', 'revision_request_email_subject' => '[sitename]: [name] - Aufforderung zur Wiederholungsprüfung', 'revision_status' => 'Status', -'revision_submit_email_body' => 'Erneute Freigabe erteilen +'revision_submit_email_body' => 'Erneute Freigabe erteilt Dokument: [name] Version: [version] Elternordner: [folder_path] @@ -1196,6 +1198,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Schaltet die Zwischenablage auf der \'View Folder\' Seite ein/aus', 'settings_enableConverting' => 'Dokumentenkonvertierung einschalten', 'settings_enableConverting_desc' => 'Ein/Auschalten der automatischen Konvertierung von Dokumenten', +'settings_enableDropFolderList' => 'Ein-/Ausschalten der Liste der Dateien im Ablageordner im Menü', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Schnelles Hochladen einschalten', 'settings_enableDropUpload_desc' => 'Ein/Ausschalten des Bereichs auf der \'View Folder\' Seite zum Hochladen von Dateien per Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Erlaube doppelte Dokumentennamen', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 96d252345..f7b4c1551 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -615,6 +615,7 @@ $text = array( 'march' => 'Μάρτιος', 'max_upload_size' => '', 'may' => 'Μάϊος', +'menu_dropfolder' => '', 'mimetype' => '', 'minutes' => 'λεπτά', 'misc' => 'Διάφορα', @@ -826,6 +827,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1007,6 +1009,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 9a60d1e5e..18c52ec6b 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 (1585), dgrutsch (9), netixw (14) +// Translators: Admin (1588), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -703,6 +703,7 @@ URL: [url]', 'march' => 'March', 'max_upload_size' => 'Maximum upload size', 'may' => 'May', +'menu_dropfolder' => 'Drop folder', 'mimetype' => 'Mime type', 'minutes' => 'minutes', 'misc' => 'Misc', @@ -992,6 +993,7 @@ URL: [url]', 'revise_document_on' => 'Next revision of document version on [date]', 'revisions_accepted' => '[no_revisions] revisions already accepted', 'revisions_not_touched' => '[no_revisions] revisions not being touched', +'revisions_pending' => '[no_revisions] revisions due in future', 'revisions_rejected' => '[no_revisions] revisions already rejected', 'revision_date' => 'Date of revision', 'revision_log' => 'Revision log', @@ -1191,6 +1193,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Enable/disable the clipboard on the \'View Folder\' page', 'settings_enableConverting' => 'Enable Converting', 'settings_enableConverting_desc' => 'Enable/disable converting of files', +'settings_enableDropFolderList' => 'Enable/disable list of files in drop folder in the menu', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Enable Fast Upload', 'settings_enableDropUpload_desc' => 'Enable/Disable the drop area on the \'View Folder\' page for uploading files by Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Allow duplicate document names', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index cf7977bf2..47c80c4b8 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -691,6 +691,7 @@ URL: [url]', 'march' => 'Marzo', 'max_upload_size' => 'Tamaño máximo de subida para cada fichero', 'may' => 'Mayo', +'menu_dropfolder' => '', 'mimetype' => 'Tipo Mime', 'minutes' => 'minutos', 'misc' => 'Misc', @@ -952,6 +953,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1146,6 +1148,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Habilitar/deshabilitar el portapapeles', 'settings_enableConverting' => 'Habilitar conversión', 'settings_enableConverting_desc' => 'Habilitar/Deshabilitar conversión de ficheros', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Habilitar Subida Rapida', 'settings_enableDropUpload_desc' => 'Habilite/Deshabilite el área de drop en la pagina \'\'Ver folder\' para subir archivos por Drag&Drop', 'settings_enableDuplicateDocNames' => 'Permite tener nombres de documento duplicados', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index f821e4108..dc435f356 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -703,6 +703,7 @@ URL: [url]', 'march' => 'Mars', 'max_upload_size' => 'Taille maximum de fichier déposé', 'may' => 'Mai', +'menu_dropfolder' => '', 'mimetype' => 'Type MIME', 'minutes' => 'minutes', 'misc' => 'Divers', @@ -960,6 +961,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1141,6 +1143,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Activer/désactiver le presse-papier', 'settings_enableConverting' => 'Activer conversion des fichiers', 'settings_enableConverting_desc' => 'Activer/Désactiver la conversion des fichiers', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Activer la publication rapide de documents', 'settings_enableDropUpload_desc' => 'Activer/Désactiver la zone de glisser/ déposer sur la page d\'un dossier.', 'settings_enableDuplicateDocNames' => 'Autoriser plusieurs documents de même nom', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 1c523c634..b553b6199 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -696,6 +696,7 @@ Internet poveznica: [url]', 'march' => 'Ožujak', 'max_upload_size' => 'Max. veličina za prijenos', 'may' => 'Svibanj', +'menu_dropfolder' => '', 'mimetype' => 'Mime type', 'minutes' => 'minute', 'misc' => 'Razno', @@ -973,6 +974,7 @@ Internet poveznica: [url]', 'revise_document_on' => 'Slijedeća revizija verzije dokumenta na dan [date]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => 'Datum revizije', 'revision_log' => 'Zapisi revizije', @@ -1167,6 +1169,8 @@ Internet poveznica: [url]', 'settings_enableClipboard_desc' => 'Omogući/onemogući međuspremnik na \'Vidi mapu\' stranici', 'settings_enableConverting' => 'Omogući pretvaranje', 'settings_enableConverting_desc' => 'Omogući/onemogući pretvaranje datoteka', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Omogući brzo učitavanje', 'settings_enableDropUpload_desc' => 'Omogući/onemogući prostor za ubacivanje na \'Vidi mapu\' stranici za učitavanje datoteka "Povuci i ispusti" postupkom.', 'settings_enableDuplicateDocNames' => 'Omogući dvostruke nazive dokumenata', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index c2f16aec8..ea8da02f0 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -691,6 +691,7 @@ URL: [url]', 'march' => 'Március', 'max_upload_size' => 'Legnagyobb feltölthető méret', 'may' => 'Május', +'menu_dropfolder' => '', 'mimetype' => 'Mime típus', 'minutes' => 'perc', 'misc' => 'Vegyes', @@ -952,6 +953,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1145,6 +1147,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Vágólap engedélyezés/tiltás', 'settings_enableConverting' => 'Konvertálás engedélyezése', 'settings_enableConverting_desc' => 'Engedélyezi/tiltja az állományok konverzióját', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Gyorsfeltöltés engedélyezése', 'settings_enableDropUpload_desc' => 'Be/Ki kapcsolja a \'Mappa nézet\' oldalon a fogd és vidd feltöltéshez tartozó területetet', 'settings_enableDuplicateDocNames' => 'Azonos dokumentum név engedélyezése', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index c56140bf3..5e8ad5374 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -697,6 +697,7 @@ URL: [url]', 'march' => 'Marzo', 'max_upload_size' => 'Dimensione massima caricabile per ogni file', 'may' => 'Maggio', +'menu_dropfolder' => '', 'mimetype' => 'Tipo (MIME)', 'minutes' => 'minuti', 'misc' => 'Varie', @@ -980,6 +981,7 @@ URL: [url]', 'revise_document_on' => 'Prossima revisione del documento il [date]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => 'data revisione', 'revision_log' => 'Log revisione', @@ -1179,6 +1181,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Abilita/disabilita la clipboard sulla pagina \'Vista cartella\'', 'settings_enableConverting' => 'Abilita conversione', 'settings_enableConverting_desc' => 'Abilita/disabilita la conversione dei files', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Abilita upload veloce', 'settings_enableDropUpload_desc' => 'Abilita/disabilita l\'area di rilascio nella pagina \'Vista cartella\' per caricare i files con drag&drop (trascina e rilascia).', 'settings_enableDuplicateDocNames' => 'Permetti documenti con lo stesso nome', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 7b5a1c85f..9447ad6e4 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -696,6 +696,7 @@ URL: [url]', 'march' => '3월', 'max_upload_size' => '최대 업로드 크기', 'may' => '월', +'menu_dropfolder' => '', 'mimetype' => '마임 유형', 'minutes' => '분', 'misc' => '기타', @@ -966,6 +967,7 @@ URL: [url]', 'revise_document_on' => '문서 버전의 다음 개정 [날짜]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '개정 일자', 'revision_log' => '개정 로그', @@ -1160,6 +1162,8 @@ URL : [url]', 'settings_enableClipboard_desc' => '\'View Folder\'의 클립 보드 활성화/비활성화', 'settings_enableConverting' => '변환 사용', 'settings_enableConverting_desc' => '활성화 / 비활성화 파일로 변환', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '빠른 업로드 허용', 'settings_enableDropUpload_desc' => 'Drag&Drop하여 파일을 업로드할 \'View_Folder\' 페이지의 드롭 영역을 활성/비활설 한다.', 'settings_enableDuplicateDocNames' => '중복 된 문서명 허용', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 75ad5e32f..08c8263ce 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -689,6 +689,7 @@ URL: [url]', 'march' => 'maart', 'max_upload_size' => 'Maximale upload omvang voor ieder bestand', 'may' => 'mei', +'menu_dropfolder' => '', 'mimetype' => 'MIME Type', 'minutes' => 'Minuten', 'misc' => 'Diversen', @@ -970,6 +971,7 @@ URL: [url]', 'revise_document_on' => 'Volgende herziening van document op [date]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => 'Datum revisie', 'revision_log' => 'Log herziening', @@ -1173,6 +1175,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Activeer/ blokkeer het klembord', 'settings_enableConverting' => 'Inschakelen Conversie', 'settings_enableConverting_desc' => 'Inschakelen/uitschakelen conversie van bestanden', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Inschakelen Snelle Upload', 'settings_enableDropUpload_desc' => 'Aanzetten DropUpload', 'settings_enableDuplicateDocNames' => 'Sta duplicaten van documentnamen toe', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index a98f09624..937bb2125 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -684,6 +684,7 @@ URL: [url]', 'march' => 'Marzec', 'max_upload_size' => 'Maksymalny rozmiar pliku', 'may' => 'Maj', +'menu_dropfolder' => '', 'mimetype' => 'Typ mime', 'minutes' => 'minut', 'misc' => 'Różne', @@ -931,6 +932,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1125,6 +1127,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Włącz/wyłącz schowek', 'settings_enableConverting' => 'Włącz konwertowanie', 'settings_enableConverting_desc' => 'Włącz/Wyłącz konwertowanie plików', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => 'Zezwalaj na zduplikowane nazwy dokumentów', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index e30a94537..70eb00b9d 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -690,6 +690,7 @@ URL: [url]', 'march' => 'March', 'max_upload_size' => 'Tamanho máximo de arquivo para upload', 'may' => 'May', +'menu_dropfolder' => '', 'mimetype' => 'Tipo mime', 'minutes' => 'minutos', 'misc' => 'Miscelânia', @@ -949,6 +950,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1143,6 +1145,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Habilitar/desabilitar a área de transferência', 'settings_enableConverting' => 'Ativar Convertendo', 'settings_enableConverting_desc' => 'Ativar/dasativar conversão de arquivos', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Habilitar Upload Rápido', 'settings_enableDropUpload_desc' => 'Habilitar / Desabilitar a área na página \'Vista de Pastas\' para upload de arquivos por Arrastar e Soltar.', 'settings_enableDuplicateDocNames' => 'Permitir nomes duplicados de documento', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 5881d034f..1927a38eb 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -696,6 +696,7 @@ URL: [url]', 'march' => 'Martie', 'max_upload_size' => 'Dimensiunea maximă de încărcare', 'may' => 'Mai', +'menu_dropfolder' => '', 'mimetype' => 'Mime type', 'minutes' => 'minute', 'misc' => 'Diverse', @@ -974,6 +975,7 @@ URL: [url]', 'revise_document_on' => 'Urmatoarea revizuire a versiunii document pe [data]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => 'Log revizuire', @@ -1168,6 +1170,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Activare/dezactivare clipboard în pagina \'Vizualizare Folder\'', 'settings_enableConverting' => 'Activare Conversie', 'settings_enableConverting_desc' => 'Activare/dezactivare conversia fișierelor', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Activare Încărcare rapidă', 'settings_enableDropUpload_desc' => 'Activare/dezactivare zona de plasare (drop area) în pagina \'Vizualizare Folder\' pentru încarcarea fisierelor folosind Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Permiteți nume de documente duplicate', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 43975c7c6..4a3ee33e6 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -696,6 +696,7 @@ URL: [url]', 'march' => 'Март', 'max_upload_size' => 'Ограничение размера файла', 'may' => 'Май', +'menu_dropfolder' => '', 'mimetype' => 'MIME-тип', 'minutes' => 'минуты', 'misc' => 'Прочее', @@ -976,6 +977,7 @@ URL: [url]', 'revise_document_on' => 'Следующий ревизия версии документа назначен на [date]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => 'Дата ревизии', 'revision_log' => 'Лог ревизии', @@ -1175,6 +1177,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Включить/отключить буфер обмена.', 'settings_enableConverting' => 'Включить преобразование', 'settings_enableConverting_desc' => 'Включить/отключить преобразование файлов.', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Включить быструю загрузку', 'settings_enableDropUpload_desc' => 'Включить/отключить область в "Просмотр папки" для загрузки при помощи Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Разрешить документы
              с одинаковым названием', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index eae91bcba..1764b2bba 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -619,6 +619,7 @@ URL: [url]', 'march' => 'Marec', 'max_upload_size' => 'Maximálna veľkosť každého súboru', 'may' => 'Máj', +'menu_dropfolder' => '', 'mimetype' => '', 'minutes' => '', 'misc' => 'Rôzne', @@ -819,6 +820,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1000,6 +1002,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Zapnúť rýchle nahratie', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index ed3f72cce..917179570 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -684,6 +684,7 @@ URL: [url]', 'march' => 'mars', 'max_upload_size' => 'Maximal storlek för uppladdning', 'may' => 'maj', +'menu_dropfolder' => '', 'mimetype' => 'Mimetyp', 'minutes' => 'minuter', 'misc' => 'Diverse', @@ -937,6 +938,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1131,6 +1133,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Aktivera/Inaktivera urklipp funktionen.', 'settings_enableConverting' => 'Aktivera filkonvertering', 'settings_enableConverting_desc' => 'Aktivera/Inaktivera konvertering av filer', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Aktivera snabb uppladdning', 'settings_enableDropUpload_desc' => 'Aktivera / avaktivera droppområdet på "Visa mapp" sidan för att ladda upp filer genom att dra och släppa.', 'settings_enableDuplicateDocNames' => 'Tillåter samma dokumentnamn', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index b2a920d0e..7c65f8a18 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -690,6 +690,7 @@ URL: [url]', 'march' => 'Mart', 'max_upload_size' => 'Maksimum yükleme boyutu', 'may' => 'Mayıs', +'menu_dropfolder' => '', 'mimetype' => 'Mime tipi', 'minutes' => 'dakika', 'misc' => 'Diğer', @@ -953,6 +954,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1147,6 +1149,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '\'Klasör Görüntüle\' sayfasında panoyu etkinleştir/devredışı bırak', 'settings_enableConverting' => 'Dönüştürmeyi etkinleştir', 'settings_enableConverting_desc' => 'Dosyaları dönüştürmeyi etkinleştir/devredışı bırak', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Hızlı Yüklemeyi Etkinleştir', 'settings_enableDropUpload_desc' => '\'Klasör Görüntüle\' alanında dosyaları Sürükle&Bırak yöntemiyle yüklemek için sürükleme alanını etkinleştir/devredışı bırak', 'settings_enableDuplicateDocNames' => 'Mükerrer doküman isimlerine izin ver', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index b3dfd5091..7ff833115 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -696,6 +696,7 @@ URL: [url]', 'march' => 'Березень', 'max_upload_size' => 'Обмеження розміру файлу', 'may' => 'Травень', +'menu_dropfolder' => '', 'mimetype' => 'MIME-тип', 'minutes' => 'хвилини', 'misc' => 'Інше', @@ -969,6 +970,7 @@ URL: [url]', 'revise_document_on' => 'Наступна ревізія документу [date]', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => 'Дата ревізії', 'revision_log' => 'Лог ревізії', @@ -1168,6 +1170,8 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Увімкнути/вимкнути буфер обміну.', 'settings_enableConverting' => 'Увімкнути перетворення', 'settings_enableConverting_desc' => 'Увімкнути/вимкнути перетворення файлів.', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Увімкнути швидке завантаження', 'settings_enableDropUpload_desc' => 'Увімкнути/вимкнути область в "Перегляді каталогу" для завантаження за допомогою Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Дозволити документи
              з однаковою назвою', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index d666e6de4..33b1cbdb4 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -621,6 +621,7 @@ URL: [url]', 'march' => '三 月', 'max_upload_size' => '最大上传文件大小', 'may' => '五 月', +'menu_dropfolder' => '', 'mimetype' => 'MIME类型', 'minutes' => '', 'misc' => '其他', @@ -821,6 +822,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1002,6 +1004,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '打开转换', 'settings_enableConverting_desc' => '打开/关闭文件转换', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '允许快速上传', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '允许重复的文件名', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index a1e8a8573..e0f05104c 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -619,6 +619,7 @@ URL: [url]', 'march' => '三 月', 'max_upload_size' => '最大上傳文件大小', 'may' => '五 月', +'menu_dropfolder' => '', 'mimetype' => 'MIME類型', 'minutes' => '', 'misc' => '其他', @@ -819,6 +820,7 @@ URL: [url]', 'revise_document_on' => '', 'revisions_accepted' => '', 'revisions_not_touched' => '', +'revisions_pending' => '', 'revisions_rejected' => '', 'revision_date' => '', 'revision_log' => '', @@ -1000,6 +1002,8 @@ URL: [url]', 'settings_enableClipboard_desc' => '', 'settings_enableConverting' => '', 'settings_enableConverting_desc' => '', +'settings_enableDropFolderList' => '', +'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => '', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => '允許重複的檔案名', From 1339c36d677598ca240a195972987ce076e82497 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 10:22:10 +0200 Subject: [PATCH 136/169] do not add dir separator to contentDir if it is empty --- inc/inc.ClassSettings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 95c4b1cbf..b937034f0 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -434,7 +434,7 @@ class Settings { /* {{{ */ $this->_rootDir = strval($tab["rootDir"]); $this->_httpRoot = strval($tab["httpRoot"]); $this->_contentDir = strval($tab["contentDir"]); - if(substr($this->_contentDir, -1, 1) != DIRECTORY_SEPARATOR) + if($this->_contentDir && substr($this->_contentDir, -1, 1) != DIRECTORY_SEPARATOR) $this->_contentDir .= DIRECTORY_SEPARATOR; $this->_cacheDir = strval($tab["cacheDir"]); $this->_stagingDir = strval($tab["stagingDir"]); From 64e75e80647b4bedafe781066eb553c748518369 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 10:22:42 +0200 Subject: [PATCH 137/169] correct rootDir if not set propperly, set contentDir below rootDir --- install/install.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/install/install.php b/install/install.php index aed5f135c..3aac8f012 100644 --- a/install/install.php +++ b/install/install.php @@ -160,13 +160,16 @@ do { if(!$settings->_rootDir) $settings->_rootDir = $rootDir; -//$settings->_coreDir = $settings->_rootDir; -//$settings->_luceneClassDir = $settings->_rootDir; +elseif(realpath ("..") != realpath($settings->_rootDir)) { // Fix rootDir if required + $msg = "Your Root directory has been modified to fit your installation path!"; + $settings->_rootDir = realpath ("..")."/"; +} + if(!$settings->_contentDir) { - $settings->_contentDir = $settings->_rootDir . 'data/'; - $settings->_luceneDir = $settings->_rootDir . 'data/lucene/'; - $settings->_stagingDir = $settings->_rootDir . 'data/staging/'; - $settings->_cacheDir = $settings->_rootDir . 'data/cache/'; + $settings->_contentDir = realpath($settings->_rootDir."..") . '/data/'; + $settings->_luceneDir = $settings->_contentDir . 'lucene/'; + $settings->_stagingDir = $settings->_contentDir . 'staging/'; + $settings->_cacheDir = $settings->_contentDir . 'cache/'; } else { if(!$settings->_cacheDir) { $settings->_cacheDir = $settings->_contentDir . 'cache/'; @@ -190,6 +193,8 @@ UI::htmlStartPage("INSTALL"); UI::globalBanner(); UI::contentStart(); UI::contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION); +if(isset($msg)) + echo "
              ".$msg."
              "; UI::contentContainerStart(); From 22406501ddffce24a5472aeb3eff3c12523b17e0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 10:24:02 +0200 Subject: [PATCH 138/169] add entry for 4.3.36 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index ab86f5999..01824e3e0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ - fix sql statement for creating temp. tables (sqlite) - remove empty lines at end of view/bootstrap/class.*.php files (Closes #329) - make sure contentDir ends with DIRECTORY_SEPARATOR (Closes #323) +- minor improvements of installation -------------------------------------------------------------------------------- Changes in version 4.3.35 From 11f67105bd61ba4d3c814bde41c7d842440a0c0a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 10:29:50 +0200 Subject: [PATCH 139/169] minor updates --- languages/de_DE/lang.inc | 8 ++++---- languages/en_GB/lang.inc | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 4ce190ce4..95802e4fc 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 (2461), dgrutsch (22) +// Translators: Admin (2464), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -1038,7 +1038,7 @@ URL: [url]', 'rm_role' => 'Diese Rolle löschen', 'rm_transmittal' => 'Dokumentenliste entfernen', 'rm_transmittalitem' => 'Eintrag löschen', -'rm_user' => 'Diesen Benutzer löschen', +'rm_user' => 'Benutzer löschen', 'rm_user_from_processes' => 'Benutzer aus Prozessen löschen', 'rm_version' => 'Version löschen', 'rm_workflow' => 'Lösche Workflow', @@ -1198,7 +1198,7 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Schaltet die Zwischenablage auf der \'View Folder\' Seite ein/aus', 'settings_enableConverting' => 'Dokumentenkonvertierung einschalten', 'settings_enableConverting_desc' => 'Ein/Auschalten der automatischen Konvertierung von Dokumenten', -'settings_enableDropFolderList' => 'Ein-/Ausschalten der Liste der Dateien im Ablageordner im Menü', +'settings_enableDropFolderList' => 'Liste der Dateien im Ablageordner im Menü', 'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Schnelles Hochladen einschalten', 'settings_enableDropUpload_desc' => 'Ein/Ausschalten des Bereichs auf der \'View Folder\' Seite zum Hochladen von Dateien per Drag&Drop.', @@ -1242,7 +1242,7 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Anwählen, um den Workflow der Wiederholungsprüfung von Dokumenten nach einer einstellbaren Zeit zu ermöglichen.', 'settings_enableSelfRevApp' => 'Erlaube Prüfung/Freigabe durch angemeldeten Benutzer', 'settings_enableSelfRevApp_desc' => 'Anwählen, um den aktuell angemeldeten Benutzer in der Liste der Prüfer/Freigeber und für Workflow-Aktionen auswählbar zu machen.', -'settings_enableSessionList' => 'Liste angemeldeter Benutzer einschalten', +'settings_enableSessionList' => 'Liste angemeldeter Benutzer im Menü', 'settings_enableSessionList_desc' => 'Schaltet die Liste der zur Zeit angemeldeten Benutzer im Menu ein/aus.', 'settings_enableThemeSelector' => 'Auswahl des Themas', 'settings_enableThemeSelector_desc' => 'Schaltet das Auswahlmenü für die Themenauswahl in der Anmeldemaske ein oder aus.', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 18c52ec6b..96d4d0824 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 (1588), dgrutsch (9), netixw (14) +// Translators: Admin (1591), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -1033,7 +1033,7 @@ URL: [url]', 'rm_role' => 'Delete this role', 'rm_transmittal' => 'Remove transmittal', 'rm_transmittalitem' => 'Remove item', -'rm_user' => 'Remove this user', +'rm_user' => 'Remove user', 'rm_user_from_processes' => 'Remove user from processes', 'rm_version' => 'Remove version', 'rm_workflow' => 'Remove Workflow', @@ -1193,7 +1193,7 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Enable/disable the clipboard on the \'View Folder\' page', 'settings_enableConverting' => 'Enable Converting', 'settings_enableConverting_desc' => 'Enable/disable converting of files', -'settings_enableDropFolderList' => 'Enable/disable list of files in drop folder in the menu', +'settings_enableDropFolderList' => 'Enable list of files in drop folder in menu', 'settings_enableDropFolderList_desc' => '', 'settings_enableDropUpload' => 'Enable Fast Upload', 'settings_enableDropUpload_desc' => 'Enable/Disable the drop area on the \'View Folder\' page for uploading files by Drag&Drop.', @@ -1237,7 +1237,7 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Enable, to be able to run the workflow for revising a document after a given period of time.', 'settings_enableSelfRevApp' => 'Allow review/approval for logged in user', 'settings_enableSelfRevApp_desc' => 'Enable this if you want the currently logged in user to be listed as reviewers/approvers and for workflow transitions.', -'settings_enableSessionList' => 'Enable list of users online', +'settings_enableSessionList' => 'Enable list of users online in menu', 'settings_enableSessionList_desc' => 'Enable list of currently logged in users in menu.', 'settings_enableThemeSelector' => 'Theme selection', 'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.', From 16461fef7569d24ff76436b538bd593af56b9276 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 1 Aug 2017 18:09:01 +0200 Subject: [PATCH 140/169] two column layout --- views/bootstrap/class.Help.php | 39 +++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/views/bootstrap/class.Help.php b/views/bootstrap/class.Help.php index 05d529cd9..4df03d260 100644 --- a/views/bootstrap/class.Help.php +++ b/views/bootstrap/class.Help.php @@ -39,17 +39,46 @@ class SeedDMS_View_Help extends SeedDMS_Bootstrap_Style { $this->htmlStartPage(getMLText("help")); $this->globalNavigation(); $this->contentStart(); - $this->pageNavigation(getMLText("help").": ".getMLText('help_'.strtolower($context), array(), $context), ""); - - $this->contentContainerStart('help'); +// $this->pageNavigation(getMLText("help").": ".getMLText('help_'.strtolower($context), array(), $context), ""); +?> +
              +
              + Table of contents +params['session']->getLanguage()."/help"); + echo ""; +?> +
              +
              + +params['session']->getLanguage()."/help/".$context.".html"; if(file_exists($helpfile)) readfile($helpfile); - else + else { + $helpfile = "../languages/".$this->params['session']->getLanguage()."/help/".$context.".md"; + if(file_exists($helpfile)) { + require_once('parsedown/Parsedown.php'); + $Parsedown = new Parsedown(); + echo $Parsedown->text(file_get_contents($helpfile)); + } else readfile("../languages/".$this->params['session']->getLanguage()."/help.htm"); + } - $this->contentContainerEnd(); +?> +
              +
              +contentEnd(); $this->htmlEndPage(); } /* }}} */ From e0dcd86f5a97b9a8e9f030697218f37f8b141ac0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 06:46:44 +0200 Subject: [PATCH 141/169] add optional version number to mayEditOnline() --- inc/inc.ClassAccessOperation.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index f93a4f4f1..80840eb5c 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -54,9 +54,12 @@ class SeedDMS_AccessOperation { * document may delete versions. The admin may even delete a version * even if is disallowed in the settings. */ - function mayEditVersion() { /* {{{ */ + function mayEditVersion($vno=0) { /* {{{ */ if(get_class($this->obj) == 'SeedDMS_Core_Document') { - $version = $this->obj->getLatestContent(); + if($vno) + $version = $this->obj->getContentByVersion($vno); + else + $version = $this->obj->getLatestContent(); if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes)) return false; if ($this->obj->getAccessMode($this->user) == M_ALL || $this->user->isAdmin()) { From 76508cb52b0b5b80cb568c11dee70b36ddf2c827 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 06:47:48 +0200 Subject: [PATCH 142/169] check with SeedDMS_AccessOperation for allowed operation --- out/out.EditAttributes.php | 3 +++ out/out.EditComment.php | 3 +++ out/out.EditOnline.php | 4 ++++ out/out.OverrideContentStatus.php | 10 +++------- out/out.RemoveVersion.php | 3 +++ out/out.SetReviewersApprovers.php | 10 +++------- out/out.SetWorkflow.php | 3 +++ 7 files changed, 22 insertions(+), 14 deletions(-) diff --git a/out/out.EditAttributes.php b/out/out.EditAttributes.php index 717768728..b7e72e6c7 100644 --- a/out/out.EditAttributes.php +++ b/out/out.EditAttributes.php @@ -46,6 +46,9 @@ $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->mayEditAttributes()) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); +} $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); diff --git a/out/out.EditComment.php b/out/out.EditComment.php index c39a223b2..d91f130ce 100644 --- a/out/out.EditComment.php +++ b/out/out.EditComment.php @@ -51,6 +51,9 @@ $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->mayEditComment()) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); diff --git a/out/out.EditOnline.php b/out/out.EditOnline.php index f2433e71d..84f73f155 100644 --- a/out/out.EditOnline.php +++ b/out/out.EditOnline.php @@ -53,6 +53,7 @@ if(isset($_GET["version"])) { $lc = $document->getLatestContent(); } else { + $version = 0; $content = $document->getLatestContent(); $lc = $document->getLatestContent(); } @@ -74,6 +75,9 @@ if (!isset($settings->_editOnlineFileTypes) || !is_array($settings->_editOnlineF /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); +if(!$accessop->mayEditVersion($version)) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); +} $folder = $document->getFolder(); diff --git a/out/out.OverrideContentStatus.php b/out/out.OverrideContentStatus.php index 6798f6e98..ad4863016 100644 --- a/out/out.OverrideContentStatus.php +++ b/out/out.OverrideContentStatus.php @@ -50,17 +50,13 @@ if (!is_object($content)) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_version")); } -$overallStatus = $content->getStatus(); - -// status change control -if ($overallStatus["status"] == S_REJECTED || $overallStatus["status"] == S_EXPIRED || $overallStatus["status"] == S_DRAFT_REV || $overallStatus["status"] == S_DRAFT_APP ) { - UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_change_final_states")); -} - $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->mayOverwriteStatus()) { + UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_change_final_states")); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); diff --git a/out/out.RemoveVersion.php b/out/out.RemoveVersion.php index c8958f642..eaa99db3e 100644 --- a/out/out.RemoveVersion.php +++ b/out/out.RemoveVersion.php @@ -60,6 +60,9 @@ $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->mayRemoveVersion()) { + UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); diff --git a/out/out.SetReviewersApprovers.php b/out/out.SetReviewersApprovers.php index 02c5e09f5..ef3cac583 100644 --- a/out/out.SetReviewersApprovers.php +++ b/out/out.SetReviewersApprovers.php @@ -53,17 +53,13 @@ if(!$settings->_enableVersionModification) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("no_version_modification")); } -// control for document state. Must correspond to check in -// SeedDMS_AccessOperation::maySetReviewersApprovers() -$overallStatus = $content->getStatus(); -if ($overallStatus["status"]!=S_DRAFT_REV && $overallStatus["status"]!=S_DRAFT_APP) { - UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_assign_invalid_state")); -} - $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->maySetReviewersApprovers()) { + UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_assign_invalid_state")); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); diff --git a/out/out.SetWorkflow.php b/out/out.SetWorkflow.php index d2473afd0..caee4499d 100644 --- a/out/out.SetWorkflow.php +++ b/out/out.SetWorkflow.php @@ -51,6 +51,9 @@ $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); +if(!$accessop->maySetWorkflow()) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); From b974ee0df270c02aff8e09cd023c2e94250dc3b0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 06:49:01 +0200 Subject: [PATCH 143/169] add entry for 4.3.36 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 01824e3e0..a322092d9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,8 @@ - remove empty lines at end of view/bootstrap/class.*.php files (Closes #329) - make sure contentDir ends with DIRECTORY_SEPARATOR (Closes #323) - minor improvements of installation +- better checking in out/*.php for allowed operation (e.g. EditOnline, + RemoveVersion, SetReviewersApprovers, ...) -------------------------------------------------------------------------------- Changes in version 4.3.35 From 0c3355ed9dc587d7d1492a60bc84763784acc203 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 07:04:46 +0200 Subject: [PATCH 144/169] no extra check enableVersionModificaton is done by maySetReviewersApprovers() --- out/out.SetReviewersApprovers.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/out/out.SetReviewersApprovers.php b/out/out.SetReviewersApprovers.php index ef3cac583..a05d428ca 100644 --- a/out/out.SetReviewersApprovers.php +++ b/out/out.SetReviewersApprovers.php @@ -49,16 +49,12 @@ if (!is_object($content)) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_version")); } -if(!$settings->_enableVersionModification) { - UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("no_version_modification")); -} - $folder = $document->getFolder(); /* Create object for checking access to certain operations */ $accessop = new SeedDMS_AccessOperation($document, $user, $settings); if(!$accessop->maySetReviewersApprovers()) { - UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("cannot_assign_invalid_state")); + UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("no_version_modification")); } $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); From ea8a695551820a2ecdfe635ab888d5c42c366bbf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 10:53:50 +0200 Subject: [PATCH 145/169] maySetReviewersApprovers() checks if review/approval has been done already --- inc/inc.ClassAccessOperation.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index 80840eb5c..522f1692b 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -114,15 +114,28 @@ class SeedDMS_AccessOperation { * * This check can only be done for documents. Overwriting the document * reviewers/approvers is only allowed if version modification is turned on - * in the settings and the document is in 'draft review' status. The - * admin may even set reviewers/approvers if is disallowed in the + * in the settings and the document has not been reviewed/approved by any + * user/group already. + * The admin may even set reviewers/approvers if is disallowed in the * settings. */ function maySetReviewersApprovers() { /* {{{ */ if(get_class($this->obj) == 'SeedDMS_Core_Document') { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); - if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP && $this->settings->_workflowMode == 'traditional_only_approval')) { + $reviewstatus = $latestContent->getReviewStatus(); + $hasreview = false; + foreach($reviewstatus as $r) { + if($r['status'] == 1 || $r['status'] == -1) + $hasreview = true; + } + $approvalstatus = $latestContent->getApprovalStatus(); + $hasapproval = false; + foreach($approvalstatus as $r) { + if($r['status'] == 1 || $r['status'] == -1) + $hasapproval = true; + } + if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) { return true; } } From c54faf8f901258edda36dddda23e803bc4b12faa Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 10:54:40 +0200 Subject: [PATCH 146/169] regard mandatory reviewers/approvers the owner of the document may not remove mandatory reviewers/approvers anymore. Only admin may do that, it he/she is not the owner. --- op/op.SetReviewersApprovers.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/op/op.SetReviewersApprovers.php b/op/op.SetReviewersApprovers.php index 4d995a24a..7b0589c59 100644 --- a/op/op.SetReviewersApprovers.php +++ b/op/op.SetReviewersApprovers.php @@ -60,6 +60,7 @@ if ($overallStatus["status"]==S_REJECTED || $overallStatus["status"]==S_OBSOLETE } $folder = $document->getFolder(); +$owner = $document->getOwner(); // Retrieve a list of all users and groups that have review / approve // privileges. @@ -104,6 +105,18 @@ foreach ($approvalStatus as $i=>$rs) { // Get the list of proposed reviewers, stripping out any duplicates. $pIndRev = (isset($_POST["indReviewers"]) ? array_values(array_unique($_POST["indReviewers"])) : array()); $pGrpRev = (isset($_POST["grpReviewers"]) ? array_values(array_unique($_POST["grpReviewers"])) : array()); +if($user->getID() != $owner->getID()) { + $res=$owner->getMandatoryReviewers(); + if($user->isAdmin()) + $res = array(); +} else + $res=$user->getMandatoryReviewers(); +foreach ($res as $r) { + if(!in_array($r['reviewerUserID'], $pIndRev)) + $pIndRev[] = $r['reviewerUserID']; + if(!in_array($r['reviewerGroupID'], $pGrpRev)) + $pGrpRev[] = $r['reviewerGroupID']; +} foreach ($pIndRev as $p) { if (is_numeric($p)) { if (isset($accessIndex["i"][$p])) { @@ -319,6 +332,18 @@ if (count($reviewIndex["g"]) > 0) { // Get the list of proposed approvers, stripping out any duplicates. $pIndApp = (isset($_POST["indApprovers"]) ? array_values(array_unique($_POST["indApprovers"])) : array()); $pGrpApp = (isset($_POST["grpApprovers"]) ? array_values(array_unique($_POST["grpApprovers"])) : array()); +if($user->getID() != $owner->getID()) { + $res=$owner->getMandatoryApprovers(); + if($user->isAdmin()) + $res = array(); +} else + $res=$user->getMandatoryApprovers(); +foreach ($res as $r) { + if(!in_array($r['approverUserID'], $pIndApp)) + $pIndApp[] = $r['approverUserID']; + if(!in_array($r['approverGroupID'], $pGrpApp)) + $pGrpApp[] = $r['approverGroupID']; +} foreach ($pIndApp as $p) { if (is_numeric($p)) { if (isset($accessIndex["i"][$p])) { From 48e1bfa670ed3e0e2353902947b4248846afbad5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 10:56:28 +0200 Subject: [PATCH 147/169] regard mandatory reviewers/approvers --- .../bootstrap/class.SetReviewersApprovers.php | 103 +++++++++++++++--- 1 file changed, 89 insertions(+), 14 deletions(-) diff --git a/views/bootstrap/class.SetReviewersApprovers.php b/views/bootstrap/class.SetReviewersApprovers.php index b58f73fd4..ffd4f2780 100644 --- a/views/bootstrap/class.SetReviewersApprovers.php +++ b/views/bootstrap/class.SetReviewersApprovers.php @@ -43,6 +43,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { $enableselfrevapp = $this->params['enableselfrevapp']; $overallStatus = $content->getStatus(); + $owner = $document->getOwner(); $this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName())))); $this->globalNavigation($folder); @@ -92,7 +93,12 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { "; +// print ""; } elseif (isset($reviewIndex["i"][$usr->getID()])) { @@ -121,8 +127,24 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { } } ?> - - + + 0) { + $u = $dms->getUser($r['reviewerUserID']); + $tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')'); + } + } + if($tmp) { + echo '
              '.getMLText('mandatory_reviewers').': '; + echo implode(', ', $tmp); + echo "
              \n"; + } + } +?>
              :
              "; +// print ""; } elseif (isset($reviewIndex["g"][$group->getID()])) { @@ -154,8 +176,25 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { } } ?> - - + + 0) { + $u = $dms->getGroup($r['reviewerGroupID']); + $tmp[] = htmlspecialchars($u->getName()); + } + } + if($tmp) { + echo '
              '.getMLText('mandatory_reviewergroups').': '; + echo implode(', ', $tmp); + echo "
              \n"; + } + } + } +?> contentSubHeading(getMLText("update_approvers"));?> @@ -163,8 +202,12 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { "; +// print ""; } elseif (isset($approvalIndex["i"][$usr->getID()])) { @@ -195,7 +238,23 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { } } ?> - + + 0) { + $u = $dms->getUser($r['approverUserID']); + $tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')'); + } + } + if($tmp) { + echo '
              '.getMLText('mandatory_approvers').': '; + echo implode(', ', $tmp); + echo "
              \n"; + } + } +?>
              :
              "; +// print ""; } elseif (isset($approvalIndex["g"][$group->getID()])) { @@ -229,8 +288,24 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Bootstrap_Style { } } ?> - - + + 0) { + $u = $dms->getGroup($r['approverGroupID']); + $tmp[] = htmlspecialchars($u->getName()); + } + } + if($tmp) { + echo '
              '.getMLText('mandatory_approvergroups').': '; + echo implode(', ', $tmp); + echo "
              \n"; + } + } +?>

              From 0dbf05334d6e7c50cff068707a5a45727e80df19 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 10:56:46 +0200 Subject: [PATCH 148/169] add entry for 4.3.36 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index a322092d9..965009234 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,9 @@ - minor improvements of installation - better checking in out/*.php for allowed operation (e.g. EditOnline, RemoveVersion, SetReviewersApprovers, ...) +- SetReviewersApprovers checks for mandatory reviewers/approvers +- reviewers/approvers can only be modified by users with unrestricted access + and as long as no reviewer/approver has reviewed/approved the document -------------------------------------------------------------------------------- Changes in version 4.3.35 From ed1f74bacaac8bcb9b69485ed88d715024a62cf0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 12:15:13 +0200 Subject: [PATCH 149/169] fix merge error --- inc/inc.ClassAccessOperation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index 5894524ef..4e38dd6df 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -144,7 +144,7 @@ class SeedDMS_AccessOperation { if($r['status'] == 1 || $r['status'] == -1) $hasapproval = true; } - if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) { + if ((($this->settings->_enableVersionModification && ($document->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) { return true; } } From 2d1b1b1a0316864dcc5988ad13b2432dae376d1f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 14:00:42 +0200 Subject: [PATCH 150/169] add svg icon for pdf files --- .../images/gnome-mime-application-pdf.svg | 633 ++++++++++++++++++ 1 file changed, 633 insertions(+) create mode 100644 views/bootstrap/images/gnome-mime-application-pdf.svg diff --git a/views/bootstrap/images/gnome-mime-application-pdf.svg b/views/bootstrap/images/gnome-mime-application-pdf.svg new file mode 100644 index 000000000..60990a4a5 --- /dev/null +++ b/views/bootstrap/images/gnome-mime-application-pdf.svg @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + rich + text + document + office + word + write + + + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 0ba02cc2a8cf404d3a373fcb1952371010423791 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 14:01:00 +0200 Subject: [PATCH 151/169] use only svg icons --- views/bootstrap/class.Bootstrap.php | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index addb25486..be9f8a40e 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -749,6 +749,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons = array(); $icons["txt"] = "text-x-preview.svg"; $icons["text"] = "text-x-preview.svg"; + $icons["tex"] = "text-x-preview.svg"; $icons["doc"] = "office-document.svg"; $icons["dot"] = "office-document.svg"; $icons["docx"] = "office-document.svg"; @@ -772,27 +773,26 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons["png"] = "image.svg"; $icons["tif"] = "image.svg"; $icons["tiff"] = "image.svg"; - $icons["log"] = "log.png"; + $icons["log"] = "text-x-preview.svg"; $icons["midi"] = "audio.svg"; - $icons["pdf"] = "pdf.png"; + $icons["pdf"] = "gnome-mime-application-pdf.svg"; $icons["wav"] = "audio.svg"; $icons["mp3"] = "audio.svg"; - $icons["c"] = "source_c.png"; - $icons["cpp"] = "source_cpp.png"; - $icons["h"] = "source_h.png"; - $icons["java"] = "source_java.png"; - $icons["py"] = "source_py.png"; + $icons["c"] = "text-x-preview.svg"; + $icons["cpp"] = "text-x-preview.svg"; + $icons["h"] = "text-x-preview.svg"; + $icons["java"] = "text-x-preview.svg"; + $icons["py"] = "text-x-preview.svg"; $icons["tar"] = "package.svg"; - $icons["gz"] = "gz.png"; - $icons["7z"] = "gz.png"; - $icons["bz"] = "gz.png"; - $icons["bz2"] = "gz.png"; - $icons["tgz"] = "gz.png"; + $icons["gz"] = "package.svg"; + $icons["7z"] = "package.svg"; + $icons["bz"] = "package.svg"; + $icons["bz2"] = "package.svg"; + $icons["tgz"] = "package.svg"; $icons["zip"] = "package.svg"; - $icons["rar"] = "gz.png"; + $icons["rar"] = "package.svg"; $icons["mpg"] = "video.svg"; $icons["avi"] = "video.svg"; - $icons["tex"] = "tex.png"; $icons["ods"] = "office-spreadsheet.svg"; $icons["ots"] = "office-spreadsheet.svg"; $icons["sxc"] = "office-spreadsheet.svg"; @@ -805,10 +805,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons["otp"] = "office-presentation.svg"; $icons["sxi"] = "office-presentation.svg"; $icons["sti"] = "office-presentation.svg"; - $icons["odg"] = "office-drawing.png"; - $icons["otg"] = "office-drawing.png"; - $icons["sxd"] = "office-drawing.png"; - $icons["std"] = "office-drawing.png"; + $icons["odg"] = "office-drawing.svg"; + $icons["otg"] = "office-drawing.svg"; + $icons["sxd"] = "office-drawing.svg"; + $icons["std"] = "office-drawing.svg"; $icons["odf"] = "ooo_formula.png"; $icons["sxm"] = "ooo_formula.png"; $icons["smf"] = "ooo_formula.png"; From 3406739f949145886e61e56f933ab3a474167506 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 14:01:41 +0200 Subject: [PATCH 152/169] add entry for 4.3.36 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 965009234..80a8db5fd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,7 @@ - SetReviewersApprovers checks for mandatory reviewers/approvers - reviewers/approvers can only be modified by users with unrestricted access and as long as no reviewer/approver has reviewed/approved the document +- use only svg icons for mimetypes -------------------------------------------------------------------------------- Changes in version 4.3.35 From 098f15202c7edc0f62390d69b52fcf685886aa55 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 17:30:54 +0200 Subject: [PATCH 153/169] add method getProcessWithoutUserGroup() checks for reviews/approvals which have lost its user or group --- SeedDMS_Core/Core/inc.ClassDMS.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index f7fb9cfca..bab01ecaf 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -2191,6 +2191,34 @@ class SeedDMS_Core_DMS { } /* }}} */ + /** + * Returns a list of reviews, approvals which are not linked + * to a user, group anymore + * + * This method is for finding reviews or approvals whose user + * or group was deleted and not just removed from the process. + */ + function getProcessWithoutUserGroup($process, $usergroup) { /* {{{ */ + switch($process) { + case 'review': + $queryStr = "SELECT a.*, b.name FROM tblDocumentReviewers"; + break; + case 'approval': + $queryStr = "SELECT a.*, b.name FROM tblDocumentApprovers"; + break; + } + $queryStr .= " a LEFT JOIN tblDocuments b ON a.documentID=b.id where"; + switch($usergroup) { + case 'user': + $queryStr .= " a.type=0 and a.required not in (select id from tblUsers) ORDER by b.id"; + break; + case 'group': + $queryStr .= " a.type=1 and a.required not in (select id from tblGroups) ORDER by b.id"; + break; + } + return $this->db->getResultArray($queryStr); + } /* }}} */ + /** * Returns statitical information * From 711114310b3a3aa2bf158600a188fa03d913e130 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 17:31:39 +0200 Subject: [PATCH 154/169] list reviews/approvals which have lost their user/group --- out/out.ObjectCheck.php | 6 +++++ views/bootstrap/class.ObjectCheck.php | 32 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index 2de030244..e9251dfab 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -64,6 +64,11 @@ $unlinkeddocuments = $dms->checkDocuments(); $nofilesizeversions = $dms->getNoFileSizeDocumentContent(); $nochecksumversions = $dms->getNoChecksumDocumentContent(); $duplicateversions = $dms->getDuplicateDocumentContent(); +foreach(array('review', 'approval') as $process) { + foreach(array('user', 'group') as $ug) { + $processwithoutusergroup[$process][$ug] = $dms->getProcessWithoutUserGroup($process, $ug); + } +} $rootfolder = $dms->getFolder($settings->_rootFolderID); if($view) { @@ -74,6 +79,7 @@ if($view) { $view->setParam('nofilesizeversions', $nofilesizeversions); $view->setParam('nochecksumversions', $nochecksumversions); $view->setParam('duplicateversions', $duplicateversions); + $view->setParam('processwithoutusergroup', $processwithoutusergroup); $view->setParam('unlink', $unlink); $view->setParam('setfilesize', $setfilesize); $view->setParam('setchecksum', $setchecksum); diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index 96b8fbb3c..f5e64b2a6 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -205,6 +205,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { $nofilesizeversions = $this->params['nofilesizeversions']; $nochecksumversions = $this->params['nochecksumversions']; $duplicateversions = $this->params['duplicateversions']; + $processwithoutusergroup = $this->params['processwithoutusergroup']; $repair = $this->params['repair']; $unlink = $this->params['unlink']; $setfilesize = $this->params['setfilesize']; @@ -407,6 +408,37 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print "\n"; } + $this->contentContainerEnd(); + + $this->contentHeading(getMLText("process_without_user_group")); + $this->contentContainerStart(); + + if($processwithoutusergroup) { + print ""; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + foreach(array('review', 'approval') as $process) { + foreach(array('user', 'group') as $ug) { + if($processwithoutusergroup[$process][$ug]) { + foreach($processwithoutusergroup[$process][$ug] as $rec) { + print ""; + print ""; + print ""; + print ""; + print ""; + print "\n"; + } + } + } + } + print "
              ".getMLText("process")."".getMLText("user_group")."".getMLText("documentid")."".getMLText("version")."".getMLText("required")."
              ".$process."".$ug."".$rec['documentID']."".$rec['version']."".$rec['name']."".$rec['required']."
              \n"; + } + $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); From 141895b80d206e6169e70c9995e966ef16906fdf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 2 Aug 2017 17:40:27 +0200 Subject: [PATCH 155/169] quote names in sql statements of getProcessesWithoutUserGroup() --- SeedDMS_Core/Core/inc.ClassDMS.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 6ebabeb3a..b8d1433d7 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -2137,19 +2137,19 @@ class SeedDMS_Core_DMS { function getProcessWithoutUserGroup($process, $usergroup) { /* {{{ */ switch($process) { case 'review': - $queryStr = "SELECT a.*, b.name FROM tblDocumentReviewers"; + $queryStr = "SELECT a.*, b.`name` FROM `tblDocumentReviewers`"; break; case 'approval': - $queryStr = "SELECT a.*, b.name FROM tblDocumentApprovers"; + $queryStr = "SELECT a.*, b.`name` FROM `tblDocumentApprovers`"; break; } - $queryStr .= " a LEFT JOIN tblDocuments b ON a.documentID=b.id where"; + $queryStr .= " a LEFT JOIN `tblDocuments` b ON a.`documentID`=b.`id` where"; switch($usergroup) { case 'user': - $queryStr .= " a.type=0 and a.required not in (select id from tblUsers) ORDER by b.id"; + $queryStr .= " a.`type`=0 and a.`required` not in (select `id` from `tblUsers`) ORDER by b.`id`"; break; case 'group': - $queryStr .= " a.type=1 and a.required not in (select id from tblGroups) ORDER by b.id"; + $queryStr .= " a.`type`=1 and a.`required` not in (select `id` from `tblGroups`) ORDER by b.`id`"; break; } return $this->db->getResultArray($queryStr); From d82f8c44d1706de27a82cce8144629f4a86f94c5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:11:25 +0200 Subject: [PATCH 156/169] add receipts and revisions in getProcessWithoutUserGroup() --- SeedDMS_Core/Core/inc.ClassDMS.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 1b9ae8fc7..e87a6d2cd 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -3078,6 +3078,12 @@ class SeedDMS_Core_DMS { case 'approval': $queryStr = "SELECT a.*, b.`name` FROM `tblDocumentApprovers`"; break; + case 'receipt': + $queryStr = "SELECT a.*, b.`name` FROM `tblDocumentRecipients`"; + break; + case 'revision': + $queryStr = "SELECT a.*, b.`name` FROM `tblDocumentRevisors`"; + break; } $queryStr .= " a LEFT JOIN `tblDocuments` b ON a.`documentID`=b.`id` where"; switch($usergroup) { From 94a48446163fabfa155519fe8e62435c01b78f90 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:12:03 +0200 Subject: [PATCH 157/169] run check only if required speeds up calling a single check --- out/out.ObjectCheck.php | 46 ++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index 265adbb1c..f3e60a2c1 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -66,18 +66,36 @@ if(isset($_GET['setchecksum']) && $_GET['setchecksum'] == 1) { $folder = $dms->getFolder($settings->_rootFolderID); $unlinkedversions = $dms->getUnlinkedDocumentContent(); -$unlinkedfolders = $dms->checkFolders(); -$unlinkeddocuments = $dms->checkDocuments(); -$nofilesizeversions = $dms->getNoFileSizeDocumentContent(); -$nochecksumversions = $dms->getNoChecksumDocumentContent(); -$duplicateversions = $dms->getDuplicateDocumentContent(); -foreach(array('review', 'approval') as $process) { +if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedFolders')) { + $unlinkedfolders = $dms->checkFolders(); +else + $unlinkedfolders = null; +if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedDocuments')) { + $unlinkeddocuments = $dms->checkDocuments(); +else + $unlinkeddocuments = null; +if(!isset($_GET['action']) || $_GET['action'] == 'listMissingFileSize')) { + $nofilesizeversions = $dms->getNoFileSizeDocumentContent(); +else + $nofilesizeversions = null; +if(!isset($_GET['action']) || $_GET['action'] == 'listMissingChecksum')) { + $nochecksumversions = $dms->getNoChecksumDocumentContent(); +else + $nochecksumversions = null; +if(!isset($_GET['action']) || $_GET['action'] == 'listDuplicateContent')) { + $duplicateversions = $dms->getDuplicateDocumentContent(); +else + $duplicateversions = null; +foreach(array('review', 'approval', 'receipt', 'revision') as $process) { foreach(array('user', 'group') as $ug) { - $processwithoutusergroup[$process][$ug] = $dms->getProcessWithoutUserGroup($process, $ug); + if(!isset($_GET['action']) || $_GET['action'] == 'list'.ucfirst($process).'Without'.ucfirst($ug)) { + $processwithoutusergroup[$process][$ug] = $dms->getProcessWithoutUserGroup($process, $ug); + } } } -$tmprevs = $dms->getDocumentsInRevision(); $docsinrevision = array(); +if(!isset($_GET['action']) || $_GET['action'] == 'listDocsInRevisionNoAccess') { +$tmprevs = $dms->getDocumentsInRevision(); foreach($tmprevs as $rev) { if($doc = $dms->getDocument($rev['documentID'])) { $isdisabled = false; @@ -99,8 +117,11 @@ foreach($tmprevs as $rev) { $docsinrevision[] = $doc; } } -$tmprevs = $dms->getDocumentsInReception(); +} + $docsinreception = array(); +if(!isset($_GET['action']) || $_GET['action'] == 'listDocsInReceptionNoAccess') { +$tmprevs = $dms->getDocumentsInReception(); foreach($tmprevs as $rev) { if($doc = $dms->getDocument($rev['documentID'])) { $isdisabled = false; @@ -122,6 +143,8 @@ foreach($tmprevs as $rev) { $docsinreception[] = $doc; } } +} + $rootfolder = $dms->getFolder($settings->_rootFolderID); function repair_tree($dms, $user, $folder, $path=':') { /* {{{ */ @@ -173,7 +196,10 @@ function repair_tree($dms, $user, $folder, $path=':') { /* {{{ */ return $objects; } /* }}} */ -$repairobjects = repair_tree($dms, $user, $folder); +if(!isset($_GET['action']) || $_GET['action'] == 'listRepair') + $repairobjects = repair_tree($dms, $user, $folder); +else + $repairobjects = null; if($view) { $view->setParam('folder', $folder); From 1886b160b9b8c4be9f3a1096761bc8530d7ed6b7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:12:46 +0200 Subject: [PATCH 158/169] add single checks for process without user/group --- views/bootstrap/class.ObjectCheck.php | 51 +++++++++++++++++---------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index 2bdf8c577..9a46a4cb0 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -365,30 +365,25 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); $previewer->setConverters($previewconverters); - $this->contentHeading(getMLText("process_without_user_group")); + $this->contentHeading(getMLText($process."s_without_".$ug)); - if($processwithoutusergroup) { + if($processwithoutusergroup[$process][$ug]) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; + print "\n"; print "\n"; print "\n\n\n"; - foreach(array('review', 'approval') as $process) { - foreach(array('user', 'group') as $ug) { - if($processwithoutusergroup[$process][$ug]) { - foreach($processwithoutusergroup[$process][$ug] as $rec) { - print ""; - print ""; - print ""; - print ""; - print ""; - print "\n"; - } - } - } + foreach($processwithoutusergroup[$process][$ug] as $rec) { + print ""; + print ""; + print ""; + print ""; + print ""; + print "\n"; } print "
              ".getMLText("process")."".getMLText("user_group")."".getMLText("documentid")."".getMLText("version")."".getMLText("name")."".getMLText("required")."
              ".$process."".$ug."".$rec['documentID']."".$rec['version']."".$rec['name']."".$rec['required']."
              ".$process."".$ug."".$rec['documentID']."".$rec['version']."".$rec['name']."".$rec['required']."
              \n"; } @@ -410,6 +405,22 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { $this->listProcessesWithoutUserGroup('approval', 'group'); } /* }}} */ + function listReceiptWithoutUser() { /* {{{ */ + $this->listProcessesWithoutUserGroup('receipt', 'user'); + } /* }}} */ + + function listReceiptWithoutGroup() { /* {{{ */ + $this->listProcessesWithoutUserGroup('receipt', 'group'); + } /* }}} */ + + function listRevisionWithoutUser() { /* {{{ */ + $this->listProcessesWithoutUserGroup('revision', 'user'); + } /* }}} */ + + function listRevisionWithoutGroup() { /* {{{ */ + $this->listProcessesWithoutUserGroup('revision', 'group'); + } /* }}} */ + function js() { /* {{{ */ $user = $this->params['user']; $folder = $this->params['folder']; @@ -447,6 +458,7 @@ $(document).ready( function() { $duplicateversions = $this->params['duplicateversions']; $docsinrevision = $this->params['docsinrevision']; $docsinreception = $this->params['docsinreception']; + $processwithoutusergroup = $this->params['processwithoutusergroup']; $repair = $this->params['repair']; $unlink = $this->params['unlink']; $setfilesize = $this->params['setfilesize']; @@ -480,10 +492,11 @@ $(document).ready( function() { echo '

            • '.count($docsinreception).''.getMLText("docs_in_reception_no_access").'
            • '; echo '
            '; echo ''; echo '
          '; echo '
          '; From 6beb2c27850374a6a3940e4732adb12423c72e16 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:13:37 +0200 Subject: [PATCH 159/169] new phrases, update of zh_CN --- languages/ar_EG/lang.inc | 11 ++++ languages/bg_BG/lang.inc | 11 ++++ languages/ca_ES/lang.inc | 11 ++++ languages/cs_CZ/lang.inc | 11 ++++ languages/de_DE/lang.inc | 13 ++++- languages/el_GR/lang.inc | 11 ++++ languages/en_GB/lang.inc | 13 ++++- languages/es_ES/lang.inc | 11 ++++ languages/fr_FR/lang.inc | 11 ++++ languages/hr_HR/lang.inc | 11 ++++ languages/hu_HU/lang.inc | 11 ++++ languages/it_IT/lang.inc | 11 ++++ languages/ko_KR/lang.inc | 11 ++++ languages/nl_NL/lang.inc | 23 ++++++--- languages/pl_PL/lang.inc | 11 ++++ languages/pt_BR/lang.inc | 11 ++++ languages/ro_RO/lang.inc | 11 ++++ languages/ru_RU/lang.inc | 11 ++++ languages/sk_SK/lang.inc | 11 ++++ languages/sv_SE/lang.inc | 11 ++++ languages/tr_TR/lang.inc | 11 ++++ languages/uk_UA/lang.inc | 11 ++++ languages/zh_CN/lang.inc | 109 +++++++++++++++++++++------------------ languages/zh_TW/lang.inc | 11 ++++ 24 files changed, 321 insertions(+), 57 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 66999e2fa..37bacd824 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'طلب الموافقة تم الغاؤه', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -843,6 +845,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => 'حالة سابقة', 'previous_versions' => 'اصدارات سابقة', +'process' => '', 'pt_BR' => 'البرتغالية (BR)', 'quota' => 'المساحة المخصصة', 'quota_exceeded' => 'لقد قمت بتعدي المساحة المخصصة لك بمقدار [bytes].', @@ -851,6 +854,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -912,6 +917,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'طلب المراجعة تم مسحه', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -940,6 +947,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1556,10 +1565,12 @@ URL: [url]', 'uploading_zerosize' => 'تحميل ملف فارغ. عملية التحميل الغيت', 'used_discspace' => 'المساحة المستخدمة', 'user' => 'مستخدم', +'userid_groupid' => '', 'users' => 'مستخدمين', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => 'المستخدم موجود بالفعل.', +'user_group' => '', 'user_group_management' => 'إدارة المستخدمين/المجموعات', 'user_image' => 'صورة', 'user_info' => 'بيانات المستخدمين', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 3097ea388..d1f9f14f1 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -90,6 +90,8 @@ $text = array( 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Запитване за утвърждаване за изтрит', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -744,6 +746,7 @@ $text = array( 'preview_plain' => '', 'previous_state' => 'Предишно състояние', 'previous_versions' => 'Предишни версии', +'process' => '', 'pt_BR' => 'Португалски (Бразилия)', 'quota' => 'Квота', 'quota_exceeded' => 'Вашата дискова квота е превишена с [bytes].', @@ -752,6 +755,8 @@ $text = array( 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -797,6 +802,8 @@ $text = array( 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Запитване за рецензия премахнато', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -818,6 +825,8 @@ $text = array( 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1412,10 +1421,12 @@ $text = array( 'uploading_zerosize' => 'Качване на празен файл/размер=0. Качването прекратено.', 'used_discspace' => 'Използвано дисково пространство', 'user' => 'Потребител', +'userid_groupid' => '', 'users' => 'Потребители', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => 'Потребителя вече съществува.', +'user_group' => '', 'user_group_management' => 'Управление на потребители/групи', 'user_image' => 'Изображение', 'user_info' => 'Информация за потребител', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index f34a43078..32f901a86 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -90,6 +90,8 @@ $text = array( 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Demanda d\'aprovació esborrada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -749,6 +751,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => 'Versions anteriors', +'process' => '', 'pt_BR' => 'Portuguès', 'quota' => '', 'quota_exceeded' => '', @@ -757,6 +760,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -802,6 +807,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Petició de revisió eliminada', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -823,6 +830,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1417,10 +1426,12 @@ URL: [url]', 'uploading_zerosize' => '', 'used_discspace' => 'Espai utilitzat', 'user' => 'Usuari', +'userid_groupid' => '', 'users' => 'Usuaris', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => 'L\'usuari ja existeix.', +'user_group' => '', 'user_group_management' => '', 'user_image' => 'Imatge', 'user_info' => 'Informació d\'usuari', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 0d8a37e99..40374fc46 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Zrušení schválení požadavku', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -854,6 +856,7 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'preview_plain' => '', 'previous_state' => 'Předchozí stav', 'previous_versions' => 'Předešlé verze', +'process' => '', 'pt_BR' => 'Portugalština (BR)', 'quota' => 'Kvóta', 'quota_exceeded' => 'Vaše kvóta disku je překročena o [bytes].', @@ -862,6 +865,8 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -922,6 +927,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Žádost na revizi odstraněn', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -949,6 +956,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1565,10 +1574,12 @@ URL: [url]', 'uploading_zerosize' => 'Nahrávání prázdného souboru. Nahrání zrušeno.', 'used_discspace' => 'Použité místo na disku', 'user' => 'Uživatel', +'userid_groupid' => '', 'users' => 'Uživatel', 'users_and_groups' => 'Uživatelé/Skupiny', 'users_done_work' => 'Uživatel ukončil práci', 'user_exists' => 'Uživatel už existuje.', +'user_group' => '', 'user_group_management' => 'Správa uživatelů/skupin', 'user_image' => 'Obrázek', 'user_info' => 'Informace o uživateli', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 95802e4fc..84ded4d03 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 (2464), dgrutsch (22) +// Translators: Admin (2475), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '[no_approvals] abgelehnte Freigaben und [no_reviews] abgelehnte Prüfungen', 'approvals_not_touched' => '[no_approvals] offene Freigaben', 'approvals_rejected' => '[no_approvals] abgelehnte Freigaben', +'approvals_without_group' => 'Freigaben ohne Gruppe', +'approvals_without_user' => 'Freigaben ohne Benutzer', 'approval_deletion_email' => 'Freigabeaufforderung gelöscht', 'approval_deletion_email_body' => 'Freigabeaufforderung gelöscht Dokument: [name] @@ -868,6 +870,7 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'preview_plain' => 'Text', 'previous_state' => 'Voriger Status', 'previous_versions' => 'Vorhergehende Versionen', +'process' => 'Prozess', 'pt_BR' => 'Portugiesisch (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten.', @@ -876,6 +879,8 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'receipts_accepted' => '[no_receipts] Empfangsbestätigungen', 'receipts_not_touched' => '[no_receipts] offene Empfangsbestätigungen', 'receipts_rejected' => '[no_receipts] abgelehnte Empfangsbestätigungen', +'receipts_without_group' => 'Empfangsbestätigungen ohne Gruppe', +'receipts_without_user' => 'Empfangsbestätigungen ohne Benutzer', 'receipt_deletion_email_body' => 'Benutzer von Liste der Empfänger gelöscht Dokument: [name] Version: [version] @@ -955,6 +960,8 @@ URL: [url]', 'reviews_accepted' => '[no_reviews] Prüfungen', 'reviews_not_touched' => '[no_reviews] offene Prüfungen', 'reviews_rejected' => '[no_reviews] abgelehnte Prüfungen', +'reviews_without_group' => 'Prüfungen ohne Gruppe', +'reviews_without_user' => 'Prüfungen ohne Benutzer', 'review_deletion_email' => 'Prüfungsaufforderung gelöscht', 'review_deletion_email_body' => 'Prüfungsaufforderung gelöscht Dokument: [name] @@ -993,6 +1000,8 @@ URL: [url]', 'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen', 'revisions_pending' => '[no_revisions] zukünftige Wiederholungsprüfungen', 'revisions_rejected' => '[no_revisions] abgelehnte Wiederholungsprüfungen', +'revisions_without_group' => 'Wiederholungsprüfungen ohne Gruppe', +'revisions_without_user' => 'Wiederholungsprüfungen ohne Benutzer', 'revision_date' => 'Datum der Wiederholungsprüfung', 'revision_log' => 'Protokoll der erneuten Prüfung', 'revision_request_email_body' => 'Aufforderung zur Wiederholungsprüfung @@ -1621,10 +1630,12 @@ URL: [url]', 'uploading_zerosize' => 'Versuch eine leere Datei hochzuladen. Vorgang wird abgebrochen.', 'used_discspace' => 'Verbrauchter Speicherplatz', 'user' => 'Benutzer', +'userid_groupid' => 'Benutzer-ID/Gruppen-ID', 'users' => 'Benutzer', 'users_and_groups' => 'Benutzer/Gruppen', 'users_done_work' => 'Bereits aktive Benutzer', 'user_exists' => 'Benutzer besteht bereits.', +'user_group' => 'Benutzer/Gruppe', 'user_group_management' => 'Benutzer-/Gruppenmanagement', 'user_image' => 'Bild', 'user_info' => 'Benutzerinformation', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index f7b4c1551..4520429dc 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -90,6 +90,8 @@ $text = array( 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => '', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -755,6 +757,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => '', +'process' => '', 'pt_BR' => '', 'quota' => '', 'quota_exceeded' => '', @@ -763,6 +766,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -808,6 +813,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => '', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -829,6 +836,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1423,10 +1432,12 @@ URL: [url]', 'uploading_zerosize' => '', 'used_discspace' => 'Χώρος', 'user' => 'Χρήστης', +'userid_groupid' => '', 'users' => 'Χρήστες', 'users_and_groups' => 'Χρήστες/Ομάδες', 'users_done_work' => '', 'user_exists' => 'Ο Χρήστης υπάρχει.', +'user_group' => '', 'user_group_management' => 'Διαχείριση Χρηστών/Ομάδων', 'user_image' => 'Εικόνα', 'user_info' => 'Πληροφορίες Χρήστη', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 96d4d0824..344b8837f 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 (1591), dgrutsch (9), netixw (14) +// Translators: Admin (1602), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '[no_approvals] approvals and [no_reviews] reviews already rejected', 'approvals_not_touched' => '[no_approvals] approvals not being touched', 'approvals_rejected' => '[no_approvals] approvals already rejected', +'approvals_without_group' => 'Approvals without group', +'approvals_without_user' => 'Approvals without user', 'approval_deletion_email' => 'Approval request deleted', 'approval_deletion_email_body' => 'Approval request deleted Document: [name] @@ -870,6 +872,7 @@ If you have still problems to login, then please contact your administrator.', 'preview_plain' => 'Text', 'previous_state' => 'Previous state', 'previous_versions' => 'Previous versions', +'process' => 'Process', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Your disk quota is exceeded by [bytes].', @@ -878,6 +881,8 @@ If you have still problems to login, then please contact your administrator.', 'receipts_accepted' => '[no_receipts] receipts already accepted', 'receipts_not_touched' => '[no_receipts] receipts not being touched', 'receipts_rejected' => '[no_receipts] receipts already rejected', +'receipts_without_group' => 'Receipts without group', +'receipts_without_user' => 'Receipts without user', 'receipt_deletion_email_body' => 'User has been removed from the list of recipients Document: [name] Version: [version] @@ -957,6 +962,8 @@ URL: [url]', 'reviews_accepted' => '[no_reviews] reviews already accepted', 'reviews_not_touched' => '[no_reviews] reviews not being touched', 'reviews_rejected' => '[no_reviews] reviews already rejected', +'reviews_without_group' => 'Reviews without group', +'reviews_without_user' => 'Reviews without user', 'review_deletion_email' => 'Review request deleted', 'review_deletion_email_body' => 'Review request deleted Document: [name] @@ -995,6 +1002,8 @@ URL: [url]', 'revisions_not_touched' => '[no_revisions] revisions not being touched', 'revisions_pending' => '[no_revisions] revisions due in future', 'revisions_rejected' => '[no_revisions] revisions already rejected', +'revisions_without_group' => 'Revisions without group', +'revisions_without_user' => 'Revisions without user', 'revision_date' => 'Date of revision', 'revision_log' => 'Revision log', 'revision_request_email_body' => 'Revision request @@ -1616,10 +1625,12 @@ URL: [url]', 'uploading_zerosize' => 'Uploading an empty file. Upload is canceled.', 'used_discspace' => 'Used disk space', 'user' => 'User', +'userid_groupid' => 'User id/Group id', 'users' => 'Users', 'users_and_groups' => 'Users/Groups', 'users_done_work' => 'Users done work', 'user_exists' => 'User already exists.', +'user_group' => 'User/Group', 'user_group_management' => 'Users/Groups management', 'user_image' => 'Image', 'user_info' => 'User Information', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 47c80c4b8..d8fecf864 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Petición de aprobación eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -858,6 +860,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'preview_plain' => '', 'previous_state' => 'Estado anterior', 'previous_versions' => 'Versiones anteriores', +'process' => '', 'pt_BR' => 'Portuges (BR)', 'quota' => 'Cuota', 'quota_exceeded' => 'Su cuota de disco se ha excedido en [bytes].', @@ -866,6 +869,8 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -927,6 +932,8 @@ nURL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Petición de revisión eliminada', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -955,6 +962,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1571,10 +1580,12 @@ URL: [url]', 'uploading_zerosize' => 'Subiendo un fichero vacío. -Subida cancelada.', 'used_discspace' => 'Espacio de disco utilizado', 'user' => 'Usuario', +'userid_groupid' => '', 'users' => 'Usuarios', 'users_and_groups' => 'Usuarios/Grupos', 'users_done_work' => 'Trabajos realizados por los usuarios', 'user_exists' => 'El usuario ya existe.', +'user_group' => '', 'user_group_management' => 'Gestión de Usuarios/Grupos', 'user_image' => 'Imagen', 'user_info' => 'Información de usuario', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index dc435f356..5c26db582 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Demande d\'approbation supprimée', 'approval_deletion_email_body' => 'Demande d\'approbation supprimée Document : [name] @@ -868,6 +870,7 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'preview_plain' => 'Texte', 'previous_state' => 'État précédent', 'previous_versions' => 'Versions précédentes', +'process' => '', 'pt_BR' => 'Portuguais (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Votre quota de disque est dépassé de [bytes].', @@ -876,6 +879,8 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => 'L’utilisateur a été retiré de la liste des destinataires Document : [name] Version : [version] @@ -935,6 +940,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Demande de correction supprimée', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -963,6 +970,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1566,10 +1575,12 @@ URL : [url]', 'uploading_zerosize' => 'Chargement d\'un fichier vide. Chargement annulé.', 'used_discspace' => 'Espace disque utilisé', 'user' => 'Utilisateur', +'userid_groupid' => '', 'users' => 'Utilisateurs', 'users_and_groups' => 'Utilisateurs/groupes', 'users_done_work' => 'Actions des utilisateurs', 'user_exists' => 'Cet utilisateur existe déjà', +'user_group' => '', 'user_group_management' => 'Gestion d\'Utilisateurs/de Groupes', 'user_image' => 'Image', 'user_info' => 'Informations utilisateur', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index b553b6199..bcfc7e6c1 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -94,6 +94,8 @@ Internet poveznica: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Izbrisan zahtjev za odobrenje', 'approval_deletion_email_body' => 'Zahtjev za odobrenjem izbrisan Dokument: [name] @@ -862,6 +864,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'preview_plain' => 'Obični tekst', 'previous_state' => 'Prethodni status', 'previous_versions' => 'Prethodne verzije', +'process' => '', 'pt_BR' => 'Portugalski (BR)', 'quota' => 'Kvota', 'quota_exceeded' => 'Vaša kvota na disku je premašena za [bytes].', @@ -870,6 +873,8 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Zapisi prijema', @@ -938,6 +943,8 @@ Internet poveznica: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Izbrisan zahtjev za pregled', 'review_deletion_email_body' => 'Zahtjev za pregled izbrisan Dokument: [name] @@ -976,6 +983,8 @@ Internet poveznica: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => 'Datum revizije', 'revision_log' => 'Zapisi revizije', 'revision_request_email_body' => '', @@ -1592,10 +1601,12 @@ Internet poveznica: [url]', 'uploading_zerosize' => 'Datoteka koja se učitava je prazna. Učitavanje je otkazano.', 'used_discspace' => 'Iskorišteni prostor na disku', 'user' => 'Korisnik', +'userid_groupid' => '', 'users' => 'Korisnici', 'users_and_groups' => 'Korisnici/Grupe', 'users_done_work' => 'Izvršeni poslovi korisnika', 'user_exists' => 'Korisnik već postoji.', +'user_group' => '', 'user_group_management' => 'Upravljanje korisnicima/grupama', 'user_image' => 'Slika', 'user_info' => 'Korisničke informacije', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index ea8da02f0..10d57ea21 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Jóváhagyási kérelem törölve', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -858,6 +860,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'preview_plain' => '', 'previous_state' => 'Előző állapot', 'previous_versions' => 'Előző változatok', +'process' => '', 'pt_BR' => 'Portugál (BR)', 'quota' => 'Kvóta', 'quota_exceeded' => 'Túllépte a lemezterület korlátot [bytes].', @@ -866,6 +869,8 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -927,6 +932,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Felülvizsgálat kérés törölve', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -955,6 +962,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1570,10 +1579,12 @@ URL: [url]', 'uploading_zerosize' => 'Üres állomány feltöltése. Feltöltés megszakítva.', 'used_discspace' => 'Felhasznált lemezterület', 'user' => 'Felhasználó', +'userid_groupid' => '', 'users' => 'Felhasználók', 'users_and_groups' => 'Felhasználók/Csoportok', 'users_done_work' => 'Felhasználók elvégzett munka', 'user_exists' => 'Felhasználó már létezik.', +'user_group' => '', 'user_group_management' => 'Felhasználók/Csoportok kezelése', 'user_image' => 'Kép', 'user_info' => 'Felhasználói információ', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 5e8ad5374..9811308af 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Richiesta di approvazione cancellata', 'approval_deletion_email_body' => 'Richiesta di approvazione cancellata. Documento: [name] @@ -864,6 +866,7 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'preview_plain' => 'Testo', 'previous_state' => 'Stato precedente', 'previous_versions' => 'Versioni precedenti', +'process' => '', 'pt_BR' => 'Portoghese (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'La quota-disco è stata superata di [bytes].', @@ -872,6 +875,8 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Ricezione Log', @@ -945,6 +950,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Richiesta di revisione cancellata', 'review_deletion_email_body' => 'Richiesta di revisione cancellata. Documento: [name] @@ -983,6 +990,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => 'data revisione', 'revision_log' => 'Log revisione', 'revision_request_email_body' => 'Richiesta di ricezione @@ -1604,10 +1613,12 @@ URL: [url]', 'uploading_zerosize' => 'Si sta caricando un file vuoto. Operazione abortita.', 'used_discspace' => 'Spazio su disco occupato', 'user' => 'Utente', +'userid_groupid' => '', 'users' => 'Utenti', 'users_and_groups' => 'Utenti/Gruppi', 'users_done_work' => 'Lavoro eseguito dagli Utenti', 'user_exists' => 'Utente già esistente', +'user_group' => '', 'user_group_management' => 'Gestione Utenti/Gruppi', 'user_image' => 'Immagine', 'user_info' => 'Informazioni utente', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 9447ad6e4..80aefd8ce 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => '승인 요청 삭제', 'approval_deletion_email_body' => '승인 요청 삭제 문서: [name] @@ -855,6 +857,7 @@ URL : [url]', 'preview_plain' => '미리보기', 'previous_state' => '이전 상태', 'previous_versions' => '이전 버전', +'process' => '', 'pt_BR' => '포르투갈어 (BR)', 'quota' => '할당량', 'quota_exceeded' => '당신은 디스크 할당량 [bytes]을 초과한다.', @@ -863,6 +866,8 @@ URL : [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '로그 수신', @@ -931,6 +936,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => '검토 요청 삭제', 'review_deletion_email_body' => '검토 요청 삭제 문서: [name] @@ -969,6 +976,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '개정 일자', 'revision_log' => '개정 로그', 'revision_request_email_body' => '수정 요청 메일 내용', @@ -1585,10 +1594,12 @@ URL : [url]', 'uploading_zerosize' => '빈 파일을 업로드 합니다. 업로드가 취소 됩니다.', 'used_discspace' => '사용되는 디스크 공간', 'user' => '사용자', +'userid_groupid' => '', 'users' => '사용자', 'users_and_groups' => '사용자 / 그룹', 'users_done_work' => '사용자 수행 할 작업', 'user_exists' => '사용자가 이미 존재합니다.', +'user_group' => '', 'user_group_management' => '사용자 / 그룹 관리', 'user_image' => '이미지', 'user_info' => '사용자 정보', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 08c8263ce..430dbd985 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/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 (728), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (733), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '', @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Goedkeuring verzoek verwijderd', 'approval_deletion_email_body' => 'Vraag om goedkeuring verwijderd Document: [name] @@ -464,14 +466,14 @@ URL: [url]', 'expired' => 'Verlopen', 'expired_at_date' => '', 'expires' => 'Verloopt', -'expire_by_date' => '', +'expire_by_date' => 'Vervaldatum', 'expire_in_1d' => '', 'expire_in_1h' => '', -'expire_in_1m' => '', -'expire_in_1w' => '', -'expire_in_1y' => '', +'expire_in_1m' => 'Vervalt binnen 1 maand', +'expire_in_1w' => 'Vervalt binnen 1 week', +'expire_in_1y' => 'Vervalt binnen 1 jaar', 'expire_in_2h' => '', -'expire_in_2y' => '', +'expire_in_2y' => 'Vervalt binnen 2 jaar', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Verloopdatum gewijzigd', @@ -856,6 +858,7 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'preview_plain' => 'Voorbeeld in platte tekst', 'previous_state' => 'Vorige staat', 'previous_versions' => 'Vorige versies', +'process' => '', 'pt_BR' => 'Portugees (BR)', 'quota' => 'Quotum', 'quota_exceeded' => 'Uw data quotum is overschreden met [bytes].', @@ -864,6 +867,8 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Log ontvangst', @@ -936,6 +941,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Beoordelingsverzoek verwijderd', 'review_deletion_email_body' => 'Beoordelingsverzoek verwijderd Document: [name] @@ -973,6 +980,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => 'Datum revisie', 'revision_log' => 'Log herziening', 'revision_request_email_body' => 'Verzoek tot herziening @@ -1598,10 +1607,12 @@ URL: [url]', 'uploading_zerosize' => 'Uploaden van een leeg bestand. Upload wordt geannuleerd.', 'used_discspace' => 'Gebruike schijf ruimte', 'user' => 'Gebruiker', +'userid_groupid' => '', 'users' => 'Gebruikers', 'users_and_groups' => 'Gebruikers / Groepen', 'users_done_work' => 'Uitgevoerd werk gebruikers', 'user_exists' => 'Gebruiker bestaat reeds.', +'user_group' => '', 'user_group_management' => 'Gebruikers / Groepen beheer', 'user_image' => 'Afbeelding', 'user_info' => 'Gebruikers informatie', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 937bb2125..8ba3a6d5d 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Prośba o akceptację została usunięta', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -851,6 +853,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'preview_plain' => '', 'previous_state' => 'Poprzedni stan', 'previous_versions' => 'Poprzednie wersje', +'process' => '', 'pt_BR' => 'Portugalski(BR)', 'quota' => 'Przydział', 'quota_exceeded' => 'Twój limit przydzielonej przestrzeni dyskowej został przekroczony o [bytes].', @@ -859,6 +862,8 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -913,6 +918,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Prośba o recenzję usunięta', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -934,6 +941,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1550,10 +1559,12 @@ URL: [url]', 'uploading_zerosize' => 'Próba przesłania pustego pliku. Przesłanie zostało przerwane.', 'used_discspace' => 'Użyta przestrzeń dyskowa', 'user' => 'Użytkownik', +'userid_groupid' => '', 'users' => 'Użytkownicy', 'users_and_groups' => 'Użytkownicy/Grupy', 'users_done_work' => 'Użytkownicy', 'user_exists' => 'Użytkownik już istnieje.', +'user_group' => '', 'user_group_management' => 'Zarządzanie Użytkownikami/Grupami', 'user_image' => 'Zdjęcie', 'user_info' => 'Informacje o użytkowniku', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 70eb00b9d..420010f50 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Solicitação de Aprovação eliminada', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -856,6 +858,7 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'preview_plain' => '', 'previous_state' => 'Estado anterior', 'previous_versions' => 'Previous Versions', +'process' => '', 'pt_BR' => 'Português (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Sua cota de disco foi ultrapassada em [bytes].', @@ -864,6 +867,8 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -925,6 +930,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Pedido de revisão eliminado', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -952,6 +959,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1568,10 +1577,12 @@ URL: [url]', 'uploading_zerosize' => 'Upload de um arquivo vazio. Upload é cancelado.', 'used_discspace' => 'Espaço em disco usado', 'user' => 'Usuário', +'userid_groupid' => '', 'users' => 'Usuários', 'users_and_groups' => 'Usuários/Grupos', 'users_done_work' => 'Usuários trabalho concluído', 'user_exists' => 'Usuário já existe.', +'user_group' => '', 'user_group_management' => 'Gerenciamento Usuários/Grupos', 'user_image' => 'Imagem', 'user_info' => 'Perfil do usuário', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 1927a38eb..1578c4bdb 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Cerere de aprobare stearsă', 'approval_deletion_email_body' => 'Cerere aprobare stearsa Document: [name] @@ -863,6 +865,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'preview_plain' => '', 'previous_state' => 'Stare precedentă', 'previous_versions' => 'Versiune precedentă', +'process' => '', 'pt_BR' => 'Portugheză (BR)', 'quota' => 'Spatiu alocat', 'quota_exceeded' => 'Spatiul tău alocat pe disc este depășit cu [bytes].', @@ -871,6 +874,8 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -939,6 +944,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Cerere de revizuire eliminată', 'review_deletion_email_body' => 'Cerere de revizuire eliminata Document: [name] @@ -977,6 +984,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => 'Log revizuire', 'revision_request_email_body' => '', @@ -1593,10 +1602,12 @@ URL: [url]', 'uploading_zerosize' => 'Se încarcă un fișier gol. Încărcarea este anulată.', 'used_discspace' => 'Spatiu pe disc folosit', 'user' => 'Utilizator', +'userid_groupid' => '', 'users' => 'Utilizatori', 'users_and_groups' => 'Utilizatori/Grupuri', 'users_done_work' => 'Utilizatorii au terminat lucrul', 'user_exists' => 'Utilizatorul există deja.', +'user_group' => '', 'user_group_management' => 'Management Utilizatorii/Grupuri', 'user_image' => 'Imagine', 'user_info' => 'Informații utilizator', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 4a3ee33e6..716a7105a 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Запрос на утверждение удалён', 'approval_deletion_email_body' => 'Запрос на утверждение удален Имя: [name] @@ -860,6 +862,7 @@ URL: [url]', 'preview_plain' => 'Текст', 'previous_state' => 'Предыдущее состояние', 'previous_versions' => 'Предыдущие версии', +'process' => '', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Квота', 'quota_exceeded' => 'Ваша дисковая квота превышена на [bytes].', @@ -868,6 +871,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Лог получения', @@ -941,6 +946,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Запрос на рецензию удалён', 'review_deletion_email_body' => 'Запрос на рецензию удалён Документ: [name] @@ -979,6 +986,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => 'Дата ревизии', 'revision_log' => 'Лог ревизии', 'revision_request_email_body' => 'Запрос на ревизию @@ -1600,10 +1609,12 @@ URL: [url]', 'uploading_zerosize' => 'Отменена загрузка пустого файла.', 'used_discspace' => 'Занятое дисковое пространство', 'user' => 'Пользователь', +'userid_groupid' => '', 'users' => 'Пользователи', 'users_and_groups' => 'Пользователи / группы', 'users_done_work' => 'Пользователи завершившие процесс', 'user_exists' => 'Пользователь существует', +'user_group' => '', 'user_group_management' => 'Пользователи и группы', 'user_image' => 'Изображение', 'user_info' => 'Информация о пользователе', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 1764b2bba..49c394d55 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Poziadavka na schvalenie zmazana', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -748,6 +750,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => 'Predošlé verzie', +'process' => '', 'pt_BR' => 'Portugalčina', 'quota' => '', 'quota_exceeded' => '', @@ -756,6 +759,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -801,6 +806,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Poziadavka na recenziu zmazana', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -822,6 +829,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1416,10 +1425,12 @@ URL: [url]', 'uploading_zerosize' => 'Nahrávate prázdny súbor. Nahrávanie je zrušené.', 'used_discspace' => 'Využitý priestor na disku', 'user' => 'Používateľ', +'userid_groupid' => '', 'users' => 'Používateľ', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => 'Používateľ už existuje.', +'user_group' => '', 'user_group_management' => 'Správa užívateľov/skupín', 'user_image' => 'Obrázok', 'user_info' => 'Informácie o používateľovi', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 917179570..27229c2ea 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Begäran om godkännande har raderats', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -843,6 +845,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => 'Föregående status', 'previous_versions' => 'Tidigare versioner', +'process' => '', 'pt_BR' => 'portugisiska (BR)', 'quota' => 'Kvot', 'quota_exceeded' => 'Din minneskvot har överskridits med [bytes].', @@ -851,6 +854,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -912,6 +917,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Förfrågan om granskning borttagen', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -940,6 +947,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1556,10 +1565,12 @@ URL: [url]', 'uploading_zerosize' => 'Uppladdning av tom fil. Uppladdningen avbryts.', 'used_discspace' => 'Använt minne', 'user' => 'Användare', +'userid_groupid' => '', 'users' => 'Användare', 'users_and_groups' => 'Användare/Grupper', 'users_done_work' => 'Användarens utförda jobb', 'user_exists' => 'Användaren finns redan.', +'user_group' => '', 'user_group_management' => 'Hantering av användare/grupper', 'user_image' => 'Bild', 'user_info' => 'Användarinformation', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 7c65f8a18..455067c0e 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -93,6 +93,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Onay talebi silindi', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -859,6 +861,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'preview_plain' => '', 'previous_state' => 'Önceki durum', 'previous_versions' => 'Önceki versiyonlar', +'process' => '', 'pt_BR' => 'Portekizce', 'quota' => 'Kota', 'quota_exceeded' => 'Size ayrılan disk kotası [bytes] aşıldı.', @@ -867,6 +870,8 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -928,6 +933,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Kontrol talebi silindi', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -956,6 +963,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1572,10 +1581,12 @@ URL: [url]', 'uploading_zerosize' => 'Boş bir dosya yükleniyor. Yükleme iptal edildi.', 'used_discspace' => 'Kullanılan disk alanı', 'user' => 'Kullanıcı', +'userid_groupid' => '', 'users' => 'Kullanıcı', 'users_and_groups' => 'Kullanıcılar/Gruplar', 'users_done_work' => 'Kullanıcılar işi yaptı', 'user_exists' => 'Kullanıcı zaten mevcut.', +'user_group' => '', 'user_group_management' => 'Kullanıcı/Grup Yönetimi', 'user_image' => 'İmaj', 'user_info' => 'Kullanıcı Bilgisi', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 7ff833115..1f08a2219 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => 'Запит на підтвердження скасовано', 'approval_deletion_email_body' => 'Запит на підтвердження скасовано Назва: [name] @@ -860,6 +862,7 @@ URL: [url]', 'preview_plain' => 'Текст', 'previous_state' => 'Попередній стан', 'previous_versions' => 'Попередні версії', +'process' => '', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Квота', 'quota_exceeded' => 'Ваша дискова квота перевищена на [bytes].', @@ -868,6 +871,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => 'Лог отримання', @@ -934,6 +939,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => 'Запит на редагування видалено', 'review_deletion_email_body' => 'Запит на рецензування видалено Документ: [name] @@ -972,6 +979,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => 'Дата ревізії', 'revision_log' => 'Лог ревізії', 'revision_request_email_body' => 'Запит на ревізію @@ -1593,10 +1602,12 @@ URL: [url]', 'uploading_zerosize' => 'Відміна завантаження порожнього файлу.', 'used_discspace' => 'Зайнятий дисковий простір', 'user' => 'Користувач', +'userid_groupid' => '', 'users' => 'Користувачі', 'users_and_groups' => 'Користувачі / групи', 'users_done_work' => 'Користувачі, які завершили процес', 'user_exists' => 'Користувач існує', +'user_group' => '', 'user_group_management' => 'Користувачі і групи', 'user_image' => 'Зображення', 'user_info' => 'Інформація про користувача', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 33b1cbdb4..940ebc264 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/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 (683), fengjohn (5) +// Translators: Admin (732), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => '审核请求已被删除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -239,7 +241,7 @@ URL: [url]', 'clear_password' => '', 'clipboard' => '剪切板', 'close' => '关闭', -'command' => '', +'command' => '命令', 'comment' => '说明', 'comment_changed_email' => '', 'comment_for_current_version' => '版本说明', @@ -416,18 +418,18 @@ URL: [url]', 'error_toogle_permission' => '', 'es_ES' => '西班牙语', 'event_details' => '错误详情', -'exclude_items' => '', +'exclude_items' => '排除项目', 'expired' => '过期', 'expired_at_date' => '', 'expires' => '有效限期', -'expire_by_date' => '', +'expire_by_date' => '指定过期时间', 'expire_in_1d' => '', 'expire_in_1h' => '', -'expire_in_1m' => '', -'expire_in_1w' => '', -'expire_in_1y' => '', +'expire_in_1m' => '1月后过期', +'expire_in_1w' => '1周后过期', +'expire_in_1y' => '1年后过期', 'expire_in_2h' => '', -'expire_in_2y' => '', +'expire_in_2y' => '2年后过期', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => '到期日子已改变', @@ -711,7 +713,7 @@ URL: [url]', 'only_jpg_user_images' => '只用jpg格式的图片才可以作为用户身份图片', 'order_by_sequence_off' => '', 'original_filename' => '原始文件名', -'overall_indexing_progress' => '', +'overall_indexing_progress' => '所有索引进程', 'owner' => '所有者', 'ownership_changed_email' => '所有者已变更', 'ownership_changed_email_body' => '', @@ -750,6 +752,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => '先前版本', +'process' => '', 'pt_BR' => '葡萄牙语', 'quota' => '配额', 'quota_exceeded' => '', @@ -758,6 +761,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -784,7 +789,7 @@ URL: [url]', 'removed_revisor' => '', 'removed_workflow_email_body' => '', 'removed_workflow_email_subject' => '', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => '导入后删除文件夹', 'remove_marked_files' => '删除选中的文件', 'repaired' => '', 'repairing_objects' => '', @@ -803,6 +808,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => '校对请求被删除', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -824,6 +831,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -913,7 +922,7 @@ URL: [url]', 'select_users' => '点击选择用户', 'select_workflow' => '', 'send_email' => '', -'send_test_mail' => '', +'send_test_mail' => '发送测试邮件', 'september' => '九 月', 'sequence' => '次序', 'seq_after' => '在"[prevname]"之后', @@ -924,7 +933,7 @@ URL: [url]', 'settings' => '设置', 'settings_activate_module' => '', 'settings_activate_php_extension' => '', -'settings_adminIP' => '', +'settings_adminIP' => '管理员IP', 'settings_adminIP_desc' => '', 'settings_Advanced' => '高级设置', 'settings_advancedAcl' => '', @@ -939,7 +948,7 @@ URL: [url]', 'settings_backupDir_desc' => '', 'settings_cacheDir' => '', 'settings_cacheDir_desc' => '', -'settings_Calendar' => '', +'settings_Calendar' => '日历设置', 'settings_calendarDefaultView' => '日历默认试图', 'settings_calendarDefaultView_desc' => '日历默认试图', 'settings_cannot_disable' => '', @@ -965,7 +974,7 @@ URL: [url]', 'settings_Database' => '数据库设置', 'settings_dbDatabase' => '数据库名称', 'settings_dbDatabase_desc' => '设置连接的数据库', -'settings_dbDriver' => '', +'settings_dbDriver' => '数据库类型', 'settings_dbDriver_desc' => '', 'settings_dbHostname' => '数据库地址', 'settings_dbHostname_desc' => '设置数据库的连接地址', @@ -978,8 +987,8 @@ URL: [url]', 'settings_defaultAccessDocs_desc' => '', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', -'settings_defaultSearchMethod_valfulltext' => '', +'settings_defaultSearchMethod_valdatabase' => '数据库', +'settings_defaultSearchMethod_valfulltext' => '全文', 'settings_delete_install_folder' => '', 'settings_disableSelfEdit' => '', 'settings_disableSelfEdit_desc' => '', @@ -998,7 +1007,7 @@ URL: [url]', 'settings_enableAdminReceipt_desc' => '', 'settings_enableAdminRevApp' => '', 'settings_enableAdminRevApp_desc' => '', -'settings_enableCalendar' => '', +'settings_enableCalendar' => '开启日历', 'settings_enableCalendar_desc' => '', 'settings_enableClipboard' => '允许剪切板', 'settings_enableClipboard_desc' => '', @@ -1020,11 +1029,11 @@ URL: [url]', 'settings_enableGuestAutoLogin_desc' => '', 'settings_enableGuestLogin' => '', 'settings_enableGuestLogin_desc' => '', -'settings_enableHelp' => '', +'settings_enableHelp' => '开启帮助', 'settings_enableHelp_desc' => '', 'settings_enableLanguageSelector' => '', 'settings_enableLanguageSelector_desc' => '', -'settings_enableLargeFileUpload' => '', +'settings_enableLargeFileUpload' => '开启大文件上传', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', @@ -1038,7 +1047,7 @@ URL: [url]', 'settings_enableOwnerNotification_desc' => '', 'settings_enableOwnerReceipt' => '', 'settings_enableOwnerReceipt_desc' => '', -'settings_enableOwnerRevApp' => '', +'settings_enableOwnerRevApp' => '允许所有者进行审查或批准', 'settings_enableOwnerRevApp_desc' => '', 'settings_enablePasswordForgotten' => '', 'settings_enablePasswordForgotten_desc' => '', @@ -1050,7 +1059,7 @@ URL: [url]', 'settings_enableSelfRevApp_desc' => '', 'settings_enableSessionList' => '', 'settings_enableSessionList_desc' => '', -'settings_enableThemeSelector' => '', +'settings_enableThemeSelector' => '主题选择', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', 'settings_enableUpdateReceipt_desc' => '', @@ -1064,11 +1073,11 @@ URL: [url]', 'settings_enableVersionDeletion_desc' => '', 'settings_enableVersionModification' => '', 'settings_enableVersionModification_desc' => '', -'settings_encryptionKey' => '', +'settings_encryptionKey' => '加密密钥', 'settings_encryptionKey_desc' => '', 'settings_error' => '', -'settings_expandFolderTree' => '', -'settings_expandFolderTree_desc' => '', +'settings_expandFolderTree' => '展开文件夹树', +'settings_expandFolderTree_desc' => '展开文件夹树', 'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val1' => '', 'settings_expandFolderTree_val2' => '', @@ -1076,14 +1085,14 @@ URL: [url]', 'settings_extraPath' => '额外的PHP的include路径', 'settings_extraPath_desc' => '附加软件的路径。这是包含目录,例如在ADODB目录或额外的PEAR包', 'settings_firstDayOfWeek' => '每周第一天', -'settings_firstDayOfWeek_desc' => '', +'settings_firstDayOfWeek_desc' => '本周第一天', 'settings_footNote' => '附注', 'settings_footNote_desc' => '显示在每个页面底部的信息', 'settings_fullSearchEngine' => '全文搜索引擎', 'settings_fullSearchEngine_desc' => '', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', 'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS', -'settings_guestID' => '', +'settings_guestID' => '访客名称', 'settings_guestID_desc' => '', 'settings_httpRoot' => '', 'settings_httpRoot_desc' => '', @@ -1103,11 +1112,11 @@ URL: [url]', 'settings_language_desc' => '默认语言(“语言”文件夹的一个子文件夹的名字', 'settings_libraryFolder' => '', 'settings_libraryFolder_desc' => '', -'settings_logFileEnable' => '', +'settings_logFileEnable' => '开启日历文件', 'settings_logFileEnable_desc' => '', 'settings_logFileRotation' => '', 'settings_logFileRotation_desc' => '', -'settings_loginFailure' => '', +'settings_loginFailure' => '登录失败', 'settings_loginFailure_desc' => '', 'settings_luceneClassDir' => 'Lucene的SeedDMS目录', 'settings_luceneClassDir_desc' => '', @@ -1128,7 +1137,7 @@ URL: [url]', 'settings_Notification' => '通知设置', 'settings_notwritable' => '设置_不可写', 'settings_no_content_dir' => '', -'settings_overrideMimeType' => '', +'settings_overrideMimeType' => '覆盖Mime Type', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => '', 'settings_partitionSize_desc' => '', @@ -1139,8 +1148,8 @@ URL: [url]', 'settings_passwordStrength' => '', 'settings_passwordStrengthAlgorithm' => '', 'settings_passwordStrengthAlgorithm_desc' => '', -'settings_passwordStrengthAlgorithm_valadvanced' => '', -'settings_passwordStrengthAlgorithm_valsimple' => '', +'settings_passwordStrengthAlgorithm_valadvanced' => '高级', +'settings_passwordStrengthAlgorithm_valsimple' => '简单', 'settings_passwordStrength_desc' => '', 'settings_pear_log' => '', 'settings_pear_webdav' => '', @@ -1165,7 +1174,7 @@ URL: [url]', 'settings_restricted_desc' => '', 'settings_rootDir' => '根目录', 'settings_rootDir_desc' => '', -'settings_rootFolderID' => '', +'settings_rootFolderID' => '根文件夹名称', 'settings_rootFolderID_desc' => '', 'settings_SaveError' => '', 'settings_Server' => '服务设置', @@ -1181,22 +1190,22 @@ URL: [url]', 'settings_siteName' => '站点名称', 'settings_siteName_desc' => '用于页面标题的站点名称,默认为SeedDMS', 'settings_SMTP' => 'SMTP 服务器设定', -'settings_smtpPassword' => '', -'settings_smtpPassword_desc' => '', +'settings_smtpPassword' => 'SMTP服务器密码', +'settings_smtpPassword_desc' => 'SMTP服务器密码', 'settings_smtpPort' => 'SMTP 服务器端口', 'settings_smtpPort_desc' => 'SMTP 服务器端口,默认25', 'settings_smtpSendFrom' => '发送自', 'settings_smtpSendFrom_desc' => '发送自', 'settings_smtpServer' => 'SMTP 服务器名称', 'settings_smtpServer_desc' => 'SMTP 服务器名称', -'settings_smtpUser' => '', -'settings_smtpUser_desc' => '', +'settings_smtpUser' => 'SMTP服务器用户', +'settings_smtpUser_desc' => 'SMTP服务器用户', 'settings_sortFoldersDefault' => '', 'settings_sortFoldersDefault_desc' => '', -'settings_sortFoldersDefault_val_name' => '', +'settings_sortFoldersDefault_val_name' => '通过名字', 'settings_sortFoldersDefault_val_sequence' => '', -'settings_sortFoldersDefault_val_unsorted' => '', -'settings_sortUsersInList' => '', +'settings_sortFoldersDefault_val_unsorted' => '未分类', +'settings_sortUsersInList' => '对列表中的用户排序', 'settings_sortUsersInList_desc' => '', 'settings_sortUsersInList_val_fullname' => '', 'settings_sortUsersInList_val_login' => '', @@ -1205,15 +1214,15 @@ URL: [url]', 'settings_start_install' => '', 'settings_stopWordsFile' => '', 'settings_stopWordsFile_desc' => '', -'settings_strictFormCheck' => '', -'settings_strictFormCheck_desc' => '', +'settings_strictFormCheck' => '严格表格检查', +'settings_strictFormCheck_desc' => '严格表格检查。如果此项为是,将检查所有表格中字段的值。如果设置为否,内容和关键字段检查将成为可选项。同时提交评论或覆盖文件时,始终要求注释', 'settings_suggestionvalue' => '', 'settings_System' => '系统设置', 'settings_theme' => '主题设置', 'settings_theme_desc' => '默认风格(“风格”文件夹的一个子文件夹的名字', 'settings_titleDisplayHack' => '', 'settings_titleDisplayHack_desc' => '', -'settings_undelUserIds' => '', +'settings_undelUserIds' => '不可删除的用户名', 'settings_undelUserIds_desc' => '', 'settings_updateDatabase' => '', 'settings_updateNotifyTime' => '更新时间通知', @@ -1222,9 +1231,9 @@ URL: [url]', 'settings_versioningFileName' => '文件名版本', 'settings_versioningFileName_desc' => '', 'settings_versiontolow' => '', -'settings_viewOnlineFileTypes' => '', +'settings_viewOnlineFileTypes' => '查看在线文件属性', 'settings_viewOnlineFileTypes_desc' => '', -'settings_workflowMode' => '', +'settings_workflowMode' => '工作流模式', 'settings_workflowMode_desc' => '', 'settings_workflowMode_valadvanced' => '先进...', 'settings_workflowMode_valtraditional' => '传统', @@ -1353,13 +1362,13 @@ URL: [url]', 'timeline_full_add_version' => '', 'timeline_full_status_change' => '', 'timeline_selected_item' => '', -'timeline_skip_add_file' => '', +'timeline_skip_add_file' => '添加附件', 'timeline_skip_status_change_-1' => '拒绝', 'timeline_skip_status_change_-3' => '过期', -'timeline_skip_status_change_0' => '', -'timeline_skip_status_change_1' => '', -'timeline_skip_status_change_2' => '', -'timeline_skip_status_change_3' => '', +'timeline_skip_status_change_0' => '待审核', +'timeline_skip_status_change_1' => '待批准', +'timeline_skip_status_change_2' => '发布', +'timeline_skip_status_change_3' => '在工作咯流中', 'timeline_skip_status_change_4' => '', 'timeline_skip_status_change_5' => '', 'timeline_status_change' => '版本 [版本]: [状态]', @@ -1418,10 +1427,12 @@ URL: [url]', 'uploading_zerosize' => '上传失败!请检查是否没有选择上传的文件。', 'used_discspace' => '使用磁盘空间', 'user' => '用户', +'userid_groupid' => '', 'users' => '用户', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => '用户已存在', +'user_group' => '', 'user_group_management' => '用户/组的管理', 'user_image' => '用户图片', 'user_info' => '用户信息', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index e0f05104c..d1372d8c3 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -94,6 +94,8 @@ URL: [url]', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', 'approvals_rejected' => '', +'approvals_without_group' => '', +'approvals_without_user' => '', 'approval_deletion_email' => '審核請求已被刪除', 'approval_deletion_email_body' => '', 'approval_deletion_email_subject' => '', @@ -748,6 +750,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => '先前版本', +'process' => '', 'pt_BR' => '葡萄牙語', 'quota' => '配額', 'quota_exceeded' => '', @@ -756,6 +759,8 @@ URL: [url]', 'receipts_accepted' => '', 'receipts_not_touched' => '', 'receipts_rejected' => '', +'receipts_without_group' => '', +'receipts_without_user' => '', 'receipt_deletion_email_body' => '', 'receipt_deletion_email_subject' => '', 'receipt_log' => '', @@ -801,6 +806,8 @@ URL: [url]', 'reviews_accepted' => '', 'reviews_not_touched' => '', 'reviews_rejected' => '', +'reviews_without_group' => '', +'reviews_without_user' => '', 'review_deletion_email' => '校對請求被刪除', 'review_deletion_email_body' => '', 'review_deletion_email_subject' => '', @@ -822,6 +829,8 @@ URL: [url]', 'revisions_not_touched' => '', 'revisions_pending' => '', 'revisions_rejected' => '', +'revisions_without_group' => '', +'revisions_without_user' => '', 'revision_date' => '', 'revision_log' => '', 'revision_request_email_body' => '', @@ -1416,10 +1425,12 @@ URL: [url]', 'uploading_zerosize' => '上傳失敗!請檢查是否沒有選擇上傳的檔。', 'used_discspace' => '使用磁碟空間', 'user' => '用戶', +'userid_groupid' => '', 'users' => '用戶', 'users_and_groups' => '', 'users_done_work' => '', 'user_exists' => '用戶已存在', +'user_group' => '', 'user_group_management' => '用戶/組的管理', 'user_image' => '使用者圖片', 'user_info' => '使用者資訊', From 4c532dedea8fd4f9aa538b89be976341f3c7be59 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:17:32 +0200 Subject: [PATCH 160/169] add phrase for process_without_user_group --- languages/ar_EG/lang.inc | 1 + languages/bg_BG/lang.inc | 1 + languages/ca_ES/lang.inc | 1 + languages/cs_CZ/lang.inc | 1 + languages/de_DE/lang.inc | 3 ++- languages/el_GR/lang.inc | 1 + languages/en_GB/lang.inc | 3 ++- languages/es_ES/lang.inc | 1 + languages/fr_FR/lang.inc | 1 + languages/hr_HR/lang.inc | 1 + languages/hu_HU/lang.inc | 1 + languages/it_IT/lang.inc | 1 + languages/ko_KR/lang.inc | 1 + languages/nl_NL/lang.inc | 1 + languages/pl_PL/lang.inc | 1 + languages/pt_BR/lang.inc | 1 + languages/ro_RO/lang.inc | 1 + languages/ru_RU/lang.inc | 1 + languages/sk_SK/lang.inc | 1 + languages/sv_SE/lang.inc | 1 + languages/tr_TR/lang.inc | 1 + languages/uk_UA/lang.inc | 1 + languages/zh_CN/lang.inc | 1 + languages/zh_TW/lang.inc | 1 + 24 files changed, 26 insertions(+), 2 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 37bacd824..0bc64aaa8 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -846,6 +846,7 @@ URL: [url]', 'previous_state' => 'حالة سابقة', 'previous_versions' => 'اصدارات سابقة', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'البرتغالية (BR)', 'quota' => 'المساحة المخصصة', 'quota_exceeded' => 'لقد قمت بتعدي المساحة المخصصة لك بمقدار [bytes].', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index d1f9f14f1..e7ecd68c6 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -747,6 +747,7 @@ $text = array( 'previous_state' => 'Предишно състояние', 'previous_versions' => 'Предишни версии', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Португалски (Бразилия)', 'quota' => 'Квота', 'quota_exceeded' => 'Вашата дискова квота е превишена с [bytes].', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 32f901a86..3082dc6a0 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -752,6 +752,7 @@ URL: [url]', 'previous_state' => '', 'previous_versions' => 'Versions anteriors', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portuguès', 'quota' => '', 'quota_exceeded' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 40374fc46..34ee1ef78 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -857,6 +857,7 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'previous_state' => 'Předchozí stav', 'previous_versions' => 'Předešlé verze', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugalština (BR)', 'quota' => 'Kvóta', 'quota_exceeded' => 'Vaše kvóta disku je překročena o [bytes].', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 84ded4d03..9dbf98ea8 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 (2475), dgrutsch (22) +// Translators: Admin (2476), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -871,6 +871,7 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'previous_state' => 'Voriger Status', 'previous_versions' => 'Vorhergehende Versionen', 'process' => 'Prozess', +'process_without_user_group' => 'Prozesse ohne Benutzer/Gruppe', 'pt_BR' => 'Portugiesisch (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten.', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 4520429dc..6977be8ae 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -758,6 +758,7 @@ URL: [url]', 'previous_state' => '', 'previous_versions' => '', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => '', 'quota' => '', 'quota_exceeded' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 344b8837f..474d10424 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 (1602), dgrutsch (9), netixw (14) +// Translators: Admin (1603), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -873,6 +873,7 @@ If you have still problems to login, then please contact your administrator.', 'previous_state' => 'Previous state', 'previous_versions' => 'Previous versions', 'process' => 'Process', +'process_without_user_group' => 'Processes without user/group', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Your disk quota is exceeded by [bytes].', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index d8fecf864..638044011 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -861,6 +861,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'previous_state' => 'Estado anterior', 'previous_versions' => 'Versiones anteriores', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portuges (BR)', 'quota' => 'Cuota', 'quota_exceeded' => 'Su cuota de disco se ha excedido en [bytes].', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 5c26db582..9e3cf67d0 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -871,6 +871,7 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'previous_state' => 'État précédent', 'previous_versions' => 'Versions précédentes', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portuguais (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Votre quota de disque est dépassé de [bytes].', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index bcfc7e6c1..95613ede8 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -865,6 +865,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'previous_state' => 'Prethodni status', 'previous_versions' => 'Prethodne verzije', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugalski (BR)', 'quota' => 'Kvota', 'quota_exceeded' => 'Vaša kvota na disku je premašena za [bytes].', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 10d57ea21..0c363132a 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -861,6 +861,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'previous_state' => 'Előző állapot', 'previous_versions' => 'Előző változatok', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugál (BR)', 'quota' => 'Kvóta', 'quota_exceeded' => 'Túllépte a lemezterület korlátot [bytes].', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 9811308af..400b5512a 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -867,6 +867,7 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'previous_state' => 'Stato precedente', 'previous_versions' => 'Versioni precedenti', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portoghese (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'La quota-disco è stata superata di [bytes].', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 80aefd8ce..1039bed1c 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -858,6 +858,7 @@ URL : [url]', 'previous_state' => '이전 상태', 'previous_versions' => '이전 버전', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => '포르투갈어 (BR)', 'quota' => '할당량', 'quota_exceeded' => '당신은 디스크 할당량 [bytes]을 초과한다.', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 430dbd985..18e7e53a8 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -859,6 +859,7 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'previous_state' => 'Vorige staat', 'previous_versions' => 'Vorige versies', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugees (BR)', 'quota' => 'Quotum', 'quota_exceeded' => 'Uw data quotum is overschreden met [bytes].', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 8ba3a6d5d..3620d8954 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -854,6 +854,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'previous_state' => 'Poprzedni stan', 'previous_versions' => 'Poprzednie wersje', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugalski(BR)', 'quota' => 'Przydział', 'quota_exceeded' => 'Twój limit przydzielonej przestrzeni dyskowej został przekroczony o [bytes].', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 420010f50..99bbbc66b 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -859,6 +859,7 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'previous_state' => 'Estado anterior', 'previous_versions' => 'Previous Versions', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Português (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Sua cota de disco foi ultrapassada em [bytes].', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 1578c4bdb..c4a5292d5 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -866,6 +866,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'previous_state' => 'Stare precedentă', 'previous_versions' => 'Versiune precedentă', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugheză (BR)', 'quota' => 'Spatiu alocat', 'quota_exceeded' => 'Spatiul tău alocat pe disc este depășit cu [bytes].', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 716a7105a..fe2a4efa2 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -863,6 +863,7 @@ URL: [url]', 'previous_state' => 'Предыдущее состояние', 'previous_versions' => 'Предыдущие версии', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Квота', 'quota_exceeded' => 'Ваша дисковая квота превышена на [bytes].', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 49c394d55..e26f36b94 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -751,6 +751,7 @@ URL: [url]', 'previous_state' => '', 'previous_versions' => 'Predošlé verzie', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugalčina', 'quota' => '', 'quota_exceeded' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 27229c2ea..a73cf3f90 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -846,6 +846,7 @@ URL: [url]', 'previous_state' => 'Föregående status', 'previous_versions' => 'Tidigare versioner', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'portugisiska (BR)', 'quota' => 'Kvot', 'quota_exceeded' => 'Din minneskvot har överskridits med [bytes].', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 455067c0e..ce08b4e63 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -862,6 +862,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'previous_state' => 'Önceki durum', 'previous_versions' => 'Önceki versiyonlar', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portekizce', 'quota' => 'Kota', 'quota_exceeded' => 'Size ayrılan disk kotası [bytes] aşıldı.', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 1f08a2219..9714249e8 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -863,6 +863,7 @@ URL: [url]', 'previous_state' => 'Попередній стан', 'previous_versions' => 'Попередні версії', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => 'Portugese (BR)', 'quota' => 'Квота', 'quota_exceeded' => 'Ваша дискова квота перевищена на [bytes].', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 940ebc264..6aebaa3f7 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -753,6 +753,7 @@ URL: [url]', 'previous_state' => '', 'previous_versions' => '先前版本', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => '葡萄牙语', 'quota' => '配额', 'quota_exceeded' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index d1372d8c3..b52818bd1 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -751,6 +751,7 @@ URL: [url]', 'previous_state' => '', 'previous_versions' => '先前版本', 'process' => '', +'process_without_user_group' => '', 'pt_BR' => '葡萄牙語', 'quota' => '配額', 'quota_exceeded' => '', From e7a67b67e9a4a6bf1e4c45a1aaf0bb26ee24f207 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:19:13 +0200 Subject: [PATCH 161/169] change column headers in processes without user/group --- views/bootstrap/class.ObjectCheck.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index f5e64b2a6..c4d035b46 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -418,9 +418,9 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print "\n\n"; print "".getMLText("process")."\n"; print "".getMLText("user_group")."\n"; - print "".getMLText("documentid")."\n"; + print "".getMLText("document")."\n"; print "".getMLText("version")."\n"; - print "".getMLText("required")."\n"; + print "".getMLText("userid_groupid")."\n"; print "\n\n\n"; foreach(array('review', 'approval') as $process) { foreach(array('user', 'group') as $ug) { From cacb7962a5ded1c485a41e1f1a5fe3c9ae9b4ee8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:28:26 +0200 Subject: [PATCH 162/169] link documents in list of process without user/group --- views/bootstrap/class.ObjectCheck.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index c4d035b46..a413ff011 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -429,7 +429,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print ""; print "".$process.""; print "".$ug.""; - print "".$rec['documentID']."".$rec['version']."".$rec['name'].""; + print "".$rec['name']."".$rec['version'].""; print "".$rec['required'].""; print "\n"; } From 3a9f27fb29eb29e8f9e6506ba97a8656c19b5c90 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:31:49 +0200 Subject: [PATCH 163/169] fix link --- views/bootstrap/class.ObjectCheck.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index a413ff011..63fd41204 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -429,7 +429,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print ""; print "".$process.""; print "".$ug.""; - print "".$rec['name']."".$rec['version'].""; + print "".$rec['name']."".$rec['version'].""; print "".$rec['required'].""; print "\n"; } From 4e55911213903e9d8e909be1d225e772b57f9edf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:39:22 +0200 Subject: [PATCH 164/169] fix syntax errors --- out/out.ObjectCheck.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index f3e60a2c1..c90ce494e 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -66,23 +66,23 @@ if(isset($_GET['setchecksum']) && $_GET['setchecksum'] == 1) { $folder = $dms->getFolder($settings->_rootFolderID); $unlinkedversions = $dms->getUnlinkedDocumentContent(); -if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedFolders')) { +if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedFolders') $unlinkedfolders = $dms->checkFolders(); else $unlinkedfolders = null; -if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedDocuments')) { +if(!isset($_GET['action']) || $_GET['action'] == 'listUnlinkedDocuments') $unlinkeddocuments = $dms->checkDocuments(); else $unlinkeddocuments = null; -if(!isset($_GET['action']) || $_GET['action'] == 'listMissingFileSize')) { +if(!isset($_GET['action']) || $_GET['action'] == 'listMissingFileSize') $nofilesizeversions = $dms->getNoFileSizeDocumentContent(); else $nofilesizeversions = null; -if(!isset($_GET['action']) || $_GET['action'] == 'listMissingChecksum')) { +if(!isset($_GET['action']) || $_GET['action'] == 'listMissingChecksum') $nochecksumversions = $dms->getNoChecksumDocumentContent(); else $nochecksumversions = null; -if(!isset($_GET['action']) || $_GET['action'] == 'listDuplicateContent')) { +if(!isset($_GET['action']) || $_GET['action'] == 'listDuplicateContent') $duplicateversions = $dms->getDuplicateDocumentContent(); else $duplicateversions = null; From 7c363ff4ef299933d300be7733261b1266f93fda Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:40:42 +0200 Subject: [PATCH 165/169] init $processwithoutusergroup --- out/out.ObjectCheck.php | 1 + 1 file changed, 1 insertion(+) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index c90ce494e..d2b64783e 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -86,6 +86,7 @@ if(!isset($_GET['action']) || $_GET['action'] == 'listDuplicateContent') $duplicateversions = $dms->getDuplicateDocumentContent(); else $duplicateversions = null; +$processwithoutusergroup = array(); foreach(array('review', 'approval', 'receipt', 'revision') as $process) { foreach(array('user', 'group') as $ug) { if(!isset($_GET['action']) || $_GET['action'] == 'list'.ucfirst($process).'Without'.ucfirst($ug)) { From ccc6112714b12e7630423e4bce7599f03a254588 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 07:44:26 +0200 Subject: [PATCH 166/169] fix columns of listProcessesWithoutUserGroup --- views/bootstrap/class.ObjectCheck.php | 1 - 1 file changed, 1 deletion(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index 87cee8a2d..bd25e5bac 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -374,7 +374,6 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print "".getMLText("user_group")."\n"; print "".getMLText("document")."\n"; print "".getMLText("version")."\n"; - print "".getMLText("name")."\n"; print "".getMLText("userid_groupid")."\n"; print "\n\n\n"; foreach($processwithoutusergroup[$process][$ug] as $rec) { From f54ed82496f8926811c3025dd8440434d2884c01 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 08:12:13 +0200 Subject: [PATCH 167/169] put '()' around last access --- views/bootstrap/class.Session.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.Session.php b/views/bootstrap/class.Session.php index fa7a86a79..4d3b5a8a1 100644 --- a/views/bootstrap/class.Session.php +++ b/views/bootstrap/class.Session.php @@ -59,7 +59,7 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style { foreach($sessions as $session) { if($sesuser = $dms->getUser($session->getUser())) if(!$sesuser->isHidden()) - $content .= "
        • ".htmlspecialchars($sesuser->getFullName()).($user->isAdmin() ? " ".getReadableDuration(time()-$session->getLastAccess()) : "")."
        • \n"; + $content .= "
        • ".htmlspecialchars($sesuser->getFullName()).($user->isAdmin() ? " (".getReadableDuration(time()-$session->getLastAccess()).")" : "")."
        • \n"; } $content .= "
        \n"; $content .= " \n"; From f181ca044dc6c351aa4c93dc4b168a2f24b19cec Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 12:42:56 +0200 Subject: [PATCH 168/169] ReceiveOwner list does not contain old versions anymore --- SeedDMS_Core/Core/inc.ClassDMS.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index e87a6d2cd..6d84fc36e 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1218,7 +1218,7 @@ 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 {{{ + case 'ReceiveOwner': // Documents having a reception I'm owning {{{ $queryStr .= "WHERE 1=1 "; $user = $param1; @@ -1228,7 +1228,9 @@ class SeedDMS_Core_DMS { else $orderdir = 'ASC'; - $qs = 'SELECT DISTINCT `documentID` FROM `tblDocumentRecipients` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID`'; + // $qs = 'SELECT DISTINCT `documentID` FROM `tblDocumentRecipients` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID`'; + // sql statement without older versions of a document + $qs = 'SELECT DISTINCT `document` as `documentID` FROM `ttcontentid` a LEFT JOIN `tblDocumentRecipients` b on a.`document`=b.`documentID` AND a.`maxVersion`=b.`version` WHERE b.`receiptID` IS NOT NULL'; $ra = $this->db->getResultArray($qs); if (is_bool($ra) && !$ra) { return false; From 7d0a18861b0e4326ee13c2ff593995b5f8a37aa8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 3 Aug 2017 12:43:25 +0200 Subject: [PATCH 169/169] add note for 6.0.1 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 7cb99e4a1..aeef7b744 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -33,6 +33,7 @@ are any waiting or pending revisions at all - SeedDMS_Core_User::getReverseSubstitutes() works with new roles - fix field name in getDocumentList() to make it work for pgsql - views instead of temp. tables can be used +- ReceiveOwner list does not contain old versions anymore