From 4fe435f45086e856d97c58b124e6bdaaee4cfb08 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 14:09:25 +0100 Subject: [PATCH 001/212] fix error msg when access is not allowed --- out/out.AddFile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/out/out.AddFile.php b/out/out.AddFile.php index 7e9bdd01e..7d1db9f2a 100644 --- a/out/out.AddFile.php +++ b/out/out.AddFile.php @@ -33,7 +33,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); if (!$accessop->check_view_access($view, $_GET)) { - UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); + UI::exitError(getMLText("document_title"), getMLText("access_denied")); } if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"]<1)) { From 390a653b94e038e3d9a66ca706636d59d9168d03 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 14:10:03 +0100 Subject: [PATCH 002/212] do not show 'AddFile' link if access is not allowed --- views/bootstrap/class.ViewDocument.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 45071990e..9e2cf283f 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1524,8 +1524,10 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } else printMLText("no_attached_files"); - if ($document->getAccessMode($user) >= M_READWRITE){ - print "\n"; + if($this->check_access('AddFile')) { + if ($document->getAccessMode($user) >= M_READWRITE){ + print "\n"; + } } $this->contentContainerEnd(); ?> From df2d5f04072456862382002edf7f9030c04e43fc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 14:36:59 +0100 Subject: [PATCH 003/212] wrapWithCData() attribute value set --- utils/xmldump.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/xmldump.php b/utils/xmldump.php index ca9ccf812..c055764db 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -622,7 +622,7 @@ if($attrdefs) { echo "\">\n"; echo " ".$attrdef->getName()."\n"; echo " ".$attrdef->getMultipleValues()."\n"; - echo " ".$attrdef->getValueSet()."\n"; + echo " ".wrapWithCData($attrdef->getValueSet())."\n"; echo " ".$attrdef->getType()."\n"; echo " ".$attrdef->getMinValues()."\n"; echo " ".$attrdef->getMaxValues()."\n"; From adf318abecabf21d211427f59ac4dea02bb44ff9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 14:59:13 +0100 Subject: [PATCH 004/212] wrap more fields with CData --- utils/xmldump.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/xmldump.php b/utils/xmldump.php index c055764db..353a9a376 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -276,7 +276,7 @@ function tree($folder, $parent=null, $indent='', $skipcurrent=false) { /* {{{ */ if($attributes = $document->getAttributes()) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); - echo $indent." getID()."\">".$attribute->getValue()."\n"; + echo $indent." getID()."\">".wrapWithCData($attribute->getValue())."\n"; } } @@ -332,7 +332,7 @@ function tree($folder, $parent=null, $indent='', $skipcurrent=false) { /* {{{ */ if($attributes = $version->getAttributes()) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); - echo $indent." getID()."\">".$attribute->getValue()."\n"; + echo $indent." getID()."\">".wrapWithCData($attribute->getValue())."\n"; } } if($statuslog = $version->getStatusLog()) { From b05a7f2ba5c2435451d50126b83a9b4aea7dfc4b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 22:07:15 +0100 Subject: [PATCH 005/212] add method rewriteReceiptLog() --- SeedDMS_Core/Core/inc.ClassDocument.php | 71 +++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 105b05123..d878680d1 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -3593,6 +3593,77 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return $this->_receiptStatus; } /* }}} */ + /** + * Rewrites the complete receipt log + * + * Attention: this function is highly dangerous. + * It removes an existing receipt log and rewrites it. + * This method was added for importing an xml dump. + * + * @param array $receiptlog new status log with the newest log entry first. + * @return boolean true on success, otherwise false + */ + function rewriteReceiptLog($recipients) { /* {{{ */ + $db = $this->_document->_dms->getDB(); + + $queryStr= "SELECT `tblDocumentRecipients`.* FROM `tblDocumentRecipients` WHERE `tblDocumentRecipients`.`documentID` = '". $this->_document->getID() ."' AND `tblDocumentRecipients`.`version` = '". $this->_version ."' "; + $res = $db->getResultArray($queryStr); + if (is_bool($res) && !$res) + return false; + + $db->startTransaction(); + + if($res) { + foreach($res as $receipt) { + $receiptID = $receipt['receiptID']; + + /* First, remove the old entries */ + $queryStr = "DELETE from `tblDocumentReceiptLog` where `receiptID`=".$receiptID; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + + $queryStr = "DELETE from `tblDocumentRecipients` where `receiptID`=".$receiptID; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + } + } + + /* Second, insert the new entries */ + foreach($recipients as $receipt) { + $queryStr = "INSERT INTO `tblDocumentRecipients` (`documentID`, `version`, `type`, `required`) ". + "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$receipt['type'] .", ".$receipt['required']->getID().")"; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + $receiptID = $db->getInsertID('tblDocumentRecipients', 'receiptID'); + $receiptlog = array_reverse($receipt['logs']); + foreach($receiptlog as $log) { + if(!SeedDMS_Core_DMS::checkDate($log['date'], 'Y-m-d H:i:s')) { + $db->rollbackTransaction(); + return false; + } + $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('".$receiptID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".$log['user']->getID().")"; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + $receiptLogID = $db->getInsertID('tblDocumentReceiptLog', 'receiptLogID'); + if(!empty($log['file'])) { + SeedDMS_Core_File::copyFile($log['file'], $this->_dms->contentDir . $this->_document->getDir() . 'r' . $receiptLogID); + } + } + } + + $db->commitTransaction(); + return true; + } /* }}} */ + /** * Get the current revision status of the document content * The revision status is a list of revisions From 469270882c9a99a6ee26f6354f4bb1534e8eb9b4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 3 Mar 2017 22:09:42 +0100 Subject: [PATCH 006/212] add receiptlog --- utils/xmlimport.php | 49 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index ef9360654..98b3d7f57 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -40,10 +40,15 @@ function getRevAppLog($reviews) { /* {{{ */ if($review['attributes']['type'] == 1) { if(isset($objmap['groups'][(int) $review['attributes']['required']])) $newreview['required'] = $dms->getGroup($objmap['groups'][(int) $review['attributes']['required']]); + else + $logger->warning("Group ".(int) $review['attributes']['required']." for Log cannot be mapped"); } else { if(isset($objmap['users'][(int) $review['attributes']['required']])) $newreview['required'] = $dms->getUser($objmap['users'][(int) $review['attributes']['required']]); + else + $logger->warning("User ".(int) $review['attributes']['required']." for Log cannot be mapped"); } + if(isset($newreview['required'])) { $newreview['logs'] = array(); foreach($review['logs'] as $j=>$log) { if(!array_key_exists($log['attributes']['user'], $objmap['users'])) { @@ -64,6 +69,7 @@ function getRevAppLog($reviews) { /* {{{ */ } } $newreviews[] = $newreview; + } } return $newreviews; } /* }}} */ @@ -643,6 +649,10 @@ function insert_document($document) { /* {{{ */ $newapprovals = getRevAppLog($initversion['approvals']); $newVersion->rewriteApprovalLog($newapprovals); } + if($initversion['receipts']) { + $newreceipts = getRevAppLog($initversion['receipts']); + $newVersion->rewriteReceiptLog($newreceipts); + } if($initversion['workflowlogs']) { $newworkflowlogs = getWorkflowLog($initversion['workflowlogs']); @@ -753,6 +763,10 @@ function insert_document($document) { /* {{{ */ $newapprovals = getRevAppLog($version['approvals']); $newVersion->rewriteApprovalLog($newapprovals); } + if($version['receipts']) { + $newreceipts = getRevAppLog($version['receipts']); + $newVersion->rewriteReceiptLog($newreceipts); + } if($version['workflowlogs']) { $newworkflowlogs = getWorkflowLog($version['workflowlogs']); @@ -1050,7 +1064,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_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_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)); @@ -1172,6 +1186,7 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_version['attributes'] = array(); $cur_version['approvals'] = array(); $cur_version['reviews'] = array(); + $cur_version['receipts'] = array(); $cur_version['statuslogs'] = array(); $cur_version['workflowlogs'] = array(); break; @@ -1204,6 +1219,15 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_reviewlog = array(); $cur_reviewlog['attributes'] = array(); break; + case "RECEIPT": + $cur_receipt = array(); + $cur_receipt['attributes'] = array(); + $cur_receipt['logs'] = array(); + break; + case "RECEIPTLOG": + $cur_receiptlog = array(); + $cur_receiptlog['attributes'] = array(); + break; case 'ATTRIBUTEDEFINITION': $cur_attrdef = array(); $cur_attrdef['id'] = (int) $attrs['ID']; @@ -1235,6 +1259,10 @@ function startElement($parser, $name, $attrs) { /* {{{ */ $cur_review['attributes'][$attrs['NAME']] = ''; } elseif($parent['name'] == 'REVIEWLOG') { $cur_reviewlog['attributes'][$attrs['NAME']] = ''; + } elseif($parent['name'] == 'RECEIPT') { + $cur_receipt['attributes'][$attrs['NAME']] = ''; + } elseif($parent['name'] == 'RECEIPTLOG') { + $cur_receiptlog['attributes'][$attrs['NAME']] = ''; } elseif($parent['name'] == 'FOLDER') { if(isset($attrs['TYPE']) && $attrs['TYPE'] == 'user') { $cur_folder['user_attributes'][$attrs['ATTRDEF']] = ''; @@ -1427,7 +1455,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_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_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); @@ -1461,6 +1489,12 @@ function endElement($parser, $name) { /* {{{ */ case "REVIEWLOG": $cur_review['logs'][] = $cur_reviewlog; break; + case "RECEIPT": + $cur_version['receipts'][] = $cur_receipt; + break; + case "RECEIPTLOG": + $cur_receipt['logs'][] = $cur_receiptlog; + break; case "USER": /* users can be the users data or the member of a group */ $first = $elementstack[1]; @@ -1567,7 +1601,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_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_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); @@ -1637,6 +1671,15 @@ function characterData($parser, $data) { /* {{{ */ else $cur_reviewlog['attributes'][$current['attributes']['NAME']] = $data; break; + case 'RECEIPT': + $cur_receipt['attributes'][$current['attributes']['NAME']] = $data; + break; + case 'RECEIPTLOG': + if(isset($cur_receiptlog['attributes'][$current['attributes']['NAME']])) + $cur_receiptlog['attributes'][$current['attributes']['NAME']] .= $data; + else + $cur_receiptlog['attributes'][$current['attributes']['NAME']] = $data; + break; case 'WORKFLOWLOG': if(isset($cur_workflowlog['attributes'][$current['attributes']['NAME']])) $cur_workflowlog['attributes'][$current['attributes']['NAME']] .= $data; From d392ca727e7b567c0786cd06fb2b34f7a866849c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 6 Mar 2017 08:53:36 +0100 Subject: [PATCH 007/212] show also number of reverse links in tab header --- views/bootstrap/class.ViewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 6eac3f76c..82466e9a1 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -403,7 +403,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } ?>
  • -
  • +
  • From 6f1c4ea0a2ea358edd0fa7d8516b8e0c7ba2c774 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 6 Mar 2017 08:53:59 +0100 Subject: [PATCH 008/212] add entry for 4.3.34 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 0729c9523..ddb6e4fa3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,8 @@ -------------------------------------------------------------------------------- - add multibyte save basename() replacement, which fixes uploading files whose name starts with a multibyte char +- show both number of links from a document A to B and vise versa in tab header + on ViewDocuments page -------------------------------------------------------------------------------- Changes in version 4.3.33 From 478b88b514441c7258c8b3b68243f7b79f00dc8e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 6 Mar 2017 10:49:04 +0100 Subject: [PATCH 009/212] check for SEEDDMS_HOME, issue warning if user has been removed from process --- utils/xmlimport.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index 2beeb6e8f..88692345d 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -1,5 +1,11 @@ getGroup($objmap['groups'][(int) $review['attributes']['required']]); + else + $logger->warning("Group ".(int) $review['attributes']['required']." for Log cannot be mapped"); } else { if(isset($objmap['users'][(int) $review['attributes']['required']])) $newreview['required'] = $dms->getUser($objmap['users'][(int) $review['attributes']['required']]); + else + $logger->warning("User ".(int) $review['attributes']['required']." for Log cannot be mapped"); } + if(isset($newreview['required'])) { $newreview['logs'] = array(); foreach($review['logs'] as $j=>$log) { if(!array_key_exists($log['attributes']['user'], $objmap['users'])) { @@ -63,6 +74,7 @@ function getRevAppLog($reviews) { /* {{{ */ } } $newreviews[] = $newreview; + } } return $newreviews; } /* }}} */ @@ -1684,6 +1696,7 @@ if($defaultuserid) { $defaultUser = null; } +$users = array(); $elementstack = array(); $objmap = array( 'attributedefs' => array(), From 1436d3d969e182e06d8e69904104f01c5abff14a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 6 Mar 2017 10:50:51 +0100 Subject: [PATCH 010/212] check if SEEDDMS_HOME is set --- utils/xmldump.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/utils/xmldump.php b/utils/xmldump.php index 353a9a376..439e4d740 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -1,5 +1,11 @@ Date: Mon, 6 Mar 2017 10:53:20 +0100 Subject: [PATCH 011/212] take out include on missing file --- utils/xmldump.php | 2 -- utils/xmlimport.php | 2 -- 2 files changed, 4 deletions(-) diff --git a/utils/xmldump.php b/utils/xmldump.php index 439e4d740..576b17d21 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -1,10 +1,8 @@ Date: Mon, 6 Mar 2017 10:56:16 +0100 Subject: [PATCH 012/212] include inc/inc.ClassAcl.php --- utils/xmldump.php | 2 ++ utils/xmlimport.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/utils/xmldump.php b/utils/xmldump.php index da2e560b4..21989ab4a 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -1,8 +1,10 @@ Date: Mon, 6 Mar 2017 11:37:18 +0100 Subject: [PATCH 013/212] set keywords to '' if not set in xml file --- utils/xmlimport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index b24821d3e..c2290359c 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -507,7 +507,7 @@ function insert_document($document) { /* {{{ */ $document['attributes']['comment'], isset($document['attributes']['expires']) ? dateToTimestamp($document['attributes']['expires']) : 0, $owner, - isset($document['attributes']['keywords']) ? $document['attributes']['keywords'] : 0, + isset($document['attributes']['keywords']) ? $document['attributes']['keywords'] : '', $categories, $filename, $initversion['attributes']['orgfilename'], From d1829dfe29c4c1278d895c3f76a46ff4b9d39459 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 6 Mar 2017 13:47:38 +0100 Subject: [PATCH 014/212] fix import of object type of attribute definitions --- utils/xmlimport.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index c2290359c..1a92a906d 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -203,7 +203,8 @@ function insert_attributedefinition($attrdef) { /* {{{ */ $logger->info("Attribute definition already exists"); } else { if(in_array('attributedefinitions', $sections)) { - if(!$newAttrdef = $dms->addAttributeDefinition($attrdef['attributes']['name'], $attrdef['objecttype'], $attrdef['attributes']['type'], $attrdef['attributes']['multiple'], $attrdef['attributes']['minvalues'], $attrdef['attributes']['maxvalues'], $attrdef['attributes']['valueset'], $attrdef['attributes']['regex'])) { + $objtype = ($attrdef['objecttype'] == 'folder' ? SeedDMS_Core_AttributeDefinition::objtype_folder : ($attrdef['objecttype'] == 'document' ? SeedDMS_Core_AttributeDefinition::objtype_document : ($attrdef['objecttype'] == 'documentcontent' ? SeedDMS_Core_AttributeDefinition::objtype_documentcontent : 0))); + if(!$newAttrdef = $dms->addAttributeDefinition($attrdef['attributes']['name'], $objtype, $attrdef['attributes']['type'], $attrdef['attributes']['multiple'], $attrdef['attributes']['minvalues'], $attrdef['attributes']['maxvalues'], $attrdef['attributes']['valueset'], $attrdef['attributes']['regex'])) { $logger->err("Could not add attribute definition"); $logger->debug($dms->getDB()->getErrorMsg()); return false; From 26a32cfa626a6876e7211f0011725b5506cf8353 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 08:22:28 +0100 Subject: [PATCH 015/212] =?UTF-8?q?new=20phra=D1=95es=20and=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/ar_EG/lang.inc | 9 ++++-- languages/bg_BG/lang.inc | 3 ++ languages/ca_ES/lang.inc | 3 ++ languages/cs_CZ/lang.inc | 7 ++-- languages/de_DE/lang.inc | 5 ++- languages/el_GR/lang.inc | 3 ++ languages/en_GB/lang.inc | 5 ++- languages/es_ES/lang.inc | 19 ++++++----- languages/fr_FR/lang.inc | 69 +++++++++++++++++++++------------------- languages/hr_HR/lang.inc | 3 ++ languages/hu_HU/lang.inc | 3 ++ languages/it_IT/lang.inc | 3 ++ languages/ko_KR/lang.inc | 3 ++ languages/nl_NL/lang.inc | 3 ++ languages/pl_PL/lang.inc | 11 ++++--- languages/pt_BR/lang.inc | 3 ++ languages/ro_RO/lang.inc | 3 ++ languages/ru_RU/lang.inc | 3 ++ languages/sk_SK/lang.inc | 3 ++ languages/sv_SE/lang.inc | 3 ++ languages/tr_TR/lang.inc | 7 ++-- languages/uk_UA/lang.inc | 3 ++ languages/zh_CN/lang.inc | 13 +++++--- languages/zh_TW/lang.inc | 3 ++ 24 files changed, 131 insertions(+), 59 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index df70ad26b..ae659e23e 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 (1272) +// Translators: Admin (1274) $text = array( '2_factor_auth' => '', @@ -271,6 +271,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'انشاء فهرس للنص الكامل', 'create_fulltext_index_warning' => 'انت على وشك اعادة انشاء فهرس النص الكامل.هذا سيتطلب وقت كافي وسيؤثر بشكل عام على كفاءة النظام. اذا كنت حقا تود اعادة انشاء الفهرس، من فضلك قم بتاكيد العملية.', 'creation_date' => 'تم انشاؤه', @@ -376,6 +377,7 @@ URL: [url]', 'does_not_expire' => 'لا ينتهى صلاحيته', 'does_not_inherit_access_msg' => 'صلاحيات موروثة', 'download' => 'تنزيل', +'download_links' => '', 'do_object_repair' => 'إصلاح كل المستندات والمجلدات.', 'do_object_setchecksum' => 'تحديد فحص اخطاء', 'do_object_setfilesize' => 'تحديد حجم الملف', @@ -451,7 +453,7 @@ Parent folder: [folder_path] URL: [url]', 'expiry_changed_email_subject' => '[sitename]: [name] - تم تغيير تاريخ الصلاحية', 'export' => '', -'extension_manager' => '', +'extension_manager' => 'ﺇﺩﺍﺭﺓ ﺍﻼﻣﺩﺍﺩﺎﺗ', 'february' => 'فبراير', 'file' => 'ملف', 'files' => 'ملفات', @@ -505,6 +507,7 @@ URL: [url]', 'fr_FR' => 'الفرنسية', 'fullsearch' => 'البحث النصي الكامل', 'fullsearch_hint' => 'استخدم فهرس النص الكامل', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'معلومات فهرس النص الكامل', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'سمات', @@ -536,7 +539,7 @@ URL: [url]', 'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.', 'import' => 'ﺎﺴﺘﺧﺭﺎﺟ', 'importfs' => '', -'import_fs' => '', +'import_fs' => 'ﻦﺴﺧ ﻢﻧ ﻢﻠﻓ ﺎﻠﻨﻇﺎﻣ', 'import_fs_warning' => '', 'include_content' => '', 'include_documents' => 'اشمل مستندات', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 6e79e657c..b7bec64fa 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -256,6 +256,7 @@ $text = array( 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Създай пълнотекстов индекс', 'create_fulltext_index_warning' => 'Вие искате да пресъздадете пълнотекстов индекс. Това ще отнеме време и ще понижи производителността. Да продолжа ли?', 'creation_date' => 'Създаден', @@ -331,6 +332,7 @@ $text = array( 'does_not_expire' => 'Безсрочен', 'does_not_inherit_access_msg' => 'Наследване нивото на достъп', 'download' => 'Изтегли', +'download_links' => '', 'do_object_repair' => 'Поправи всички папки и документи', 'do_object_setchecksum' => 'Установи контролна сума', 'do_object_setfilesize' => 'Установи размер на файла', @@ -436,6 +438,7 @@ $text = array( 'fr_FR' => '', 'fullsearch' => 'Пълнотекстово търсене', 'fullsearch_hint' => 'Използвай пълнотекстов индекс', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Информация за пълнотекстов индексе', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'атрибути', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 08d0e6f23..65fa0fb7b 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -261,6 +261,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Crea un índex full-text', 'create_fulltext_index_warning' => '', 'creation_date' => 'Creació', @@ -336,6 +337,7 @@ URL: [url]', 'does_not_expire' => 'No caduca', 'does_not_inherit_access_msg' => 'heretar l\'accés', 'download' => 'Descarregar', +'download_links' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -441,6 +443,7 @@ URL: [url]', 'fr_FR' => 'Francès', 'fullsearch' => 'Cerca full-text', 'fullsearch_hint' => '', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Informació de full-text', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atributs', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 329eaa525..80de6beb6 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 (718), kreml (455) +// Translators: Admin (719), kreml (455) $text = array( '2_factor_auth' => '', @@ -278,6 +278,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Vytvořit fulltext index', 'create_fulltext_index_warning' => 'Hodláte znovu vytvořit fulltext index. Může to trvat dlouho a zpomalit běh systému. Pokud víte, co děláte, potvďte operaci.', 'creation_date' => 'Vytvořeno', @@ -383,6 +384,7 @@ URL: [url]', 'does_not_expire' => 'Platnost nikdy nevyprší', 'does_not_inherit_access_msg' => 'Zdědit přístup', 'download' => 'Stáhnout', +'download_links' => '', 'do_object_repair' => 'Opravit všechny složky a dokumenty.', 'do_object_setchecksum' => 'Nastavit kontrolní součet', 'do_object_setfilesize' => 'Nastavit velikost souboru', @@ -512,6 +514,7 @@ URL: [url]', 'fr_FR' => 'Francouzština', 'fullsearch' => 'Fulltextové vyhledávání', 'fullsearch_hint' => 'Použijte fultext index', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Fulltext index info', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atributy', @@ -630,7 +633,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Hodláte-li nahrát soubory větší než je maximální velikost pro nahrávání, použijte prosím alternativní stránku.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Seznam všech přístupových práv ...', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Lokální soubor', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 2c006d12c..75857e70b 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 (2376), dgrutsch (22) +// Translators: Admin (2379), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => 'Kommando', 'converter_new_mimetype' => 'Neuer Mime-Type', 'copied_to_checkout_as' => 'Datei am [date] in den Checkout-Space als \'[filename]\' kopiert.', +'create_download_link' => 'Erzeuge Download Link', 'create_fulltext_index' => 'Erzeuge Volltextindex', 'create_fulltext_index_warning' => 'Sie möchten den Volltextindex neu erzeugen. Dies kann beträchtlich Zeit in Anspruch nehmen und Gesamtleistung Ihres System beeinträchtigen. Bestätigen Sie bitte diese Operation.', 'creation_date' => 'Erstellt am', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'Kein Ablaufdatum', 'does_not_inherit_access_msg' => 'Berechtigungen wieder erben', 'download' => 'Download', +'download_links' => 'Download Links', 'do_object_repair' => 'Repariere alle Ordner und Dokumente.', 'do_object_setchecksum' => 'Setze Check-Summe', 'do_object_setfilesize' => 'Setze Dateigröße', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'Französisch', 'fullsearch' => 'Volltext', 'fullsearch_hint' => 'Volltextindex benutzen', +'fulltextsearch_disabled' => 'Volltext-Index ist ausgeschaltet', 'fulltext_info' => 'Volltext-Index Info', 'global_attributedefinitiongroups' => 'Attributgruppen', 'global_attributedefinitions' => 'Attribute', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 5da788a28..76ad7e41a 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -256,6 +256,7 @@ $text = array( 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => '', 'create_fulltext_index_warning' => '', 'creation_date' => '', @@ -331,6 +332,7 @@ $text = array( 'does_not_expire' => '', 'does_not_inherit_access_msg' => '', 'download' => '', +'download_links' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -436,6 +438,7 @@ $text = array( 'fr_FR' => 'French/Γαλλικά', 'fullsearch' => 'Πλήρης αναζήτηση (full text)', 'fullsearch_hint' => '', +'fulltextsearch_disabled' => '', 'fulltext_info' => '', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Ιδιότητες', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 7fc2b4dc0..2093d65c0 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 (1503), dgrutsch (9), netixw (14) +// Translators: Admin (1506), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => 'Command', 'converter_new_mimetype' => 'New mimetype', 'copied_to_checkout_as' => 'File copied to checkout space as \'[filename]\' on [date]', +'create_download_link' => 'Create download link', 'create_fulltext_index' => 'Create fulltext index', 'create_fulltext_index_warning' => 'You are about to recreate the fulltext index. This can take a considerable amount of time and reduce your overall system performance. If you really want to recreate the index, please confirm your operation.', 'creation_date' => 'Created', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'Does not expire', 'does_not_inherit_access_msg' => 'Inherit access', 'download' => 'Download', +'download_links' => 'Download links', 'do_object_repair' => 'Repair all folders and documents.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Set file size', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'French', 'fullsearch' => 'Full text search', 'fullsearch_hint' => 'Use fulltext index', +'fulltextsearch_disabled' => 'Fulltext index is disabled', 'fulltext_info' => 'Fulltext index info', 'global_attributedefinitiongroups' => 'Attribute groups', 'global_attributedefinitions' => 'Attributes', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 0e3979f2d..3cb799732 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 (1009), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1016), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -250,7 +250,7 @@ URL: [url]', 'clear_password' => '', 'clipboard' => 'Portapapeles', 'close' => 'Cerrar', -'command' => '', +'command' => 'Comando', 'comment' => 'Comentarios', 'comment_changed_email' => '', 'comment_for_current_version' => 'Comentario de la versión actual', @@ -278,6 +278,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Crear índice de texto completo', 'create_fulltext_index_warning' => 'Usted va a regenerar el índice te texto completo. Esto puede tardar un tiempo considerable y consumir capacidad de su equipo. Si realmente quiere regenerar el índice, por favor confirme la operación.', 'creation_date' => 'Creación', @@ -383,6 +384,7 @@ URL: [url]', 'does_not_expire' => 'No caduca', 'does_not_inherit_access_msg' => 'heredar el acceso', 'download' => 'Descargar', +'download_links' => '', 'do_object_repair' => 'Reparar todas las carpetas y documentos.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Asignar tamaño de fichero', @@ -512,6 +514,7 @@ URL: [url]', 'fr_FR' => 'Frances', 'fullsearch' => 'Búsqueda en texto completo', 'fullsearch_hint' => 'Utilizar índice de texto completo', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Información de índice de texto completo', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Definición de atributos', @@ -1010,7 +1013,7 @@ URL: [url]', 'select_one' => 'Seleccionar uno', 'select_users' => 'Haga Click para seleccionar usuarios', 'select_workflow' => 'Selecionar Flujo de Trabajo', -'send_test_mail' => '', +'send_test_mail' => 'Enviar correo de prueba', 'september' => 'Septiembre', 'sequence' => 'Secuencia', 'seq_after' => 'Después "[prevname]"', @@ -1027,7 +1030,7 @@ URL: [url]', 'settings_advancedAcl_desc' => '', 'settings_apache_mod_rewrite' => 'Apache - Módulo Reescritura', 'settings_Authentication' => 'Configuración de autenticación', -'settings_autoLoginUser' => '', +'settings_autoLoginUser' => 'Acceso automatico', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Idiomas disponibles', 'settings_available_languages_desc' => '', @@ -1048,7 +1051,7 @@ URL: [url]', 'settings_contentOffsetDir' => 'Carpeta de contenidos de desplazamiento', 'settings_contentOffsetDir_desc' => 'Para tratar las limitaciones del sistema de ficheros subyacentes, se ha ideado una estructura de carpetas dentro de la carpeta de contenido. Esto requiere una carpeta base desde la que comenzar. Normalmente puede dejar este valor por defecto, 1048576, pero puede ser cualquier número o cadena que no exista ya dentro de ella (carpeta de contenido).', 'settings_convertToPdf' => 'Convertir documento en PDF para pervisualización', -'settings_convertToPdf_desc' => '', +'settings_convertToPdf_desc' => 'Si un documento no puede ser visualizado nativamente en el navegador, una versión convertida a PDF sera mostrada.', 'settings_cookieLifetime' => 'Tiempo de vida de las cookies', 'settings_cookieLifetime_desc' => 'Tiempo de vida de las cookies en segundos. Si asigna 0 la cookie será eliminada cuando el navegador se cierre.', 'settings_coreDir' => 'Carpeta de SeedDMS Core', @@ -1070,8 +1073,8 @@ URL: [url]', 'settings_dbUser' => 'Nombre de usuario', 'settings_dbUser_desc' => 'Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.', 'settings_dbVersion' => 'Esquema de base de datos demasiado antiguo', -'settings_defaultAccessDocs' => '', -'settings_defaultAccessDocs_desc' => '', +'settings_defaultAccessDocs' => 'Acceso por defecto de nuevos documentos', +'settings_defaultAccessDocs_desc' => 'Cuando un nuevo documento sea creado, este sera el acceso por defecto.', 'settings_defaultSearchMethod' => 'Método de búsqueda por defecto', 'settings_defaultSearchMethod_desc' => 'Método de búsqueda por defecto, cuando se inicia una búsqueda mediante el formulario en el menú principal', 'settings_defaultSearchMethod_valdatabase' => 'base de datos', @@ -1144,7 +1147,7 @@ URL: [url]', 'settings_enableThemeSelector_desc' => 'Habilitar/deshabilitar la selección de temas en la página de login', 'settings_enableUpdateReceipt' => '', 'settings_enableUpdateReceipt_desc' => '', -'settings_enableUpdateRevApp' => '', +'settings_enableUpdateRevApp' => 'Permitir edición de revisión/aprobación existente', 'settings_enableUpdateRevApp_desc' => '', 'settings_enableUserImage' => 'Habilitar imágenes de usuario', 'settings_enableUserImage_desc' => 'Habilitar imágenes de usuario', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 8bd861f9a..cd2f2f8be 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/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 (1060), jeromerobert (50), lonnnew (9), Oudiceval (182) +// Translators: Admin (1060), jeromerobert (50), lonnnew (9), Oudiceval (218) $text = array( '2_factor_auth' => 'Authentification forte', @@ -238,7 +238,7 @@ URL: [url]', 'checkout_is_disabled' => 'Le blocage (check-out) de documents est désactivé dans la configuration.', 'choose_attrdef' => 'Choisissez une définition d\'attribut', 'choose_attrdefgroup' => '', -'choose_category' => 'SVP choisir', +'choose_category' => 'Sélectionnez une catégorie', 'choose_group' => 'Choisir un groupe', 'choose_role' => '', 'choose_target_category' => 'Choisir une catégorie', @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => 'Commande', 'converter_new_mimetype' => 'Nouveau type MIME', 'copied_to_checkout_as' => 'Fichier copié dans l’espace de blocage en tant que « [filename] » ([date])', +'create_download_link' => '', 'create_fulltext_index' => 'Créer un index de recherche plein texte', 'create_fulltext_index_warning' => 'Vous allez recréer l\'index de recherche plein texte. Cela peut prendre un temps considérable et réduire les performances de votre système dans son ensemble. Si vous voulez vraiment recréer l\'index, merci de confirmer votre opération.', 'creation_date' => 'Créé le', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'N\'expire jamais', 'does_not_inherit_access_msg' => 'Accès hérité', 'download' => 'Téléchargement', +'download_links' => '', 'do_object_repair' => 'Réparer tous les dossiers et documents.', 'do_object_setchecksum' => 'Définir checksum', 'do_object_setfilesize' => 'Définir la taille du fichier', @@ -426,7 +428,7 @@ URL: [url]', 'edit_transmittal_props' => '', 'edit_user' => 'Modifier un utilisateur', 'edit_user_details' => 'Modifier les détails d\'utilisateur', -'edit_version' => '', +'edit_version' => 'Modifier le fichier', 'el_GR' => 'Grec', 'email' => 'E-mail', 'email_error_title' => 'Aucun e-mail indiqué', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'Français', 'fullsearch' => 'Recherche dans le contenu', 'fullsearch_hint' => 'Utiliser la recherche plein texte', +'fulltextsearch_disabled' => 'La recherche plein texte est désactivée.', 'fulltext_info' => 'Information sur l\'index plein texte', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Définitions d\'attributs', @@ -529,7 +532,7 @@ URL: [url]', 'groups' => 'Groupes', 'group_approval_summary' => 'Résumé groupe d\'approbation', 'group_exists' => 'Ce groupe existe déjà.', -'group_info' => '', +'group_info' => 'Informations du groupe', 'group_management' => 'Groupes', 'group_members' => 'Membres de groupes', 'group_receipt_summary' => '', @@ -553,13 +556,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Inclure les documents', 'include_subdirectories' => 'Inclure les sous-dossiers', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Opérations d’indexation en attente', 'index_converters' => 'Conversion de document Index', -'index_done' => '', -'index_error' => '', +'index_done' => 'Terminé', +'index_error' => 'Erreur', 'index_folder' => 'Dossier Index', -'index_pending' => '', -'index_waiting' => '', +'index_pending' => 'En attente', +'index_waiting' => 'Chargement…', 'individuals' => 'Individuels', 'indivіduals_in_groups' => '', 'inherited' => 'hérité', @@ -598,21 +601,21 @@ URL: [url]', 'js_form_error' => 'Le formulaire contient encore # erreur.', 'js_form_errors' => 'Le formulaire contient encore # erreurs.', 'js_invalid_email' => 'L\'adresse e-mail est invalide', -'js_no_approval_group' => 'SVP Sélectionnez un groupe d\'approbation', -'js_no_approval_status' => 'SVP Sélectionnez le statut d\'approbation', +'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_email' => 'Saisissez votre adresse e-mail', -'js_no_file' => 'SVP Sélectionnez un fichier', +'js_no_file' => 'Veuillez sélectionner un fichier', 'js_no_keywords' => 'Spécifiez quelques mots-clés', -'js_no_login' => 'SVP Saisissez un identifiant', +'js_no_login' => 'Veuillez saisir un identifiant', 'js_no_name' => 'Veuillez saisir un nom', -'js_no_override_status' => 'SVP Sélectionner le nouveau [override] statut', +'js_no_override_status' => 'Veuillez sélectionner le nouveau statut [override]', 'js_no_pwd' => 'Vous devez saisir votre mot de passe', 'js_no_query' => 'Saisir une requête', -'js_no_review_group' => 'SVP Sélectionner un groupe de correcteur', -'js_no_review_status' => 'SVP Sélectionner le statut de correction', +'js_no_review_group' => 'Veuillez sélectionner un groupe de correcteurs', +'js_no_review_status' => 'Veuillez sélectionner le statut de correction', 'js_pwd_not_conf' => 'Mot de passe et confirmation de mot de passe non identiques', -'js_select_user' => 'SVP Sélectionnez un utilisateur', +'js_select_user' => 'Veuillez sélectionner un utilisateur', 'js_select_user_or_group' => 'Sélectionner au moins un utilisateur ou un groupe', 'js_unequal_passwords' => 'Les mots de passe ne sont pas identiques', 'july' => 'Juillet', @@ -778,7 +781,7 @@ URL: [url]', 'only_jpg_user_images' => 'Images d\'utilisateur au format .jpg seulement', 'order_by_sequence_off' => 'Le tri par séquence est désactivé dans les préférences. Si vous souhaitez que ce paramètre prenne effet, vous devez l\'activer.', 'original_filename' => 'Nom de fichier original', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Progression globale de l’indexation', 'owner' => 'Propriétaire', 'ownership_changed_email' => 'Propriétaire modifié', 'ownership_changed_email_body' => 'Propriétaire modifié @@ -815,14 +818,14 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'password_wrong' => 'Mauvais mot de passe', 'pending_approvals' => '', 'pending_reviews' => '', -'pending_workflows' => '', +'pending_workflows' => 'Workflows en attente', 'personal_default_keywords' => 'Mots-clés personnels', 'pl_PL' => 'Polonais', 'possible_substitutes' => '', 'preview' => 'Aperçu', 'preview_converters' => '', -'preview_images' => 'Prévisualisation des images', -'preview_markdown' => '', +'preview_images' => 'Miniatures', +'preview_markdown' => 'Prévisualisation', 'preview_plain' => 'Texte', 'previous_state' => 'État précédent', 'previous_versions' => 'Versions précédentes', @@ -1031,7 +1034,7 @@ URL: [url]', 'settings_checkOutDir_desc' => '', 'settings_cmdTimeout' => 'Délai d\'expiration pour les commandes externes', 'settings_cmdTimeout_desc' => 'Cette durée en secondes détermine quand une commande externe (par exemple pour la création de l\'index de texte intégral) sera terminée.', -'settings_contentDir' => 'Contenu du répertoire', +'settings_contentDir' => 'Répertoire du contenu', 'settings_contentDir_desc' => 'Endroit ou les fichiers téléchargés sont stockés (il est préférable de choisir un répertoire qui n\'est pas accessible par votre serveur web)', 'settings_contentOffsetDir' => 'Content Offset Directory', 'settings_contentOffsetDir_desc' => 'To work around limitations in the underlying file system, a new directory structure has been devised that exists within the content directory (Content Directory). This requires a base directory from which to begin. Usually leave this to the default setting, 1048576, but can be any number or string that does not already exist within (Content Directory)', @@ -1072,8 +1075,8 @@ URL: [url]', 'settings_dropFolderDir' => 'Répertoire de dépôt de fichier sur le serveur', 'settings_dropFolderDir_desc' => 'Ce répertoire peut être utilisé pour déposer des fichiers sur le serveur et les importer à partir d\'ici au lieu de les charger à partir du navigateur. Le répertoire doit avoir un sous-répertoire pour chaque utilisateur autorisé à importer des fichiers de cette manière.', 'settings_Edition' => 'Paramètres d’édition', -'settings_editOnlineFileTypes' => 'Editer le type de fichier', -'settings_editOnlineFileTypes_desc' => 'Editer la description du type de fichier', +'settings_editOnlineFileTypes' => 'Types de fichiers éditables', +'settings_editOnlineFileTypes_desc' => 'Le contenu des fichiers portant les extensions précisées pourra être modifié en ligne (utiliser des lettres minuscules)', 'settings_enable2FactorAuthentication' => 'Activer l’authentification forte', 'settings_enable2FactorAuthentication_desc' => 'Active/désactive l\'authentification forte à 2 facteurs. Les utilisateurs devront installer Google Authenticator sur leur téléphone mobile.', 'settings_enableAcknowledgeWorkflow' => '', @@ -1096,8 +1099,8 @@ URL: [url]', 'settings_enableEmail_desc' => 'Activer/désactiver la notification automatique par E-mail', 'settings_enableFolderTree' => 'Activer l\'arborescence des dossiers', 'settings_enableFolderTree_desc' => 'False pour ne pas montrer l\'arborescence des dossiers', -'settings_enableFullSearch' => 'Recherches dans le contenu', -'settings_enableFullSearch_desc' => 'Activer la recherche texte plein', +'settings_enableFullSearch' => 'Activer la recherche plein texte', +'settings_enableFullSearch_desc' => 'Activer la recherche plein texte (dans le contenu des fichiers).', 'settings_enableGuestAutoLogin' => 'Activer la connexion automatique pour le compte invité', 'settings_enableGuestAutoLogin_desc' => 'Si le compte invité et la connexion automatique sont activés alors le compte invité sera connecté automatiquement.', 'settings_enableGuestLogin' => 'Activer la connexion Invité', @@ -1157,7 +1160,7 @@ URL: [url]', 'settings_firstDayOfWeek_desc' => 'Premier jour de la semaine', 'settings_footNote' => 'Note de bas de page', 'settings_footNote_desc' => 'Message à afficher au bas de chaque page', -'settings_fullSearchEngine' => 'Moteur de recherche texte complet', +'settings_fullSearchEngine' => 'Moteur de recherche plein texte', 'settings_fullSearchEngine_desc' => 'Définissez la méthode utilisée pour la recherche complète de texte.', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', 'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS', @@ -1176,7 +1179,7 @@ URL: [url]', 'settings_install_success' => 'L\'installation est terminée avec succès', 'settings_install_welcome_text' => '

    Avant de commencer l\'installation de SeedDMS, assurez-vous d\'avoir créé un fichier \'ENABLE_INSTALL_TOOL\' dans votre répertoire de configuration, sinon l\'installation ne fonctionnera pas. Sur des systèmes Unix, cela peut se faire simplement avec \'touch / ENABLE_INSTALL_TOOL\'. Une fois l\'installation terminée, supprimez le fichier.

    SeedDMS a des exigences très minimes. Vous aurez besoin d\'une base de données MySQL ou SQLite et d\'un serveur web PHP. Le package Pear "Log" doit également être installé. Pour la recherche via Lucene, vous devez également installer le framework Zend sur le disque à un emplacement accessible par PHP. Pour le serveur WebDAV, vous aurez besoin d\'installer HTTP_WebDAV_Server. Le chemin d’accès peut être défini ultérieurement pendant l’installation.

    Si vous préférez créer la base de données avant de commencer l\'installation, créez la manuellement avec votre outil favori, créez éventuellement un utilisateur de base de données avec accès sur la base et importez un export de base du répertoire de configuration. Le script d\'installation peut le faire pour vous, mais il requiert un accès à la base de données avec les droits suffisants pour créer des bases de données.

    ', 'settings_install_welcome_title' => 'Bienvenue dans l\'installation de SeedDMS', -'settings_install_zendframework' => 'Installer le Framework Zend, si vous avez l\'intention d\'utiliser le moteur de recherche texte complète', +'settings_install_zendframework' => 'Installez Zend Framework si vous avez l’intention d’utiliser le moteur de recherche plein texte basé sur Zend. Sinon, continuez l’installation en ignorant ce message.', 'settings_language' => 'Langue par défaut', 'settings_language_desc' => 'Langue par défaut (nom d\'un sous-dossier dans le dossier "languages")', 'settings_libraryFolder' => '', @@ -1280,7 +1283,7 @@ URL: [url]', 'settings_stagingDir_desc' => 'Le répertoire où jumploader mets les parts d\'un fichier chargé avant de le reconstituer.', 'settings_start_install' => 'Démarrer l\'installation', 'settings_stopWordsFile' => 'Fichier des mots à exclure', -'settings_stopWordsFile_desc' => 'Si la recherche de texte complète est activée, ce fichier contient les mots non indexés', +'settings_stopWordsFile_desc' => 'Si la recherche plein texte est activée, ce fichier contient la liste des mots à ne pas indexer.', 'settings_strictFormCheck' => 'Formulaires stricts', 'settings_strictFormCheck_desc' => 'Contrôl strict des formulaires. Si définie sur true, tous les champs du formulaire seront vérifié. Si définie sur false, les commentaires et mots clés deviennent facultatifs. Les commentaires sont toujours nécessaires lors de la soumission d\'une correction ou état ​​du document', 'settings_suggestionvalue' => 'Valeur suggérée', @@ -1330,16 +1333,16 @@ URL: [url]', 'splash_document_added' => 'Document ajouté', 'splash_document_checkedout' => 'Document bloqué', 'splash_document_edited' => 'Document sauvegardé', -'splash_document_indexed' => '', +'splash_document_indexed' => 'Document « [name] » indexé.', 'splash_document_locked' => 'Document vérouillé', 'splash_document_unlocked' => 'Document déverrouillé', 'splash_edit_attribute' => 'Attribut modifié', -'splash_edit_event' => '', +'splash_edit_event' => 'Événement modifié', 'splash_edit_group' => 'Groupe sauvé', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', -'splash_folder_edited' => '', +'splash_folder_edited' => 'Dossier modifié', 'splash_importfs' => '[docs] documents et [folders] dossiers importés', 'splash_invalid_folder_id' => 'Identifiant de répertoire invalide', 'splash_invalid_searchterm' => 'Recherche invalide', @@ -1539,7 +1542,7 @@ URL: [url]', 'workflow_name' => 'Nom', 'workflow_no_doc_rejected_state' => 'L’état « rejeté » n’a été défini sur aucune action !', 'workflow_no_doc_released_state' => '', -'workflow_no_initial_state' => '', +'workflow_no_initial_state' => 'Aucune transition ne débute par l’état initial défini pour ce workflow !', 'workflow_no_states' => 'Vous devez d\'abord définir des états de workflow avant d\'ajouter un workflow.', 'workflow_save_layout' => '', 'workflow_state' => '', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 00f0a0250..866a53ad8 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -283,6 +283,7 @@ Internet poveznica: [url]', 'converter_new_cmd' => 'Komanda', 'converter_new_mimetype' => 'Novi tip datoteke', 'copied_to_checkout_as' => 'Datoteka je kopirana u prostor odjave kao \'[filename]\'', +'create_download_link' => '', 'create_fulltext_index' => 'Indeksiraj cijeli tekst', 'create_fulltext_index_warning' => 'Želite ponovo indeksirati cijeli tekst. To može duže potrajati i smanjiti sveukupne performanse sustava. Ako zaista želite ponovno indeksirati, molimo potvrdite vašu radnju.', 'creation_date' => 'Izrađeno', @@ -388,6 +389,7 @@ Internet poveznica: [url]', 'does_not_expire' => 'Ne istječe', 'does_not_inherit_access_msg' => 'Naslijedi nivo pristupa', 'download' => 'Preuzimanje', +'download_links' => '', 'do_object_repair' => 'Popravi sve mape i dokumente.', 'do_object_setchecksum' => 'Postavi kontrolnu sumu', 'do_object_setfilesize' => 'Postavi veličinu datoteke', @@ -517,6 +519,7 @@ Internet poveznica: [url]', 'fr_FR' => 'Francuski', 'fullsearch' => 'Pretraživanje cijelog teksta', 'fullsearch_hint' => 'Koristi indeks cijelog teksta', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Informacije cijelog teksta', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atributi', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 7225b6564..eeb5d453a 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -278,6 +278,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Teljes szöveg index létrehozása', 'create_fulltext_index_warning' => 'Ön a teljes szöveg index újraépítését kezdeményezte. Ez a művelet hosszú ideig eltarthat és jelentősen csökkentheti az egész rendszer teljesítményét. Ha biztosan újra kívánja építeni az indexet, kérjük erősítse meg a műveletet.', 'creation_date' => 'Létrehozva', @@ -383,6 +384,7 @@ URL: [url]', 'does_not_expire' => 'Soha nem jár le', 'does_not_inherit_access_msg' => 'Hozzáférés öröklése', 'download' => 'Letöltés', +'download_links' => '', 'do_object_repair' => 'Valamennyi mappa és dokumentum helyreállítása.', 'do_object_setchecksum' => 'Ellenőrző összeg beállítása', 'do_object_setfilesize' => 'Állomány méret beállítása', @@ -512,6 +514,7 @@ URL: [url]', 'fr_FR' => 'Francia', 'fullsearch' => 'Keresés a teljes szövegben', 'fullsearch_hint' => 'Használja a teljes szöveg indexet', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Teljes szöveg index információ', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Jellemzők', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 59d918fba..905eccacc 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -284,6 +284,7 @@ URL: [url]', 'converter_new_cmd' => 'Comando', 'converter_new_mimetype' => 'Nuovo mimetype', 'copied_to_checkout_as' => 'File copiato come \'[filename]\'', +'create_download_link' => '', 'create_fulltext_index' => 'Crea indice fulltext', 'create_fulltext_index_warning' => 'Stai creando un indice fulltext. Questo può occupare un tempo considerevole e ridurre le prestazioni del sistema. Sei sicuro di voler ricreare l\'indice? Prego conferma l\'operazione.', 'creation_date' => 'Data creazione', @@ -389,6 +390,7 @@ URL: [url]', 'does_not_expire' => 'Nessuna scadenza', 'does_not_inherit_access_msg' => 'Imposta permessi ereditari', 'download' => 'Scarica', +'download_links' => '', 'do_object_repair' => 'Ripara tutte le cartelle e i documenti.', 'do_object_setchecksum' => 'Imposta il checksum', 'do_object_setfilesize' => 'Imposta la dimensione del file', @@ -518,6 +520,7 @@ URL: [url]', 'fr_FR' => 'Francese', 'fullsearch' => 'Ricerca Fulltext', 'fullsearch_hint' => 'Usa l\'indice fulltext', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Info indice Fulltext', 'global_attributedefinitiongroups' => 'Attributo gruppi', 'global_attributedefinitions' => 'Definizione attributi', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 4a6b5c914..83496c93b 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -285,6 +285,7 @@ URL: [url]', 'converter_new_cmd' => '명령', 'converter_new_mimetype' => '새 MIME 형태', 'copied_to_checkout_as' => '체크아웃으로 파일(\'[filename]\')이 파일 복사됨', +'create_download_link' => '', 'create_fulltext_index' => '전체 텍스트 인덱스 만들기', 'create_fulltext_index_warning' => '전체 자료의 텍스트 인덱스를 다시 만들 수 있습니다. 이것은 상당한 시간을 요구하며 진행되는 동안 시스템 성능을 감소시킬 수 있습니다. 인덱스를 재 생성하려면, 확인하시기 바랍니다.', 'creation_date' => '생성', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => '만료되지 않습니다', 'does_not_inherit_access_msg' => '액세스 상속', 'download' => '다운로드', +'download_links' => '', 'do_object_repair' => '모든 폴더와 문서를 복구', 'do_object_setchecksum' => '오류 검사', 'do_object_setfilesize' => '파일 크기 설정', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => '프랑스어', 'fullsearch' => '전체 텍스트 검색', 'fullsearch_hint' => '전체 텍스트 색인 사용', +'fulltextsearch_disabled' => '', 'fulltext_info' => '전체 텍스트 색인 정보', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => '속성', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 494e9ec49..addc3138e 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -276,6 +276,7 @@ URL: [url]', 'converter_new_cmd' => 'Wijziging: nieuw commando', 'converter_new_mimetype' => 'Wijziging: nieuw mimetype', 'copied_to_checkout_as' => 'Gekopieerd naar checkout als:', +'create_download_link' => '', 'create_fulltext_index' => 'Creeer volledige tekst index', 'create_fulltext_index_warning' => 'U staat op het punt de volledigetekst opnieuw te indexeren. Dit kan behoorlijk veel tijd en snelheid vergen van het systeem. Als u zeker bent om opnieuw te indexeren, bevestig deze actie.', 'creation_date' => 'Aangemaakt', @@ -381,6 +382,7 @@ URL: [url]', 'does_not_expire' => 'Verloopt niet', 'does_not_inherit_access_msg' => 'Erft toegang', 'download' => 'Download', +'download_links' => '', 'do_object_repair' => 'Repareer alle mappen en documenten.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Voer bestandgrootte in', @@ -510,6 +512,7 @@ URL: [url]', 'fr_FR' => 'Frans', 'fullsearch' => 'Zoek in volledige tekst', 'fullsearch_hint' => 'Volledige tekst index', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Volledige tekst index info', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Kenmerk definities', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 29ebaf51f..90d0d9878 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 (752), netixw (84), romi (93), uGn (112) +// Translators: Admin (755), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -271,6 +271,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Utwórz indeks pełnotekstowy', 'create_fulltext_index_warning' => 'Zamierzasz ponownie utworzyć indeks pełnotekstowy. To może zająć sporo czasu i ograniczyć ogólną wydajność systemu. Jeśli faktycznie chcesz to zrobić, proszę potwierdź tę operację.', 'creation_date' => 'Utworzony', @@ -376,6 +377,7 @@ URL: [url]', 'does_not_expire' => 'Nigdy nie wygasa', 'does_not_inherit_access_msg' => 'Dziedzicz dostęp', 'download' => 'Pobierz', +'download_links' => '', 'do_object_repair' => 'Napraw wszystkie katalogi i pliki.', 'do_object_setchecksum' => 'Ustaw sumę kontrolną', 'do_object_setfilesize' => 'Podaj rozmiar pliku', @@ -451,7 +453,7 @@ Użytkownik: [username] URL: [url]', 'expiry_changed_email_subject' => '[sitename]: [name] - Zmiana daty wygaśnięcia', 'export' => '', -'extension_manager' => '', +'extension_manager' => 'Zarządzanie rozszerzeniami', 'february' => 'Luty', 'file' => 'Plik', 'files' => 'Pliki', @@ -505,6 +507,7 @@ URL: [url]', 'fr_FR' => 'Francuzki', 'fullsearch' => 'Przeszukiwanie treści dokumentów', 'fullsearch_hint' => 'Przeszukuj treść dokumentów', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Informacje o indeksie pełnotekstowym', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Definicje atrybutów', @@ -1054,7 +1057,7 @@ URL: [url]', 'settings_defaultSearchMethod' => '', 'settings_defaultSearchMethod_desc' => '', 'settings_defaultSearchMethod_valdatabase' => 'baza danych', -'settings_defaultSearchMethod_valfulltext' => '', +'settings_defaultSearchMethod_valfulltext' => 'pewłnotekstowe', 'settings_delete_install_folder' => 'Aby móc używać LetoDMS, musisz usunąć plik ENABLE_INSTALL_TOOL znajdujący się w katalogu konfiguracyjnym', 'settings_disableSelfEdit' => 'Wyłącz auto edycję', 'settings_disableSelfEdit_desc' => 'Jeśli zaznaczone, użytkownik nie może zmieniać własnych danych', @@ -1238,7 +1241,7 @@ URL: [url]', 'settings_Server' => 'Ustawienia serwera', 'settings_showFullPreview' => '', 'settings_showFullPreview_desc' => '', -'settings_showMissingTranslations' => '', +'settings_showMissingTranslations' => 'Pokaż brakujące tłumaczenia', 'settings_showMissingTranslations_desc' => '', 'settings_showSingleSearchHit' => '', 'settings_showSingleSearchHit_desc' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 1191f27e5..09d40615f 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -278,6 +278,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Criar índice de texto completo', 'create_fulltext_index_warning' => 'Você está para recriar o índice de texto completo. Isso pode levar uma quantidade considerável de tempo e reduzir o desempenho geral do sistema. Se você realmente deseja recriar o índice, por favor confirme a operação.', 'creation_date' => 'Criado', @@ -382,6 +383,7 @@ URL: [url]', 'does_not_expire' => 'não Expira', 'does_not_inherit_access_msg' => 'Inherit access', 'download' => 'Download', +'download_links' => '', 'do_object_repair' => 'Reparar todas as pastas e documentos.', 'do_object_setchecksum' => 'Defina soma de verificação', 'do_object_setfilesize' => 'Defina o tamanho do arquivo', @@ -511,6 +513,7 @@ URL: [url]', 'fr_FR' => 'Francês', 'fullsearch' => 'Pesquisa de texto completo', 'fullsearch_hint' => 'Use índice de texto completo', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Informações índice Texto completo', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atributos', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 830d10f4c..4f6aacf00 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Creați indexul pentru tot textul', 'create_fulltext_index_warning' => 'Sunteți pe cale sa recreați indexul pentru tot textul. Acest lucru poate dura o perioadă considerabilă de timp și poate reduce performanța sistemului în ansamblu. Dacă doriți cu adevărat să recreati indexul pentru tot textul, vă rugăm să confirmați operațiunea.', 'creation_date' => 'Creat', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'Nu expiră', 'does_not_inherit_access_msg' => 'Acces moștenit', 'download' => 'Descarca', +'download_links' => '', 'do_object_repair' => 'Repară toate folderele și documentele.', 'do_object_setchecksum' => 'Setare sumă de control(checksum)', 'do_object_setfilesize' => 'Setare dimensiune fișier', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'Franceza', 'fullsearch' => 'Căutare text complet', 'fullsearch_hint' => 'Foloseste indexarea intregului text', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Info indexarea intregului text', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atribute', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index af73a6d70..5ef29fb8f 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => 'Команда', 'converter_new_mimetype' => 'Новый mime тип', 'copied_to_checkout_as' => 'Файл скопирован в среду загрузки как \'[filename]\' на [date]', +'create_download_link' => '', 'create_fulltext_index' => 'Создать полнотекстовый индекс', 'create_fulltext_index_warning' => 'Вы хотите пересоздать полнотекстовый индекс. Это займёт какое-то время и снизит производительность. Продолжить?', 'creation_date' => 'Создан', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'безсрочный', 'does_not_inherit_access_msg' => 'Наследовать уровень доступа', 'download' => 'Загрузить', +'download_links' => '', 'do_object_repair' => 'Исправить все каталоги и документы', 'do_object_setchecksum' => 'Установить контрольную сумму', 'do_object_setfilesize' => 'Установить размер файла', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'French', 'fullsearch' => 'Полнотекстовый поиск', 'fullsearch_hint' => 'Использовать полнотекстовый индекс', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Информация о полнотекстовом индексе', 'global_attributedefinitiongroups' => 'Глобальные группы атрибутов', 'global_attributedefinitions' => 'Атрибуты', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 45d061d75..e8f188b70 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -260,6 +260,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Vytvoriť fulltext index', 'create_fulltext_index_warning' => '', 'creation_date' => 'Vytvorené', @@ -335,6 +336,7 @@ URL: [url]', 'does_not_expire' => 'Platnosť nikdy nevyprší', 'does_not_inherit_access_msg' => 'Zdediť prístup', 'download' => 'Stiahnuť', +'download_links' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -440,6 +442,7 @@ URL: [url]', 'fr_FR' => 'Francúzština', 'fullsearch' => 'Fulltext index vyhľadávanie', 'fullsearch_hint' => 'Použiť fulltext index', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Informácie o fulltext indexe', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Atribúty', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index d44ca6b6b..afe68a14b 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -271,6 +271,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Skapa fulltext-sökindex', 'create_fulltext_index_warning' => 'Du håller på att skapa fulltext-sökindex. Detta kan ta mycket lång tid och sakta ner den allmänna systemprestandan. Om du verkligen vill skapa indexet, bekräfta åtgärden.', 'creation_date' => 'Skapat', @@ -376,6 +377,7 @@ URL: [url]', 'does_not_expire' => 'Löper aldrig ut', 'does_not_inherit_access_msg' => 'Ärv behörighet', 'download' => 'Ladda ner', +'download_links' => '', 'do_object_repair' => 'Försök att laga kataloger och dokument.', 'do_object_setchecksum' => 'Lägg till checksumma', 'do_object_setfilesize' => 'Ange filstorlek', @@ -505,6 +507,7 @@ URL: [url]', 'fr_FR' => 'franska', 'fullsearch' => 'Fulltext-sökning', 'fullsearch_hint' => 'Använd fulltext-index', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Fulltext-indexinfo', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Attributdefinitioner', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 607cfd5c8..a74f9fe48 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/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 (1048), aydin (83) +// Translators: Admin (1049), aydin (83) $text = array( '2_factor_auth' => '', @@ -277,6 +277,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => 'Tam metin indeksi oluştur', 'create_fulltext_index_warning' => 'Tam metin indeksi yeniden oluşturmak üzeresiniz. Bu işlem bir hayli uzun sürebilir ve sistem performansını olumsuz etkileyebilir. Buna rağmen indeksi oluşturmak istiyorsanız lütfen bu işlemi onaylayın.', 'creation_date' => 'Oluşturma tarihi', @@ -382,6 +383,7 @@ URL: [url]', 'does_not_expire' => 'Süresiz', 'does_not_inherit_access_msg' => 'Erişim haklarını devir al', 'download' => 'İndir', +'download_links' => '', 'do_object_repair' => 'Tüm klasörleri ve dokümanları onar.', 'do_object_setchecksum' => 'Sağlama (checksum) ayarla', 'do_object_setfilesize' => 'Dosya boyutu ayarla', @@ -511,6 +513,7 @@ URL: [url]', 'fr_FR' => 'Fransızca', 'fullsearch' => 'Tam metinde ara', 'fullsearch_hint' => 'Tam metin indeks kullan', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Tam metin indeks bilgi', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Nitelikler', @@ -1428,7 +1431,7 @@ URL: [url]', 'thursday' => 'Perşembe', 'thursday_abbr' => 'Pe', 'timeline' => 'Zaman Çizelgesi', -'timeline_add_file' => '', +'timeline_add_file' => 'Yeni Ek', 'timeline_add_version' => '', 'timeline_full_add_file' => '', 'timeline_full_add_version' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 328451d0f..eaf0b05cd 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -283,6 +283,7 @@ URL: [url]', 'converter_new_cmd' => 'Команда', 'converter_new_mimetype' => 'Новий mime тип', 'copied_to_checkout_as' => 'Файл скопійовано в середовище скачування як', +'create_download_link' => '', 'create_fulltext_index' => 'Створити повнотекстовий індекс', 'create_fulltext_index_warning' => 'Ви хочете перестворити повнотекстовий індекс. Це займе деякий час і знизить продуктивність. Продовжити?', 'creation_date' => 'Створено', @@ -388,6 +389,7 @@ URL: [url]', 'does_not_expire' => 'Без терміну виконання', 'does_not_inherit_access_msg' => 'Наслідувати рівень доступу', 'download' => 'Завантажити', +'download_links' => '', 'do_object_repair' => 'Виправити всі каталоги і документи', 'do_object_setchecksum' => 'Встановити контрольну суму', 'do_object_setfilesize' => 'Встановити розмір файлу', @@ -517,6 +519,7 @@ URL: [url]', 'fr_FR' => 'French', 'fullsearch' => 'Повнотекстовий пошук', 'fullsearch_hint' => 'Використовувати повнотекстовий індекс', +'fulltextsearch_disabled' => '', 'fulltext_info' => 'Інформація про повнотекстовий індекс', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => 'Атрибути', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index a7c3f407c..6bd7493cf 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 (674), fengjohn (5) +// Translators: Admin (678), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -155,14 +155,14 @@ URL: [url]', 'attr_malformed_int' => '', 'attr_malformed_url' => '', 'attr_max_values' => '', -'attr_min_values' => '', +'attr_min_values' => '最小值没达到', 'attr_not_in_valueset' => '', 'attr_no_regex_match' => '', 'attr_validation_error' => '', 'at_least_n_users_of_group' => '', 'august' => '八 月', 'authentication' => '认证', -'author' => '', +'author' => '作者', 'automatic_status_update' => '自动状态变化', 'back' => '返回', 'backup_list' => '备份列表', @@ -260,6 +260,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => '创建全文索引', 'create_fulltext_index_warning' => '你将重新创建全 文索引。这将花费一定的时间但是会提升系统的整体表现。如果你想要重新创建索引,请确 @@ -337,6 +338,7 @@ URL: [url]', 'does_not_expire' => '永不过期', 'does_not_inherit_access_msg' => '继承访问权限', 'download' => '下载', +'download_links' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '设置文件大小', @@ -408,7 +410,7 @@ URL: [url]', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', 'export' => '', -'extension_manager' => '', +'extension_manager' => '扩展管理器', 'february' => '二 月', 'file' => '文件', 'files' => '文件', @@ -442,6 +444,7 @@ URL: [url]', 'fr_FR' => '法语', 'fullsearch' => '全文搜索', 'fullsearch_hint' => '使用全文索引', +'fulltextsearch_disabled' => '', 'fulltext_info' => '全文索引信息', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => '属性', @@ -734,7 +737,7 @@ URL: [url]', 'reception_rejected' => '', 'recipients' => '', 'redraw' => '', -'refresh' => '', +'refresh' => '刷新', 'rejected' => '拒绝', 'released' => '发布', 'removed_approver' => '已经从审核人名单中删除', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 0f74788b8..f89afee57 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -260,6 +260,7 @@ URL: [url]', 'converter_new_cmd' => '', 'converter_new_mimetype' => '', 'copied_to_checkout_as' => '', +'create_download_link' => '', 'create_fulltext_index' => '創建全文索引', 'create_fulltext_index_warning' => '', 'creation_date' => '創建日期', @@ -335,6 +336,7 @@ URL: [url]', 'does_not_expire' => '永不過期', 'does_not_inherit_access_msg' => '繼承存取權限', 'download' => '下載', +'download_links' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -440,6 +442,7 @@ URL: [url]', 'fr_FR' => '法語', 'fullsearch' => '全文檢索搜尋', 'fullsearch_hint' => '使用全文索引', +'fulltextsearch_disabled' => '', 'fulltext_info' => '全文索引資訊', 'global_attributedefinitiongroups' => '', 'global_attributedefinitions' => '屬性', From 326860379422ce46fdba4b3f00421661985af044 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 10:34:46 +0100 Subject: [PATCH 016/212] use utf8_basename() instead of basename() --- op/op.AddFile.php | 2 +- op/op.AddFile2.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/op/op.AddFile.php b/op/op.AddFile.php index cb9641965..d5dc34f03 100644 --- a/op/op.AddFile.php +++ b/op/op.AddFile.php @@ -88,7 +88,7 @@ for ($file_num=0;$file_numaddDocumentFile($name, $comment, $user, $userfiletmp, - basename($userfilename),$fileType, $userfiletype ); + utf8_basename($userfilename),$fileType, $userfiletype ); if (is_bool($res) && !$res) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); diff --git a/op/op.AddFile2.php b/op/op.AddFile2.php index 17fff4e9d..45ffc99b4 100644 --- a/op/op.AddFile2.php +++ b/op/op.AddFile2.php @@ -76,7 +76,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { } $res = $document->addDocumentFile($name, $comment, $user, $userfiletmp, - basename($userfilename),$fileType, $userfiletype ); + utf8_basename($userfilename),$fileType, $userfiletype ); if (is_bool($res) && !$res) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); From 711520234d28882e76385ffd5d3596cbe19ad2a6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 11:08:35 +0100 Subject: [PATCH 017/212] retrieve complete document when checking for duplicates --- SeedDMS_Core/Core/inc.ClassDMS.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index b8de1a66b..957d5c868 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -2179,8 +2179,7 @@ class SeedDMS_Core_DMS { $versions = array(); foreach($resArr as $row) { - $document = new SeedDMS_Core_Document($row['document'], '', '', '', '', '', '', '', '', '', '', ''); - $document->setDMS($this); + $document = $this->getDocument($row['document']); $version = new SeedDMS_Core_DocumentContent($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']); if(!isset($versions[$row['dupid']])) { $versions[$row['id']]['content'] = $version; From a65c7ddfc095e7978fcf961aa8bf05e943ed5d7e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 11:09:10 +0100 Subject: [PATCH 018/212] add link to duplicate document --- views/bootstrap/class.ObjectCheck.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ObjectCheck.php b/views/bootstrap/class.ObjectCheck.php index f95189cb5..96b8fbb3c 100644 --- a/views/bootstrap/class.ObjectCheck.php +++ b/views/bootstrap/class.ObjectCheck.php @@ -382,12 +382,13 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { $this->contentContainerStart(); if($duplicateversions) { - print ""; + print "
    "; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; + print "\n"; print "\n\n\n"; foreach($duplicateversions as $rec) { $version = $rec['content']; @@ -396,7 +397,9 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style { print ""; print ""; print "\n"; From be2a1c7f2da6ce9d9a2f6c54e7eb0afb3a4275b1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 11:13:50 +0100 Subject: [PATCH 019/212] add changes for 4.3.34 --- CHANGELOG | 1 + SeedDMS_Core/package.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index ddb6e4fa3..eba7b46e4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ name starts with a multibyte char - show both number of links from a document A to B and vise versa in tab header on ViewDocuments page +- add link to duplicate document on ObjectCheck page -------------------------------------------------------------------------------- Changes in version 4.3.33 diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 0dc91dd33..5d8181ce2 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,7 @@ GPL License +SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document From 3aeb970fd8b9af749da1c272c412ec74f80fe49e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 11:30:44 +0100 Subject: [PATCH 020/212] add new phrase 'duplicates' --- 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 ae659e23e..64f0c95a1 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -395,6 +395,7 @@ URL: [url]', 'dump_creation_warning' => 'من خلال تلك العملية يمكنك انشاء ملف مستخرج من محتوى قاعدة البيانات. بعد انشاء الملف المستخرج سيتم حفظه في مجلد البيانات الخاص بسيرفرك', 'dump_list' => 'ملف مستخرج حالي', 'dump_remove' => 'ازالة الملف المستخرج', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'تعديل', 'edit_attributes' => 'تعديل السمات', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index b7bec64fa..50cc47d0b 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -350,6 +350,7 @@ $text = array( 'dump_creation_warning' => 'Тази операция шъ създаде дамп на базата данни. След създаването, файлът ще бъде съхранен в папката с данни на сървъра.', 'dump_list' => 'Съществуващи дъмпове', 'dump_remove' => 'Изтрий дъмп', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'Редактирай', 'edit_attributes' => 'Редактирай атрибути', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 65fa0fb7b..1ed695dbf 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -355,6 +355,7 @@ URL: [url]', 'dump_creation_warning' => 'Amb aquesta operació es crearà un bolcat a fitxer del contingut de la base de dades. Després de la creació del bolcat, el fitxer es guardarà a la carpeta de dades del seu servidor.', 'dump_list' => 'Fitxers de bolcat existents', 'dump_remove' => 'Eliminar fitxer de bolcat', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'editar', 'edit_attributes' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 80de6beb6..97073760f 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -402,6 +402,7 @@ URL: [url]', 'dump_creation_warning' => 'Pomocí této operace můžete vytvořit soubor se zálohou databáze. Po vytvoření bude soubor zálohy uložen ve složce data vašeho serveru.', 'dump_list' => 'Existující soubory záloh', 'dump_remove' => 'Odstranit soubor zálohy', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'upravit', 'edit_attributes' => 'Editovat atributy', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 75857e70b..f497f660f 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 (2379), dgrutsch (22) +// Translators: Admin (2380), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'Mit dieser Operation können Sie einen Dump der Datenbank erzeugen. Nach der Erstellung wird der Dump im Datenordner Ihres Servers gespeichert.', 'dump_list' => 'Vorhandene DB dumps', 'dump_remove' => 'DB dump löschen', +'duplicates' => 'Duplikate', 'duplicate_content' => 'Doppelte Dateien', 'edit' => 'Bearbeiten', 'edit_attributes' => 'Edit attributes', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 76ad7e41a..fc9a16664 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -350,6 +350,7 @@ $text = array( 'dump_creation_warning' => '', 'dump_list' => '', 'dump_remove' => '', +'duplicates' => '', 'duplicate_content' => '', 'edit' => '', 'edit_attributes' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 2093d65c0..e3098e3e2 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 (1506), dgrutsch (9), netixw (14) +// Translators: Admin (1507), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'With this operation you can create a dump file of your database content. After the creation the dump file will be saved in the data folder of your server.', 'dump_list' => 'Existings dump files', 'dump_remove' => 'Remove dump file', +'duplicates' => 'Duplicates', 'duplicate_content' => 'Duplicate Content', 'edit' => 'Edit', 'edit_attributes' => 'Edit attributes', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 3cb799732..78ac3ad57 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -402,6 +402,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' => '', 'duplicate_content' => 'Contenido duplicado', 'edit' => 'editar', 'edit_attributes' => 'Editar atributos', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index cd2f2f8be..b54c34474 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'Avec cette opération, vous pouvez créer une sauvegarde du contenu de votre base de données. Après la création, le fichier de sauvegarde sera sauvegardé dans le dossier de données de votre serveur.', 'dump_list' => 'Fichiers de sauvegarde existants', 'dump_remove' => 'Supprimer fichier de sauvegarde', +'duplicates' => '', 'duplicate_content' => 'Contenu en double', 'edit' => 'Modifier', 'edit_attributes' => 'Modifier les attributs', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 866a53ad8..d3452600f 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -407,6 +407,7 @@ Internet poveznica: [url]', 'dump_creation_warning' => 'Ovom radnjom možete stvoriti datoteku za odlaganje sadržaja vaše baze podataka. Nakon izrade datoteka za odlaganje će biti pohranjena u podatkovnoj mapi na vašem serveru.', 'dump_list' => 'Postojeće datoteke za odlaganje', 'dump_remove' => 'Ukloni datoteku za odlaganje', +'duplicates' => '', 'duplicate_content' => 'Duplicirani sadržaj', 'edit' => 'Uredi', 'edit_attributes' => 'Uredi atribute', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index eeb5d453a..1417e2004 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -402,6 +402,7 @@ URL: [url]', 'dump_creation_warning' => 'Ezzel a művelettel az adatbázis tartalmáról lehet adatbázis mentést készíteni. Az adatbázis mentés létrehozását követően a mentési állomány a kiszolgáló adat mappájába lesz mentve.', 'dump_list' => 'Meglévő adatbázis metések', 'dump_remove' => 'Adatbázis mentés eltávolítása', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'Szerkesztés', 'edit_attributes' => 'Jellemzők szerkesztése', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 905eccacc..77f5c6f3c 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -408,6 +408,7 @@ URL: [url]', 'dump_creation_warning' => 'Con questa operazione è possibile creare un file di dump del contenuto del database. Dopo la creazione il file viene salvato nella cartella dati del server.', 'dump_list' => 'List dei dump presenti', 'dump_remove' => 'Cancella il file di dump', +'duplicates' => '', 'duplicate_content' => 'Contenuto Duplicato', 'edit' => 'Modifica', 'edit_attributes' => 'Modifica gli attributi', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 83496c93b..680724e4b 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => '이 작업으로 만들 수있는 데이터베이스 내용의 덤프 파일. 작성 후 덤프 파일은 서버의 데이터 폴더에 저장됩니다.', 'dump_list' => '덤프된 파일', 'dump_remove' => '덤프 파일 제거', +'duplicates' => '', 'duplicate_content' => '중복 내용', 'edit' => '편집', 'edit_attributes' => '속성 편집', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index addc3138e..8a85d3261 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -400,6 +400,7 @@ URL: [url]', 'dump_creation_warning' => 'M.b.v. deze functie maakt U een DB dump file. het bestand wordt opgeslagen in uw data-map op de Server', 'dump_list' => 'Bestaande dump bestanden', 'dump_remove' => 'Verwijder dump bestand', +'duplicates' => '', 'duplicate_content' => 'Dubbele inhoud', 'edit' => 'Wijzigen', 'edit_attributes' => 'Bewerk attributen', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 90d0d9878..00c6e9d69 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -395,6 +395,7 @@ URL: [url]', 'dump_creation_warning' => 'Ta operacja utworzy plik będący zrzutem zawartości bazy danych. Po utworzeniu plik zrzutu będzie się znajdował w folderze danych na serwerze.', 'dump_list' => 'Istniejące pliki zrzutu', 'dump_remove' => 'Usuń plik zrzutu', +'duplicates' => '', 'duplicate_content' => 'Zduplikowana zawartość', 'edit' => 'Edytuj', 'edit_attributes' => 'Zmiana atrybutów', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 09d40615f..0e84ecffa 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -401,6 +401,7 @@ URL: [url]', 'dump_creation_warning' => 'With this operation you can create a dump file of your database content. After the creation the dump file will be saved in the data folder of your server.', 'dump_list' => 'Existings dump files', 'dump_remove' => 'Remove dump file', +'duplicates' => '', 'duplicate_content' => 'Conteúdo Duplicado', 'edit' => 'editar', 'edit_attributes' => 'Editar atributos', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 4f6aacf00..89ce2d05d 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'Cu această operațiune puteți crea un fișier de imagine a conținutului bazei de date. După crearea fișierului de imagine acesta va fi salvat în folderul de date a serverului.', 'dump_list' => 'Fișiere imagine existente', 'dump_remove' => 'Sterge fișier imagine', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'Editează', 'edit_attributes' => 'Editează atribute', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 5ef29fb8f..8432bef87 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'Эта операция создаст дамп базы данных. После создания, файл будет сохранен в каталоге данных сервера.', 'dump_list' => 'Существующие дампы', 'dump_remove' => 'Удалить дамп', +'duplicates' => '', 'duplicate_content' => 'Дублированное содержимое', 'edit' => 'Изменить', 'edit_attributes' => 'Изменить атрибуты', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index e8f188b70..9d0988179 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -354,6 +354,7 @@ URL: [url]', 'dump_creation_warning' => 'Touto akciou môžete vytvoriť výstup obsahu Vašej databázy. Po vytvorení bude výstup uložený v dátovej zložke vášho servera.', 'dump_list' => 'Existujúce výstupy', 'dump_remove' => 'Odstrániť vystup', +'duplicates' => '', 'duplicate_content' => '', 'edit' => 'upraviť', 'edit_attributes' => 'Uprav parametre', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index afe68a14b..f34d8ce5a 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -395,6 +395,7 @@ URL: [url]', 'dump_creation_warning' => 'Med denna funktion kan du skapa en dumpfil av innehållet i din databas. När dumpfilen har skapats, kommer den att sparas i datamappen på servern.', 'dump_list' => 'Befintliga dumpfiler', 'dump_remove' => 'Ta bort dumpfil', +'duplicates' => '', 'duplicate_content' => 'Duplicera innehåll', 'edit' => 'Ändra', 'edit_attributes' => 'Ändra attribut', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index a74f9fe48..146fcf9c4 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -401,6 +401,7 @@ URL: [url]', 'dump_creation_warning' => 'Bu işlemle veritabanınızın dump dosyasını oluşturabilirsiniz. Dump dosyası sunucunuzdaki data klasörüne kaydedilcektir.', 'dump_list' => 'Mevcut dump dosyaları', 'dump_remove' => 'Dump dosyasını sil', +'duplicates' => '', 'duplicate_content' => 'içeriği_klonla', 'edit' => 'Düzenle', 'edit_attributes' => 'Nitelikleri düzenle', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index eaf0b05cd..aa7b595b3 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -407,6 +407,7 @@ URL: [url]', 'dump_creation_warning' => 'Ця операція створить дамп бази даних. Після створення файл буде збережено в каталозі даних сервера.', 'dump_list' => 'Існуючі дампи', 'dump_remove' => 'Видалити дамп', +'duplicates' => '', 'duplicate_content' => 'Дубльований вміст', 'edit' => 'Змінити', 'edit_attributes' => 'Змінити атрибути', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 6bd7493cf..6551c1b57 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -356,6 +356,7 @@ URL: [url]', 'dump_creation_warning' => '通过此操作,您可以创建一个您数据库的转储文件,之后可以将转储数据保存到您服务器所在的数据文件夹中', 'dump_list' => '存在转储文件', 'dump_remove' => '删除转储文件', +'duplicates' => '', 'duplicate_content' => '重复的内容', 'edit' => '编辑', 'edit_attributes' => '编辑属性', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index f89afee57..d04d2c863 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -354,6 +354,7 @@ URL: [url]', 'dump_creation_warning' => '通過此操作,您可以創建一個您資料庫的轉儲檔,之後可以將轉儲資料保存到您伺服器所在的資料檔案夾中', 'dump_list' => '存在轉儲文件', 'dump_remove' => '刪除轉儲檔', +'duplicates' => '', 'duplicate_content' => '', 'edit' => '編輯', 'edit_attributes' => '編輯屬性', From d95943a3651ffcc8e6c8634a10dcd92dc4e65e2b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 8 Mar 2017 21:57:02 +0100 Subject: [PATCH 021/212] enlarge interval for checkTask() and timeout of ajax call --- styles/bootstrap/application.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 488ab66b0..26f8e9613 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -1026,8 +1026,8 @@ $(document).ready(function() { /* {{{ */ } } }, - timeout: 1000 + timeout: 3000 }); - timeOutId = setTimeout(checkTasks, 10000); + timeOutId = setTimeout(checkTasks, 30000); } From 99f0503a6592ac6c62241629862570abb90818a2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 07:14:54 +0100 Subject: [PATCH 022/212] use upper case for sql reservered words --- install/update-5.1.0/update.sql | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/install/update-5.1.0/update.sql b/install/update-5.1.0/update.sql index a8e566270..cb69d9f52 100644 --- a/install/update-5.1.0/update.sql +++ b/install/update-5.1.0/update.sql @@ -1,16 +1,16 @@ START TRANSACTION; -ALTER TABLE `tblDocumentContent` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL default ''; +ALTER TABLE `tblDocumentContent` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL DEFAULT ''; -ALTER TABLE `tblDocumentFiles` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL default ''; +ALTER TABLE `tblDocumentFiles` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL DEFAULT ''; -ALTER TABLE `tblUserImages` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL default ''; +ALTER TABLE `tblUserImages` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL DEFAULT ''; -ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` tinyint(1) NOT NULL default '0' AFTER `document`; +ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` tinyint(1) NOT NULL DEFAULT '0' AFTER `document`; -ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` smallint(5) unsigned NOT NULL default '0' AFTER `document`; +ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `document`; -ALTER TABLE `tblUsers` CHANGE `pwdExpiration` `pwdExpiration` datetime default NULL; +ALTER TABLE `tblUsers` CHANGE `pwdExpiration` `pwdExpiration` datetime DEFAULT NULL; ALTER TABLE `tblUserPasswordRequest` CHANGE `date` `date` datetime NOT NULL; From 3b00db6058f28427b45fc1110c5116eb91ca4634 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 07:15:27 +0100 Subject: [PATCH 023/212] add missing files to tblDocumentFiles --- install/update-5.1.0/update-sqlite3.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/install/update-5.1.0/update-sqlite3.sql b/install/update-5.1.0/update-sqlite3.sql index c1b915a18..0cdfe14fe 100644 --- a/install/update-5.1.0/update-sqlite3.sql +++ b/install/update-5.1.0/update-sqlite3.sql @@ -59,6 +59,10 @@ CREATE TABLE `tblDocumentFiles` ( INSERT INTO `tblDocumentFiles` SELECT * FROM `__tblDocumentFiles`; +ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER unsigned NOT NULL DEFAULT '0'; + +ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER unsigned NOT NULL DEFAULT '0'; + ALTER TABLE `tblUsers` RENAME TO `__tblUsers`; CREATE TABLE `tblUsers` ( From 453c410722c3ce6be0a30281cea007928f5127eb Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 07:39:46 +0100 Subject: [PATCH 024/212] issue warning instead of info if object already exists --- utils/xmlimport.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index 1a92a906d..ea07e3223 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -111,7 +111,7 @@ function insert_user($user) { /* {{{ */ if($debug) print_r($user); if ($newUser = $dms->getUserByLogin($user['attributes']['login'])) { - $logger->info("User '".$user['attributes']['login']."' already exists"); + $logger->warning("User '".$user['attributes']['login']."' already exists"); } else { if(in_array('users', $sections)) { $newUser = $dms->addUser( @@ -155,7 +155,7 @@ function insert_group($group) { /* {{{ */ if($debug) print_r($group); if ($newGroup = $dms->getGroupByName($group['attributes']['name'])) { - $logger->info("Group already exists"); + $logger->warning("Group already exists"); } else { if(in_array('groups', $sections)) { $newGroup = $dms->addGroup($group['attributes']['name'], $group['attributes']['comment']); @@ -200,7 +200,7 @@ function insert_attributedefinition($attrdef) { /* {{{ */ if($debug) print_r($attrdef); if($newAttrdef = $dms->getAttributeDefinitionByName($attrdef['attributes']['name'])) { - $logger->info("Attribute definition already exists"); + $logger->warning("Attribute definition already exists"); } else { if(in_array('attributedefinitions', $sections)) { $objtype = ($attrdef['objecttype'] == 'folder' ? SeedDMS_Core_AttributeDefinition::objtype_folder : ($attrdef['objecttype'] == 'document' ? SeedDMS_Core_AttributeDefinition::objtype_document : ($attrdef['objecttype'] == 'documentcontent' ? SeedDMS_Core_AttributeDefinition::objtype_documentcontent : 0))); @@ -226,7 +226,7 @@ function insert_documentcategory($documentcat) { /* {{{ */ if($debug) print_r($documentcat); if($newCategory = $dms->getDocumentCategoryByName($documentcat['attributes']['name'])) { - $logger->info("Document category already exists"); + $logger->warning("Document category already exists"); } else { if(in_array('documentcategories', $sections)) { if(!$newCategory = $dms->addDocumentCategory($documentcat['attributes']['name'])) { @@ -258,7 +258,7 @@ function insert_keywordcategory($keywordcat) { /* {{{ */ $owner = $objmap['users'][(int) $keywordcat['attributes']['owner']]; if($newCategory = $dms->getKeywordCategoryByName($keywordcat['attributes']['name'], $owner)) { - $logger->info("Document category already exists"); + $logger->warning("Keyword category already exists"); } else { if(in_array('keywordcategories', $sections)) { if(!$newCategory = $dms->addKeywordCategory($owner, $keywordcat['attributes']['name'])) { @@ -291,7 +291,7 @@ function insert_workflow($workflow) { /* {{{ */ if($debug) print_r($workflow); if($newWorkflow = $dms->getWorkflowByName($workflow['attributes']['name'])) { - $logger->info("Workflow already exists"); + $logger->warning("Workflow already exists"); } else { if(in_array('workflows', $sections)) { if(!$initstate = $dms->getWorkflowState($objmap['workflowstates'][(int)$workflow['attributes']['initstate']])) { @@ -364,7 +364,7 @@ function insert_workflowstate($workflowstate) { /* {{{ */ if($debug) print_r($workflowstate); if($newWorkflowstate = $dms->getWorkflowStateByName($workflowstate['attributes']['name'])) { - $logger->info("Workflow state already exists"); + $logger->warning("Workflow state already exists"); } else { if(in_array('workflows', $sections)) { if(!$newWorkflowstate = $dms->addWorkflowState($workflowstate['attributes']['name'], isset($workflowstate['attributes']['documentstate']) ? $workflowstate['attributes']['documentstate'] : 0)) { @@ -388,7 +388,7 @@ function insert_workflowaction($workflowaction) { /* {{{ */ if($debug) print_r($workflowaction); if($newWorkflowaction = $dms->getWorkflowActionByName($workflowaction['attributes']['name'])) { - $logger->info("Workflow action already exists"); + $logger->warning("Workflow action already exists"); } else { if(in_array('workflows', $sections)) { if(!$newWorkflowaction = $dms->addWorkflowAction($workflowaction['attributes']['name'])) { From 62e1a02ae7ee032e02456d03b7d919d7ca2173fa Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 07:57:39 +0100 Subject: [PATCH 025/212] use version and public field from document files --- utils/xmlimport.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index f6513b29f..13c025dba 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -772,6 +772,8 @@ function insert_document($document) { /* {{{ */ $file['attributes']['orgfilename'], $file['attributes']['filetype'], $file['attributes']['mimetype'] + $file['attributes']['version'] + $file['attributes']['public'] ); unlink($filename); } From cae24d3d222419359c6e37fa573a1365b5b6aebf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 09:34:16 +0100 Subject: [PATCH 026/212] fix syntax error --- utils/xmlimport.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/xmlimport.php b/utils/xmlimport.php index 13c025dba..703782300 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -771,8 +771,8 @@ function insert_document($document) { /* {{{ */ $filename, $file['attributes']['orgfilename'], $file['attributes']['filetype'], - $file['attributes']['mimetype'] - $file['attributes']['version'] + $file['attributes']['mimetype'], + $file['attributes']['version'], $file['attributes']['public'] ); unlink($filename); From 51942e2b548fda387aec53e94ba6b62140585a85 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 10:22:38 +0100 Subject: [PATCH 027/212] fix typo in attribute name --- utils/xmldump.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/xmldump.php b/utils/xmldump.php index 77119b276..192c85cae 100644 --- a/utils/xmldump.php +++ b/utils/xmldump.php @@ -413,7 +413,7 @@ function tree($folder, $parent=null, $indent='', $skipcurrent=false) { /* {{{ */ echo $indent." ".date('Y-m-d H:i:s', $file->getDate())."\n"; echo $indent." ".wrapWithCData($file->getFileType())."\n"; echo $indent." ".$file->getVersion()."\n"; - echo $indent." ".($file->isPublic() ? 1 : 0)."\n"; + echo $indent." ".($file->isPublic() ? 1 : 0)."\n"; echo $indent." ".$owner->getId()."\n"; echo $indent." ".wrapWithCData($file->getComment())."\n"; echo $indent." ".wrapWithCData($file->getOriginalFileName())."\n"; From 2e99b1ba386605e72edfc79f36171fbf06b79be8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 11:07:40 +0100 Subject: [PATCH 028/212] rewrite...Log() can handle entries with none exiting users --- SeedDMS_Core/Core/inc.ClassDocument.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 69d416d70..deeae9e6a 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -2720,7 +2720,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ /* Second, insert the new entries */ foreach($reviewers as $review) { $queryStr = "INSERT INTO `tblDocumentReviewers` (`documentID`, `version`, `type`, `required`) ". - "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$review['type'] .", ".$review['required']->getID().")"; + "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$review['type'] .", ".(is_object($review['required']) ? $review['required']->getID() : (int) $review['required']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; @@ -2733,7 +2733,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; } $queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('".$reviewID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".$log['user']->getID().")"; + "VALUES ('".$reviewID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".(is_object($log['user']) ? $log['user']->getID() : (int) $log['user']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; @@ -2848,7 +2848,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ /* Second, insert the new entries */ foreach($reviewers as $review) { $queryStr = "INSERT INTO `tblDocumentApprovers` (`documentID`, `version`, `type`, `required`) ". - "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$review['type'] .", ".$review['required']->getID().")"; + "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$review['type'] .", ".(is_object($review['required']) ? $review['required']->getID() : (int) $review['required']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; @@ -2861,7 +2861,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; } $queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('".$reviewID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".$log['user']->getID().")"; + "VALUES ('".$reviewID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".(is_object($log['user']) ? $log['user']->getID() : (int) $log['user']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; From ee4215f89eae5bd9ebfcd49096e0583239cacc30 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 11:14:31 +0100 Subject: [PATCH 029/212] rewriteReceiptLog() can handle none exiting users --- SeedDMS_Core/Core/inc.ClassDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index a5e4c6a93..503d3c554 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -3635,7 +3635,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ /* Second, insert the new entries */ foreach($recipients as $receipt) { $queryStr = "INSERT INTO `tblDocumentRecipients` (`documentID`, `version`, `type`, `required`) ". - "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$receipt['type'] .", ".$receipt['required']->getID().")"; + "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$receipt['type'] .", ".(is_object($receipt['required']) ? $receipt['required']->getID() : (int) $receipt['required']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; @@ -3648,7 +3648,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; } $queryStr = "INSERT INTO `tblDocumentReceiptLog` (`receiptID`, `status`, `comment`, `date`, `userID`) ". - "VALUES ('".$receiptID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".$log['user']->getID().")"; + "VALUES ('".$receiptID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".(is_object($log['user']) ? $log['user']->getID() : (int) $log['user']).")"; if (!$db->getResult($queryStr)) { $db->rollbackTransaction(); return false; From 43b613c2104826d5833e03ebf285830714b76b4d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 9 Mar 2017 11:33:09 +0100 Subject: [PATCH 030/212] add method rewriteRevisionLog() --- SeedDMS_Core/Core/inc.ClassDocument.php | 71 +++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 503d3c554..09959b0da 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -3716,6 +3716,77 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return $this->_revisionStatus; } /* }}} */ + /** + * Rewrites the complete revision log + * + * Attention: this function is highly dangerous. + * It removes an existing receipt 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. + * @return boolean true on success, otherwise false + */ + function rewriteRevisionLog($revisions) { /* {{{ */ + $db = $this->_document->_dms->getDB(); + + $queryStr= "SELECT `tblDocumentRevisors`.* FROM `tblDocumentRevisors` WHERE `tblDocumentRevisors`.`documentID` = '". $this->_document->getID() ."' AND `tblDocumentRevisors`.`version` = '". $this->_version ."' "; + $res = $db->getResultArray($queryStr); + if (is_bool($res) && !$res) + return false; + + $db->startTransaction(); + + if($res) { + foreach($res as $revision) { + $revisionID = $revision['revisionID']; + + /* First, remove the old entries */ + $queryStr = "DELETE from `tblDocumentRevisionLog` where `revisionID`=".$revisionID; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + + $queryStr = "DELETE from `tblDocumentRevisors` where `revisionID`=".$revisionID; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + } + } + + /* Second, insert the new entries */ + foreach($revisions as $revision) { + $queryStr = "INSERT INTO `tblDocumentRevisors` (`documentID`, `version`, `type`, `required`) ". + "VALUES ('".$this->_document->getID()."', '".$this->_version."', ".$revision['type'] .", ".(is_object($revision['required']) ? $revision['required']->getID() : (int) $revision['required']).")"; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + $revisionID = $db->getInsertID('tblDocumentRevisors', 'revisionID'); + $revisionlog = array_reverse($revision['logs']); + foreach($revisionlog as $log) { + if(!SeedDMS_Core_DMS::checkDate($log['date'], 'Y-m-d H:i:s')) { + $db->rollbackTransaction(); + return false; + } + $queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`, `comment`, `date`, `userID`) ". + "VALUES ('".$revisionID ."', '".(int) $log['status']."', ".$db->qstr($log['comment']) .", ".$db->qstr($log['date']).", ".(is_object($log['user']) ? $log['user']->getID() : (int) $log['user']).")"; + if (!$db->getResult($queryStr)) { + $db->rollbackTransaction(); + return false; + } + $revisionLogID = $db->getInsertID('tblDocumentRevisionLog', 'revisionLogID'); + if(!empty($log['file'])) { + SeedDMS_Core_File::copyFile($log['file'], $this->_dms->contentDir . $this->_document->getDir() . 'r' . $revisionLogID); + } + } + } + + $db->commitTransaction(); + return true; + } /* }}} */ + function addIndReviewer($user, $requestUser) { /* {{{ */ $db = $this->_document->_dms->getDB(); From d61e77cd35ddab0baa22622284115aa9fb923f94 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 09:27:50 +0100 Subject: [PATCH 031/212] recipient in toIndividual() can be a string --- inc/inc.ClassEmailNotify.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/inc/inc.ClassEmailNotify.php b/inc/inc.ClassEmailNotify.php index fff88fa7d..2102be469 100644 --- a/inc/inc.ClassEmailNotify.php +++ b/inc/inc.ClassEmailNotify.php @@ -69,10 +69,14 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { * @return false or -1 in case of error, otherwise true */ function toIndividual($sender, $recipient, $subject, $message, $params=array()) { /* {{{ */ - if ($recipient->isDisabled() || $recipient->getEmail()=="") return 0; - - if(!is_object($recipient) || strcasecmp(get_class($recipient), $this->_dms->getClassname('user'))) { - return -1; + if(is_object($recipient) && !strcasecmp(get_class($recipient), $this->_dms->getClassname('user')) && !$recipient->isDisabled() && $recipient->getEmail()!="") { + $to = $recipient->getEmail(); + $lang = $recipient->getLanguage(); + } elseif(is_string($recipient) && trim($recipient) != "") { + $to = $recipient; + $lang = 'en_GB'; + } else { + return false; } if(is_object($sender) && !strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) { @@ -83,14 +87,13 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { $from = $this->from_address; } - $lang = $recipient->getLanguage(); $message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang); $message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang); $headers = array (); $headers['From'] = $from; - $headers['To'] = $recipient->getEmail(); + $headers['To'] = $to; $preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8"); $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, "", $lang), $preferences); $headers['Subject'] = substr($encoded_subject, strlen('Subject: ')); @@ -113,7 +116,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { $mail = Mail::factory('mail', $mail_params); } - $result = $mail->send($recipient->getEmail(), $headers, $message); + $result = $mail->send($to, $headers, $message); if (PEAR::isError($result)) { return false; } else { From 023738812b2e6b4b6431770eea75bef9addec2cc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 09:28:16 +0100 Subject: [PATCH 032/212] call hook 'startPage' --- views/bootstrap/class.Bootstrap.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 3b1b33f75..1fc771a46 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -64,6 +64,12 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { header($csp . ": " . $csp_rules); } } + $hookObjs = $this->getHookObjects('SeedDMS_View_Bootstrap'); + foreach($hookObjs as $hookObj) { + if (method_exists($hookObj, 'startPage')) { + $hookObj->startPage($this); + } + } echo "\n"; echo "\n\n"; echo "\n"; From 15e0e56bb18a1296ef5cd8b5ee785f5e664b3069 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 11:33:13 +0100 Subject: [PATCH 033/212] add method documentListItem() --- views/bootstrap/class.Bootstrap.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 1fc771a46..702253bc6 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -129,7 +129,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if(!$nofooter) { $this->footNote(); if($this->params['showmissingtranslations']) { - $this->missingḺanguageKeys(); + $this->missingLanguageKeys(); } } echo ''."\n"; @@ -172,7 +172,22 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } } /* }}} */ - function missingḺanguageKeys() { /* {{{ */ + function documentListItem() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $previewwidth = $this->params['previewWidthList']; + $cachedir = $this->params['cachedir']; + $document = $dms->getDocument($_GET['id']); + if($document) { + if ($document->getAccessMode($user) >= M_READ) { + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); + $content = $this->documentListRow($document, $previewer, true); + echo $content; + } + } + } /* }}} */ + + function missingLanguageKeys() { /* {{{ */ global $MISSING_LANG, $LANG; if($MISSING_LANG) { echo '
    '."\n"; From 6defe3fc938b9a609b56f8139f71656810e33971 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 11:34:09 +0100 Subject: [PATCH 034/212] remove no ascii char in function name --- views/bootstrap/class.Bootstrap.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index aba0f99ac..a371f2137 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -113,7 +113,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if(!$nofooter) { $this->footNote(); if($this->params['showmissingtranslations']) { - $this->missingḺanguageKeys(); + $this->missingLanguageKeys(); } } echo ''."\n"; @@ -150,7 +150,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } } /* }}} */ - function missingḺanguageKeys() { /* {{{ */ + function missingLanguageKeys() { /* {{{ */ global $MISSING_LANG, $LANG; if($MISSING_LANG) { echo '
    '."\n"; From 6baa429544998a271ace70c837bb34f68b52389f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 11:47:25 +0100 Subject: [PATCH 035/212] various updates --- languages/ar_EG/lang.inc | 8 ++++++++ languages/bg_BG/lang.inc | 8 ++++++++ languages/ca_ES/lang.inc | 8 ++++++++ languages/cs_CZ/lang.inc | 8 ++++++++ languages/de_DE/lang.inc | 14 +++++++++++++- languages/el_GR/lang.inc | 20 ++++++++++++++------ languages/en_GB/lang.inc | 15 ++++++++++++++- languages/es_ES/lang.inc | 8 ++++++++ languages/fr_FR/lang.inc | 8 ++++++++ languages/hr_HR/lang.inc | 8 ++++++++ languages/hu_HU/lang.inc | 8 ++++++++ languages/it_IT/lang.inc | 8 ++++++++ languages/ko_KR/lang.inc | 8 ++++++++ languages/nl_NL/lang.inc | 8 ++++++++ languages/pl_PL/lang.inc | 8 ++++++++ languages/pt_BR/lang.inc | 8 ++++++++ languages/ro_RO/lang.inc | 8 ++++++++ languages/ru_RU/lang.inc | 8 ++++++++ languages/sk_SK/lang.inc | 8 ++++++++ languages/sv_SE/lang.inc | 8 ++++++++ languages/tr_TR/lang.inc | 8 ++++++++ languages/uk_UA/lang.inc | 8 ++++++++ languages/zh_CN/lang.inc | 8 ++++++++ languages/zh_TW/lang.inc | 8 ++++++++ 24 files changed, 209 insertions(+), 8 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 64f0c95a1..67255be8c 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -378,6 +378,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'صلاحيات موروثة', 'download' => 'تنزيل', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'إصلاح كل المستندات والمجلدات.', 'do_object_setchecksum' => 'تحديد فحص اخطاء', 'do_object_setfilesize' => 'تحديد حجم الملف', @@ -445,6 +447,7 @@ URL: [url]', 'event_details' => 'تفاصيل الحدث', 'exclude_items' => '', 'expired' => 'انتهى صلاحيته', +'expired_at_date' => '', 'expires' => 'تنتهى صلاحيته', 'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية', 'expiry_changed_email_body' => 'تم تغيير تاريخ الصلاحية @@ -528,6 +531,7 @@ URL: [url]', 'group_review_summary' => 'ملخص مراجعة المجموعة', 'guest_login' => 'الدخول كضيف', 'guest_login_disabled' => 'دخول ضيف غير متاح.', +'hash' => '', 'help' => 'المساعدة', 'home_folder' => '', 'hook_name' => '', @@ -999,6 +1003,7 @@ URL: [url]', 'select_one' => 'اختر واحد', 'select_users' => 'اضغط لاختيار المستخدم', 'select_workflow' => 'اختر مسار العمل', +'send_email' => '', 'send_test_mail' => '', 'september' => 'سبتمبر', 'sequence' => 'تتابع', @@ -1340,6 +1345,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1357,6 +1363,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1506,6 +1513,7 @@ URL: [url]', 'use_comment_of_document' => 'ﺎﺴﺘﺧﺪﻣ ﺎﻠﺘﻌﻠﻴﻗﺎﺗ ﻞﻟﻮﺜﻴﻗﺓ', 'use_default_categories' => 'استخدم اقسام سابقة التعريف', 'use_default_keywords' => 'استخدام كلمات بحثية معدة مسبقا', +'valid_till' => '', 'version' => 'اصدار', 'versioning_file_creation' => 'انشاء ملف الاصدارات', 'versioning_file_creation_warning' => 'من خلال تلك العملية يمكنك انشاء ملف يحتوى معلومات الاصدار لمجمل مجلد النظام. بعد الانشاء كل ملف سيتم حفظه داخل المجلد الخاص به', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 50cc47d0b..864be4687 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -333,6 +333,8 @@ $text = array( 'does_not_inherit_access_msg' => 'Наследване нивото на достъп', 'download' => 'Изтегли', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Поправи всички папки и документи', 'do_object_setchecksum' => 'Установи контролна сума', 'do_object_setfilesize' => 'Установи размер на файла', @@ -400,6 +402,7 @@ $text = array( 'event_details' => 'Детайли за събитието', 'exclude_items' => '', 'expired' => 'Изтекъл', +'expired_at_date' => '', 'expires' => 'Изтича', 'expiry_changed_email' => 'Датата на изтичане променена', 'expiry_changed_email_body' => '', @@ -459,6 +462,7 @@ $text = array( 'group_review_summary' => 'Сводка по рецензирането на групи', 'guest_login' => 'Влез като гост', 'guest_login_disabled' => 'Входът като гост изключен', +'hash' => '', 'help' => 'Помощ', 'home_folder' => '', 'hook_name' => '', @@ -864,6 +868,7 @@ $text = array( 'select_one' => 'Избери един', 'select_users' => 'Кликни да избереш потребители', 'select_workflow' => 'Избери процес', +'send_email' => '', 'send_test_mail' => '', 'september' => 'септември', 'sequence' => 'Последователност', @@ -1205,6 +1210,7 @@ $text = array( 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1222,6 +1228,7 @@ $text = array( 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1362,6 +1369,7 @@ $text = array( 'use_comment_of_document' => '', 'use_default_categories' => 'Исползвай предопределени категории', 'use_default_keywords' => 'Исползовай предопределенни ключови думи', +'valid_till' => '', 'version' => 'Версия', 'versioning_file_creation' => 'Създаване на файл с версии', 'versioning_file_creation_warning' => 'Тази операция ще създаде файл с версия за всяка папка. След създаване файлът ще бъде съхранен в каталога на документите.', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 1ed695dbf..6d42f200b 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -338,6 +338,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'heretar l\'accés', 'download' => 'Descarregar', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -405,6 +407,7 @@ URL: [url]', 'event_details' => 'Detalls de l\'event', 'exclude_items' => '', 'expired' => 'Caducat', +'expired_at_date' => '', 'expires' => 'Caduca', 'expiry_changed_email' => 'Data de caducitat modificada', 'expiry_changed_email_body' => '', @@ -464,6 +467,7 @@ URL: [url]', 'group_review_summary' => 'Resum del grup revisor', 'guest_login' => 'Accés com a invitat', 'guest_login_disabled' => 'El compte d\'invitat està deshabilitat.', +'hash' => '', 'help' => 'Ajuda', 'home_folder' => '', 'hook_name' => '', @@ -869,6 +873,7 @@ URL: [url]', 'select_one' => 'Seleccionar un', 'select_users' => '', 'select_workflow' => '', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Setembre', 'sequence' => 'Seqüència', @@ -1210,6 +1215,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1227,6 +1233,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1367,6 +1374,7 @@ URL: [url]', 'use_comment_of_document' => '', 'use_default_categories' => 'Use predefined categories', 'use_default_keywords' => 'Utilitzar els mots clau per omisió', +'valid_till' => '', 'version' => 'Versió', 'versioning_file_creation' => 'Creació de fitxer de versions', 'versioning_file_creation_warning' => 'Amb aquesta operació podeu crear un fitxer que contingui la informació de versions d\'una carpeta del DMS completa. Després de la creació, tots els fitxers es guardaran a la carpeta de documents.', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 97073760f..dceb5f929 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -385,6 +385,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Zdědit přístup', 'download' => 'Stáhnout', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Opravit všechny složky a dokumenty.', 'do_object_setchecksum' => 'Nastavit kontrolní součet', 'do_object_setfilesize' => 'Nastavit velikost souboru', @@ -452,6 +454,7 @@ URL: [url]', 'event_details' => 'Údaje akce', 'exclude_items' => '', 'expired' => 'Platnost vypršela', +'expired_at_date' => '', 'expires' => 'Platnost vyprší', 'expiry_changed_email' => 'Datum expirace změněno', 'expiry_changed_email_body' => 'Datum ukončení platnosti změněn @@ -535,6 +538,7 @@ URL: [url]', 'group_review_summary' => 'Souhrn revizí skupiny', 'guest_login' => 'Přihlásit se jako host', 'guest_login_disabled' => 'Přihlášení jako host je vypnuté.', +'hash' => '', 'help' => 'Pomoc', 'home_folder' => 'Domácí složka', 'hook_name' => '', @@ -1008,6 +1012,7 @@ URL: [url]', 'select_one' => 'Vyberte jeden', 'select_users' => 'Kliknutím vyberte uživatele', 'select_workflow' => 'Vyberte postup práce', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Září', 'sequence' => 'Posloupnost', @@ -1349,6 +1354,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Uživatel uložen', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Změny složky uloženy', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Neplatné ID složky', @@ -1366,6 +1372,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uživatel odstraněn', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Nastavení uloženo', 'splash_substituted_user' => 'Zaměněný uživatel', 'splash_switched_back_user' => 'Přepnuto zpět na původního uživatele', @@ -1515,6 +1522,7 @@ URL: [url]', 'use_comment_of_document' => 'Použijte komentář dokumentu', 'use_default_categories' => 'Use predefined categories', 'use_default_keywords' => 'Použít předdefinovaná klíčová slova', +'valid_till' => '', 'version' => 'Verze', 'versioning_file_creation' => 'Vytvoření verzování souboru', 'versioning_file_creation_warning' => 'Pomocí této operace můžete vytvořit soubor obsahující informace o verzování celé složky DMS. Po vytvoření bude každý soubor uložen uvnitř složky dokumentů.', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index f497f660f..418405569 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 (2380), dgrutsch (22) +// Translators: Admin (2389), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -390,6 +390,12 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Berechtigungen wieder erben', 'download' => 'Download', 'download_links' => 'Download Links', +'download_link_email_body' => 'Klicken Sie bitte auf den untenstehenden Link, um Version [version] des Dokuments \'[docname]\' herunter zu laden. + +[url] + +Der Link ist bis zum [valid] gültig.', +'download_link_email_subject' => 'Download-Link', 'do_object_repair' => 'Repariere alle Ordner und Dokumente.', 'do_object_setchecksum' => 'Setze Check-Summe', 'do_object_setfilesize' => 'Setze Dateigröße', @@ -457,6 +463,7 @@ URL: [url]', 'event_details' => 'Ereignisdetails', 'exclude_items' => 'Einträge auslassen', 'expired' => 'abgelaufen', +'expired_at_date' => 'Abgelaufen am [datetime]', 'expires' => 'Ablaufdatum', 'expiry_changed_email' => 'Ablaufdatum geändert', 'expiry_changed_email_body' => 'Ablaufdatum geändert @@ -540,6 +547,7 @@ URL: [url]', 'group_review_summary' => 'Übersicht Gruppenprüfungen', 'guest_login' => 'Als Gast anmelden', 'guest_login_disabled' => 'Anmeldung als Gast ist gesperrt.', +'hash' => 'Hash-Wert', 'help' => 'Hilfe', 'home_folder' => 'Heimatordner', 'hook_name' => 'Name des Aufrufs', @@ -1058,6 +1066,7 @@ URL: [url]', 'select_one' => 'Bitte wählen', 'select_users' => 'Klicken zur Auswahl eines Benutzers', 'select_workflow' => 'Workflow auswählen', +'send_email' => 'E-Mail verschicken', 'send_test_mail' => 'Sende Test-Email', 'september' => 'September', 'sequence' => 'Reihenfolge', @@ -1399,6 +1408,7 @@ URL: [url]', 'splash_edit_role' => 'Rolle gespeichert', 'splash_edit_user' => 'Benutzer gespeichert', 'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste', +'splash_error_send_download_link'' => 'Fehler beim Verschicken des Download-Links', 'splash_folder_edited' => 'Änderungen am Ordner gespeichert', 'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert', 'splash_invalid_folder_id' => 'Ungültige Ordner-ID', @@ -1416,6 +1426,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Dokumentenliste gelöscht', 'splash_rm_user' => 'Benutzer gelöscht', 'splash_saved_file' => 'Version gespeichert', +'splash_send_download_link' => 'Download-Link per E-Mail verschickt.', 'splash_settings_saved' => 'Einstellungen gesichert', 'splash_substituted_user' => 'Benutzer gewechselt', 'splash_switched_back_user' => 'Zum ursprünglichen Benutzer zurückgekehrt', @@ -1565,6 +1576,7 @@ URL: [url]', 'use_comment_of_document' => 'Verwende Kommentar des Dokuments', 'use_default_categories' => 'Kategorievorlagen', 'use_default_keywords' => 'Stichwortvorlagen', +'valid_till' => 'Gültig bis', 'version' => 'Version', 'versioning_file_creation' => 'Datei-Versionierung', 'versioning_file_creation_warning' => 'Mit dieser Operation erzeugen Sie pro Dokument eine Datei, die sämtliche Versions-Informationen des Dokuments enthält. Nach Erstellung wird jede Datei im Dokumentenverzeichnis gespeichert. Die erzeugten Dateien sind für den regulären Betrieb nicht erforderlich. Sie können aber von Nutzen sein, wenn der Dokumentenbestand auf ein anderes System übertragen werden soll.', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index fc9a16664..487e50431 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/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 (215) +// Translators: Admin (220) $text = array( '2_factor_auth' => '', @@ -259,7 +259,7 @@ $text = array( 'create_download_link' => '', 'create_fulltext_index' => '', 'create_fulltext_index_warning' => '', -'creation_date' => '', +'creation_date' => 'Δημιουργήθηκε', 'cs_CZ' => '', 'current_password' => '', 'current_quota' => '', @@ -333,6 +333,8 @@ $text = array( 'does_not_inherit_access_msg' => '', 'download' => '', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -362,11 +364,11 @@ $text = array( 'edit_event' => '', 'edit_existing_access' => '', 'edit_existing_attribute_groups' => '', -'edit_existing_notify' => '', -'edit_folder_access' => '', +'edit_existing_notify' => 'Επεξεργασία λίστας ειδοποιήσεων', +'edit_folder_access' => 'Επεξεργασία πρόσβασης', 'edit_folder_attrdefgrp' => '', 'edit_folder_notify' => '', -'edit_folder_props' => '', +'edit_folder_props' => 'Επεξεργασία φακέλου', 'edit_group' => '', 'edit_online' => '', 'edit_transmittal_props' => '', @@ -400,6 +402,7 @@ $text = array( 'event_details' => '', 'exclude_items' => '', 'expired' => 'Έχει λήξει', +'expired_at_date' => '', 'expires' => 'Λήγει', 'expiry_changed_email' => 'Η ημερομηνία λήξης έχει αλλάξει', 'expiry_changed_email_body' => '', @@ -459,6 +462,7 @@ $text = array( 'group_review_summary' => '', 'guest_login' => '', 'guest_login_disabled' => '', +'hash' => '', 'help' => 'Βοήθεια', 'home_folder' => '', 'hook_name' => '', @@ -480,7 +484,7 @@ $text = array( 'index_converters' => '', 'index_done' => '', 'index_error' => '', -'index_folder' => '', +'index_folder' => 'Ταξινόμηση φακέλου', 'index_pending' => '', 'index_waiting' => '', 'individuals' => 'Άτομα', @@ -875,6 +879,7 @@ URL: [url]', 'select_one' => '', 'select_users' => '', 'select_workflow' => '', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Σεπτέμβριος', 'sequence' => 'Σειρά', @@ -1216,6 +1221,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1233,6 +1239,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1373,6 +1380,7 @@ URL: [url]', 'use_comment_of_document' => '', 'use_default_categories' => '', 'use_default_keywords' => '', +'valid_till' => '', 'version' => 'Έκδοση', 'versioning_file_creation' => '', 'versioning_file_creation_warning' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index e3098e3e2..7ad6bad67 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 (1507), dgrutsch (9), netixw (14) +// Translators: Admin (1517), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -390,6 +390,13 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Inherit access', 'download' => 'Download', 'download_links' => 'Download links', +'download_link_email_body' => 'Click on the link below to download the version [version] of document +\'[docname]\'. + +[url] + +The link is valid until [valid].', +'download_link_email_subject' => 'Download link', 'do_object_repair' => 'Repair all folders and documents.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Set file size', @@ -457,6 +464,7 @@ URL: [url]', 'event_details' => 'Event details', 'exclude_items' => 'Exclude items', 'expired' => 'Expired', +'expired_at_date' => 'Expired at [datetime]', 'expires' => 'Expires', 'expiry_changed_email' => 'Expiry date changed', 'expiry_changed_email_body' => 'Expiry date changed @@ -540,6 +548,7 @@ URL: [url]', 'group_review_summary' => 'Group review summary', 'guest_login' => 'Login as guest', 'guest_login_disabled' => 'Guest login is disabled.', +'hash' => 'Hash', 'help' => 'Help', 'home_folder' => 'Home folder', 'hook_name' => 'Name of hook', @@ -1052,6 +1061,7 @@ URL: [url]', 'select_one' => 'Select one', 'select_users' => 'Click to select users', 'select_workflow' => 'Select workflow', +'send_email' => 'Send email', 'send_test_mail' => 'Send test mail', 'september' => 'September', 'sequence' => 'Sequence', @@ -1393,6 +1403,7 @@ URL: [url]', 'splash_edit_role' => 'Role saved', 'splash_edit_user' => 'User saved', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', +'splash_error_send_download_link'' => 'Error while sending download link', 'splash_folder_edited' => 'Save folder changes', 'splash_importfs' => 'Imported [docs] documents and [folders] folders', 'splash_invalid_folder_id' => 'Invalid folder ID', @@ -1410,6 +1421,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Transmittal deleted', 'splash_rm_user' => 'User removed', 'splash_saved_file' => 'Version saved', +'splash_send_download_link' => 'Download link sent by email.', 'splash_settings_saved' => 'Settings saved', 'splash_substituted_user' => 'Substituted user', 'splash_switched_back_user' => 'Switched back to original user', @@ -1559,6 +1571,7 @@ URL: [url]', 'use_comment_of_document' => 'Use comment of document', 'use_default_categories' => 'Use predefined categories', 'use_default_keywords' => 'Use predefined keywords', +'valid_till' => 'Valid till', 'version' => 'Version', 'versioning_file_creation' => 'Versioning file creation', 'versioning_file_creation_warning' => 'With this operation you can create a file for each document containing the versioning information of that document. After the creation every file will be saved inside the document folder. Those files are not needed for the regular operation of the dms, but could be of value if the complete repository shall be transferred to an other system.', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 78ac3ad57..2404668a2 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -385,6 +385,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'heredar el acceso', 'download' => 'Descargar', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Reparar todas las carpetas y documentos.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Asignar tamaño de fichero', @@ -452,6 +454,7 @@ URL: [url]', 'event_details' => 'Detalles del evento', 'exclude_items' => 'Registros excluidos', 'expired' => 'Caducado', +'expired_at_date' => '', 'expires' => 'Caduca', 'expiry_changed_email' => 'Fecha de caducidad modificada', 'expiry_changed_email_body' => 'Fecha de caducidad modificada @@ -535,6 +538,7 @@ URL: [url]', 'group_review_summary' => 'Resumen del grupo revisor', 'guest_login' => 'Acceso como invitado', 'guest_login_disabled' => 'La cuenta de invitado está deshabilitada.', +'hash' => '', 'help' => 'Ayuda', 'home_folder' => '', 'hook_name' => '', @@ -1014,6 +1018,7 @@ URL: [url]', 'select_one' => 'Seleccionar uno', 'select_users' => 'Haga Click para seleccionar usuarios', 'select_workflow' => 'Selecionar Flujo de Trabajo', +'send_email' => '', 'send_test_mail' => 'Enviar correo de prueba', 'september' => 'Septiembre', 'sequence' => 'Secuencia', @@ -1355,6 +1360,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuario guardado', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Cambios a la carpeta guardados', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de carpeta inválido', @@ -1372,6 +1378,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuario eliminado', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Configuración guardada', 'splash_substituted_user' => 'Usuario sustituido', 'splash_switched_back_user' => 'Cambió de nuevo al usuario original', @@ -1521,6 +1528,7 @@ URL: [url]', 'use_comment_of_document' => 'Usar comentario del documento', 'use_default_categories' => 'Utilizar categorías predefinidas', 'use_default_keywords' => 'Utilizar palabras claves por defecto', +'valid_till' => '', 'version' => 'Versión', 'versioning_file_creation' => 'Creación de fichero de versiones', 'versioning_file_creation_warning' => 'Con esta operación usted puede crear un fichero que contenga la información de versiones de una carpeta del DMS completa. Después de la creación todos los ficheros se guardarán en la carpeta de documentos.', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index b54c34474..e5486f243 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -390,6 +390,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Accès hérité', 'download' => 'Téléchargement', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Réparer tous les dossiers et documents.', 'do_object_setchecksum' => 'Définir checksum', 'do_object_setfilesize' => 'Définir la taille du fichier', @@ -457,6 +459,7 @@ URL: [url]', 'event_details' => 'Détails de l\'événement', 'exclude_items' => 'Exclure des élements', 'expired' => 'Expiré', +'expired_at_date' => '', 'expires' => 'Expiration', 'expiry_changed_email' => 'Date d\'expiration modifiée', 'expiry_changed_email_body' => 'Date d\'expiration modifiée @@ -540,6 +543,7 @@ URL: [url]', 'group_review_summary' => 'Résumé groupe correcteur', 'guest_login' => 'Se connecter comme invité', 'guest_login_disabled' => 'Connexion d\'invité désactivée.', +'hash' => '', 'help' => 'Aide', 'home_folder' => 'Dossier personnel', 'hook_name' => '', @@ -1002,6 +1006,7 @@ URL: [url]', 'select_one' => 'Selectionner', 'select_users' => 'Cliquer pour choisir un utilisateur', 'select_workflow' => 'Choisir un workflow', +'send_email' => '', 'send_test_mail' => 'Envoyer un e-mail test', 'september' => 'Septembre', 'sequence' => 'Position dans le répertoire', @@ -1343,6 +1348,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Dossier modifié', 'splash_importfs' => '[docs] documents et [folders] dossiers importés', 'splash_invalid_folder_id' => 'Identifiant de répertoire invalide', @@ -1360,6 +1366,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Utilisateur supprimé', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Configuration sauvegardée', 'splash_substituted_user' => 'Utilisateur de substitution', 'splash_switched_back_user' => 'Revenu à l\'utilisateur initial', @@ -1509,6 +1516,7 @@ URL : [url]', 'use_comment_of_document' => 'Utiliser le commentaire du document', 'use_default_categories' => 'Use predefined categories', 'use_default_keywords' => 'Utiliser les mots-clés prédéfinis', +'valid_till' => '', 'version' => 'Version', 'versioning_file_creation' => 'Créer les fichiers de versionnage', 'versioning_file_creation_warning' => 'Cette opération permet de créer, pour chaque document, un fichier texte contenant les informations générales et l’historique des versions du document. Chaque fichier sera enregistré dans le répertoire du document. Ces fichiers ne sont pas nécessaires au bon fonctionnement de SeedDMS, mais ils peuvent être utiles en cas de transfert des fichiers vers un autre système.', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index d3452600f..0c5b11580 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -390,6 +390,8 @@ Internet poveznica: [url]', 'does_not_inherit_access_msg' => 'Naslijedi nivo pristupa', 'download' => 'Preuzimanje', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Popravi sve mape i dokumente.', 'do_object_setchecksum' => 'Postavi kontrolnu sumu', 'do_object_setfilesize' => 'Postavi veličinu datoteke', @@ -457,6 +459,7 @@ Internet poveznica: [url]', 'event_details' => 'Detalji događaja', 'exclude_items' => 'Isključivanje stavki', 'expired' => 'Isteklo', +'expired_at_date' => '', 'expires' => 'Datum isteka', 'expiry_changed_email' => 'Promijenjen datum isteka', 'expiry_changed_email_body' => 'Promijenjen datum isteka @@ -540,6 +543,7 @@ Internet poveznica: [url]', 'group_review_summary' => 'Sažetak pregleda grupe', 'guest_login' => 'Prijavite se kao gost', 'guest_login_disabled' => 'Prijava "kao gost" je onemogućena.', +'hash' => '', 'help' => 'Pomoć', 'home_folder' => 'Početna mapa', 'hook_name' => '', @@ -1035,6 +1039,7 @@ Internet poveznica: [url]', 'select_one' => 'Odaberite jednog', 'select_users' => 'Kliknite za odabir korisnika', 'select_workflow' => 'Odaberite tok rada', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Rujan', 'sequence' => 'Redoslijed', @@ -1376,6 +1381,7 @@ Internet poveznica: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Korisnik pohranjen', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Pohrani izmjene mape', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nevažeći ID mape', @@ -1393,6 +1399,7 @@ Internet poveznica: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Korisnik uklonjen', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Postavke pohranjene', 'splash_substituted_user' => 'Zamjenski korisnik', 'splash_switched_back_user' => 'Prebačeno nazad na izvornog korisnika', @@ -1542,6 +1549,7 @@ Internet poveznica: [url]', 'use_comment_of_document' => 'Koristi komentar dokumenta', 'use_default_categories' => 'Koristi predefinirane kategorije', 'use_default_keywords' => 'Koristi predefinirane ključne riječi', +'valid_till' => '', 'version' => 'Verzija', 'versioning_file_creation' => 'Stvaranje nove verzije datoteke', 'versioning_file_creation_warning' => 'Ovo radnjom možete izraditi datoteku koja sadrži informacije o verzijama cijele DMS mape. Nakon izrade, svaka datoteka će biti pohranjena unutar podatkovne mape.', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 1417e2004..624d65d51 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -385,6 +385,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Hozzáférés öröklése', 'download' => 'Letöltés', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Valamennyi mappa és dokumentum helyreállítása.', 'do_object_setchecksum' => 'Ellenőrző összeg beállítása', 'do_object_setfilesize' => 'Állomány méret beállítása', @@ -452,6 +454,7 @@ URL: [url]', 'event_details' => 'Esemény részletek', 'exclude_items' => 'Kizárt elemek', 'expired' => 'Lejárt', +'expired_at_date' => '', 'expires' => 'Lejárat', 'expiry_changed_email' => 'Lejárati dátum módosítva', 'expiry_changed_email_body' => 'Lejárati dátum módosult @@ -535,6 +538,7 @@ URL: [url]', 'group_review_summary' => 'Csoport felülvizsgálat összefoglaló', 'guest_login' => 'Bejelentkezés vendégként', 'guest_login_disabled' => 'Vendég bejelentkezés letiltva.', +'hash' => '', 'help' => 'Segítség', 'home_folder' => '', 'hook_name' => '', @@ -1013,6 +1017,7 @@ URL: [url]', 'select_one' => 'Vßlasszon egyet', 'select_users' => 'Kattintson a felhasználó kiválasztásához', 'select_workflow' => 'Munkafolyamat választás', +'send_email' => '', 'send_test_mail' => '', 'september' => 'September', 'sequence' => 'Sorrend', @@ -1354,6 +1359,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Felhasználó mentve', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Mappa változásainak mentése', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Érvénytelen mappa azonosító', @@ -1371,6 +1377,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Felhasználó eltávolítva', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Beállítások elmentve', 'splash_substituted_user' => 'Helyettesített felhasználó', 'splash_switched_back_user' => 'Visszaváltva az eredeti felhasználóra', @@ -1520,6 +1527,7 @@ URL: [url]', 'use_comment_of_document' => 'Használja a dokumentum megjegyzését', 'use_default_categories' => 'Használjon előre megadott kategóriákat', 'use_default_keywords' => 'Használjon előre meghatározott kulcsszavakat', +'valid_till' => '', 'version' => 'Változat', 'versioning_file_creation' => 'Változatkezelő állomány létrehozás', 'versioning_file_creation_warning' => 'Ezzel a művelettel létrehozhat egy állományt ami tartalmazni fogja a változat információkat a teljes DMS mappáról. A létrehozás után minden állomány a dokumentum mappába lesz mentve.', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 77f5c6f3c..d76f56b2c 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -391,6 +391,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Imposta permessi ereditari', 'download' => 'Scarica', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Ripara tutte le cartelle e i documenti.', 'do_object_setchecksum' => 'Imposta il checksum', 'do_object_setfilesize' => 'Imposta la dimensione del file', @@ -458,6 +460,7 @@ URL: [url]', 'event_details' => 'Dettagli evento', 'exclude_items' => 'Escludi Elementi', 'expired' => 'Scaduto', +'expired_at_date' => '', 'expires' => 'Scadenza', 'expiry_changed_email' => 'Scadenza cambiata', 'expiry_changed_email_body' => 'Data di scadenza cambiata @@ -541,6 +544,7 @@ URL: [url]', 'group_review_summary' => 'Dettaglio revisioni di gruppo', 'guest_login' => 'Login come Ospite', 'guest_login_disabled' => 'Il login come Ospite è disabilitato.', +'hash' => '', 'help' => 'Aiuto', 'home_folder' => 'Cartella Utente', 'hook_name' => 'Nome del gangio', @@ -1047,6 +1051,7 @@ URL: [url]', 'select_one' => 'Seleziona uno', 'select_users' => 'Clicca per selezionare gli utenti', 'select_workflow' => 'Seleziona il flusso di lavoro', +'send_email' => '', 'send_test_mail' => 'Invia messagio di prova', 'september' => 'Settembre', 'sequence' => 'Posizione', @@ -1388,6 +1393,7 @@ URL: [url]', 'splash_edit_role' => 'Ruolo memorizzata', 'splash_edit_user' => 'Utente modificato', 'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Cartella modificata', 'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]', 'splash_invalid_folder_id' => 'ID cartella non valido', @@ -1405,6 +1411,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Trasmissione cancellato', 'splash_rm_user' => 'Utente eliminato', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Impostazioni salvate', 'splash_substituted_user' => 'Utente sostituito', 'splash_switched_back_user' => 'Ritorno all\'utente originale', @@ -1554,6 +1561,7 @@ URL: [url]', 'use_comment_of_document' => 'Utilizza il commento al documento', 'use_default_categories' => 'Usa categorie predefinite', 'use_default_keywords' => 'Usa parole-chiave predefinite', +'valid_till' => '', 'version' => 'Versione', 'versioning_file_creation' => 'Creazione file di versione', 'versioning_file_creation_warning' => 'Con questa operazione è possibile creare un file di backup delle informazioni di versione dei documenti di un\'intera cartella. Dopo la creazione ogni file viene salvato nella cartella del relativo documento.', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 680724e4b..e21ea8e25 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -390,6 +390,8 @@ URL: [url]', 'does_not_inherit_access_msg' => '액세스 상속', 'download' => '다운로드', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '모든 폴더와 문서를 복구', 'do_object_setchecksum' => '오류 검사', 'do_object_setfilesize' => '파일 크기 설정', @@ -457,6 +459,7 @@ URL: [url]', 'event_details' => '이벤트의 자세한 사항', 'exclude_items' => '항목 제외', 'expired' => '만료', +'expired_at_date' => '', 'expires' => '만료', 'expiry_changed_email' => '유효 기간 변경', 'expiry_changed_email_body' => '유효 기간이 변경 @@ -540,6 +543,7 @@ URL: [url]', 'group_review_summary' => '그룹 검토 요약', 'guest_login' => '게스트로 로그인', 'guest_login_disabled' => '고객 로그인을 사용할 수 없습니다.', +'hash' => '', 'help' => '도움말', 'home_folder' => '홈 폴더', 'hook_name' => '', @@ -1028,6 +1032,7 @@ URL : [url]', 'select_one' => '선택', 'select_users' => '사용자를 선택합니다', 'select_workflow' => '선택 워크플로우', +'send_email' => '', 'send_test_mail' => '테스트 메일', 'september' => '9월', 'sequence' => '순서', @@ -1369,6 +1374,7 @@ URL : [url]', 'splash_edit_role' => '', 'splash_edit_user' => '사용자 저장', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '저장 폴더 변경', 'splash_importfs' => '', 'splash_invalid_folder_id' => '잘못된 폴더 ID', @@ -1386,6 +1392,7 @@ URL : [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '사용자 제거', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '설정 저장', 'splash_substituted_user' => '전환된 사용자', 'splash_switched_back_user' => '원래 사용자로 전환', @@ -1535,6 +1542,7 @@ URL : [url]', 'use_comment_of_document' => '문서 설명을 사용하십시오', 'use_default_categories' => '미리 정의 된 범주를 사용하십시오', 'use_default_keywords' => '사전 정의 된 키워드를 사용하십시오', +'valid_till' => '', 'version' => '버전', 'versioning_file_creation' => '버전 관리 파일 생성', 'versioning_file_creation_warning' => '버전 정보가 포함 된 파일을 만들 수 있습니다. 이 작업은 전체 DMS 폴더를 작성 후 모든 파일이 문서 폴더 안에 저장됩니다.', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 8a85d3261..a4d8ecbe9 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -383,6 +383,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Erft toegang', 'download' => 'Download', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Repareer alle mappen en documenten.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Voer bestandgrootte in', @@ -450,6 +452,7 @@ URL: [url]', 'event_details' => 'Activiteit details', 'exclude_items' => 'Sluit iems uit', 'expired' => 'Verlopen', +'expired_at_date' => '', 'expires' => 'Verloopt', 'expiry_changed_email' => 'Verloopdatum gewijzigd', 'expiry_changed_email_body' => 'Vervaldatum gewijzigd @@ -533,6 +536,7 @@ URL: [url]', 'group_review_summary' => 'Groep Beoordeling samenvatting', 'guest_login' => 'Login als Gast', 'guest_login_disabled' => 'Gast login is uitgeschakeld.', +'hash' => '', 'help' => 'Help', 'home_folder' => 'Thuismap', 'hook_name' => '', @@ -1037,6 +1041,7 @@ URL: [url]', 'select_one' => 'Selecteer een', 'select_users' => 'Klik om gebruikers te selecteren', 'select_workflow' => 'Selecteer workflow', +'send_email' => '', 'send_test_mail' => 'Testmail versturen', 'september' => 'september', 'sequence' => 'Volgorde', @@ -1382,6 +1387,7 @@ URL: [url]', 'splash_edit_role' => 'Rol opgeslagen', 'splash_edit_user' => 'Gebruiker opgeslagen', 'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Opslaan mapwijzigingen', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ongeldige map ID', @@ -1399,6 +1405,7 @@ URL: [url]', 'splash_rm_transmittal' => 'Verzending verwijderd', 'splash_rm_user' => 'Gebruiker verwijderd', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Instellingen opgeslagen', 'splash_substituted_user' => 'Invallers gebruiker', 'splash_switched_back_user' => 'Teruggeschakeld naar de oorspronkelijke gebruiker', @@ -1548,6 +1555,7 @@ URL: [url]', 'use_comment_of_document' => 'Gebruik reactie van document', 'use_default_categories' => 'Gebruik voorgedefinieerde categorieen', 'use_default_keywords' => 'Gebruik bestaande sleutelwoorden', +'valid_till' => '', 'version' => 'Versie', 'versioning_file_creation' => 'Aanmaken bestand versies', 'versioning_file_creation_warning' => 'Met deze handeling maakt U een bestand aan die de versie voortgang informatie van een compleet DMS bevat. Na het aanmaken wordt ieder bestand opgeslagen in de document map.', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 00c6e9d69..8b91e9038 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -378,6 +378,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Dziedzicz dostęp', 'download' => 'Pobierz', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Napraw wszystkie katalogi i pliki.', 'do_object_setchecksum' => 'Ustaw sumę kontrolną', 'do_object_setfilesize' => 'Podaj rozmiar pliku', @@ -445,6 +447,7 @@ URL: [url]', 'event_details' => 'Szczegóły zdarzenia', 'exclude_items' => '', 'expired' => 'Wygasłe', +'expired_at_date' => '', 'expires' => 'Wygasa', 'expiry_changed_email' => 'Zmieniona data wygaśnięcia', 'expiry_changed_email_body' => 'Zmiana daty wygaśnięcia @@ -528,6 +531,7 @@ URL: [url]', 'group_review_summary' => 'Podsumowanie opiniowania dla grupy', 'guest_login' => 'Zalogowany jako gość', 'guest_login_disabled' => 'Logowanie dla gościa jest wyłączone.', +'hash' => '', 'help' => 'Pomoc', 'home_folder' => '', 'hook_name' => '', @@ -993,6 +997,7 @@ URL: [url]', 'select_one' => 'Wybierz', 'select_users' => 'Kliknij by wybrać użytkowników', 'select_workflow' => 'Wybierz proces', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Wrzesień', 'sequence' => 'Kolejność', @@ -1334,6 +1339,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Zapisano użytkownika', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Zapisz zmiany folderu', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nieprawidłowy identyfikator folderu', @@ -1351,6 +1357,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Użytkownika usunięto', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Zmiany zapisano', 'splash_substituted_user' => 'Zmieniono użytkownika', 'splash_switched_back_user' => 'Przełączono z powrotem do oryginalnego użytkownika', @@ -1500,6 +1507,7 @@ URL: [url]', 'use_comment_of_document' => 'Skomentuj dokumentu', 'use_default_categories' => 'Użyj predefiniowanych kategorii', 'use_default_keywords' => 'Użyj predefiniowanych słów kluczowych', +'valid_till' => '', 'version' => 'Wersja', 'versioning_file_creation' => 'Utwórz archiwum z wersjonowaniem', 'versioning_file_creation_warning' => 'Ta operacja utworzy plik zawierający informacje o wersjach plików z całego wskazanego folderu. Po utworzeniu, każdy plik będzie zapisany w folderze odpowiednim dla danego dokumentu.', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 0e84ecffa..a5aeca58c 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -384,6 +384,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Inherit access', 'download' => 'Download', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Reparar todas as pastas e documentos.', 'do_object_setchecksum' => 'Defina soma de verificação', 'do_object_setfilesize' => 'Defina o tamanho do arquivo', @@ -451,6 +453,7 @@ URL: [url]', 'event_details' => 'Event details', 'exclude_items' => 'Excluir ítens', 'expired' => 'Expirado', +'expired_at_date' => '', 'expires' => 'Expira', 'expiry_changed_email' => 'Data de validade mudou', 'expiry_changed_email_body' => 'Data de validade mudou @@ -534,6 +537,7 @@ URL: [url]', 'group_review_summary' => 'Resumo da avaliação do grupo', 'guest_login' => 'Entre como convidado', 'guest_login_disabled' => 'Guest login is disabled.', +'hash' => '', 'help' => 'Ajuda', 'home_folder' => '', 'hook_name' => '', @@ -1011,6 +1015,7 @@ URL: [url]', 'select_one' => 'Selecione um', 'select_users' => 'Clique para selecionar os usuários', 'select_workflow' => 'Selecione o fluxo de trabalho', +'send_email' => '', 'send_test_mail' => '', 'september' => 'September', 'sequence' => 'Sequência', @@ -1352,6 +1357,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuário salvo', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Salvar modificação de pastas', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de pasta inválida', @@ -1369,6 +1375,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Usuário removido', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Configurações salvas', 'splash_substituted_user' => 'Usuário substituido', 'splash_switched_back_user' => 'Comutada de volta ao usuário original', @@ -1518,6 +1525,7 @@ URL: [url]', 'use_comment_of_document' => 'Utilize comentário de documento', 'use_default_categories' => 'Utilize categorias predefinidas', 'use_default_keywords' => 'Use palavras-chave pré-definidas', +'valid_till' => '', 'version' => 'Versão', 'versioning_file_creation' => 'Versioning file creation', 'versioning_file_creation_warning' => 'With this operation you can create a file containing the versioning information of an entire DMS folder. After the creation every file will be saved inside the document folder.', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 89ce2d05d..f888d40be 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -390,6 +390,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Acces moștenit', 'download' => 'Descarca', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Repară toate folderele și documentele.', 'do_object_setchecksum' => 'Setare sumă de control(checksum)', 'do_object_setfilesize' => 'Setare dimensiune fișier', @@ -457,6 +459,7 @@ URL: [url]', 'event_details' => 'Detalii eveniment', 'exclude_items' => 'Elemente excluse', 'expired' => 'Expirat', +'expired_at_date' => '', 'expires' => 'Expiră', 'expiry_changed_email' => 'Data de expirare schimbată', 'expiry_changed_email_body' => 'Data de expirare schimbată @@ -540,6 +543,7 @@ URL: [url]', 'group_review_summary' => 'Sumar revizuiri grup', 'guest_login' => 'Login ca oaspete', 'guest_login_disabled' => 'Logarea ca oaspete este dezactivată.', +'hash' => '', 'help' => 'Ajutor', 'home_folder' => 'Folder Home', 'hook_name' => '', @@ -1036,6 +1040,7 @@ URL: [url]', 'select_one' => 'Selectați unul', 'select_users' => 'Click pentru a selecta utilizatori', 'select_workflow' => 'Selectați workflow', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Septembrie', 'sequence' => 'Poziție', @@ -1377,6 +1382,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilizator salvat', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Salvați modificările folderului', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID folder invalid', @@ -1394,6 +1400,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Uilizator eliminat', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Setări salvate', 'splash_substituted_user' => 'Utilizator substituit', 'splash_switched_back_user' => 'Comutat înapoi la utilizatorul original', @@ -1543,6 +1550,7 @@ URL: [url]', 'use_comment_of_document' => 'Utilizați comentarii la documente', 'use_default_categories' => 'Utilizați categorii predefinite', 'use_default_keywords' => 'Utilizați cuvinte cheie predefinite', +'valid_till' => '', 'version' => 'Versiune', 'versioning_file_creation' => 'Creare fișier de versionare', 'versioning_file_creation_warning' => 'Cu această operațiune puteți crea un fișier care conține informațiile versiunilor pentru un întreg folder DMS. După creare, fiecare fisier va fi salvat in folder-ul de documente.', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 8432bef87..c182b393e 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -390,6 +390,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Наследовать уровень доступа', 'download' => 'Загрузить', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Исправить все каталоги и документы', 'do_object_setchecksum' => 'Установить контрольную сумму', 'do_object_setfilesize' => 'Установить размер файла', @@ -457,6 +459,7 @@ URL: [url]', 'event_details' => 'Информация о событии', 'exclude_items' => 'Не показывать события:', 'expired' => 'Срок действия вышел', +'expired_at_date' => '', 'expires' => 'Срок действия', 'expiry_changed_email' => 'Срок действия изменен', 'expiry_changed_email_body' => 'Срок действия изменен @@ -540,6 +543,7 @@ URL: [url]', 'group_review_summary' => 'Сводка по рецензированию группы', 'guest_login' => 'Войти как гость', 'guest_login_disabled' => 'Гостевой вход отключён', +'hash' => '', 'help' => 'Помощь', 'home_folder' => 'Домашний каталог', 'hook_name' => 'Имя хука', @@ -1043,6 +1047,7 @@ URL: [url]', 'select_one' => 'Выберите', 'select_users' => 'Выберите пользователей', 'select_workflow' => 'Выберите процесс', +'send_email' => '', 'send_test_mail' => 'Отправить тестовое сообщение', 'september' => 'Сентябрь', 'sequence' => 'Позиция', @@ -1384,6 +1389,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Пользователь сохранён', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Изменения каталога сохранены', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Неверный идентификатор каталога', @@ -1401,6 +1407,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Пользователь удалён', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Настройки сохранены', 'splash_substituted_user' => 'Пользователь переключён', 'splash_switched_back_user' => 'Переключён на исходного пользователя', @@ -1550,6 +1557,7 @@ URL: [url]', 'use_comment_of_document' => 'Использовать комментарий документа', 'use_default_categories' => 'Использовать предопределённые категории', 'use_default_keywords' => 'Использовать предопределённые метки', +'valid_till' => '', 'version' => 'Версия', 'versioning_file_creation' => 'Создать файл версий', 'versioning_file_creation_warning' => 'Эта операция создаст файлы версий для всего каталога. После создания файлы версий будут сохранены в каталоге документов.', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 9d0988179..f5e5dbe99 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -337,6 +337,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Zdediť prístup', 'download' => 'Stiahnuť', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -404,6 +406,7 @@ URL: [url]', 'event_details' => 'Detail udalosti', 'exclude_items' => '', 'expired' => 'Platnosť vypršala', +'expired_at_date' => '', 'expires' => 'Platnosť vyprší', 'expiry_changed_email' => 'Datum platnosti zmeneny', 'expiry_changed_email_body' => '', @@ -463,6 +466,7 @@ URL: [url]', 'group_review_summary' => 'Zhrnutie skupinovej recenzie', 'guest_login' => 'Prihlásiť sa ako hosť', 'guest_login_disabled' => 'Prihlásenie ako hosť je vypnuté.', +'hash' => '', 'help' => 'Pomoc', 'home_folder' => '', 'hook_name' => '', @@ -868,6 +872,7 @@ URL: [url]', 'select_one' => 'Vyberte jeden', 'select_users' => '', 'select_workflow' => '', +'send_email' => '', 'send_test_mail' => '', 'september' => 'September', 'sequence' => 'Postupnosť', @@ -1209,6 +1214,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1226,6 +1232,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1366,6 +1373,7 @@ URL: [url]', 'use_comment_of_document' => 'Použite komentár dokumentu', 'use_default_categories' => '', 'use_default_keywords' => 'Použiť preddefinované kľúčové slová', +'valid_till' => '', 'version' => 'Verzia', 'versioning_file_creation' => 'Vytvorenie verziovacieho súboru', 'versioning_file_creation_warning' => 'Touto akciou môžete vytvoriť súbor, obsahujúci verziovaciu informáciu celej DMS zložky. Po vytvorení bude každý súbor uložený do zložky súborov.', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index f34d8ce5a..d8bab1820 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -378,6 +378,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Ärv behörighet', 'download' => 'Ladda ner', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Försök att laga kataloger och dokument.', 'do_object_setchecksum' => 'Lägg till checksumma', 'do_object_setfilesize' => 'Ange filstorlek', @@ -445,6 +447,7 @@ URL: [url]', 'event_details' => 'Händelseinställningar', 'exclude_items' => '', 'expired' => 'Har gått ut', +'expired_at_date' => '', 'expires' => 'Kommer att gå ut', 'expiry_changed_email' => 'Utgångsdatum ändrat', 'expiry_changed_email_body' => 'Utgångsdatum ändrat @@ -528,6 +531,7 @@ URL: [url]', 'group_review_summary' => 'Sammanfattning av gruppgranskning', 'guest_login' => 'Gästinloggning', 'guest_login_disabled' => 'Gästinloggningen är inaktiverad.', +'hash' => '', 'help' => 'Hjälp', 'home_folder' => '', 'hook_name' => '', @@ -999,6 +1003,7 @@ URL: [url]', 'select_one' => 'Välj', 'select_users' => 'Välj användare', 'select_workflow' => 'Välj arbetsflöde', +'send_email' => '', 'send_test_mail' => '', 'september' => 'september', 'sequence' => 'Position', @@ -1340,6 +1345,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Användare sparat', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Spara katalog ändringar', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ogiltigt katalog ID', @@ -1357,6 +1363,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Användare har tagits bort', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Inställningar sparat', 'splash_substituted_user' => 'Bytt användare', 'splash_switched_back_user' => 'Byt tillbaka till original användare', @@ -1506,6 +1513,7 @@ URL: [url]', 'use_comment_of_document' => 'Använd dokumentets kommentar', 'use_default_categories' => 'Använd fördefinerade kategorier', 'use_default_keywords' => 'Använd fördefinerade nyckelord', +'valid_till' => '', 'version' => 'Version', 'versioning_file_creation' => 'Skapa versionsfil', 'versioning_file_creation_warning' => 'Med denna funktion kan du skapa en fil som innehåller versionsinformationen för hela DMS-mappen. Efter skapandet kommer alla filer att sparas inom dokumentets mapp.', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 146fcf9c4..a73871522 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -384,6 +384,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Erişim haklarını devir al', 'download' => 'İndir', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Tüm klasörleri ve dokümanları onar.', 'do_object_setchecksum' => 'Sağlama (checksum) ayarla', 'do_object_setfilesize' => 'Dosya boyutu ayarla', @@ -451,6 +453,7 @@ URL: [url]', 'event_details' => 'Etkinkil detayları', 'exclude_items' => '', 'expired' => 'Süresi doldu', +'expired_at_date' => '', 'expires' => 'Süresinin dolacağı zaman', 'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti', 'expiry_changed_email_body' => 'Bitiş tarihi değişti @@ -534,6 +537,7 @@ URL: [url]', 'group_review_summary' => 'Grup gözden geçirme özeti', 'guest_login' => 'Misafir olarak giriş yap', 'guest_login_disabled' => 'Misafir girişi devre dışı.', +'hash' => '', 'help' => 'Yardım', 'home_folder' => 'Temel klasör', 'hook_name' => '', @@ -1015,6 +1019,7 @@ URL: [url]', 'select_one' => 'Birini seçiniz', 'select_users' => 'Kullanıcı seçmek için tıklayın', 'select_workflow' => 'İş akışı seç', +'send_email' => '', 'send_test_mail' => '', 'september' => 'Eylül', 'sequence' => 'Sıralama', @@ -1356,6 +1361,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Kullanıcı kaydedildi', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Hatalı klasör ID', @@ -1373,6 +1379,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Kullanıcı silindi', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Ayarlar kaydedildi', 'splash_substituted_user' => 'Yerine geçilen kullanıcı', 'splash_switched_back_user' => 'Orijinal kullanıcıya geri dönüldü', @@ -1522,6 +1529,7 @@ URL: [url]', 'use_comment_of_document' => 'Doküman açıklamasını kullan', 'use_default_categories' => 'Ön tanımlı kategorileri kullan', 'use_default_keywords' => 'Ön tanımlı anahtar kelimeleri kullan', +'valid_till' => '', 'version' => 'Versiyon', 'versioning_file_creation' => 'Version dosyası oluşturma', 'versioning_file_creation_warning' => 'Bu işlem ile tüm klasörlerdeki versiyon bilgisinin bulunduğu bir dosya oluşturursunuz. Her dosya oluşturulduğunda doküman klasörüne kaydedilir.', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index aa7b595b3..5878656e7 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -390,6 +390,8 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Наслідувати рівень доступу', 'download' => 'Завантажити', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => 'Виправити всі каталоги і документи', 'do_object_setchecksum' => 'Встановити контрольну суму', 'do_object_setfilesize' => 'Встановити розмір файлу', @@ -457,6 +459,7 @@ URL: [url]', 'event_details' => 'Інформація про подію', 'exclude_items' => 'Виключені елементи', 'expired' => 'Термін виконання вийшов', +'expired_at_date' => '', 'expires' => 'Термін виконання виходить', 'expiry_changed_email' => 'Дату терміну виконання змінено', 'expiry_changed_email_body' => 'Змінено дату терміну виконання @@ -540,6 +543,7 @@ URL: [url]', 'group_review_summary' => 'Підсумки рецензування групи', 'guest_login' => 'Увійти як гість', 'guest_login_disabled' => 'Гостьовий вхід відключено', +'hash' => '', 'help' => 'Допомога', 'home_folder' => 'Домашній каталог', 'hook_name' => '', @@ -1036,6 +1040,7 @@ URL: [url]', 'select_one' => 'Оберіть', 'select_users' => 'Оберіть користувачів', 'select_workflow' => 'Оберіть процес', +'send_email' => '', 'send_test_mail' => 'Надіслати тестове повідомлення', 'september' => 'Вересень', 'sequence' => 'Позиція', @@ -1377,6 +1382,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Користувача збережено', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => 'Зміни каталогу збережено', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Невірний ідентифікатор каталогу', @@ -1394,6 +1400,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Користувача видалено', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => 'Налаштування збережено', 'splash_substituted_user' => 'Користувача переключено', 'splash_switched_back_user' => 'Переключено на початкового користувача', @@ -1543,6 +1550,7 @@ URL: [url]', 'use_comment_of_document' => 'Використовувати коментар документа', 'use_default_categories' => 'Використовувати наперед визначені категорії', 'use_default_keywords' => 'Використовувати наперед визначені ключові слова', +'valid_till' => '', 'version' => 'Версія', 'versioning_file_creation' => 'Створити файл версій', 'versioning_file_creation_warning' => 'Ця операція створить файли версій для всього каталогу. Після створення файли версій будуть збережені в каталозі документів.', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 6551c1b57..26973bf57 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -339,6 +339,8 @@ URL: [url]', 'does_not_inherit_access_msg' => '继承访问权限', 'download' => '下载', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '设置文件大小', @@ -406,6 +408,7 @@ URL: [url]', 'event_details' => '错误详情', 'exclude_items' => '', 'expired' => '过期', +'expired_at_date' => '', 'expires' => '有效限期', 'expiry_changed_email' => '到期日子已改变', 'expiry_changed_email_body' => '', @@ -465,6 +468,7 @@ URL: [url]', 'group_review_summary' => '校对组汇总', 'guest_login' => '来宾登录', 'guest_login_disabled' => '来宾登录被禁止', +'hash' => '', 'help' => '帮助', 'home_folder' => '', 'hook_name' => '', @@ -870,6 +874,7 @@ URL: [url]', 'select_one' => '选择一个', 'select_users' => '点击选择用户', 'select_workflow' => '', +'send_email' => '', 'send_test_mail' => '', 'september' => '九 月', 'sequence' => '次序', @@ -1211,6 +1216,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1228,6 +1234,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1368,6 +1375,7 @@ URL: [url]', 'use_comment_of_document' => '文档注释', 'use_default_categories' => '默认分类', 'use_default_keywords' => '使用预定义关键字', +'valid_till' => '', 'version' => '版本', 'versioning_file_creation' => '创建版本文件', 'versioning_file_creation_warning' => '通过此操作,您可以一个包含整个DMS文件夹的版本信息文件. 版本文件一经创建,每个文件都将保存到文件夹中.', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index d04d2c863..9fb25e4f5 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -337,6 +337,8 @@ URL: [url]', 'does_not_inherit_access_msg' => '繼承存取權限', 'download' => '下載', 'download_links' => '', +'download_link_email_body' => '', +'download_link_email_subject' => '', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', @@ -404,6 +406,7 @@ URL: [url]', 'event_details' => '錯誤詳情', 'exclude_items' => '', 'expired' => '過期', +'expired_at_date' => '', 'expires' => '有效限期', 'expiry_changed_email' => '到期日子已改變', 'expiry_changed_email_body' => '', @@ -463,6 +466,7 @@ URL: [url]', 'group_review_summary' => '校對組匯總', 'guest_login' => '來賓登錄', 'guest_login_disabled' => '來賓登錄被禁止', +'hash' => '', 'help' => '幫助', 'home_folder' => '', 'hook_name' => '', @@ -868,6 +872,7 @@ URL: [url]', 'select_one' => '選擇一個', 'select_users' => '點擊選擇用戶', 'select_workflow' => '', +'send_email' => '', 'send_test_mail' => '', 'september' => '九 月', 'sequence' => '次序', @@ -1209,6 +1214,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_send_download_link'' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', @@ -1226,6 +1232,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => '', 'splash_saved_file' => '', +'splash_send_download_link' => '', 'splash_settings_saved' => '', 'splash_substituted_user' => '', 'splash_switched_back_user' => '', @@ -1366,6 +1373,7 @@ URL: [url]', 'use_comment_of_document' => '', 'use_default_categories' => '默認分類', 'use_default_keywords' => '使用預定義關鍵字', +'valid_till' => '', 'version' => '版本', 'versioning_file_creation' => '創建版本檔', 'versioning_file_creation_warning' => '通過此操作,您可以一個包含整個DMS資料夾的版本資訊檔. 版本檔一經創建,每個檔都將保存到資料夾中.', From 73ab448becab3d88dcad53b4baaa22074e58aedd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 11:50:21 +0100 Subject: [PATCH 036/212] fix typo in key --- languages/ar_EG/lang.inc | 2 +- languages/bg_BG/lang.inc | 2 +- languages/ca_ES/lang.inc | 2 +- languages/cs_CZ/lang.inc | 2 +- languages/de_DE/lang.inc | 2 +- languages/el_GR/lang.inc | 2 +- languages/en_GB/lang.inc | 2 +- languages/es_ES/lang.inc | 2 +- languages/fr_FR/lang.inc | 2 +- languages/hr_HR/lang.inc | 2 +- languages/hu_HU/lang.inc | 2 +- languages/it_IT/lang.inc | 2 +- languages/ko_KR/lang.inc | 2 +- languages/nl_NL/lang.inc | 2 +- languages/pl_PL/lang.inc | 2 +- languages/pt_BR/lang.inc | 2 +- languages/ro_RO/lang.inc | 2 +- languages/ru_RU/lang.inc | 2 +- languages/sk_SK/lang.inc | 2 +- languages/sv_SE/lang.inc | 2 +- languages/tr_TR/lang.inc | 2 +- languages/uk_UA/lang.inc | 2 +- languages/zh_CN/lang.inc | 2 +- languages/zh_TW/lang.inc | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 67255be8c..3e0626a18 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -1345,7 +1345,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 864be4687..172bb25de 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -1210,7 +1210,7 @@ $text = array( 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 6d42f200b..6b9f3ca1d 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -1215,7 +1215,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index dceb5f929..70d921d12 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -1354,7 +1354,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Uživatel uložen', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Změny složky uloženy', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Neplatné ID složky', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 418405569..f4c0a386d 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -1408,7 +1408,7 @@ URL: [url]', 'splash_edit_role' => 'Rolle gespeichert', 'splash_edit_user' => 'Benutzer gespeichert', 'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste', -'splash_error_send_download_link'' => 'Fehler beim Verschicken des Download-Links', +'splash_error_send_download_link' => 'Fehler beim Verschicken des Download-Links', 'splash_folder_edited' => 'Änderungen am Ordner gespeichert', 'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert', 'splash_invalid_folder_id' => 'Ungültige Ordner-ID', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 487e50431..f6ed93209 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -1221,7 +1221,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 7ad6bad67..2be4334c7 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -1403,7 +1403,7 @@ URL: [url]', 'splash_edit_role' => 'Role saved', 'splash_edit_user' => 'User saved', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', -'splash_error_send_download_link'' => 'Error while sending download link', +'splash_error_send_download_link' => 'Error while sending download link', 'splash_folder_edited' => 'Save folder changes', 'splash_importfs' => 'Imported [docs] documents and [folders] folders', 'splash_invalid_folder_id' => 'Invalid folder ID', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 2404668a2..86df22cc0 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -1360,7 +1360,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuario guardado', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Cambios a la carpeta guardados', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de carpeta inválido', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index e5486f243..f04a0793a 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -1348,7 +1348,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Dossier modifié', 'splash_importfs' => '[docs] documents et [folders] dossiers importés', 'splash_invalid_folder_id' => 'Identifiant de répertoire invalide', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 0c5b11580..389b582fe 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -1381,7 +1381,7 @@ Internet poveznica: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Korisnik pohranjen', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Pohrani izmjene mape', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nevažeći ID mape', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 624d65d51..35a8094a0 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -1359,7 +1359,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Felhasználó mentve', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Mappa változásainak mentése', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Érvénytelen mappa azonosító', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index d76f56b2c..bafa20d81 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -1393,7 +1393,7 @@ URL: [url]', 'splash_edit_role' => 'Ruolo memorizzata', 'splash_edit_user' => 'Utente modificato', 'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Cartella modificata', 'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]', 'splash_invalid_folder_id' => 'ID cartella non valido', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index e21ea8e25..e2c07b13a 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -1374,7 +1374,7 @@ URL : [url]', 'splash_edit_role' => '', 'splash_edit_user' => '사용자 저장', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '저장 폴더 변경', 'splash_importfs' => '', 'splash_invalid_folder_id' => '잘못된 폴더 ID', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index a4d8ecbe9..4659cb448 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -1387,7 +1387,7 @@ URL: [url]', 'splash_edit_role' => 'Rol opgeslagen', 'splash_edit_user' => 'Gebruiker opgeslagen', 'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Opslaan mapwijzigingen', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ongeldige map ID', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 8b91e9038..524b52464 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -1339,7 +1339,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Zapisano użytkownika', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Zapisz zmiany folderu', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nieprawidłowy identyfikator folderu', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index a5aeca58c..a664ad848 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -1357,7 +1357,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuário salvo', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Salvar modificação de pastas', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de pasta inválida', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index f888d40be..df2d9b43e 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -1382,7 +1382,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilizator salvat', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Salvați modificările folderului', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID folder invalid', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index c182b393e..25117fb27 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -1389,7 +1389,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Пользователь сохранён', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Изменения каталога сохранены', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Неверный идентификатор каталога', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index f5e5dbe99..81566f2bf 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -1214,7 +1214,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index d8bab1820..5e4a6dca4 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -1345,7 +1345,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Användare sparat', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Spara katalog ändringar', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ogiltigt katalog ID', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index a73871522..59f9cd02d 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -1361,7 +1361,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Kullanıcı kaydedildi', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Hatalı klasör ID', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 5878656e7..8040f938b 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -1382,7 +1382,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Користувача збережено', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Зміни каталогу збережено', 'splash_importfs' => '', 'splash_invalid_folder_id' => 'Невірний ідентифікатор каталогу', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 26973bf57..166adc18c 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -1216,7 +1216,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 9fb25e4f5..1603e8364 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -1214,7 +1214,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', -'splash_error_send_download_link'' => '', +'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', 'splash_invalid_folder_id' => '', From 141a55621b171ad393093bee416d49323352ad21 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 20:05:15 +0100 Subject: [PATCH 037/212] put function for printing clipboard into own class --- out/out.Clipboard.php | 42 +++++++ views/bootstrap/class.Clipboard.php | 166 ++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 out/out.Clipboard.php create mode 100644 views/bootstrap/class.Clipboard.php diff --git a/out/out.Clipboard.php b/out/out.Clipboard.php new file mode 100644 index 000000000..45c2e21fa --- /dev/null +++ b/out/out.Clipboard.php @@ -0,0 +1,42 @@ +$dms, 'user'=>$user)); + +if($view) { + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('timeout', $settings->_cmdTimeout); + $view($_GET); + exit; +} + +?> diff --git a/views/bootstrap/class.Clipboard.php b/views/bootstrap/class.Clipboard.php new file mode 100644 index 000000000..76933b8e2 --- /dev/null +++ b/views/bootstrap/class.Clipboard.php @@ -0,0 +1,166 @@ + + * @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"); + +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + +/** + * Class which outputs the html page for clipboard 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_Clipboard extends SeedDMS_Bootstrap_Style { + /** + * Returns the html needed for the clipboard list in the menu + * + * This function renders the clipboard in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + public function menuClipboard() { /* {{{ */ + $clipboard = $this->params['session']->getClipboard(); + if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) { + return ''; + } + $content = ''; + $content .= " \n"; + echo $content; + } /* }}} */ + + /** + * Return clipboard content rendered as html + * + * @param array clipboard + * @return string rendered html content + */ + public function mainClipboard() { /* {{{ */ + $dms = $this->params['dms']; + $clipboard = $this->params['session']->getClipboard(); + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $content = ''; + $foldercount = $doccount = 0; + if($clipboard['folders']) { + foreach($clipboard['folders'] as $folderid) { + /* FIXME: check for access rights, which could have changed after adding the folder to the clipboard */ + if($folder = $dms->getFolder($folderid)) { + $comment = $folder->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + $content .= "
    getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n"; + $foldercount++; + } + } + } + if($clipboard['docs']) { + foreach($clipboard['docs'] as $docid) { + /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ + if($document = $dms->getDocument($docid)) { + $comment = $document->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + if($latestContent = $document->getLatestContent()) { + $previewer->createPreview($latestContent); + $version = $latestContent->getVersion(); + $status = $latestContent->getStatus(); + + $content .= ""; + + if (file_exists($dms->contentDir . $latestContent->getPath())) { + $content .= ""; + } else + $content .= ""; + + $content .= "\n"; + $content .= "\n"; + $content .= ""; + $doccount++; + } + } + } + } + + /* $foldercount or $doccount will only count objects which are + * actually available + */ + if($foldercount || $doccount) { + $content = "
    ".getMLText("document")."".getMLText("version")."".getMLText("original_filename")."".getMLText("mimetype")."".getMLText("duplicates")."
    ".$doc->getId()."".$version->getVersion()."".$version->getOriginalFileName()."".$version->getMimeType().""; foreach($rec['duplicates'] as $duplicate) { - print $duplicate->getVersion(); + $dupdoc = $duplicate->getDocument(); + print "getID()."\">".$dupdoc->getID()."/".$duplicate->getVersion().""; + echo "
    "; } print "
    getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; + if($comment) { + $content .= "
    ".htmlspecialchars($comment).""; + } + $content .= "
    \n"; + $content .= ""; + $content .= "
    "; + if($previewer->hasPreview($latestContent)) { + $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } else { + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">" . htmlspecialchars($document->getName()) . ""; + if($comment) { + $content .= "
    ".htmlspecialchars($comment).""; + } + $content .= "
    \n"; + $content .= ""; + $content .= "
    ".$content; + $content .= "
    "; + } else { + } + $content .= "
    ".getMLText("drag_icon_here")."
    "; + echo $content; + } /* }}} */ + +} From ae33edbcdceb5412af7897a6f332ce8f1d766c2b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 20:08:01 +0100 Subject: [PATCH 038/212] put documentListItem from Bootstrap base class in ViewDocument --- views/bootstrap/class.ViewDocument.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 281180ab3..365303b54 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -121,6 +121,25 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { params['dms']; + $user = $this->params['user']; + $previewwidth = $this->params['previewWidthList']; + $cachedir = $this->params['cachedir']; + $document = $this->params['document']; + if($document) { + if ($document->getAccessMode($user) >= M_READ) { + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); + $txt = $this->callHook('documentListItem', $document, $previewer, false, ''); + if(is_string($txt)) + $content = $txt; + else + $content = $this->documentListRow($document, $previewer, true); + echo $content; + } + } + } /* }}} */ + function timelinedata() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; From 479ee94fd826059fed98fab8e6bde41ca7aaa810 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 20:08:32 +0100 Subject: [PATCH 039/212] take out command 'view', is now covered by view classes --- op/op.Ajax.php | 35 --------------------------------- styles/bootstrap/application.js | 27 ++++++++++++++++--------- 2 files changed, 18 insertions(+), 44 deletions(-) diff --git a/op/op.Ajax.php b/op/op.Ajax.php index d25efbb3f..9518c7f7f 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -489,41 +489,6 @@ switch($command) { } break; /* }}} */ - case 'view': /* {{{ */ - require_once("SeedDMS/Preview.php"); - $view = UI::factory($theme, '', array('dms'=>$dms, 'user'=>$user)); - if($view) { - $view->setParam('refferer', ''); - $view->setParam('cachedir', $settings->_cacheDir); - } - $content = ''; - $viewname = $_REQUEST["view"]; - switch($viewname) { - case 'menuclipboard': - $content = $view->menuClipboard($session->getClipboard()); - break; - case 'mainclipboard': - $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList); - $content = $view->mainClipboard($session->getClipboard(), $previewer); - break; - case 'documentlistrow': - $document = $dms->getDocument($_REQUEST['id']); - if($document) { - if ($document->getAccessMode($user) >= M_READ) { - $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList); - $view->setParam('previewWidthList', $settings->_previewWidthList); - $view->setParam('showtree', showtree()); - $content = $view->documentListRow($document, $previewer, true); - } - } - break; - default: - $content = ''; - } - echo $content; - - break; /* }}} */ - case 'uploaddocument': /* {{{ */ if($user) { if(checkFormKey('adddocument')) { diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 731782192..269b72217 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -165,8 +165,10 @@ $(document).ready( function() { { command: 'addtoclipboard', type: type, id: id }, function(data) { if(data.success) { - $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') - $("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') +// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') + $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') + //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') + $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: attr_msg, type: 'success', @@ -200,8 +202,10 @@ $(document).ready( function() { { command: 'removefromclipboard', type: type, id: id }, function(data) { if(data.success) { - $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') - $("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') +// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') + $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') + //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') + $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: attr_msg, type: 'success', @@ -234,7 +238,8 @@ $(document).ready( function() { { command: 'tooglelockdocument', id: id }, function(data) { if(data.success) { - $("#table-row-document-"+id).html('Loading').load('../op/op.Ajax.php?command=view&view=documentlistrow&id='+id) + //$("#table-row-document-"+id).html('Loading').load('../op/op.Ajax.php?command=view&view=documentlistrow&id='+id) + $("#table-row-document-"+id).html('Loading').load('../out/out.ViewDocument.php?action=documentlistitem&documentid='+id) noty({ text: attr_msg, type: 'success', @@ -450,8 +455,10 @@ $(document).ready( function() { success: function(data){ if(data.success) { if(element.data('param1') == 'command=clearclipboard') { - $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') - $("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') +// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') + $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') + //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') + $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') } noty({ text: data.message, @@ -493,8 +500,10 @@ function onAddClipboard(ev) { /* {{{ */ { command: 'addtoclipboard', type: source_type, id: source_id }, function(data) { if(data.success) { - $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') - $("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') +// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') + $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') + //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') + $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: data.message, type: 'success', From 5af8ab01c05a90f85f67c05d5bbca40c7d555727 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Mar 2017 20:09:08 +0100 Subject: [PATCH 040/212] put documentListItem, menuClipboard and mainClipboard into own view --- views/bootstrap/class.Bootstrap.php | 142 +--------------------------- 1 file changed, 4 insertions(+), 138 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 702253bc6..e55045362 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -172,21 +172,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } } /* }}} */ - function documentListItem() { /* {{{ */ - $dms = $this->params['dms']; - $user = $this->params['user']; - $previewwidth = $this->params['previewWidthList']; - $cachedir = $this->params['cachedir']; - $document = $dms->getDocument($_GET['id']); - if($document) { - if ($document->getAccessMode($user) >= M_READ) { - $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); - $content = $this->documentListRow($document, $previewer, true); - echo $content; - } - } - } /* }}} */ - function missingLanguageKeys() { /* {{{ */ global $MISSING_LANG, $LANG; if($MISSING_LANG) { @@ -247,45 +232,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo "
    \n"; } /* }}} */ - /** - * Returns the html needed for the clipboard list in the menu - * - * This function renders the clipboard in a way suitable to be - * used as a menu - * - * @param array $clipboard clipboard containing two arrays for both - * documents and folders. - * @return string html code - */ - function menuClipboard($clipboard) { /* {{{ */ - if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) { - return ''; - } - $content = ''; - $content .= " \n"; - return $content; - } /* }}} */ - function globalNavigation($folder=null) { /* {{{ */ $dms = $this->params['dms']; echo "
    \n"; @@ -355,7 +301,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if($this->params['enableclipboard']) { echo "
    "; - echo $this->menuClipboard($this->params['session']->getClipboard()); + echo "
    "; echo "
    "; } @@ -1513,88 +1459,6 @@ $(function() { } } /* }}} */ - /** - * Return clipboard content rendered as html - * - * @param array clipboard - * @return string rendered html content - */ - function mainClipboard($clipboard, $previewer){ /* {{{ */ - $dms = $this->params['dms']; - $content = ''; - $foldercount = $doccount = 0; - if($clipboard['folders']) { - foreach($clipboard['folders'] as $folderid) { - /* FIXME: check for access rights, which could have changed after adding the folder to the clipboard */ - if($folder = $dms->getFolder($folderid)) { - $comment = $folder->getComment(); - if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; - $content .= "getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; - $content .= "getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>\n"; - $content .= "getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; - if($comment) { - $content .= "
    ".htmlspecialchars($comment).""; - } - $content .= "\n"; - $content .= "\n"; - $content .= ""; - $content .= "\n"; - $content .= "\n"; - $foldercount++; - } - } - } - if($clipboard['docs']) { - foreach($clipboard['docs'] as $docid) { - /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ - if($document = $dms->getDocument($docid)) { - $comment = $document->getComment(); - if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; - if($latestContent = $document->getLatestContent()) { - $previewer->createPreview($latestContent); - $version = $latestContent->getVersion(); - $status = $latestContent->getStatus(); - - $content .= ""; - - if (file_exists($dms->contentDir . $latestContent->getPath())) { - $content .= ""; - if($previewer->hasPreview($latestContent)) { - $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } - $content .= ""; - } else - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - - $content .= "" . htmlspecialchars($document->getName()) . ""; - if($comment) { - $content .= "
    ".htmlspecialchars($comment).""; - } - $content .= "\n"; - $content .= "\n"; - $content .= ""; - $content .= "\n"; - $content .= ""; - $doccount++; - } - } - } - } - - /* $foldercount or $doccount will only count objects which are - * actually available - */ - if($foldercount || $doccount) { - $content = "".$content; - $content .= "
    "; - } else { - } - $content .= "
    ".getMLText("drag_icon_here")."
    "; - return $content; - } /* }}} */ - /** * Print clipboard in div container * @@ -1603,7 +1467,9 @@ $(function() { function printClipboard($clipboard, $previewer){ /* {{{ */ $this->contentHeading(getMLText("clipboard"), true); echo "
    \n"; - echo $this->mainClipboard($clipboard, $previewer); +?> +
    +\n"; } /* }}} */ From f62a793067af0ec4825d25510d9bd88e0a01e021 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 13 Mar 2017 17:48:02 +0100 Subject: [PATCH 041/212] add more phrases for download links --- 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 | 11 +++++++++++ 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 | 11 +++++++++++ languages/zh_TW/lang.inc | 11 +++++++++++ 24 files changed, 266 insertions(+), 2 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 3e0626a18..b2837fa9a 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -449,6 +449,14 @@ URL: [url]', 'expired' => 'انتهى صلاحيته', 'expired_at_date' => '', 'expires' => 'تنتهى صلاحيته', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية', 'expiry_changed_email_body' => 'تم تغيير تاريخ الصلاحية المستند: [name] @@ -809,6 +817,7 @@ URL: [url]', 'personal_default_keywords' => 'قوائم الكلمات البحثية الشخصية', 'pl_PL' => 'ﺎﻠﺑﻮﻠﻧﺪﻳﺓ', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1345,6 +1354,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1356,6 +1366,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'تم حذف المستند', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'تم حذف المجلد', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 172bb25de..e8cca8ac0 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -404,6 +404,14 @@ $text = array( 'expired' => 'Изтекъл', 'expired_at_date' => '', 'expires' => 'Изтича', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Датата на изтичане променена', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -710,6 +718,7 @@ $text = array( 'personal_default_keywords' => 'Личен списък с ключови думи', 'pl_PL' => '', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1210,6 +1219,7 @@ $text = array( 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1221,6 +1231,7 @@ $text = array( 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '', +'splash_rm_download_link' => '', 'splash_rm_folder' => '', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 6b9f3ca1d..8904756c5 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -409,6 +409,14 @@ URL: [url]', 'expired' => 'Caducat', 'expired_at_date' => '', 'expires' => 'Caduca', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Data de caducitat modificada', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -715,6 +723,7 @@ URL: [url]', 'personal_default_keywords' => 'Mots clau personals', 'pl_PL' => 'Polonès', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1215,6 +1224,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1226,6 +1236,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'Document esborrat', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Carpeta esborrada', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 70d921d12..24a5836a4 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -456,6 +456,14 @@ URL: [url]', 'expired' => 'Platnost vypršela', 'expired_at_date' => '', 'expires' => 'Platnost vyprší', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Datum expirace změněno', 'expiry_changed_email_body' => 'Datum ukončení platnosti změněn Dokument: [name] @@ -820,6 +828,7 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'personal_default_keywords' => 'Osobní klíčová slova', 'pl_PL' => 'Polština', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1354,6 +1363,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Uživatel uložen', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Změny složky uloženy', 'splash_importfs' => '', @@ -1365,6 +1375,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Odstraněno ze schránky', 'splash_rm_attribute' => 'Atribut odstraněn', 'splash_rm_document' => 'Dokument odstraněn', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Složka smazána', 'splash_rm_group' => 'Skupina odstraněna', 'splash_rm_group_member' => 'Člen skupiny odstraněn', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index f4c0a386d..bd24353cd 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 (2389), dgrutsch (22) +// Translators: Admin (2400), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -465,6 +465,14 @@ Der Link ist bis zum [valid] gültig.', 'expired' => 'abgelaufen', 'expired_at_date' => 'Abgelaufen am [datetime]', 'expires' => 'Ablaufdatum', +'expires_today' => 'Ablauf heute', +'expires_tomorrow' => 'Ablauf morgen', +'expire_by_date' => 'Ablauf nach Datum', +'expire_in_1d' => 'Ablauf in 1 Tag', +'expire_in_1h' => 'Ablauf in 1 Std.', +'expire_in_1m' => 'Ablauf in 1 Monat', +'expire_in_1w' => 'Ablauf in 1 Woche', +'expire_in_2h' => 'Ablauf in 2 Std.', 'expiry_changed_email' => 'Ablaufdatum geändert', 'expiry_changed_email_body' => 'Ablaufdatum geändert Dokument: [name] @@ -832,6 +840,7 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren 'personal_default_keywords' => 'Persönliche Stichwortlisten', 'pl_PL' => 'Polnisch', 'possible_substitutes' => 'Vertreter', +'preset_expires' => 'Fester Ablaufzeitpunkt', 'preview' => 'Vorschau', 'preview_converters' => 'Vorschau Dokumentenumwandlung', 'preview_images' => 'Vorschaubilder', @@ -1408,6 +1417,7 @@ URL: [url]', 'splash_edit_role' => 'Rolle gespeichert', 'splash_edit_user' => 'Benutzer gespeichert', 'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste', +'splash_error_rm_download_link' => 'Fehler beim Löschen des Download-Links', 'splash_error_send_download_link' => 'Fehler beim Verschicken des Download-Links', 'splash_folder_edited' => 'Änderungen am Ordner gespeichert', 'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert', @@ -1419,6 +1429,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Aus der Zwischenablage entfernt', 'splash_rm_attribute' => 'Attribut gelöscht', 'splash_rm_document' => 'Dokument gelöscht', +'splash_rm_download_link' => 'Download-Link gelöscht', 'splash_rm_folder' => 'Ordner gelöscht', 'splash_rm_group' => 'Gruppe gelöscht', 'splash_rm_group_member' => 'Mitglied der Gruppe gelöscht', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index f6ed93209..fd1a3b179 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -404,6 +404,14 @@ $text = array( 'expired' => 'Έχει λήξει', 'expired_at_date' => '', 'expires' => 'Λήγει', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Η ημερομηνία λήξης έχει αλλάξει', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -721,6 +729,7 @@ URL: [url]', 'personal_default_keywords' => '', 'pl_PL' => '', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1221,6 +1230,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1232,6 +1242,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '', +'splash_rm_download_link' => '', 'splash_rm_folder' => '', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 2be4334c7..e9489c6fa 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 (1517), dgrutsch (9), netixw (14) +// Translators: Admin (1528), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -466,6 +466,14 @@ The link is valid until [valid].', 'expired' => 'Expired', 'expired_at_date' => 'Expired at [datetime]', 'expires' => 'Expires', +'expires_today' => 'Expires today', +'expires_tomorrow' => 'Expires tomorrow', +'expire_by_date' => 'Expires by date', +'expire_in_1d' => 'Expires in 1 day', +'expire_in_1h' => 'Expires in 1h', +'expire_in_1m' => 'Expires in 1 month', +'expire_in_1w' => 'Expires in 1 week', +'expire_in_2h' => 'Expires in 2h', 'expiry_changed_email' => 'Expiry date changed', 'expiry_changed_email_body' => 'Expiry date changed Document: [name] @@ -834,6 +842,7 @@ If you have still problems to login, then please contact your administrator.', 'personal_default_keywords' => 'Personal keywordlists', 'pl_PL' => 'Polish', 'possible_substitutes' => 'Substitutes', +'preset_expires' => 'Preset expiration', 'preview' => 'Preview', 'preview_converters' => 'Preview document conversion', 'preview_images' => 'Preview images', @@ -1403,6 +1412,7 @@ URL: [url]', 'splash_edit_role' => 'Role saved', 'splash_edit_user' => 'User saved', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', +'splash_error_rm_download_link' => 'Error when removing download link', 'splash_error_send_download_link' => 'Error while sending download link', 'splash_folder_edited' => 'Save folder changes', 'splash_importfs' => 'Imported [docs] documents and [folders] folders', @@ -1414,6 +1424,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Removed from clipboard', 'splash_rm_attribute' => 'Attribute removed', 'splash_rm_document' => 'Document removed', +'splash_rm_download_link' => 'Removed download link', 'splash_rm_folder' => 'Folder deleted', 'splash_rm_group' => 'Group removed', 'splash_rm_group_member' => 'Member of group removed', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 86df22cc0..5c86e828e 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -456,6 +456,14 @@ URL: [url]', 'expired' => 'Caducado', 'expired_at_date' => '', 'expires' => 'Caduca', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Fecha de caducidad modificada', 'expiry_changed_email_body' => 'Fecha de caducidad modificada Documento: [name] @@ -824,6 +832,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'personal_default_keywords' => 'Listas de palabras clave personales', 'pl_PL' => 'Polaco', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1360,6 +1369,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuario guardado', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Cambios a la carpeta guardados', 'splash_importfs' => '', @@ -1371,6 +1381,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Eliminado del portapapeles', 'splash_rm_attribute' => 'Atributo eliminado', 'splash_rm_document' => 'Documento eliminado', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Carpeta eliminada', 'splash_rm_group' => 'Grupo eliminado', 'splash_rm_group_member' => 'Miembro eliminado del grupo', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index f04a0793a..b314f1f60 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -461,6 +461,14 @@ URL: [url]', 'expired' => 'Expiré', 'expired_at_date' => '', 'expires' => 'Expiration', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Date d\'expiration modifiée', 'expiry_changed_email_body' => 'Date d\'expiration modifiée Document : [name] @@ -827,6 +835,7 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'personal_default_keywords' => 'Mots-clés personnels', 'pl_PL' => 'Polonais', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => 'Aperçu', 'preview_converters' => '', 'preview_images' => 'Miniatures', @@ -1348,6 +1357,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Dossier modifié', 'splash_importfs' => '[docs] documents et [folders] dossiers importés', @@ -1359,6 +1369,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Enlevé du presse-papiers', 'splash_rm_attribute' => 'Attribut supprimé', 'splash_rm_document' => 'Document supprimé', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Dossier supprimé', 'splash_rm_group' => 'Groupe supprimé', 'splash_rm_group_member' => 'Membre retiré du groupe', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 389b582fe..f6e5b3bb3 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -461,6 +461,14 @@ Internet poveznica: [url]', 'expired' => 'Isteklo', 'expired_at_date' => '', 'expires' => 'Datum isteka', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Promijenjen datum isteka', 'expiry_changed_email_body' => 'Promijenjen datum isteka Dokument: [name] @@ -828,6 +836,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'personal_default_keywords' => 'Osobni popis ključnih riječi', 'pl_PL' => 'Poljski', 'possible_substitutes' => 'Zamjene', +'preset_expires' => '', 'preview' => 'Predpregled', 'preview_converters' => 'Pretpregled konverzije dokumenta', 'preview_images' => '', @@ -1381,6 +1390,7 @@ Internet poveznica: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Korisnik pohranjen', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Pohrani izmjene mape', 'splash_importfs' => '', @@ -1392,6 +1402,7 @@ Internet poveznica: [url]', 'splash_removed_from_clipboard' => 'Uklonjeno iz međuspremnika', 'splash_rm_attribute' => 'Atribut uklonjen', 'splash_rm_document' => 'Dokument uklonjen', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Mapa izbrisana', 'splash_rm_group' => 'Grupa uklonjena', 'splash_rm_group_member' => 'Član grupe uklonjen', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 35a8094a0..0ebee6cab 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -456,6 +456,14 @@ URL: [url]', 'expired' => 'Lejárt', 'expired_at_date' => '', 'expires' => 'Lejárat', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Lejárati dátum módosítva', 'expiry_changed_email_body' => 'Lejárati dátum módosult Dokumentum: [name] @@ -824,6 +832,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'personal_default_keywords' => 'Személyes kulcsszó lista', 'pl_PL' => 'Lengyel', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => 'Előnézet', 'preview_converters' => '', 'preview_images' => '', @@ -1359,6 +1368,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Felhasználó mentve', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Mappa változásainak mentése', 'splash_importfs' => '', @@ -1370,6 +1380,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Eltávolítva a vágólapról', 'splash_rm_attribute' => 'Jellemző eltávolítva', 'splash_rm_document' => 'Dokumentum eltávolítva', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Mappa törölve', 'splash_rm_group' => 'Csoport eltávolítva', 'splash_rm_group_member' => 'Csoporttag eltávolítva', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index bafa20d81..b0e077d50 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -462,6 +462,14 @@ URL: [url]', 'expired' => 'Scaduto', 'expired_at_date' => '', 'expires' => 'Scadenza', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Scadenza cambiata', 'expiry_changed_email_body' => 'Data di scadenza cambiata Documento: [name] @@ -830,6 +838,7 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'personal_default_keywords' => 'Parole-chiave personali', 'pl_PL' => 'Polacco', 'possible_substitutes' => 'Sostituti', +'preset_expires' => '', 'preview' => 'Anteprima', 'preview_converters' => 'Anteprima convesione documento', 'preview_images' => '', @@ -1393,6 +1402,7 @@ URL: [url]', 'splash_edit_role' => 'Ruolo memorizzata', 'splash_edit_user' => 'Utente modificato', 'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Cartella modificata', 'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]', @@ -1404,6 +1414,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Rimosso dagli appunti', 'splash_rm_attribute' => 'Attributo rimosso', 'splash_rm_document' => 'Documento rimosso', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Cartella eliminata', 'splash_rm_group' => 'Gruppo eliminato', 'splash_rm_group_member' => 'Membro del gruppo eliminato', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index e2c07b13a..d2cfe2517 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -461,6 +461,14 @@ URL: [url]', 'expired' => '만료', 'expired_at_date' => '', 'expires' => '만료', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => '유효 기간 변경', 'expiry_changed_email_body' => '유효 기간이 변경 문서: [name] @@ -821,6 +829,7 @@ URL : [url]', 'personal_default_keywords' => '개인 키워드 목록', 'pl_PL' => '폴란드어', 'possible_substitutes' => '대체', +'preset_expires' => '', 'preview' => '미리보기', 'preview_converters' => '문서 변환 미리보기', 'preview_images' => '', @@ -1374,6 +1383,7 @@ URL : [url]', 'splash_edit_role' => '', 'splash_edit_user' => '사용자 저장', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '저장 폴더 변경', 'splash_importfs' => '', @@ -1385,6 +1395,7 @@ URL : [url]', 'splash_removed_from_clipboard' => '클립 보드에서 제거', 'splash_rm_attribute' => '속성 제거', 'splash_rm_document' => '문서 삭제', +'splash_rm_download_link' => '', 'splash_rm_folder' => '폴더 삭제', 'splash_rm_group' => '그룹 제거', 'splash_rm_group_member' => '회원 그룹 제거', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 4659cb448..5de253f90 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -454,6 +454,14 @@ URL: [url]', 'expired' => 'Verlopen', 'expired_at_date' => '', 'expires' => 'Verloopt', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Verloopdatum gewijzigd', 'expiry_changed_email_body' => 'Vervaldatum gewijzigd Document: [name] @@ -822,6 +830,7 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'personal_default_keywords' => 'Persoonlijke sleutelwoorden', 'pl_PL' => 'Polen', 'possible_substitutes' => 'Mogelijke alternatieven', +'preset_expires' => '', 'preview' => 'Voorbeeld', 'preview_converters' => 'Converters', 'preview_images' => '', @@ -1387,6 +1396,7 @@ URL: [url]', 'splash_edit_role' => 'Rol opgeslagen', 'splash_edit_user' => 'Gebruiker opgeslagen', 'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Opslaan mapwijzigingen', 'splash_importfs' => '', @@ -1398,6 +1408,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Verwijderd van het klembord', 'splash_rm_attribute' => 'Attribuut verwijderd', 'splash_rm_document' => 'Document verwijderd', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Map verwijderd', 'splash_rm_group' => 'Groep verwijderd', 'splash_rm_group_member' => 'Lid van de groep verwijderd', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 524b52464..8a8f4a9f2 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -449,6 +449,14 @@ URL: [url]', 'expired' => 'Wygasłe', 'expired_at_date' => '', 'expires' => 'Wygasa', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Zmieniona data wygaśnięcia', 'expiry_changed_email_body' => 'Zmiana daty wygaśnięcia Dokument: [name] @@ -817,6 +825,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'personal_default_keywords' => 'Osobiste sława kluczowe', 'pl_PL' => 'Polski', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1339,6 +1348,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Zapisano użytkownika', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Zapisz zmiany folderu', 'splash_importfs' => '', @@ -1350,6 +1360,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Usunięto ze schowka', 'splash_rm_attribute' => 'Usunięto atrybut', 'splash_rm_document' => 'Dokument usunięto', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Folder usunięty', 'splash_rm_group' => 'Grupę usunięto', 'splash_rm_group_member' => 'Usunięto członka grupy', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index a664ad848..00e27c074 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -455,6 +455,14 @@ URL: [url]', 'expired' => 'Expirado', 'expired_at_date' => '', 'expires' => 'Expira', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Data de validade mudou', 'expiry_changed_email_body' => 'Data de validade mudou Documento: [name] @@ -822,6 +830,7 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'personal_default_keywords' => 'palavras-chave pessoais', 'pl_PL' => 'Polonês', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => 'visualizar', 'preview_converters' => '', 'preview_images' => '', @@ -1357,6 +1366,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuário salvo', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Salvar modificação de pastas', 'splash_importfs' => '', @@ -1368,6 +1378,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Remover da área de transferência', 'splash_rm_attribute' => 'Atributo removido', 'splash_rm_document' => 'Documento removido', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Pasta excluida', 'splash_rm_group' => 'Grupo removido', 'splash_rm_group_member' => 'Membro do grupo removido', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index df2d9b43e..a965af84e 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -461,6 +461,14 @@ URL: [url]', 'expired' => 'Expirat', 'expired_at_date' => '', 'expires' => 'Expiră', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Data de expirare schimbată', 'expiry_changed_email_body' => 'Data de expirare schimbată Document: [name] @@ -829,6 +837,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'personal_default_keywords' => 'Liste de cuvinte cheie personale', 'pl_PL' => 'Poloneză', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1382,6 +1391,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilizator salvat', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Salvați modificările folderului', 'splash_importfs' => '', @@ -1393,6 +1403,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Eliminat din clipboard', 'splash_rm_attribute' => 'Atribut eliminat', 'splash_rm_document' => 'Document eliminat', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Folder șters', 'splash_rm_group' => 'Grup eliminat', 'splash_rm_group_member' => 'Membru grup eliminat', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 25117fb27..330ee2bb1 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -461,6 +461,14 @@ URL: [url]', 'expired' => 'Срок действия вышел', 'expired_at_date' => '', 'expires' => 'Срок действия', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Срок действия изменен', 'expiry_changed_email_body' => 'Срок действия изменен Документ: [name] @@ -826,6 +834,7 @@ URL: [url]', 'personal_default_keywords' => 'Личный список меток', 'pl_PL' => 'Polish', 'possible_substitutes' => 'Замена', +'preset_expires' => '', 'preview' => 'Предварительный просмотр', 'preview_converters' => 'Предварительный просмотр конвертации документа', 'preview_images' => '', @@ -1389,6 +1398,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Пользователь сохранён', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Изменения каталога сохранены', 'splash_importfs' => '', @@ -1400,6 +1410,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Удалён из буфера обмена', 'splash_rm_attribute' => 'Атрибут удалён', 'splash_rm_document' => 'Документ удалён', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Папка удалена', 'splash_rm_group' => 'Группа удалена', 'splash_rm_group_member' => 'Удалён член группы', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 81566f2bf..1c96a6b76 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -408,6 +408,14 @@ URL: [url]', 'expired' => 'Platnosť vypršala', 'expired_at_date' => '', 'expires' => 'Platnosť vyprší', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Datum platnosti zmeneny', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -714,6 +722,7 @@ URL: [url]', 'personal_default_keywords' => 'Osobné kľúčové slová', 'pl_PL' => 'Polština', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1214,6 +1223,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1225,6 +1235,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'Dokument odstránený', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Zložka zmazaná', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 5e4a6dca4..49213f7d5 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -449,6 +449,14 @@ URL: [url]', 'expired' => 'Har gått ut', 'expired_at_date' => '', 'expires' => 'Kommer att gå ut', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Utgångsdatum ändrat', 'expiry_changed_email_body' => 'Utgångsdatum ändrat Dokument: [name] @@ -809,6 +817,7 @@ URL: [url]', 'personal_default_keywords' => 'Personlig nyckelordslista', 'pl_PL' => 'polska', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1345,6 +1354,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Användare sparat', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Spara katalog ändringar', 'splash_importfs' => '', @@ -1356,6 +1366,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Borttagen från urklipp', 'splash_rm_attribute' => 'Attribut har tagits bort', 'splash_rm_document' => 'Dokument borttaget', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Mapp raderad', 'splash_rm_group' => 'Grupp har tagits bort', 'splash_rm_group_member' => 'Gruppmedlem har tagits bort', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 59f9cd02d..d2c97e51c 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -455,6 +455,14 @@ URL: [url]', 'expired' => 'Süresi doldu', 'expired_at_date' => '', 'expires' => 'Süresinin dolacağı zaman', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti', 'expiry_changed_email_body' => 'Bitiş tarihi değişti Doküman: [name] @@ -825,6 +833,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'personal_default_keywords' => 'Kişisel anahtar kelimeler', 'pl_PL' => 'Polonyaca', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => 'Önizle', 'preview_converters' => '', 'preview_images' => '', @@ -1361,6 +1370,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Kullanıcı kaydedildi', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi', 'splash_importfs' => '', @@ -1372,6 +1382,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Panodan silindi', 'splash_rm_attribute' => 'Nitelik silindi', 'splash_rm_document' => 'Doküman silindi', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Klasör silindi', 'splash_rm_group' => 'Grup silindi', 'splash_rm_group_member' => 'Grup üyesi silindi', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 8040f938b..5a48482aa 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -461,6 +461,14 @@ URL: [url]', 'expired' => 'Термін виконання вийшов', 'expired_at_date' => '', 'expires' => 'Термін виконання виходить', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => 'Дату терміну виконання змінено', 'expiry_changed_email_body' => 'Змінено дату терміну виконання Документ: [name] @@ -826,6 +834,7 @@ URL: [url]', 'personal_default_keywords' => 'Особистий список ключових слів', 'pl_PL' => 'Polish', 'possible_substitutes' => 'Підстановки', +'preset_expires' => '', 'preview' => 'Попередній перегляд', 'preview_converters' => 'Попередній перегляд перетворення документу', 'preview_images' => '', @@ -1382,6 +1391,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Користувача збережено', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => 'Зміни каталогу збережено', 'splash_importfs' => '', @@ -1393,6 +1403,7 @@ URL: [url]', 'splash_removed_from_clipboard' => 'Видалити з буферу обміну', 'splash_rm_attribute' => 'Атрибут видалено', 'splash_rm_document' => 'Документ видалено', +'splash_rm_download_link' => '', 'splash_rm_folder' => 'Папку видалено', 'splash_rm_group' => 'Групу видалено', 'splash_rm_group_member' => 'Члена групи видалено', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 166adc18c..57cd087a8 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -410,6 +410,14 @@ URL: [url]', 'expired' => '过期', 'expired_at_date' => '', 'expires' => '有效限期', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => '到期日子已改变', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -716,6 +724,7 @@ URL: [url]', 'personal_default_keywords' => '用户关键字', 'pl_PL' => '波兰语', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '预览', 'preview_converters' => '', 'preview_images' => '', @@ -1216,6 +1225,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1227,6 +1237,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '已从剪切板删除', 'splash_rm_attribute' => '', 'splash_rm_document' => '文档已被移除', +'splash_rm_download_link' => '', 'splash_rm_folder' => '已删除的文件夹', 'splash_rm_group' => '', 'splash_rm_group_member' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 1603e8364..0a032e49b 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -408,6 +408,14 @@ URL: [url]', 'expired' => '過期', 'expired_at_date' => '', 'expires' => '有效限期', +'expires_today' => '', +'expires_tomorrow' => '', +'expire_by_date' => '', +'expire_in_1d' => '', +'expire_in_1h' => '', +'expire_in_1m' => '', +'expire_in_1w' => '', +'expire_in_2h' => '', 'expiry_changed_email' => '到期日子已改變', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -714,6 +722,7 @@ URL: [url]', 'personal_default_keywords' => '用戶關鍵字', 'pl_PL' => '波蘭語', 'possible_substitutes' => '', +'preset_expires' => '', 'preview' => '', 'preview_converters' => '', 'preview_images' => '', @@ -1214,6 +1223,7 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', +'splash_error_rm_download_link' => '', 'splash_error_send_download_link' => '', 'splash_folder_edited' => '', 'splash_importfs' => '', @@ -1225,6 +1235,7 @@ URL: [url]', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '文檔已被移除', +'splash_rm_download_link' => '', 'splash_rm_folder' => '已刪除的資料夾', 'splash_rm_group' => '', 'splash_rm_group_member' => '', From a79b43557f59a050a0f5f9b67f599d7d3c0e7fdb Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 14 Mar 2017 06:38:40 +0100 Subject: [PATCH 042/212] add hook folderListSeparator --- views/bootstrap/class.ViewFolder.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 4027dfee6..93b72ef05 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -310,6 +310,10 @@ function folderSelected(id, name) { } } + $txt = $this->callHook('folderListSeparator', $folder); + if(is_string($txt)) + echo $txt; + foreach($documents as $document) { $document->verifyLastestContentExpriry(); $txt = $this->callHook('documentListItem', $document, $previewer, 'viewfolder'); From 6af5de2f52bd64d315a05c4b3f32f4c58acbb289 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 14 Mar 2017 06:52:37 +0100 Subject: [PATCH 043/212] call hook folderListSeparator only if documents and folders exist --- views/bootstrap/class.ViewFolder.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 93b72ef05..f2388c7a1 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -310,9 +310,11 @@ function folderSelected(id, name) { } } - $txt = $this->callHook('folderListSeparator', $folder); - if(is_string($txt)) - echo $txt; + if($subFolders && $documents) { + $txt = $this->callHook('folderListSeparator', $folder); + if(is_string($txt)) + echo $txt; + } foreach($documents as $document) { $document->verifyLastestContentExpriry(); From bb0c476a467be55aa5378b4687c8a4ab6d5bd674 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:12:19 +0100 Subject: [PATCH 044/212] add svg replacements --- views/bootstrap/images/audio.svg | 1 + views/bootstrap/images/executable.svg | 194 ++++ views/bootstrap/images/folder.svg | 287 +++++ views/bootstrap/images/image.svg | 434 +++++++ views/bootstrap/images/office-document.svg | 740 ++++++++++++ views/bootstrap/images/office-drawing.svg | 1 + .../bootstrap/images/office-presentation.svg | 686 +++++++++++ views/bootstrap/images/office-spreadsheet.svg | 972 ++++++++++++++++ views/bootstrap/images/package.svg | 356 ++++++ views/bootstrap/images/text-x-preview.svg | 454 ++++++++ views/bootstrap/images/video.svg | 1 + views/bootstrap/images/web.svg | 1015 +++++++++++++++++ 12 files changed, 5141 insertions(+) create mode 100644 views/bootstrap/images/audio.svg create mode 100644 views/bootstrap/images/executable.svg create mode 100644 views/bootstrap/images/folder.svg create mode 100644 views/bootstrap/images/image.svg create mode 100644 views/bootstrap/images/office-document.svg create mode 100644 views/bootstrap/images/office-drawing.svg create mode 100644 views/bootstrap/images/office-presentation.svg create mode 100644 views/bootstrap/images/office-spreadsheet.svg create mode 100644 views/bootstrap/images/package.svg create mode 100644 views/bootstrap/images/text-x-preview.svg create mode 100644 views/bootstrap/images/video.svg create mode 100644 views/bootstrap/images/web.svg diff --git a/views/bootstrap/images/audio.svg b/views/bootstrap/images/audio.svg new file mode 100644 index 000000000..31cc0e30f --- /dev/null +++ b/views/bootstrap/images/audio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/views/bootstrap/images/executable.svg b/views/bootstrap/images/executable.svg new file mode 100644 index 000000000..c7c5b9841 --- /dev/null +++ b/views/bootstrap/images/executable.svg @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Executable + + + Jakub Steiner + + + http://jimmac.musichall.cz/ + + + executable + program + binary + bin + script + shell + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/folder.svg b/views/bootstrap/images/folder.svg new file mode 100644 index 000000000..78976e25c --- /dev/null +++ b/views/bootstrap/images/folder.svg @@ -0,0 +1,287 @@ + + + + + + + image/svg+xml + + Folder + + + Jakub Steiner + + + 2005-02-01 + + http://jimmac.musichall.cz/ + + + folder + directory + storage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/image.svg b/views/bootstrap/images/image.svg new file mode 100644 index 000000000..9e92eeba5 --- /dev/null +++ b/views/bootstrap/images/image.svg @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Generic Image + + + Lapo Calamandrei + + + http://www.gnome.org + + + Jakub Steiner, Andreas Nilsson + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/office-document.svg b/views/bootstrap/images/office-document.svg new file mode 100644 index 000000000..420e1fec1 --- /dev/null +++ b/views/bootstrap/images/office-document.svg @@ -0,0 +1,740 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Rich Text + + + rich + text + document + office + word + write + + + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/office-drawing.svg b/views/bootstrap/images/office-drawing.svg new file mode 100644 index 000000000..a2ae0f680 --- /dev/null +++ b/views/bootstrap/images/office-drawing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/views/bootstrap/images/office-presentation.svg b/views/bootstrap/images/office-presentation.svg new file mode 100644 index 000000000..8ded5a238 --- /dev/null +++ b/views/bootstrap/images/office-presentation.svg @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + Presentation + + + Based of Hylke Bons Work + + + + + + presentation + slides + powerpoint + spreadsheet + impress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/office-spreadsheet.svg b/views/bootstrap/images/office-spreadsheet.svg new file mode 100644 index 000000000..e486e3702 --- /dev/null +++ b/views/bootstrap/images/office-spreadsheet.svg @@ -0,0 +1,972 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Office Spreadsheet + + + spreadsheet + excel + gnumeric + opencalc + office + + + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/package.svg b/views/bootstrap/images/package.svg new file mode 100644 index 000000000..73a17b7e2 --- /dev/null +++ b/views/bootstrap/images/package.svg @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Package + + + Jakub Steiner + + + http://jimmac.musichall.cz/ + + + package + archive + tarball + tar + bzip + gzip + zip + arj + tar + jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/text-x-preview.svg b/views/bootstrap/images/text-x-preview.svg new file mode 100644 index 000000000..909c970d0 --- /dev/null +++ b/views/bootstrap/images/text-x-preview.svg @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Text Preview + + + text + plaintext + regular + document + + + + + + Lapo Calamandrei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/views/bootstrap/images/video.svg b/views/bootstrap/images/video.svg new file mode 100644 index 000000000..fb22e197a --- /dev/null +++ b/views/bootstrap/images/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/views/bootstrap/images/web.svg b/views/bootstrap/images/web.svg new file mode 100644 index 000000000..4c7c3098e --- /dev/null +++ b/views/bootstrap/images/web.svg @@ -0,0 +1,1015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + Web Browser + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9fad3765e332efd0585f0732c251acc72e970a54 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:13:09 +0100 Subject: [PATCH 045/212] replace png by svg icons and scale them to previewwidth --- views/bootstrap/class.Bootstrap.php | 236 +++++++++++++++------------- 1 file changed, 129 insertions(+), 107 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index a371f2137..38a103611 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -746,74 +746,74 @@ background-image: linear-gradient(to bottom, #882222, #111111);; function getMimeIcon($fileType) { /* {{{ */ // for extension use LOWER CASE only $icons = array(); - $icons["txt"] = "txt.png"; - $icons["text"] = "txt.png"; - $icons["doc"] = "word.png"; - $icons["dot"] = "word.png"; - $icons["docx"] = "word.png"; - $icons["dotx"] = "word.png"; - $icons["rtf"] = "document.png"; - $icons["xls"] = "excel.png"; - $icons["xlt"] = "excel.png"; - $icons["xlsx"] = "excel.png"; - $icons["xltx"] = "excel.png"; - $icons["ppt"] = "powerpoint.png"; - $icons["pot"] = "powerpoint.png"; - $icons["pptx"] = "powerpoint.png"; - $icons["potx"] = "powerpoint.png"; - $icons["exe"] = "binary.png"; - $icons["html"] = "html.png"; - $icons["htm"] = "html.png"; - $icons["gif"] = "image.png"; - $icons["jpg"] = "image.png"; - $icons["jpeg"] = "image.png"; - $icons["bmp"] = "image.png"; - $icons["png"] = "image.png"; - $icons["tif"] = "image.png"; - $icons["tiff"] = "image.png"; + $icons["txt"] = "text-x-preview.svg"; + $icons["text"] = "text-x-preview.svg"; + $icons["doc"] = "office-document.svg"; + $icons["dot"] = "office-document.svg"; + $icons["docx"] = "office-document.svg"; + $icons["dotx"] = "office-document.svg"; + $icons["rtf"] = "office-document.svg"; + $icons["xls"] = "office-spreadsheet.svg"; + $icons["xlt"] = "office-spreadsheet.svg"; + $icons["xlsx"] = "office-spreadsheet.svg"; + $icons["xltx"] = "office-spreadsheet.svg"; + $icons["ppt"] = "office-presentation.svg"; + $icons["pot"] = "office-presentation.svg"; + $icons["pptx"] = "office-presentation.svg"; + $icons["potx"] = "office-presentation.svg"; + $icons["exe"] = "executable.svg"; + $icons["html"] = "web.svg"; + $icons["htm"] = "web.svg"; + $icons["gif"] = "image.svg"; + $icons["jpg"] = "image.svg"; + $icons["jpeg"] = "image.svg"; + $icons["bmp"] = "image.svg"; + $icons["png"] = "image.svg"; + $icons["tif"] = "image.svg"; + $icons["tiff"] = "image.svg"; $icons["log"] = "log.png"; - $icons["midi"] = "midi.png"; + $icons["midi"] = "audio.svg"; $icons["pdf"] = "pdf.png"; - $icons["wav"] = "sound.png"; - $icons["mp3"] = "sound.png"; + $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["tar"] = "tar.png"; + $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["zip"] = "gz.png"; + $icons["zip"] = "package.svg"; $icons["rar"] = "gz.png"; - $icons["mpg"] = "video.png"; - $icons["avi"] = "video.png"; + $icons["mpg"] = "video.svg"; + $icons["avi"] = "video.svg"; $icons["tex"] = "tex.png"; - $icons["ods"] = "x-office-spreadsheet.png"; - $icons["ots"] = "x-office-spreadsheet.png"; - $icons["sxc"] = "x-office-spreadsheet.png"; - $icons["stc"] = "x-office-spreadsheet.png"; - $icons["odt"] = "x-office-document.png"; - $icons["ott"] = "x-office-document.png"; - $icons["sxw"] = "x-office-document.png"; - $icons["stw"] = "x-office-document.png"; - $icons["odp"] = "ooo_presentation.png"; - $icons["otp"] = "ooo_presentation.png"; - $icons["sxi"] = "ooo_presentation.png"; - $icons["sti"] = "ooo_presentation.png"; - $icons["odg"] = "ooo_drawing.png"; - $icons["otg"] = "ooo_drawing.png"; - $icons["sxd"] = "ooo_drawing.png"; - $icons["std"] = "ooo_drawing.png"; + $icons["ods"] = "office-spreadsheet.svg"; + $icons["ots"] = "office-spreadsheet.svg"; + $icons["sxc"] = "office-spreadsheet.svg"; + $icons["stc"] = "office-spreadsheet.svg"; + $icons["odt"] = "office-document.svg"; + $icons["ott"] = "office-document.svg"; + $icons["sxw"] = "office-document.svg"; + $icons["stw"] = "office-document.svg"; + $icons["odp"] = "office-presentation.svg"; + $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["odf"] = "ooo_formula.png"; $icons["sxm"] = "ooo_formula.png"; $icons["smf"] = "ooo_formula.png"; $icons["mml"] = "ooo_formula.png"; - $icons["default"] = "default.png"; + $icons["default"] = "text-x-preview.svg"; //"default.png"; $ext = strtolower(substr($fileType, 1)); if (isset($icons[$ext])) { @@ -1406,7 +1406,7 @@ $(function() { $comment = $folder->getComment(); if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; $content .= "getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; - $content .= "getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>\n"; + $content .= "getID()."&showtree=".showtree()."\">imgpath."folder.svg\" width=\"24\" height=\"24\" border=0>\n"; $content .= "getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; if($comment) { $content .= "
    ".htmlspecialchars($comment).""; @@ -1829,11 +1829,11 @@ $(document).ready( function() { if($previewer->hasPreview($latestContent)) { $content .= "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } $content .= ""; } else - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "" . htmlspecialchars($document->getName()) . ""; $content .= "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $document->getDate()).", ".getMLText('version')." ".$version." - ".date('Y-m-d', $latestContent->getDate())."".($document->expires() ? ", ".getMLText('expires').": ".getReadableDate($document->getExpires())."" : "").""; @@ -1907,7 +1907,7 @@ $(document).ready( function() { $content = ''; $content .= "getID()."\" draggable=\"true\" rel=\"folder_".$subFolder->getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; // $content .= ""; - $content .= "getID()."\" draggable=\"false\" href=\"out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>\n"; + $content .= "getID()."\" draggable=\"false\" href=\"out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">imgpath."folder.svg\" width=\"24\" height=\"24\" border=0>\n"; $content .= "getID()."\" href=\"out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . ""; $content .= "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $subFolder->getDate()).""; if($comment) { @@ -2268,6 +2268,71 @@ mayscript> +
    +
    +
    +
    +
    +
    + +
    + +
    + + + +
      +
    • +
      +
      +
      + + + + + + +
    • +
    + +
    +
    + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    +
    + +'; + } /* }}} */ + /** * Output HTML Code for jumploader * @@ -2278,58 +2343,6 @@ mayscript> */ function printFineUploaderHtml() { /* {{{ */ ?> -
    @@ -2344,22 +2357,31 @@ mayscript> * @param integer $maxfiles maximum number of files allowed to upload * @param array $fields list of post fields */ - function printFineUploaderJs($uploadurl, $partsize=0, $multiple=true) { /* {{{ */ + function printFineUploaderJs($uploadurl, $partsize=0, $maxuploadsize=0, $multiple=true) { /* {{{ */ ?> $(document).ready(function() { manualuploader = new qq.FineUploader({ - debug: true, + debug: false, autoUpload: false, multiple: , element: $('#manual-fine-uploader')[0], + template: 'qq-template', request: { endpoint: '' }, + 0 ? ' + validation: { + sizeLimit: '.$maxuploadsize.' + }, +' : ''); ?> chunking: { enabled: true, mandatory: true }, + messages: { + sizeError: '{file} is too large, maximum file size is {sizeLimit}.' + }, callbacks: { onComplete: function(id, name, json, xhr) { }, From 2e3b9f474b46a4ea12797be1209a4cc9afbb2de2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:39:05 +0100 Subject: [PATCH 046/212] add maxUploadSize --- inc/inc.ClassSettings.php | 6 +++++- op/op.Settings.php | 1 + views/bootstrap/class.Settings.php | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index e1904fbc2..b2c59d635 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -162,8 +162,10 @@ class Settings { /* {{{ */ var $_logFileRotation = "d"; // Enable file upload by jumploader var $_enableLargeFileUpload = false; - // size of partitions for file upload by jumploader + // size of partitions for file uploaded by fine-loader var $_partitionSize = 2000000; + // max size of files uploaded by fine-uploader, set to 0 for unlimited + var $_maxUploadSize = 0; // enable/disable users images var $_enableUserImage = false; // enable/disable calendar @@ -440,6 +442,7 @@ class Settings { /* {{{ */ $this->_logFileRotation = strval($tab["logFileRotation"]); $this->_enableLargeFileUpload = Settings::boolVal($tab["enableLargeFileUpload"]); $this->_partitionSize = strval($tab["partitionSize"]); + $this->_maxUploadSize = strval($tab["maxUploadSize"]); // XML Path: /configuration/system/authentication $node = $xml->xpath('/configuration/system/authentication'); @@ -741,6 +744,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "logFileRotation", $this->_logFileRotation); $this->setXMLAttributValue($node, "enableLargeFileUpload", $this->_enableLargeFileUpload); $this->setXMLAttributValue($node, "partitionSize", $this->_partitionSize); + $this->setXMLAttributValue($node, "maxUploadSize", $this->_maxUploadSize); // XML Path: /configuration/system/authentication $node = $this->getXMLNode($xml, '/configuration/system', 'authentication'); diff --git a/op/op.Settings.php b/op/op.Settings.php index 238a8a807..37af021dd 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -110,6 +110,7 @@ if ($action == "saveSettings") $settings->_logFileRotation = $_POST["logFileRotation"]; $settings->_enableLargeFileUpload = getBoolValue("enableLargeFileUpload"); $settings->_partitionSize = $_POST["partitionSize"]; + $settings->_maxUploadSize = $_POST["maxUploadSize"]; // SETTINGS - SYSTEM - AUTHENTICATION $settings->_enableGuestLogin = getBoolValue("enableGuestLogin"); diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 7f6bd8428..7131f17fb 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -390,6 +390,10 @@ if(!is_writeable($settings->_configFilePath)) { : showTextField("partitionSize", $settings->_partitionSize); ?> + "> + : + showTextField("maxUploadSize", $settings->_maxUploadSize); ?> + From 8ebe59c399ed847e2eb618410ffdb0071084c3c7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:39:31 +0100 Subject: [PATCH 047/212] hide elements 'dialog' --- styles/bootstrap/application.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index 0f648eb4e..ec977766c 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -244,6 +244,9 @@ ul.qq-upload-list li span { border: 1px solid #cccccc; border-radius: 4px; } +.qq-hide, .qq-uploader dialog { + display: none; +} @media (max-width: 480px) { .nav-tabs > li { From 6266fee9e71b1682f22e17653d70eb1c60d3da7f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:40:41 +0100 Subject: [PATCH 048/212] change call for inserting fine uploader template and js code --- views/bootstrap/class.AddDocument.php | 7 +++++-- views/bootstrap/class.AddFile.php | 7 +++++-- views/bootstrap/class.UpdateDocument.php | 16 +++++++++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 9654adbd2..a652c758f 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -34,11 +34,12 @@ class SeedDMS_View_AddDocument extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ $dropfolderdir = $this->params['dropfolderdir']; $partitionsize = $this->params['partitionsize']; + $maxuploadsize = $this->params['maxuploadsize']; $enablelargefileupload = $this->params['enablelargefileupload']; header('Content-Type: application/javascript; charset=UTF-8'); if($enablelargefileupload) - $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize); + $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize); ?> $(document).ready(function() { $('#new-file').click(function(event) { @@ -146,8 +147,10 @@ $(document).ready(function() { $folderid = $folder->getId(); $this->htmlAddHeader(''."\n", 'js'); - if($enablelargefileupload) + if($enablelargefileupload) { $this->htmlAddHeader(''."\n", 'js'); + $this->htmlAddHeader($this->getFineUploaderTemplate(), 'js'); + } $this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName())))); $this->globalNavigation($folder); diff --git a/views/bootstrap/class.AddFile.php b/views/bootstrap/class.AddFile.php index 8804ee128..063daaf60 100644 --- a/views/bootstrap/class.AddFile.php +++ b/views/bootstrap/class.AddFile.php @@ -34,9 +34,10 @@ class SeedDMS_View_AddFile extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ $enablelargefileupload = $this->params['enablelargefileupload']; $partitionsize = $this->params['partitionsize']; + $maxuploadsize = $this->params['maxuploadsize']; header('Content-Type: application/javascript'); if($enablelargefileupload) - $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize); + $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize); ?> $(document).ready( function() { @@ -119,8 +120,10 @@ $(document).ready( function() { $enablelargefileupload = $this->params['enablelargefileupload']; $this->htmlAddHeader(''."\n", 'js'); - if($enablelargefileupload) + if($enablelargefileupload) { $this->htmlAddHeader(''."\n", 'js'); + $this->htmlAddHeader($this->getFineUploaderTemplate(), 'js'); + } $this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName())))); $this->globalNavigation($folder); diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index d0c2a8bab..1b196cb32 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -36,13 +36,14 @@ class SeedDMS_View_UpdateDocument extends SeedDMS_Bootstrap_Style { $dropfolderdir = $this->params['dropfolderdir']; $enablelargefileupload = $this->params['enablelargefileupload']; $partitionsize = $this->params['partitionsize']; + $maxuploadsize = $this->params['maxuploadsize']; header('Content-Type: application/javascript'); $this->printDropFolderChooserJs("form1"); $this->printSelectPresetButtonJs(); $this->printInputPresetButtonJs(); $this->printCheckboxPresetButtonJs(); if($enablelargefileupload) - $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, false); + $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize, false); ?> $(document).ready( function() { jQuery.validator.addMethod("alternatives", function(value, element, params) { @@ -129,6 +130,7 @@ console.log(element); $document = $this->params['document']; $strictformcheck = $this->params['strictformcheck']; $enablelargefileupload = $this->params['enablelargefileupload']; + $maxuploadsize = $this->params['maxuploadsize']; $enableadminrevapp = $this->params['enableadminrevapp']; $enableownerrevapp = $this->params['enableownerrevapp']; $enableselfrevapp = $this->params['enableselfrevapp']; @@ -138,8 +140,10 @@ console.log(element); $documentid = $document->getId(); $this->htmlAddHeader(''."\n", 'js'); - if($enablelargefileupload) + if($enablelargefileupload) { $this->htmlAddHeader(''."\n", 'js'); + $this->htmlAddHeader($this->getFineUploaderTemplate(), 'js'); + } $this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName())))); $this->globalNavigation($folder); @@ -182,8 +186,14 @@ console.log(element); } } - $msg = getMLText("max_upload_size").": ".ini_get( "upload_max_filesize"); if($enablelargefileupload) { + if($maxuploadsize) { + $msg = getMLText("max_upload_size").": ".SeedDMS_Core_File::format_filesize($maxuploadsize); + } + } else { + $msg = getMLText("max_upload_size").": ".ini_get( "upload_max_filesize"); + } + if(0 && $enablelargefileupload) { $msg .= "

    ".sprintf(getMLText('link_alt_updatedocument'), "out.AddMultiDocument.php?folderid=".$folder->getID()."&showtree=".showtree())."

    "; } $this->warningMsg($msg); From 82d0bfde440bf04831012dd1cf444c99372b7ee1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:41:32 +0100 Subject: [PATCH 049/212] set preview with for document icons --- views/bootstrap/class.ApprovalSummary.php | 8 ++--- views/bootstrap/class.Bootstrap.php | 12 +++---- views/bootstrap/class.DropFolderChooser.php | 2 +- views/bootstrap/class.ManageNotify.php | 4 +-- views/bootstrap/class.MyDocuments.php | 40 ++++++++++----------- views/bootstrap/class.ReviewSummary.php | 8 ++--- views/bootstrap/class.Search.php | 4 +-- views/bootstrap/class.ViewDocument.php | 14 ++++---- views/bootstrap/class.WorkflowSummary.php | 8 ++--- 9 files changed, 50 insertions(+), 50 deletions(-) diff --git a/views/bootstrap/class.ApprovalSummary.php b/views/bootstrap/class.ApprovalSummary.php index 55c6926f9..84f9ef0e6 100644 --- a/views/bootstrap/class.ApprovalSummary.php +++ b/views/bootstrap/class.ApprovalSummary.php @@ -88,9 +88,9 @@ class SeedDMS_View_ApprovalSummary extends SeedDMS_Bootstrap_Style { $previewer->createPreview($version); print ""; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()).""; @@ -142,9 +142,9 @@ class SeedDMS_View_ApprovalSummary extends SeedDMS_Bootstrap_Style { $previewer->createPreview($version); print ""; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()).""; diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 38a103611..ba378764e 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -1437,13 +1437,13 @@ $(function() { if (file_exists($dms->contentDir . $latestContent->getPath())) { $content .= ""; if($previewer->hasPreview($latestContent)) { - $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } $content .= ""; } else - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "" . htmlspecialchars($document->getName()) . ""; if($comment) { @@ -1827,13 +1827,13 @@ $(document).ready( function() { if (file_exists($dms->contentDir . $latestContent->getPath())) { $content .= ""; if($previewer->hasPreview($latestContent)) { - $content .= "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } $content .= ""; } else - $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "" . htmlspecialchars($document->getName()) . ""; $content .= "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $document->getDate()).", ".getMLText('version')." ".$version." - ".date('Y-m-d', $latestContent->getDate())."".($document->expires() ? ", ".getMLText('expires').": ".getReadableDate($document->getExpires())."" : "").""; diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index bdb19ad2c..78cbec64d 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -83,7 +83,7 @@ $('.folderselect').click(function(ev) { $previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); echo ""; if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { - echo ""; + echo ""; } echo "".$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)) { diff --git a/views/bootstrap/class.ManageNotify.php b/views/bootstrap/class.ManageNotify.php index 06a2874e8..be7d35178 100644 --- a/views/bootstrap/class.ManageNotify.php +++ b/views/bootstrap/class.ManageNotify.php @@ -114,9 +114,9 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style { print "\n"; print ""; if($previewer->hasPreview($latest)) { - print "previewwidth."\"src=\"../op/op.Preview.php?documentid=".$doc->getID()."&version=".$latest->getVersion()."&width=".$this->previewwidth."\" title=\"".htmlspecialchars($latest->getMimeType())."\">"; + print "previewwidth."\" src=\"../op/op.Preview.php?documentid=".$doc->getID()."&version=".$latest->getVersion()."&width=".$this->previewwidth."\" title=\"".htmlspecialchars($latest->getMimeType())."\">"; } else { - print "getMimeIcon($latest->getFileType())."\" title=\"".htmlspecialchars($latest->getMimeType())."\">"; + print "previewwidth."\" src=\"".$this->getMimeIcon($latest->getFileType())."\" title=\"".htmlspecialchars($latest->getMimeType())."\">"; } print ""; diff --git a/views/bootstrap/class.MyDocuments.php b/views/bootstrap/class.MyDocuments.php index d6b3d8894..6f9e672e1 100644 --- a/views/bootstrap/class.MyDocuments.php +++ b/views/bootstrap/class.MyDocuments.php @@ -174,9 +174,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; @@ -212,9 +212,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; @@ -262,9 +262,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; @@ -297,9 +297,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; @@ -389,9 +389,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "" . htmlspecialchars($res["name"]) . "\n"; @@ -508,9 +508,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; $workflowstate = $latestContent->getWorkflowState(); @@ -550,9 +550,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"]).""; @@ -633,9 +633,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "" . htmlspecialchars($res["name"]) . "\n"; @@ -714,9 +714,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "" . htmlspecialchars($res["name"]) . "\n"; @@ -817,9 +817,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $previewer->createPreview($latestContent); print ""; if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } print ""; print "" . htmlspecialchars($res["name"]) . "\n"; diff --git a/views/bootstrap/class.ReviewSummary.php b/views/bootstrap/class.ReviewSummary.php index 879cdc3e0..c25e88919 100644 --- a/views/bootstrap/class.ReviewSummary.php +++ b/views/bootstrap/class.ReviewSummary.php @@ -90,9 +90,9 @@ class SeedDMS_View_ReviewSummary extends SeedDMS_Bootstrap_Style { $previewer->createPreview($version); print ""; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()).""; @@ -144,9 +144,9 @@ class SeedDMS_View_ReviewSummary extends SeedDMS_Bootstrap_Style { $previewer->createPreview($version); print ""; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()).""; diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index fd4f9c86a..faad8e3b2 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -485,9 +485,9 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { } print "getID()."\">"; if($previewer->hasPreview($lc)) { - print "getID()."&version=".$lc->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($lc->getMimeType())."\">"; + print "getID()."&version=".$lc->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($lc->getMimeType())."\">"; } else { - print "getMimeIcon($lc->getFileType())."\" title=\"".htmlspecialchars($lc->getMimeType())."\">"; + print "getMimeIcon($lc->getFileType())."\" title=\"".htmlspecialchars($lc->getMimeType())."\">"; } print ""; print "getID()."\">/"; diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 82466e9a1..0e7ed51a8 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -454,7 +454,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($previewer->hasPreview($latestContent)) { print("getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"); } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } if ($file_exists) { print ""; @@ -1024,7 +1024,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($previewer->hasPreview($version)) { print("getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">"); } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } if($file_exists) { print "\n"; @@ -1115,7 +1115,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($previewer->hasPreview($file)) { print("getID()."&file=".$file->getID()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($file->getMimeType())."\">"); } else { - print "getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">"; + print "getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">"; } if($file_exists) { print ""; @@ -1181,9 +1181,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print ""; print "getID()."&version=".$targetlc->getVersion()."\">"; if($previewer->hasPreview($targetlc)) { - print "getID()."&version=".$targetlc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($targetlc->getMimeType())."\">"; + print "getID()."&version=".$targetlc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($targetlc->getMimeType())."\">"; } else { - print "getMimeIcon($targetlc->getFileType())."\" title=\"".htmlspecialchars($targetlc->getMimeType())."\">"; + print "getMimeIcon($targetlc->getFileType())."\" title=\"".htmlspecialchars($targetlc->getMimeType())."\">"; } print ""; print "getID()."\" class=\"linklist\">".htmlspecialchars($targetDoc->getName()).""; @@ -1252,9 +1252,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print ""; print "getID()."&version=".$sourcelc->getVersion()."\">"; if($previewer->hasPreview($sourcelc)) { - print "getID()."&version=".$sourcelc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; + print "getID()."&version=".$sourcelc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; } else { - print "getMimeIcon($sourcelc->getFileType())."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; + print "getMimeIcon($sourcelc->getFileType())."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; } print ""; print "getID()."\" class=\"linklist\">".htmlspecialchars($sourceDoc->getName()).""; diff --git a/views/bootstrap/class.WorkflowSummary.php b/views/bootstrap/class.WorkflowSummary.php index ba482b8c0..7b128b314 100644 --- a/views/bootstrap/class.WorkflowSummary.php +++ b/views/bootstrap/class.WorkflowSummary.php @@ -88,9 +88,9 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style { print "\n"; print "getID()."&version=".$st['version']."\">"; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()); @@ -145,9 +145,9 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style { print "\n"; print "getID()."&version=".$st['version']."\">"; if($previewer->hasPreview($version)) { - print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getID()."&version=".$version->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; + print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print ""; print "".htmlspecialchars($document->getName()).""; From 0247da859182b262328987f668685a6d2ce93d13 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:42:03 +0100 Subject: [PATCH 050/212] set partitionsize and maxuploadsize --- inc/inc.ClassUI.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index ba062e561..fe5c4efde 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -78,7 +78,8 @@ class UI extends UI_Default { $view->setParam('enablelanguageselector', $settings->_enableLanguageSelector); $view->setParam('enableclipboard', $settings->_enableClipboard); $view->setParam('workflowmode', $settings->_workflowMode); - $view->setParam('partitionsize', $settings->_partitionSize); + $view->setParam('partitionsize', (int) $settings->_partitionSize); + $view->setParam('maxuploadsize', (int) $settings->_maxUploadSize); $view->setParam('showmissingtranslations', $settings->_showMissingTranslations); $view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod); $view->setParam('cachedir', $settings->_cacheDir); From e21a096957d5796038b00176a8a82d4981893c67 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:42:18 +0100 Subject: [PATCH 051/212] ?? --- styles/bootstrap/fine-uploader/fine-uploader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styles/bootstrap/fine-uploader/fine-uploader.js b/styles/bootstrap/fine-uploader/fine-uploader.js index f8030b1a8..ab3025ea1 100644 --- a/styles/bootstrap/fine-uploader/fine-uploader.js +++ b/styles/bootstrap/fine-uploader/fine-uploader.js @@ -7411,4 +7411,4 @@ }); }; })(window); -//# sourceMappingURL=fine-uploader.js.map \ No newline at end of file +//# sourceMappingURL=fine-uploader.js.map From f381743a0b967a8044dd77f6f4e774dee3f00905 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 16:43:09 +0100 Subject: [PATCH 052/212] add 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, 98 insertions(+), 50 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index b2837fa9a..869209281 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -449,14 +449,14 @@ URL: [url]', 'expired' => 'انتهى صلاحيته', 'expired_at_date' => '', 'expires' => 'تنتهى صلاحيته', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية', 'expiry_changed_email_body' => 'تم تغيير تاريخ الصلاحية المستند: [name] @@ -1214,6 +1214,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index e8cca8ac0..e8d0cb6b5 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -404,14 +404,14 @@ $text = array( 'expired' => 'Изтекъл', 'expired_at_date' => '', 'expires' => 'Изтича', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Датата на изтичане променена', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1079,6 +1079,8 @@ $text = array( 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Още настройки. Логин по подразбиране: admin/admin', 'settings_notfound' => 'Не е намерено', 'settings_Notification' => 'Настройка за известяване', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 8904756c5..21bd2c121 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -409,14 +409,14 @@ URL: [url]', 'expired' => 'Caducat', 'expired_at_date' => '', 'expires' => 'Caduca', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de caducitat modificada', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1084,6 +1084,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 24a5836a4..dc1553ccf 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -456,14 +456,14 @@ URL: [url]', 'expired' => 'Platnost vypršela', 'expired_at_date' => '', 'expires' => 'Platnost vyprší', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Datum expirace změněno', 'expiry_changed_email_body' => 'Datum ukončení platnosti změněn Dokument: [name] @@ -1223,6 +1223,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Toto je max. počet dokumentů a složek, kterým bude kontrolováno přístupové právo při rekurzivním počítání objektů. Po jeho překročení bude počet složek a dokumentů odhadnut.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configure more settings. Default login: admin/admin', 'settings_notfound' => '', 'settings_Notification' => 'Nastavení upozornění', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index bd24353cd..809f11cfa 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 (2400), dgrutsch (22) +// Translators: Admin (2402), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -465,14 +465,14 @@ Der Link ist bis zum [valid] gültig.', 'expired' => 'abgelaufen', 'expired_at_date' => 'Abgelaufen am [datetime]', 'expires' => 'Ablaufdatum', -'expires_today' => 'Ablauf heute', -'expires_tomorrow' => 'Ablauf morgen', 'expire_by_date' => 'Ablauf nach Datum', 'expire_in_1d' => 'Ablauf in 1 Tag', 'expire_in_1h' => 'Ablauf in 1 Std.', 'expire_in_1m' => 'Ablauf in 1 Monat', 'expire_in_1w' => 'Ablauf in 1 Woche', 'expire_in_2h' => 'Ablauf in 2 Std.', +'expire_today' => 'Ablauf heute', +'expire_tomorrow' => 'Ablauf morgen', 'expiry_changed_email' => 'Ablaufdatum geändert', 'expiry_changed_email_body' => 'Ablaufdatum geändert Dokument: [name] @@ -1277,6 +1277,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Dies ist die maximale Anzahl der Dokumente und Ordner die auf Zugriffsrechte geprüft werden, wenn rekursiv gezählt wird. Wenn diese Anzahl überschritten wird, wird die Anzahl der Dokumente und Unterordner in der Ordner Ansicht geschätzt.', 'settings_maxSizeForFullText' => 'Maximale Dateigröße für sofortige Indezierung', 'settings_maxSizeForFullText_desc' => 'Alle neuen Versionen eines Dokuments, die kleiner als die konfigurierte Dateigröße in Bytes sind, werden sofort indiziert. In allen anderen Fällen werden nur die Metadaten erfasst.', +'settings_maxUploadSize' => 'Maximale Größe hochzuladener Dateien', +'settings_maxUploadSize_desc' => 'Dies ist die maximale Größe einer hochzuladenen Datei. Es begrenzt sowohl Dokumentenversionen als auch Anhänge.', 'settings_more_settings' => 'Weitere Einstellungen. Login mit admin/admin', 'settings_notfound' => 'Nicht gefunden', 'settings_Notification' => 'Benachrichtigungen-Einstellungen', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index fd1a3b179..45d441f83 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -404,14 +404,14 @@ $text = array( 'expired' => 'Έχει λήξει', 'expired_at_date' => '', 'expires' => 'Λήγει', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Η ημερομηνία λήξης έχει αλλάξει', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1090,6 +1090,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index e9489c6fa..890c3620c 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 (1528), dgrutsch (9), netixw (14) +// Translators: Admin (1530), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -466,14 +466,14 @@ The link is valid until [valid].', 'expired' => 'Expired', 'expired_at_date' => 'Expired at [datetime]', 'expires' => 'Expires', -'expires_today' => 'Expires today', -'expires_tomorrow' => 'Expires tomorrow', 'expire_by_date' => 'Expires by date', 'expire_in_1d' => 'Expires in 1 day', 'expire_in_1h' => 'Expires in 1h', 'expire_in_1m' => 'Expires in 1 month', 'expire_in_1w' => 'Expires in 1 week', 'expire_in_2h' => 'Expires in 2h', +'expire_today' => 'Expires today', +'expire_tomorrow' => 'Expires tomorrow', 'expiry_changed_email' => 'Expiry date changed', 'expiry_changed_email_body' => 'Expiry date changed Document: [name] @@ -1272,6 +1272,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'This is the maximum number of documents or folders that will be checked for access rights, when recursively counting objects. If this number is exceeded, the number of documents and folders in the folder view will be estimated.', 'settings_maxSizeForFullText' => 'Maximum filesize for instant indexing', 'settings_maxSizeForFullText_desc' => 'All new document version smaller than the configured size will be fully indexed right after uploading. In all other cases only the metadata will be indexed.', +'settings_maxUploadSize' => 'Maxium size for uploaded files', +'settings_maxUploadSize_desc' => 'This is the maximum size for uploaded files. It will take affect for document versions and attachments.', 'settings_more_settings' => 'Configure more settings. Default login: admin/admin', 'settings_notfound' => 'Not found', 'settings_Notification' => 'Notification settings', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 5c86e828e..57c1bcd7f 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -456,14 +456,14 @@ URL: [url]', 'expired' => 'Caducado', 'expired_at_date' => '', 'expires' => 'Caduca', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Fecha de caducidad modificada', 'expiry_changed_email_body' => 'Fecha de caducidad modificada Documento: [name] @@ -1229,6 +1229,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Este es el número máximo de documentos o carpetas que pueden ser revisados con derechos de acceso, contando objetos recursivos. Si este número es excedido , el número de carpetas y documentos en la vista de carpeta será estimado.', 'settings_maxSizeForFullText' => 'Tamaño máximo del fichero para el indexado inmediato', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configure más parámetros. Acceso por defecto: admin/admin', 'settings_notfound' => 'No encontrado', 'settings_Notification' => 'Parámetros de notificación', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index b314f1f60..35537937e 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -461,14 +461,14 @@ URL: [url]', 'expired' => 'Expiré', 'expired_at_date' => '', 'expires' => 'Expiration', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Date d\'expiration modifiée', 'expiry_changed_email_body' => 'Date d\'expiration modifiée Document : [name] @@ -1217,6 +1217,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Nombre maximum de documents et répertoires dont l\'accès sera vérifié, lors d\'un décompte récursif. Si ce nombre est dépassé, le nombre de documents et répertoires affichés sera approximé.', 'settings_maxSizeForFullText' => 'Taille maximum pour l\'indexation instantanée', 'settings_maxSizeForFullText_desc' => 'Toute nouvelle version d\'un document plus petite que la taille configurée sera intégralement indexée juste après l\'upload. Dans tous les autres cas, seulement les métadonnées seront indexées.', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configurer d\'autres paramètres. Connexion par défaut: admin/admin', 'settings_notfound' => 'Introuvable', 'settings_Notification' => 'Notifications', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index f6e5b3bb3..09f30f954 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -461,14 +461,14 @@ Internet poveznica: [url]', 'expired' => 'Isteklo', 'expired_at_date' => '', 'expires' => 'Datum isteka', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Promijenjen datum isteka', 'expiry_changed_email_body' => 'Promijenjen datum isteka Dokument: [name] @@ -1250,6 +1250,8 @@ Internet poveznica: [url]', 'settings_maxRecursiveCount_desc' => 'To je maksimalni broj dokumenata ili mapa koji će biti označen pristupnim pravima, pri rekurzivnom brojanju objekata. Ako se taj broj premaši, broj dokumenata i mapa u pregledu mape će biti procjenjen.', 'settings_maxSizeForFullText' => 'Maksimalna veličina dokumenta za instant indeksiranje', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Konfiguriraj više postavki. Zadana prijava: admin/admin', 'settings_notfound' => 'Nije pronađeno', 'settings_Notification' => 'Postavke bilježenja', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 0ebee6cab..e51701e1a 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -456,14 +456,14 @@ URL: [url]', 'expired' => 'Lejárt', 'expired_at_date' => '', 'expires' => 'Lejárat', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Lejárati dátum módosítva', 'expiry_changed_email_body' => 'Lejárati dátum módosult Dokumentum: [name] @@ -1228,6 +1228,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'A dokumentumok és mappák maximális mennyisége amelyeken ellenőrizni fogják a hozzáférési jogokat, ha rekurzívan számláló tárgyakat. Ha ezt az értéket túllépik, a dokumentumok számát és mappák a Mappa nézetben is becsülhetők.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'További beállítások konfigurálása. Alapértelmezett bejelentkezés: admin/admin', 'settings_notfound' => 'Nem található', 'settings_Notification' => 'Értesítés beállításai', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index b0e077d50..b75aec9c2 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -462,14 +462,14 @@ URL: [url]', 'expired' => 'Scaduto', 'expired_at_date' => '', 'expires' => 'Scadenza', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Scadenza cambiata', 'expiry_changed_email_body' => 'Data di scadenza cambiata Documento: [name] @@ -1262,6 +1262,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Numero massimo di documenti e cartelle considerati dal conteggio ricursivo per il controllo dei diritti d\'accesso. Se tale valore dovesse essere superato, il risultato del conteggio sarà stimato.', 'settings_maxSizeForFullText' => 'La lungeza massima del file per l\'indicizzazione istantanea', 'settings_maxSizeForFullText_desc' => 'Tutte le nuove versioni dei documenti più in basso della dimensione configurata saranno completamente indicizzati dopo il caricamento. In tutti gli altri casi sarà indicizzato solo i metadati.', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Ulteriori configurazioni. Login di default: admin/admin', 'settings_notfound' => 'Non trovato', 'settings_Notification' => 'Impostazioni di notifica', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index d2cfe2517..b3dbc3c27 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -461,14 +461,14 @@ URL: [url]', 'expired' => '만료', 'expired_at_date' => '', 'expires' => '만료', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => '유효 기간 변경', 'expiry_changed_email_body' => '유효 기간이 변경 문서: [name] @@ -1243,6 +1243,8 @@ URL : [url]', 'settings_maxRecursiveCount_desc' => '이것은 재귀적으로 개체를 셀 때 사용 권한이 확인됩니다 문서 및 폴더의 최대 수입니다. 이 수를 초과하면 폴더보기에서 문서 나 폴더의 수가 추정됩니다.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '기타 설정을 구성합니다. 기본 로그인 : admin/admin', 'settings_notfound' => '찾을 수 없음', 'settings_Notification' => '알림 설정', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 5de253f90..43362707d 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -454,14 +454,14 @@ URL: [url]', 'expired' => 'Verlopen', 'expired_at_date' => '', 'expires' => 'Verloopt', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Verloopdatum gewijzigd', 'expiry_changed_email_body' => 'Vervaldatum gewijzigd Document: [name] @@ -1256,6 +1256,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Dit is het maximum aantal documenten of mappen dat zal worden gecontroleerd voor toegangsrechten bij recursieve objecten telling. Als dit aantal is overschreden, zal het aantal documenten en mappen in de het map overzicht worden geschat.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Meer instellingen. Standaard login: admin/admin', 'settings_notfound' => 'Niet gevonden', 'settings_Notification' => 'Notificatie instellingen', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 8a8f4a9f2..2881ac811 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -449,14 +449,14 @@ URL: [url]', 'expired' => 'Wygasłe', 'expired_at_date' => '', 'expires' => 'Wygasa', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Zmieniona data wygaśnięcia', 'expiry_changed_email_body' => 'Zmiana daty wygaśnięcia Dokument: [name] @@ -1208,6 +1208,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Jest to maksymalna liczba dokumentów i folderów, które będą sprawdzane pod kątem praw dostępu, gdy włączone jest rekurencyjnie liczenie obiektów. Jeżeli liczba ta zostanie przekroczona to ilości dokumentów i folderów w widoku zostaną oszacowane.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Wykonaj dalszą konfigurację. Domyślny login/hasło: admin/admin', 'settings_notfound' => 'Nie znaleziono', 'settings_Notification' => 'Ustawienia powiadomień', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 00e27c074..a982c3cbb 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -455,14 +455,14 @@ URL: [url]', 'expired' => 'Expirado', 'expired_at_date' => '', 'expires' => 'Expira', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de validade mudou', 'expiry_changed_email_body' => 'Data de validade mudou Documento: [name] @@ -1226,6 +1226,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Este é o número máximo de documentos ou pastas que serão verificados por direitos de acesso, quando recursivamente contar objetos. Se esse número for ultrapassado, será estimado o número de documentos e pastas na visualização da pasta.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configurar outras configurações. Login padrão: admin/admin', 'settings_notfound' => 'Não encontrado', 'settings_Notification' => 'Configurações de notificação', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index a965af84e..5e1d1df44 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -461,14 +461,14 @@ URL: [url]', 'expired' => 'Expirat', 'expired_at_date' => '', 'expires' => 'Expiră', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de expirare schimbată', 'expiry_changed_email_body' => 'Data de expirare schimbată Document: [name] @@ -1251,6 +1251,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Acesta este numărul maxim de documente sau foldere care vor fi verificate pentru drepturile de acces, atunci când se numără recursiv obiectele. Dacă acest număr este depășit, numărul de documente și foldere în vizualizarea directorului va fi estimat.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configurare mai multe setări. Autentificare implicită: admin/admin', 'settings_notfound' => 'Nu a fost găsit', 'settings_Notification' => 'Setările de notificare', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 330ee2bb1..4a0373247 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -461,14 +461,14 @@ URL: [url]', 'expired' => 'Срок действия вышел', 'expired_at_date' => '', 'expires' => 'Срок действия', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Срок действия изменен', 'expiry_changed_email_body' => 'Срок действия изменен Документ: [name] @@ -1258,6 +1258,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Максимальное количество документов или каталогов, которые будут проверены на права доступа при рекурсивном подсчёте объектов. При превышении этого количества, будет оценено количество документов и каталогов в виде каталога.', 'settings_maxSizeForFullText' => 'Макс. размер документа для индексирования на лету', 'settings_maxSizeForFullText_desc' => 'Размер документа, который может быть индексирован срузу после добавления', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Прочие настройки. Логин по умолчанию: admin/admin', 'settings_notfound' => 'Не найден', 'settings_Notification' => 'Настройки извещения', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 1c96a6b76..33e4005a0 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -408,14 +408,14 @@ URL: [url]', 'expired' => 'Platnosť vypršala', 'expired_at_date' => '', 'expires' => 'Platnosť vyprší', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Datum platnosti zmeneny', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1083,6 +1083,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 49213f7d5..d27a69344 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -449,14 +449,14 @@ URL: [url]', 'expired' => 'Har gått ut', 'expired_at_date' => '', 'expires' => 'Kommer att gå ut', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Utgångsdatum ändrat', 'expiry_changed_email_body' => 'Utgångsdatum ändrat Dokument: [name] @@ -1214,6 +1214,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Detta är maximum antal av dokument eller katalog som kommer att testas om att det har korrekt rättigheter, när objekt räknas rekursiv. Om detta nummer överskrids, kommer antalet av dokument och katalog i katalogvyn bara bli uppskattat.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Konfigurera flera inställningar. Standard-inloggning: admin/admin', 'settings_notfound' => 'Hittades inte', 'settings_Notification' => 'Meddelandeinställningar', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index d2c97e51c..a8f6af9ae 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -455,14 +455,14 @@ URL: [url]', 'expired' => 'Süresi doldu', 'expired_at_date' => '', 'expires' => 'Süresinin dolacağı zaman', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti', 'expiry_changed_email_body' => 'Bitiş tarihi değişti Doküman: [name] @@ -1230,6 +1230,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Nesneleri özyinelemeli olarak erişim hakkı kontrolü için sayarken bu değer en fazla sayılacak doküman ve klasör sayısını belirler. Bu sayı aşıldığında klasörün içindeki dosya ve diğer klasörlerin sayısı tahmin yolu ile belirlenecektir.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Daha fazla ayar yapın. Varsayılan kullanıcı adı/parola: admin/admin', 'settings_notfound' => 'Bulunamadı', 'settings_Notification' => 'Bildirim ayarları', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 5a48482aa..1c8a6cd1d 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -461,14 +461,14 @@ URL: [url]', 'expired' => 'Термін виконання вийшов', 'expired_at_date' => '', 'expires' => 'Термін виконання виходить', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => 'Дату терміну виконання змінено', 'expiry_changed_email_body' => 'Змінено дату терміну виконання Документ: [name] @@ -1251,6 +1251,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Максимальна кількість документів і каталогів, які будуть перевірені на права доступу при рекурсивному підрахунку об\'єктів. При перевищенні цієї кількості, буде оцінено кількість документів і каталогів у вигляді каталогу.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Інші налаштування. Логін по замовчуванню: admin/admin', 'settings_notfound' => 'Не знайдено', 'settings_Notification' => 'Налаштування сповіщення', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 57cd087a8..9f4a21057 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -410,14 +410,14 @@ URL: [url]', 'expired' => '过期', 'expired_at_date' => '', 'expires' => '有效限期', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => '到期日子已改变', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1085,6 +1085,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '通知设置', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 0a032e49b..b288b635c 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -408,14 +408,14 @@ URL: [url]', 'expired' => '過期', 'expired_at_date' => '', 'expires' => '有效限期', -'expires_today' => '', -'expires_tomorrow' => '', 'expire_by_date' => '', 'expire_in_1d' => '', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', 'expire_in_2h' => '', +'expire_today' => '', +'expire_tomorrow' => '', 'expiry_changed_email' => '到期日子已改變', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', @@ -1083,6 +1083,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => '', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', +'settings_maxUploadSize' => '', +'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', 'settings_notfound' => '', 'settings_Notification' => '通知設置', From c708a038cf06013e5893a471d9351503eed4bf7c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 18:02:25 +0100 Subject: [PATCH 053/212] add hook extraVersionActions --- views/bootstrap/class.ViewDocument.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 2919aadcd..5b773de37 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -618,7 +618,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
  • getVersion()."\">".getMLText("edit_attributes")."
  • "; } - //print "
  • ".getMLText("versioning_info")."
  • "; + $items = $this->callHook('extraVersionActions', $version); + if($items) { + foreach($items as $item) { + echo "
  • ".$item."
  • "; + } + } print ""; echo ""; From fa3d540d2a914536581b8b5e31cdf987387cecf9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 18:09:11 +0100 Subject: [PATCH 054/212] add hook extraVersionActions for older versions --- views/bootstrap/class.ViewDocument.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 5b773de37..0512f7f5f 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -618,7 +618,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
  • getVersion()."\">".getMLText("edit_attributes")."
  • "; } - $items = $this->callHook('extraVersionActions', $version); + $items = $this->callHook('extraVersionActions', $latestContent); if($items) { foreach($items as $item) { echo "
  • ".$item."
  • "; @@ -1159,6 +1159,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
  • getID()."&version=".$version->getVersion()."\">".getMLText("edit_attributes")."
  • "; } print "
  • ".getMLText("details")."
  • "; + $items = $this->callHook('extraVersionActions', $version); + if($items) { + foreach($items as $item) { + echo "
  • ".$item."
  • "; + } + } print ""; print "\n\n"; } From 514aa3ef0f2312aea20ffb7ba2f6337c350008c3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 21:53:42 +0100 Subject: [PATCH 055/212] call hook listHeader() --- views/bootstrap/class.ViewFolder.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index f2388c7a1..c3ec44caf 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -278,7 +278,11 @@ function folderSelected(id, name) { echo "
    "; } - $this->contentHeading(getMLText("folder_contents")); + $txt = $this->callHook('listHeader', $folder); + if(is_string($txt)) + echo $txt; + else + $this->contentHeading(getMLText("folder_contents")); $subFolders = $folder->getSubFolders($orderby); $subFolders = SeedDMS_Core_DMS::filterAccess($subFolders, $user, M_READ); From ef2043b9bb826bdd2dcf1c1fe68aa3acf58d46f3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 15 Mar 2017 21:54:42 +0100 Subject: [PATCH 056/212] skip container in documentListItem --- views/bootstrap/class.ViewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 67afb5634..eb5d72b14 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -130,7 +130,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($document) { if ($document->getAccessMode($user) >= M_READ) { $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); - $txt = $this->callHook('documentListItem', $document, $previewer, false, ''); + $txt = $this->callHook('documentListItem', $document, $previewer, true, ''); if(is_string($txt)) $content = $txt; else From e6ac6eba55f347407a0d03a6dfa0cf66be9faaa1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 18 Mar 2017 19:01:41 +0100 Subject: [PATCH 057/212] add startBody() hook --- views/bootstrap/class.Bootstrap.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 43bd5dfc8..d1cec82e0 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -119,6 +119,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $this->params['session']->clearSplashMsg(); echo "
    ".$flashmsg['msg']."
    \n"; } + foreach($hookObjs as $hookObj) { + if (method_exists($hookObj, 'startBody')) { + $hookObj->startBody($this); + } + } } /* }}} */ function htmlAddHeader($head, $type='js') { /* {{{ */ From b4636c1dd292e080a5f4aea8808753d32d9f224e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 10:30:43 +0100 Subject: [PATCH 058/212] new translations --- languages/ca_ES/lang.inc | 26 +++++++++++++------------- languages/cs_CZ/lang.inc | 4 ++-- languages/de_DE/lang.inc | 14 ++++++++------ languages/en_GB/lang.inc | 16 +++++++++------- languages/it_IT/lang.inc | 4 ++-- languages/pt_BR/lang.inc | 8 ++++---- languages/ro_RO/lang.inc | 6 +++--- languages/zh_CN/lang.inc | 4 ++-- languages/zh_TW/lang.inc | 4 ++-- 9 files changed, 45 insertions(+), 41 deletions(-) diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 21bd2c121..f370b7788 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 (710) +// Translators: Admin (722) $text = array( '2_factor_auth' => '', @@ -143,7 +143,7 @@ URL: [url]', 'attrdef_type_string' => '', 'attrdef_type_url' => '', 'attrdef_valueset' => '', -'attributes' => '', +'attributes' => 'Atributs', 'attribute_changed_email_body' => '', 'attribute_changed_email_subject' => '', 'attribute_count' => '', @@ -188,7 +188,7 @@ URL: [url]', 'categories_loading' => '', 'category' => 'Category', 'category_exists' => '', -'category_filter' => '', +'category_filter' => 'Només categories', 'category_info' => '', 'category_in_use' => '', 'category_noname' => '', @@ -228,7 +228,7 @@ URL: [url]', 'choose_workflow_action' => '', 'choose_workflow_state' => '', 'class_name' => '', -'clear_cache' => '', +'clear_cache' => 'Neteja memòria cau', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => 'Portapapers', @@ -294,7 +294,7 @@ URL: [url]', 'documents_in_process' => 'Documents en procés', 'documents_locked' => '', 'documents_locked_by_you' => 'Documents bloquejats per vostè', -'documents_only' => '', +'documents_only' => 'Només documents', 'documents_to_approve' => 'Documents en espera d\'aprovació d\'usuaris', 'documents_to_process' => '', 'documents_to_receipt' => '', @@ -421,7 +421,7 @@ URL: [url]', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', 'export' => '', -'extension_manager' => '', +'extension_manager' => 'Gestiona les Extensions', 'february' => 'Febrer', 'file' => 'Fitxer', 'files' => 'Fitxers', @@ -430,7 +430,7 @@ URL: [url]', 'files_loading' => '', 'file_size' => 'Mida', 'filter_for_documents' => '', -'filter_for_folders' => '', +'filter_for_folders' => 'Filtre adicional per les carpetes', 'folder' => 'Carpeta', 'folders' => 'Carpetes', 'folders_and_documents_statistic' => 'Vista general de continguts', @@ -607,7 +607,7 @@ URL: [url]', 'may' => 'Maig', 'mimetype' => '', 'minutes' => '', -'misc' => '', +'misc' => 'Miscelànea', 'missing_checksum' => '', 'missing_file' => '', 'missing_filesize' => '', @@ -849,21 +849,21 @@ URL: [url]', 'search_in' => 'Buscar a', 'search_mode_and' => 'tots els mots', 'search_mode_documents' => '', -'search_mode_folders' => '', +'search_mode_folders' => 'Només carpetes', 'search_mode_or' => 'si més no, un mot', 'search_no_results' => 'No hi ha documents que coincideixn amb la seva cerca', 'search_query' => 'Cercar', 'search_report' => 'Trobats [count] documents', 'search_report_fulltext' => '', -'search_resultmode' => '', -'search_resultmode_both' => '', +'search_resultmode' => 'Resultats', +'search_resultmode_both' => 'Documets i carpetes', 'search_results' => 'Resultats de la cerca', 'search_results_access_filtered' => 'Els resultats de la cerca podrien incloure continguts amb l\'accés denegat.', 'search_time' => 'Temps transcorregut: [time] seg.', 'seconds' => '', 'selection' => 'Selecció', 'select_attrdefgrp_show' => '', -'select_category' => '', +'select_category' => 'Prem per seleccionar la categoria', 'select_groups' => '', 'select_grp_approvers' => '', 'select_grp_ind_approvers' => '', @@ -880,7 +880,7 @@ URL: [url]', 'select_ind_reviewers' => '', 'select_ind_revisors' => '', 'select_one' => 'Seleccionar un', -'select_users' => '', +'select_users' => 'Prem per seleccionar els usuaris', 'select_workflow' => '', 'send_email' => '', 'send_test_mail' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index dc1553ccf..b72744743 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 (719), kreml (455) +// Translators: Admin (720), kreml (455) $text = array( '2_factor_auth' => '', @@ -305,7 +305,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Dokument', -'documentcontent' => '', +'documentcontent' => 'Obsah dokumentu', 'documents' => 'Dokumenty', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Zpracovávané dokumenty', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 809f11cfa..491be8b4a 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 (2402), dgrutsch (22) +// Translators: Admin (2403), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -390,11 +390,13 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Berechtigungen wieder erben', 'download' => 'Download', 'download_links' => 'Download Links', -'download_link_email_body' => 'Klicken Sie bitte auf den untenstehenden Link, um Version [version] des Dokuments \'[docname]\' herunter zu laden. - -[url] - -Der Link ist bis zum [valid] gültig.', +'download_link_email_body' => 'Klicken Sie bitte auf den untenstehenden Link, um Version [version] des Dokuments \'[docname]\' herunter zu laden. + +[url] + +Der Link ist bis zum [valid] gültig. + +[comment]', 'download_link_email_subject' => 'Download-Link', 'do_object_repair' => 'Repariere alle Ordner und Dokumente.', 'do_object_setchecksum' => 'Setze Check-Summe', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 890c3620c..8222cb3c4 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 (1530), dgrutsch (9), netixw (14) +// Translators: Admin (1531), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -390,12 +390,14 @@ URL: [url]', 'does_not_inherit_access_msg' => 'Inherit access', 'download' => 'Download', 'download_links' => 'Download links', -'download_link_email_body' => 'Click on the link below to download the version [version] of document -\'[docname]\'. - -[url] - -The link is valid until [valid].', +'download_link_email_body' => 'Click on the link below to download the version [version] of document +\'[docname]\'. + +[url] + +The link is valid until [valid]. + +[comment]', 'download_link_email_subject' => 'Download link', 'do_object_repair' => 'Repair all folders and documents.', 'do_object_setchecksum' => 'Set checksum', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index b75aec9c2..632d8ba53 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 (1538), rickr (144), s.pnt (26) +// Translators: Admin (1539), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -652,7 +652,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Se vuoi caricare file più grandi del limite massimo attuale, usa la pagina alternativa di upload.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Elenca tutti i diritti di accesso...', 'list_contains_no_access_docs' => '', 'list_hooks' => 'Lista ganci', 'local_file' => 'File locale', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index a982c3cbb..497e6c7c1 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 (934), flaviove (627), lfcristofoli (352) +// Translators: Admin (937), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => '', @@ -173,7 +173,7 @@ URL: [url]', 'attr_malformed_int' => '', 'attr_malformed_url' => '', 'attr_max_values' => '', -'attr_min_values' => '', +'attr_min_values' => 'O valor mínimo para o atributo [attrname] não foi alcançado.', 'attr_not_in_valueset' => '', 'attr_no_regex_match' => 'O valor do atributo não corresponde à expressão regular', 'attr_validation_error' => '', @@ -563,7 +563,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Tarefas de indexação em fila', 'index_converters' => 'Índice de conversão de documentos', 'index_done' => '', 'index_error' => '', @@ -787,7 +787,7 @@ URL: [url]', 'only_jpg_user_images' => 'Somente imagens jpg podem ser utilizadas como avatar', 'order_by_sequence_off' => '', 'original_filename' => 'Arquivo original', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Progresso geral da indexação', 'owner' => 'Proprietário', 'ownership_changed_email' => 'O proprietário mudou', 'ownership_changed_email_body' => 'Proprietário mudou diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 5e1d1df44..04a0d9811 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/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 (1048), balan (87) +// Translators: Admin (1050), balan (87) $text = array( '2_factor_auth' => '', @@ -152,7 +152,7 @@ URL: [url]', 'attrdef_regex' => 'Expresie regulată', 'attrdef_type' => 'Tip', 'attrdef_type_boolean' => 'Boolean', -'attrdef_type_date' => '', +'attrdef_type_date' => 'Data', 'attrdef_type_email' => 'Email', 'attrdef_type_float' => 'Float', 'attrdef_type_int' => 'Intreg', @@ -310,7 +310,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Document', -'documentcontent' => '', +'documentcontent' => 'Continut Document', 'documents' => 'Documente', 'documents_checked_out_by_you' => 'Documente verificate de tine', 'documents_in_process' => 'Documente în procesare', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 9f4a21057..4fdd449f6 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 (678), fengjohn (5) +// Translators: Admin (679), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -683,7 +683,7 @@ URL: [url]', 'no_revision_planed' => '', 'no_update_cause_locked' => '您不能更新此文档,请联系该文档锁定人', 'no_user_image' => '无图片', -'no_version_check' => '', +'no_version_check' => '检查SeedDMS的新版本失败!这可能是由于在您的php配置中allow_url_fopen设置为0引起的。', 'no_version_modification' => '', 'no_workflow_available' => '', 'objectcheck' => '文件夹/文件检查', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index b288b635c..8d719f72f 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/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 (2376) +// Translators: Admin (2377) $text = array( '2_factor_auth' => '', @@ -854,7 +854,7 @@ URL: [url]', 'search_query' => '搜索', 'search_report' => '找到 [count] 個文檔', 'search_report_fulltext' => '', -'search_resultmode' => '', +'search_resultmode' => '搜尋結果', 'search_resultmode_both' => '', 'search_results' => '搜索結果', 'search_results_access_filtered' => '搜索到得結果中可能包含受限訪問的文檔', From a65315c537dd8d2c92cfb505426bb9104e95842f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 12:41:21 +0100 Subject: [PATCH 059/212] move all task output into own view --- op/op.Ajax.php | 47 ----- out/out.Clipboard.php | 1 - out/out.Tasks.php | 41 ++++ styles/bootstrap/application.js | 6 +- views/bootstrap/class.Bootstrap.php | 127 ------------ views/bootstrap/class.Tasks.php | 309 ++++++++++++++++++++++++++++ 6 files changed, 353 insertions(+), 178 deletions(-) create mode 100644 out/out.Tasks.php create mode 100644 views/bootstrap/class.Tasks.php diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 39a8cd544..62830a05a 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -803,53 +803,6 @@ switch($command) { } break; /* }}} */ - case 'mytasks': /* {{{ */ - if($user) { - $startts = microtime(true); - $reviews = array(); - $approvals = array(); - $receipts = array(); - $revisions = array(); - $resArr = $dms->getDocumentList('ApproveByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $approvals[] = array('id'=>$res['id'], 'name'=>$res['name']); - } - } - } - $resArr = $dms->getDocumentList('ReviewByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $reviews[] = array('id'=>$res['id'], 'name'=>$res['name']); - } - } - } - $resArr = $dms->getDocumentList('ReceiptByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $receipts[] = array('id'=>$res['id'], 'name'=>$res['name']); - } - } - } - $resArr = $dms->getDocumentList('ReviseByMe', $user); - if($resArr) { - foreach ($resArr as $res) { - $document = $dms->getDocument($res["id"]); - if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) { - $revisions[] = array('id'=>$res['id'], 'name'=>$res['name']); - } - } - } - header('Content-Type: application/json'); - echo json_encode(array('error'=>0, 'data'=>array('review'=>$reviews, 'approval'=>$approvals, 'receipt'=>$receipts, 'revision'=>$revisions), 'processing_time'=>microtime(true)-$startts)); - } - break; /* }}} */ case 'indexdocument': /* {{{ */ if($user && $user->isAdmin()) { if($settings->_enableFullSearch) { diff --git a/out/out.Clipboard.php b/out/out.Clipboard.php index 45c2e21fa..0df3d3763 100644 --- a/out/out.Clipboard.php +++ b/out/out.Clipboard.php @@ -26,7 +26,6 @@ include("../inc/inc.Init.php"); include("../inc/inc.Extension.php"); include("../inc/inc.DBInit.php"); include("../inc/inc.Authentication.php"); -include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.ClassUI.php"); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); diff --git a/out/out.Tasks.php b/out/out.Tasks.php new file mode 100644 index 000000000..0df3d3763 --- /dev/null +++ b/out/out.Tasks.php @@ -0,0 +1,41 @@ +$dms, 'user'=>$user)); + +if($view) { + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('timeout', $settings->_cmdTimeout); + $view($_GET); + exit; +} + +?> diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 9b5f89b31..91cc4fa38 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -1017,17 +1017,17 @@ $(document).ready(function() { /* {{{ */ var approval_count, review_count, receipt_count, revision_count; var checkTasks = function() { - $.ajax({url: '../op/op.Ajax.php', + $.ajax({url: '../out/out.Tasks.php', type: 'GET', dataType: "json", - data: {command: 'mytasks'}, + data: {action: 'mytasks'}, success: function(data) { if(data) { if(approval_count != data.data.approval.length || review_count != data.data.review.length || receipt_count != data.data.receipt.length || revision_count != data.data.revision.length) { - $("#menu-tasks > ul > li").html('Loading').hide().load('../op/op.Ajax.php?command=view&view=menutasks').fadeIn('500') + $("#menu-tasks > ul > li").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') approval_count = data.data.approval.length; review_count = data.data.review.length; receipt_count = data.data.receipt.length; diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 64d265386..44ed8bb43 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -240,45 +240,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo "
    \n"; } /* }}} */ - /** - * Returns the html needed for the clipboard list in the menu - * - * This function renders the clipboard in a way suitable to be - * used as a menu - * - * @param array $clipboard clipboard containing two arrays for both - * documents and folders. - * @return string html code - */ - function menuClipboard($clipboard) { /* {{{ */ - if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) { - return ''; - } - $content = ''; - $content .= " \n"; - return $content; - } /* }}} */ - /** * Returns the html needed for the clipboard list in the menu * @@ -1689,94 +1650,6 @@ $(function() { } } /* }}} */ - /** - * Return clipboard content rendered as html - * - * @param array clipboard - * @return string rendered html content - */ - function mainClipboard($clipboard, $previewer){ /* {{{ */ - $dms = $this->params['dms']; - $user = $this->params['user']; - $accessop = $this->params['accessobject']; - $content = ''; - $foldercount = $doccount = 0; - if($clipboard['folders']) { - foreach($clipboard['folders'] as $folderid) { - /* FIXME: check for access rights, which could have changed after adding the folder to the clipboard */ - if($folder = $dms->getFolder($folderid)) { - $comment = $folder->getComment(); - if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; - $content .= "getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; - $content .= "getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>\n"; - $content .= "getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; - if($comment) { - $content .= "
    ".htmlspecialchars($comment).""; - } - $content .= "\n"; - $content .= "\n"; - $content .= ""; - $content .= "\n"; - $content .= "\n"; - $foldercount++; - } - } - } - if($clipboard['docs']) { - foreach($clipboard['docs'] as $docid) { - /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ - if($document = $dms->getDocument($docid)) { - $comment = $document->getComment(); - if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; - if($latestContent = $document->getLatestContent()) { - $previewer->createPreview($latestContent); - $version = $latestContent->getVersion(); - $status = $latestContent->getStatus(); - - $content .= ""; - - if (file_exists($dms->contentDir . $latestContent->getPath())) { - $content .= ""; - if($accessop->check_controller_access('Download', array('action'=>'version'))) - $content .= ""; - if($previewer->hasPreview($latestContent)) { - $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } - if($accessop->check_controller_access('Download', array('action'=>'version'))) - $content .= ""; - $content .= ""; - } else - $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - - $content .= "" . htmlspecialchars($document->getName()) . ""; - if($comment) { - $content .= "
    ".htmlspecialchars($comment).""; - } - $content .= "\n"; - $content .= "\n"; - $content .= ""; - $content .= "\n"; - $content .= ""; - $doccount++; - } - } - } - } - - /* $foldercount or $doccount will only count objects which are - * actually available - */ - if($foldercount || $doccount) { - $content = "".$content; - $content .= "
    "; - } else { - } - $content .= "
    ".getMLText("drag_icon_here")."
    "; - return $content; - } /* }}} */ - /** * Print clipboard in div container * diff --git a/views/bootstrap/class.Tasks.php b/views/bootstrap/class.Tasks.php new file mode 100644 index 000000000..77e694871 --- /dev/null +++ b/views/bootstrap/class.Tasks.php @@ -0,0 +1,309 @@ + + * @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"); + +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + +/** + * Class which outputs the html page for clipboard 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_Tasks extends SeedDMS_Bootstrap_Style { + + private function __myTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $tasks['review'] = array(); + $tasks['approval'] = array(); + $tasks['receipt'] = array(); + $tasks['revision'] = array(); + $resArr = $dms->getDocumentList('ApproveByMe', $user); + 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']); + } + } + } + $resArr = $dms->getDocumentList('ReviewByMe', $user); + 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']); + } + } + } + $resArr = $dms->getDocumentList('ReceiptByMe', $user); + 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']); + } + } + } + $resArr = $dms->getDocumentList('ReviseByMe', $user); + 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']); + } + } + } + return $tasks; + } /* }}} */ + + /** + * Returns the html needed for the task list in the menu + * + * This function renders the tasks in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + function myTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $startts = microtime(true); + + $tasks = $this->__myTasks(); + + header('Content-Type: application/json'); + echo json_encode(array('error'=>0, 'data'=>$tasks, 'processing_time'=>microtime(true)-$startts)); + } /* }}} */ + + /** + * Returns the html needed for the task list in the menu + * + * This function renders the tasks in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + function menuTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + $tasks = $this->__myTasks(); + + $content = ''; +// $content .= " \n"; + echo $content; + } /* }}} */ + + /** + * Returns the html needed for the clipboard list in the menu + * + * This function renders the clipboard in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + public function menuClipboard() { /* {{{ */ + $clipboard = $this->params['session']->getClipboard(); + if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) { + return ''; + } + $content = ''; + $content .= " \n"; + echo $content; + } /* }}} */ + + /** + * Return clipboard content rendered as html + * + * @param array clipboard + * @return string rendered html content + */ + public function mainClipboard() { /* {{{ */ + $dms = $this->params['dms']; + $clipboard = $this->params['session']->getClipboard(); + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $content = ''; + $foldercount = $doccount = 0; + if($clipboard['folders']) { + foreach($clipboard['folders'] as $folderid) { + /* FIXME: check for access rights, which could have changed after adding the folder to the clipboard */ + if($folder = $dms->getFolder($folderid)) { + $comment = $folder->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + $content .= "getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; + $content .= "getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>\n"; + $content .= "getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; + if($comment) { + $content .= "
    ".htmlspecialchars($comment).""; + } + $content .= "\n"; + $content .= "\n"; + $content .= ""; + $content .= "\n"; + $content .= "\n"; + $foldercount++; + } + } + } + if($clipboard['docs']) { + foreach($clipboard['docs'] as $docid) { + /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ + if($document = $dms->getDocument($docid)) { + $comment = $document->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + if($latestContent = $document->getLatestContent()) { + $previewer->createPreview($latestContent); + $version = $latestContent->getVersion(); + $status = $latestContent->getStatus(); + + $content .= ""; + + if (file_exists($dms->contentDir . $latestContent->getPath())) { + $content .= ""; + if($previewer->hasPreview($latestContent)) { + $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } else { + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } + $content .= ""; + } else + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + + $content .= "" . htmlspecialchars($document->getName()) . ""; + if($comment) { + $content .= "
    ".htmlspecialchars($comment).""; + } + $content .= "\n"; + $content .= "\n"; + $content .= ""; + $content .= "\n"; + $content .= ""; + $doccount++; + } + } + } + } + + /* $foldercount or $doccount will only count objects which are + * actually available + */ + if($foldercount || $doccount) { + $content = "".$content; + $content .= "
    "; + } else { + } + $content .= "
    ".getMLText("drag_icon_here")."
    "; + echo $content; + } /* }}} */ + +} From 126ee89a5ec18b1df6ce846970e2dc55ef343485 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 12:42:29 +0100 Subject: [PATCH 060/212] do not show message for max upload size if not needed --- views/bootstrap/class.UpdateDocument.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 1b196cb32..b7a44ed6b 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -189,6 +189,8 @@ console.log(element); if($enablelargefileupload) { if($maxuploadsize) { $msg = getMLText("max_upload_size").": ".SeedDMS_Core_File::format_filesize($maxuploadsize); + } else { + $msg = ''; } } else { $msg = getMLText("max_upload_size").": ".ini_get( "upload_max_filesize"); @@ -196,7 +198,8 @@ console.log(element); if(0 && $enablelargefileupload) { $msg .= "

    ".sprintf(getMLText('link_alt_updatedocument'), "out.AddMultiDocument.php?folderid=".$folder->getID()."&showtree=".showtree())."

    "; } - $this->warningMsg($msg); + if($msg) + $this->warningMsg($msg); $this->contentContainerStart(); ?> From aba80e542d8cc0c6a571d205dce935ee36d54108 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 14:47:34 +0100 Subject: [PATCH 061/212] =?UTF-8?q?add=20more=20entrie=D1=95=20for=204.3.3?= =?UTF-8?q?4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index eba7b46e4..a0a22f313 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,10 @@ - show both number of links from a document A to B and vise versa in tab header on ViewDocuments page - add link to duplicate document on ObjectCheck page +- fix some incompatibilities in sql statements +- new config parameter maxUploadSize +- fix document upload by fine-uploader, when using firefox +- scale default icons for document types, use svg images when available -------------------------------------------------------------------------------- Changes in version 4.3.33 From 3058a2e38f3078bca25de9a746107ed5ef61e8bd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 15:06:34 +0100 Subject: [PATCH 062/212] add entries for 5.0.11 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index a4e38089c..905a8b1d1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ -------------------------------------------------------------------------------- Changes in version 5.0.11 -------------------------------------------------------------------------------- +- merged changes from 4.3.34 +- added some more hooks -------------------------------------------------------------------------------- Changes in version 5.0.10 From e67065040377b917a7ababd353a683e0e04bc7da Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 20 Mar 2017 15:10:40 +0100 Subject: [PATCH 063/212] add entry for 5.1.1 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 857386946..a596bd093 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ Changes in version 5.1.1 -------------------------------------------------------------------------------- - fix initial creation of postgres database +- merged changes from 5.0.11 -------------------------------------------------------------------------------- Changes in version 5.1.0 From ca9b3cb2458ed697183806eb26a2b6709460edc2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 21 Mar 2017 11:35:39 +0100 Subject: [PATCH 064/212] no need to check for password, but check for ip, guest login and disabled accounts (Closes #250) --- webdav/webdav.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webdav/webdav.php b/webdav/webdav.php index dd58d7868..e2ebd9790 100644 --- a/webdav/webdav.php +++ b/webdav/webdav.php @@ -138,7 +138,14 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server if(!$userobj) return false; - if(md5($pass) != $userobj->getPwd()) + + if(($userobj->getID() == $settings->_guestID) && (!$settings->_enableGuestLogin)) + return false; + + if($userobj->isDisabled()) + return false; + + if($userobj->isAdmin() && ($_SERVER['REMOTE_ADDR'] != $settings->_adminIP ) && ( $settings->_adminIP != "")) return false; $this->user = $userobj; From fd6055d57723b9815b74bca4e0634cdd2929bb06 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 21 Mar 2017 11:36:36 +0100 Subject: [PATCH 065/212] start new version 4.3.35 --- CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index a0a22f313..ca2f1cad3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- + Changes in version 4.3.35 +-------------------------------------------------------------------------------- +- fix authentication in webdav.php (Closes #250) + -------------------------------------------------------------------------------- Changes in version 4.3.34 -------------------------------------------------------------------------------- From 509921d6d87ea1d978257a76a81e7f05312e7e64 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 22 Mar 2017 20:53:25 +0100 Subject: [PATCH 066/212] remove duplicate adding of new fields --- install/update-5.1.0/update-sqlite3.sql | 4 ---- 1 file changed, 4 deletions(-) diff --git a/install/update-5.1.0/update-sqlite3.sql b/install/update-5.1.0/update-sqlite3.sql index 0cdfe14fe..81c46c033 100644 --- a/install/update-5.1.0/update-sqlite3.sql +++ b/install/update-5.1.0/update-sqlite3.sql @@ -175,10 +175,6 @@ CREATE TABLE `tblWorkflowDocumentContent` ( INSERT INTO `tblWorkflowDocumentContent` SELECT * FROM `__tblWorkflowDocumentContent`; -ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER NOT NULL default '0'; - -ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER NOT NULL default '0'; - UPDATE tblVersion set major=5, minor=1, subminor=0; COMMIT; From 050a2e60dfc86509f47576430a94d33da493a87f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 07:07:57 +0100 Subject: [PATCH 067/212] remove some debug echos --- SeedDMS_Core/Core/inc.ClassDocument.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 09959b0da..434d20166 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -4864,7 +4864,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ */ if(count($revisionStatus[$field]) == 0) { $queryStr = "DELETE from `tblDocumentRevisors` WHERE `documentID` = ". $this->_document->getID() ." AND `version` = ".$this->_version." AND `type` = ". $type ." AND `required` = ".$object->getID(); - echo $queryStr; if (!$db->getResult($queryStr)) { return -1; } @@ -5348,7 +5347,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $this->_workflow->setDMS($this->_document->_dms); if($transition) { - echo "Trigger transition"; if(false === $this->triggerWorkflowTransition($user, $transition, $comment)) { $db->rollbackTransaction(); return false; From a799e091fb84315c762a9ae43aec57db51abe67c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 08:29:43 +0100 Subject: [PATCH 068/212] drop tables which has been created temporarily if they are not droped, there foreign key constraints are still effective --- install/update-5.1.0/update-sqlite3.sql | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/install/update-5.1.0/update-sqlite3.sql b/install/update-5.1.0/update-sqlite3.sql index 81c46c033..ac2c192a7 100644 --- a/install/update-5.1.0/update-sqlite3.sql +++ b/install/update-5.1.0/update-sqlite3.sql @@ -11,6 +11,8 @@ CREATE TABLE `tblVersion` ( INSERT INTO `tblVersion` SELECT * FROM `__tblVersion`; +DROP TABLE `__tblVersion`; + ALTER TABLE `tblUserImages` RENAME TO `__tblUserImages`; CREATE TABLE `tblUserImages` ( @@ -22,6 +24,8 @@ CREATE TABLE `tblUserImages` ( INSERT INTO `tblUserImages` SELECT * FROM `__tblUserImages`; +DROP TABLE `__tblUserImages`; + ALTER TABLE `tblDocumentContent` RENAME TO `__tblDocumentContent`; CREATE TABLE `tblDocumentContent` ( @@ -42,6 +46,8 @@ CREATE TABLE `tblDocumentContent` ( INSERT INTO `tblDocumentContent` SELECT * FROM `__tblDocumentContent`; +DROP TABLE `__tblDocumentContent`; + ALTER TABLE `tblDocumentFiles` RENAME TO `__tblDocumentFiles`; CREATE TABLE `tblDocumentFiles` ( @@ -59,6 +65,8 @@ CREATE TABLE `tblDocumentFiles` ( INSERT INTO `tblDocumentFiles` SELECT * FROM `__tblDocumentFiles`; +DROP TABLE `__tblDocumentFiles`; + ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER unsigned NOT NULL DEFAULT '0'; ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER unsigned NOT NULL DEFAULT '0'; @@ -86,6 +94,8 @@ CREATE TABLE `tblUsers` ( INSERT INTO `tblUsers` SELECT * FROM `__tblUsers`; +DROP TABLE `__tblUsers`; + ALTER TABLE `tblUserPasswordRequest` RENAME TO `__tblUserPasswordRequest`; CREATE TABLE `tblUserPasswordRequest` ( @@ -97,6 +107,8 @@ CREATE TABLE `tblUserPasswordRequest` ( INSERT INTO `tblUserPasswordRequest` SELECT * FROM `__tblUserPasswordRequest`; +DROP TABLE `__tblUserPasswordRequest`; + ALTER TABLE `tblUserPasswordHistory` RENAME TO `__tblUserPasswordHistory`; CREATE TABLE `tblUserPasswordHistory` ( @@ -108,6 +120,8 @@ CREATE TABLE `tblUserPasswordHistory` ( INSERT INTO `tblUserPasswordHistory` SELECT * FROM `__tblUserPasswordHistory`; +DROP TABLE `__tblUserPasswordHistory`; + ALTER TABLE `tblDocumentReviewLog` RENAME TO `__tblDocumentReviewLog`; CREATE TABLE `tblDocumentReviewLog` ( @@ -121,6 +135,8 @@ CREATE TABLE `tblDocumentReviewLog` ( INSERT INTO `tblDocumentReviewLog` SELECT * FROM `__tblDocumentReviewLog`; +DROP TABLE `__tblDocumentReviewLog`; + ALTER TABLE `tblDocumentStatusLog` RENAME TO `__tblDocumentStatusLog`; CREATE TABLE `tblDocumentStatusLog` ( @@ -134,6 +150,8 @@ CREATE TABLE `tblDocumentStatusLog` ( INSERT INTO `tblDocumentStatusLog` SELECT * FROM `__tblDocumentStatusLog`; +DROP TABLE `__tblDocumentStatusLog`; + ALTER TABLE `tblDocumentApproveLog` RENAME TO `__tblDocumentApproveLog`; CREATE TABLE `tblDocumentApproveLog` ( @@ -147,6 +165,8 @@ CREATE TABLE `tblDocumentApproveLog` ( INSERT INTO `tblDocumentApproveLog` SELECT * FROM `__tblDocumentApproveLog`; +DROP TABLE `__tblDocumentApproveLog`; + ALTER TABLE `tblWorkflowLog` RENAME TO `__tblWorkflowLog`; CREATE TABLE `tblWorkflowLog` ( @@ -162,6 +182,8 @@ CREATE TABLE `tblWorkflowLog` ( INSERT INTO `tblWorkflowLog` SELECT * FROM `__tblWorkflowLog`; +DROP TABLE `__tblWorkflowLog`; + ALTER TABLE `tblWorkflowDocumentContent` RENAME TO `__tblWorkflowDocumentContent`; CREATE TABLE `tblWorkflowDocumentContent` ( @@ -175,6 +197,8 @@ CREATE TABLE `tblWorkflowDocumentContent` ( INSERT INTO `tblWorkflowDocumentContent` SELECT * FROM `__tblWorkflowDocumentContent`; +DROP TABLE `__tblWorkflowDocumentContent`; + UPDATE tblVersion set major=5, minor=1, subminor=0; COMMIT; From c18f09d344631096b5d30bc3828aa9164c3b93a0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 15:22:55 +0100 Subject: [PATCH 069/212] start new version 6.0.1 --- CHANGELOG | 4 ++++ Makefile | 2 +- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- SeedDMS_Core/package.xml | 28 ++++++++++++++++++++++++++++ inc/inc.Version.php | 2 +- install/install.php | 2 +- 6 files changed, 36 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f023bac97..eecc24627 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +-------------------------------------------------------------------------------- + Changes in version 6.0.1 +-------------------------------------------------------------------------------- + -------------------------------------------------------------------------------- Changes in version 6.0.0 -------------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index 4775ba05b..67e38fbc3 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION=6.0.0 +VERSION=6.0.1 SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc styles TODO LICENSE webdav install restapi pdfviewer # webapp diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 8bc37c0e7..1b7177147 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -442,7 +442,7 @@ class SeedDMS_Core_DMS { $this->callbacks = array(); $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '6.0.0'; + $this->version = '6.0.1'; } /* }}} */ /** diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index ebdebfc90..9d57e424a 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -1389,5 +1389,33 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - added postgres support + + 2017-02-28 + + + 6.0.0 + 6.0.0 + + + stable + stable + + GPL License + +- all changes from 5.1.1 merged +- SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus() +only return entries of the latest document version if not specific document and +version is passed +- temp. table for revisions can be created +- new methods SeedDMS_Core_DMS::getDocumentsInReception() and +SeedDMS_Core_DMS::getDocumentsInRevision() +- limit hits of sql statement in SeedDMЅ_Core_DMS::getDuplicateDocumentContent() to 1000 +- finishRevsion() puts all revisors into state waiting, so a new revision can be started +- fix SeedDMS_Core_Group::getRevisionStatus(), which did not always return the last +log entry first +- add roles +- use classname from SeedDMS_Core_DMS::_classnames for SeedDMS_Core_DocumentContent + + diff --git a/inc/inc.Version.php b/inc/inc.Version.php index a258f57dd..db395aba2 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -20,7 +20,7 @@ class SeedDMS_Version { - public $_number = "6.0.0"; + public $_number = "6.0.1"; private $_string = "SeedDMS"; function __construct() { diff --git a/install/install.php b/install/install.php index 891219391..80d4ce39e 100644 --- a/install/install.php +++ b/install/install.php @@ -123,7 +123,7 @@ function fileExistsInIncludePath($file) { /* {{{ */ * Load default settings + set */ define("SEEDDMS_INSTALL", "on"); -define("SEEDDMS_VERSION", "6.0.0"); +define("SEEDDMS_VERSION", "6.0.1"); require_once('../inc/inc.ClassSettings.php'); From 6bb6662de414650344b8b827be56b3458963c32f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 15:39:18 +0100 Subject: [PATCH 070/212] start new version 4.3.35 --- Makefile | 2 +- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- SeedDMS_Core/Core/inc.DBAccessPDO.php | 8 ++++---- SeedDMS_Core/package.xml | 23 +++++++++++++++++++---- inc/inc.Version.php | 2 +- install/install.php | 2 +- 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 1870d74a9..66711f42a 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION=4.3.34 +VERSION=4.3.35 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 957d5c868..37215e77b 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.34'; + $this->version = '4.3.35'; } /* }}} */ /** diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index 1b71bcd9b..ae271e46c 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -38,7 +38,7 @@ class SeedDMS_Core_DatabaseAccess { protected $_hostname; /** - * @var int port number of database + * @var int port number of database */ protected $_port; @@ -91,7 +91,7 @@ class SeedDMS_Core_DatabaseAccess { * @var boolean set to true if in a database transaction */ private $_intransaction; - + /** * Return list of all database tables * @@ -233,7 +233,7 @@ class SeedDMS_Core_DatabaseAccess { */ function getResultArray($queryStr) { /* {{{ */ $resArr = array(); - + $res = $this->_conn->query($queryStr); if ($res === false) { if($this->_debug) @@ -263,7 +263,7 @@ class SeedDMS_Core_DatabaseAccess { return false; } else return true; - + return $res; } /* }}} */ diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 5d8181ce2..de00b956c 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2017-02-28 + 2017-03-22 - 4.3.34 - 4.3.34 + 4.3.35 + 4.3.35 stable @@ -24,7 +24,6 @@ GPL License -SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document @@ -1125,5 +1124,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - SeedDMЅ_Core_User::setFullname() minor fix in sql statement + + 2017-02-28 + + + 4.3.34 + 4.3.34 + + + stable + stable + + GPL License + +SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document + + diff --git a/inc/inc.Version.php b/inc/inc.Version.php index 472cb634c..61bf92141 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -20,7 +20,7 @@ class SeedDMS_Version { - public $_number = "4.3.34"; + public $_number = "4.3.35"; private $_string = "SeedDMS"; function __construct() { diff --git a/install/install.php b/install/install.php index 313dcb475..6a04997dc 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.34"); +define("SEEDDMS_VERSION", "4.3.35"); require_once('../inc/inc.ClassSettings.php'); From 46582a2be409a5cd79eec39a22063a9f33b2be5e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 17:25:54 +0100 Subject: [PATCH 071/212] update last access time only once a minute --- inc/inc.Authentication.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inc/inc.Authentication.php b/inc/inc.Authentication.php index 64ef29d89..9226f62b2 100644 --- a/inc/inc.Authentication.php +++ b/inc/inc.Authentication.php @@ -48,7 +48,8 @@ if (!isset($_COOKIE["mydms_session"])) { } /* Update last access time */ -$session->updateAccess($dms_session); +if((int)$resArr['lastAccess']+60 < time()) + $session->updateAccess($dms_session); /* Load user data */ $user = $dms->getUser($resArr["userID"]); From 4265c965de3d4e3f7877a1e872a3b8af298c9f07 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 17:27:31 +0100 Subject: [PATCH 072/212] log all sql statements into file if log file is given --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index ae271e46c..76a5366a1 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -92,6 +92,16 @@ class SeedDMS_Core_DatabaseAccess { */ private $_intransaction; + /** + * @var string set a valid file name for logging all sql queries + */ + private $_logfile; + + /** + * @var resource file pointer of log file + */ + private $_logfp; + /** * Return list of all database tables * @@ -139,6 +149,13 @@ class SeedDMS_Core_DatabaseAccess { $this->_user = $user; $this->_passw = $passw; $this->_connected = false; + $this->_logfile = ''; + if($this->_logfile) { + $this->_logfp = fopen($this->_logfile, 'a+'); + if($this->_logfp) + fwrite($this->_logfp, microtime()." BEGIN ------------------------------------------\n"); + } else + $this->_logfp = null; // $tt*****id is a hack to ensure that we do not try to create the // temporary table twice during a single connection. Can be fixed by // using Views (MySQL 5.0 onward) instead of temporary tables. @@ -154,6 +171,24 @@ class SeedDMS_Core_DatabaseAccess { $this->_debug = false; } /* }}} */ + /** + * Constructor of SeedDMS_Core_DatabaseAccess + * + * Sets all database parameters but does not connect. + * + * @param string $driver the database type e.g. mysql, sqlite + * @param string $hostname host of database server + * @param string $user name of user having access to database + * @param string $passw password of user + * @param string $database name of database + */ + function __destruct() { /* {{{ */ + if($this->_logfp) { + fwrite($this->_logfp, microtime()." END --------------------------------------------\n"); + fclose($this->_logfp); + } + } /* }}} */ + /** * Connect to database * @@ -234,6 +269,9 @@ class SeedDMS_Core_DatabaseAccess { function getResultArray($queryStr) { /* {{{ */ $resArr = array(); + if($this->_logfp) { + fwrite($this->_logfp, microtime()." ".$queryStr."\n"); + } $res = $this->_conn->query($queryStr); if ($res === false) { if($this->_debug) @@ -256,6 +294,9 @@ class SeedDMS_Core_DatabaseAccess { * @return boolean true if query could be executed otherwise false */ function getResult($queryStr, $silent=false) { /* {{{ */ + if($this->_logfp) { + fwrite($this->_logfp, microtime()." ".$queryStr."\n"); + } $res = $this->_conn->exec($queryStr); if($res === false) { if($this->_debug) From 77aa03c318dc08bb1606a047af88c17bb5c2fa3f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 23 Mar 2017 17:29:22 +0100 Subject: [PATCH 073/212] add entry for 4.3.35 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index ca2f1cad3..e4ef825b3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ Changes in version 4.3.35 -------------------------------------------------------------------------------- - fix authentication in webdav.php (Closes #250) +- update last access time only once a minute -------------------------------------------------------------------------------- Changes in version 4.3.34 From fc90e71584b1fe86bdd3673ec35b2a158a68b49a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 08:22:52 +0100 Subject: [PATCH 074/212] do not show spinner if data-no-spinner is set in '
    '); $.get(url, function(data) { element.html(data); // $(".chzn-select").chosen(); From ae3946b6a9feca299ba692ca3d1795ec29c1ab2c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 08:26:39 +0100 Subject: [PATCH 075/212] turn of spinner for ajax call to show clipboard in menu --- 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 d1cec82e0..8a7423209 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -306,7 +306,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if($this->params['enableclipboard']) { echo "
    "; - echo "
    "; + echo "
    "; echo "
    "; } From 78d482e14eb934c064681870f5b93e443b3dac28 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 08:28:01 +0100 Subject: [PATCH 076/212] add entries for 5.1.2 --- CHANGELOG | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 000bf1df1..6210b3659 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,10 @@ +-------------------------------------------------------------------------------- + Changes in version 5.1.2 +-------------------------------------------------------------------------------- +- do not show spinner when clipboard is loaded in menu (prevents flickering of + page) +- merged changes from 5.0.12 + -------------------------------------------------------------------------------- Changes in version 5.1.1 -------------------------------------------------------------------------------- From 156354ac76b4e38401a8779f077854b038b7995f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 09:17:24 +0100 Subject: [PATCH 077/212] pass '' as orderby to hook searchListHeader() --- views/bootstrap/class.Search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index 22d44a59e..ded223974 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -454,7 +454,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { $this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $urlparams); // $this->contentContainerStart(); - $txt = $this->callHook('searchListHeader', $folder, $orderby); + $txt = $this->callHook('searchListHeader', $folder, ''); if(is_string($txt)) echo $txt; else { From 3a615b6e061b00033a13b26b58ab0382aded333f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 13:29:00 +0100 Subject: [PATCH 078/212] optimize sql code to get locked documents --- SeedDMS_Core/Core/inc.ClassDMS.php | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 1b7177147..ade326807 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1106,12 +1106,27 @@ class SeedDMS_Core_DMS { $orderdir = 'DESC'; else $orderdir = 'ASC'; - $queryStr .= "AND `tblDocumentLocks`.`userID` = '".$user->getID()."' "; - if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; - else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; - else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; - else $queryStr .= "ORDER BY `name`"; - $queryStr .= " ".$orderdir; + + $qs = 'SELECT `document` FROM `tblDocumentLocks` WHERE `userID`='.$user->getID(); + $ra = $this->db->getResultArray($qs); + if (is_bool($ra) && !$ra) { + return false; + } + $docs = array(); + foreach($ra as $d) { + $docs[] = $d['document']; + } + + if ($docs) { + $queryStr .= "AND `tblDocuments`.`id` IN (" . implode(',', $docs) . ") "; + 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 'WorkflowOwner': // Documents waiting for workflow trigger I'm owning {{{ $user = $param1; From 3cd370cb2e0c50575d77fc2047ace4d2f09b3f8e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 15:54:52 +0100 Subject: [PATCH 079/212] add methods getLastAccessedSessions() and getUser() --- inc/inc.ClassSession.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index e6c7dd206..67e5983f8 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -186,6 +186,15 @@ class SeedDMS_Session { return true; } /* }}} */ + /** + * Get language of session + * + * @return string language + */ + function getUser() { /* {{{ */ + return $this->data['userid']; + } /* }}} */ + /** * Set language of session * @@ -478,5 +487,28 @@ class SeedDMS_SessionMgr { return $sessions; } /* }}} */ + + /** + * Get list of active sessions with a given time + * + * @return array list of sessions + */ + function getLastAccessedSessions($datetime) { /* {{{ */ + if(!$ts = makeTsFromLongDate($datetime)) + return false; + $queryStr = "SELECT * FROM `tblSessions` WHERE `lastAccess`>=".$ts; + $queryStr .= " ORDER BY `lastAccess` DESC"; + $resArr = $this->db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + $sessions = array(); + foreach($resArr as $rec) { + $session = new SeedDMS_Session($this->db); + $session->load($rec['id']); + $sessions[] = $session; + } + return $sessions; + + } /* }}} */ } ?> From f61a5f232757adf8f519914fef6059484d3e2a44 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 15:55:43 +0100 Subject: [PATCH 080/212] add list of active session in menu --- out/out.Session.php | 40 +++++++++++++++++ views/bootstrap/class.Bootstrap.php | 4 ++ views/bootstrap/class.Session.php | 68 +++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 out/out.Session.php create mode 100644 views/bootstrap/class.Session.php diff --git a/out/out.Session.php b/out/out.Session.php new file mode 100644 index 000000000..4c07bc48c --- /dev/null +++ b/out/out.Session.php @@ -0,0 +1,40 @@ +$dms, 'user'=>$user)); + +if($view) { + $view($_GET); + exit; +} + +?> diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 8a7423209..10c1ceaf8 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -304,6 +304,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " \n"; echo " \n"; + echo "
    "; + echo "
    "; + echo "
    "; + if($this->params['enableclipboard']) { echo "
    "; echo "
    "; diff --git a/views/bootstrap/class.Session.php b/views/bootstrap/class.Session.php new file mode 100644 index 000000000..4dcedd708 --- /dev/null +++ b/views/bootstrap/class.Session.php @@ -0,0 +1,68 @@ + + * @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 clipboard 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_Session extends SeedDMS_Bootstrap_Style { + /** + * Returns the html needed for the clipboard list in the menu + * + * This function renders the clipboard in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + public function menuSessions() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + $sessionmgr = new SeedDMS_SessionMgr($dms->getDB()); + $sessions = $sessionmgr->getLastAccessedSessions(date('Y-m-d H:i:s', time()-3600)); + + if ($user->isGuest() || count($sessions) == 0) { + return ''; + } + $content = ''; + $content .= " \n"; + echo $content; + } /* }}} */ + +} From dc0737c1dbcf9f98a37993e667374ae429ba1657 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 24 Mar 2017 15:56:33 +0100 Subject: [PATCH 081/212] show session list only to admins --- views/bootstrap/class.Bootstrap.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 10c1ceaf8..669f0022e 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -304,10 +304,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " \n"; echo " \n"; + if($this->params['user']->isAdmin()) { echo "
    "; echo "
    "; echo "
    "; - + } if($this->params['enableclipboard']) { echo "
    "; echo "
    "; From d7af33f579d2ac799a4d3f36448e4ecc1e942bc9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 07:09:56 +0200 Subject: [PATCH 082/212] raw content can be set for files added to archive Setting the raw content will take the meta data from the document content but use the file content as passed by the third optional parameter of addItem() --- inc/inc.ClassDownloadMgr.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassDownloadMgr.php b/inc/inc.ClassDownloadMgr.php index 62c4bcbe4..116784230 100644 --- a/inc/inc.ClassDownloadMgr.php +++ b/inc/inc.ClassDownloadMgr.php @@ -51,6 +51,7 @@ class SeedDMS_Download_Mgr { $this->items = array(); $this->header = array('Dokumenten-Nr.', 'Dokumentenname', 'Dateiname', 'Status', 'Int. Version', 'Prüfer', 'Prüfdatum', 'Prüfkommentar', 'Prüfstatus', 'Freigeber', 'Freigabedatum', 'Freigabekommentar', 'Freigabestatus'); $this->extracols = array(); + $this->rawcontents = array(); $this->extraheader = array(); } @@ -58,9 +59,10 @@ class SeedDMS_Download_Mgr { $this->extraheader = $extraheader; } /* }}} */ - public function addItem($item, $extracols) { /* {{{ */ + public function addItem($item, $extracols=array(), $rawcontent='') { /* {{{ */ $this->items[$item->getID()] = $item; $this->extracols[$item->getID()] = $extracols; + $this->rawcontents[$item->getID()] = $rawcontent; } /* }}} */ public function createToc($file) { /* {{{ */ @@ -193,7 +195,10 @@ class SeedDMS_Download_Mgr { $filename = preg_replace('/[^A-Za-z0-9_-]/', '_', $document->getName()).'.'.$oext; } $filename = $prefixdir."/".$document->getID().'-'.$item->getVersion().'-'.$filename; //$lc->getOriginalFileName(); - $zip->addFile($dms->contentDir.$item->getPath(), utf8_decode($filename)); + if($this->rawcontents[$item->getID()]) { + $zip->addFromString(utf8_decode($filename), $this->rawcontents[$item->getID()]); + } else + $zip->addFile($dms->contentDir.$item->getPath(), utf8_decode($filename)); } $zip->addFile($file, $prefixdir."/metadata.xls"); From 10b62bc7fbbdb30af9e63700ebf4e91eb3b9338c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 07:11:51 +0200 Subject: [PATCH 083/212] call hook 'rawcontent' --- controllers/class.TransmittalDownload.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/controllers/class.TransmittalDownload.php b/controllers/class.TransmittalDownload.php index 37ff3f29d..88534641a 100644 --- a/controllers/class.TransmittalDownload.php +++ b/controllers/class.TransmittalDownload.php @@ -31,12 +31,18 @@ class SeedDMS_Controller_TransmittalDownload extends SeedDMS_Controller_Common { if($items) { include("../inc/inc.ClassDownloadMgr.php"); $downmgr = new SeedDMS_Download_Mgr(); + if($extraheader = $this->callHook('extraDownloadHeader')) + $downmgr->addHeader($extraheader); foreach($items as $item) { $content = $item->getContent(); $document = $content->getDocument(); if ($document->getAccessMode($user) >= M_READ) { - $downmgr->addItem($content); + $extracols = $this->callHook('extraDownloadColumns', $document); + if($rawcontent = $this->callHook('rawcontent', $content)) { + $downmgr->addItem($content, $extracols, $rawcontent); + } else + $downmgr->addItem($content, $extracols); } } From dde99fa1503d87eb01f15477b365525bd4bd6af4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 07:12:13 +0200 Subject: [PATCH 084/212] call hook 'rawcontent' when downloading search result with content --- views/bootstrap/class.Search.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index 3dbfbe165..cc2df42ff 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -82,7 +82,10 @@ $(document).ready( function() { foreach($entries as $entry) { if(get_class($entry) == $dms->getClassname('document')) { $extracols = $this->callHook('extraDownloadColumns', $entry); - $downmgr->addItem($entry->getLatestContent(), $extracols); + if(isset($_GET['includecontent']) && $_GET['includecontent'] && $rawcontent = $this->callHook('rawcontent', $entry->getLatestContent())) { + $downmgr->addItem($entry->getLatestContent(), $extracols, $rawcontent); + } else + $downmgr->addItem($entry->getLatestContent(), $extracols); } } $filename = tempnam('/tmp', ''); From ffb4f3179de93f008f6349ea46a8a0c63fb2ba13 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 07:33:58 +0200 Subject: [PATCH 085/212] add changes for 6.0.1 --- CHANGELOG | 3 +++ SeedDMS_Core/package.xml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 3f3d3d6f6..faa214514 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ -------------------------------------------------------------------------------- Changes in version 6.0.1 -------------------------------------------------------------------------------- +- call hook 'rawcontent' when downloading transmittal list or search content +- speed up list of locked documents on MyDocuments page +- sql queries and execution times can be written to file in database layer -------------------------------------------------------------------------------- Changes in version 6.0.0 diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index d3d83e2f2..07aab7fbf 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,8 @@ GPL License +- speed up getting list of locked documents +- setting _logfile in inc.DBAccessPDO.php will log execution times in file From 621317def270a8623cebf84d7647c707f7a41a91 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 10:20:55 +0200 Subject: [PATCH 086/212] print folder of document in extra row below title of document --- views/bootstrap/class.Search.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index ded223974..db577ba04 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -500,14 +500,16 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { print "getMimeIcon($lc->getFileType())."\" title=\"".htmlspecialchars($lc->getMimeType())."\">"; } print ""; - print "getID()."\">/"; + print "getID()."\">"; + print $docName; + print ""; + print "
    ".getMLText('in_folder').": /"; $folder = $document->getFolder(); $path = $folder->getPath(); for ($i = 1; $i < count($path); $i++) { print htmlspecialchars($path[$i]->getName())."/"; } - print $docName; - print ""; + print ""; print "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $document->getDate()).", ".getMLText('version')." ".$version." - ".date('Y-m-d', $lc->getDate()).""; if($comment) { print "
    ".htmlspecialchars($comment).""; From ebc4a29505b10688596ea98d25fbdaf1319d60e1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 4 Apr 2017 18:28:37 +0200 Subject: [PATCH 087/212] show origfilename of attachments only if not equal to name of attachment --- views/bootstrap/class.ViewDocument.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index eb5d72b14..ba947ee45 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1238,7 +1238,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
      \n"; print "
    • ".htmlspecialchars($file->getName())."
    • \n"; - print "
    • ".htmlspecialchars($file->getOriginalFileName())."
    • \n"; + if($file->getName() != $file->getOriginalFileName()) + print "
    • ".htmlspecialchars($file->getOriginalFileName())."
    • \n"; if ($file_exists) print "
    • ".SeedDMS_Core_File::format_filesize(filesize($dms->contentDir . $file->getPath())) ." bytes, ".htmlspecialchars($file->getMimeType())."
    • "; else print "
    • ".htmlspecialchars($file->getMimeType())." - ".getMLText("document_deleted")."
    • "; From cb6dbd0c8d83b6689612ca19fa7d80c3bbd007c4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Apr 2017 21:59:45 +0200 Subject: [PATCH 088/212] call hook 'approveDocument' after document has been approved or rejected --- op/op.ApproveDocument.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/op/op.ApproveDocument.php b/op/op.ApproveDocument.php index d99e52ba3..366140526 100644 --- a/op/op.ApproveDocument.php +++ b/op/op.ApproveDocument.php @@ -194,8 +194,13 @@ if ($_POST["approvalStatus"]==-1){ } } - // TODO: if user os not owner send notification to owner - + if(isset($GLOBALS['SEEDDMS_HOOKS']['approveDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['approveDocument'] as $hookObj) { + if (method_exists($hookObj, 'postApproveDocument')) { + $hookObj->postApproveDocument(null, $content, S_REJECTED); + } + } + } } }else{ @@ -241,7 +246,13 @@ if ($_POST["approvalStatus"]==-1){ } } - // TODO: if user os not owner send notification to owner + if(isset($GLOBALS['SEEDDMS_HOOKS']['approveDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['approveDocument'] as $hookObj) { + if (method_exists($hookObj, 'postApproveDocument')) { + $hookObj->postApproveDocument(null, $content, S_RELEASED); + } + } + } } } } From 727f93eafac686455d4d32b264c62ce62033c996 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Apr 2017 22:00:54 +0200 Subject: [PATCH 089/212] expiration date can be selected from list and entered by calendar --- op/op.AddDocument.php | 33 ++++++++++--- op/op.SetExpires.php | 37 +++++++++++--- op/op.UpdateDocument.php | 33 ++++++++++--- views/bootstrap/class.AddDocument.php | 63 +++++++++++++++++------- views/bootstrap/class.SetExpires.php | 34 +++++++++++-- views/bootstrap/class.UpdateDocument.php | 32 +++++++++--- 6 files changed, 177 insertions(+), 55 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 2f9d4bb65..1780b979f 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -116,14 +116,31 @@ if (!is_numeric($sequence)) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("invalid_sequence")); } -$expires = false; -if (!isset($_POST['expires']) || $_POST["expires"] != "false") { - if($_POST["expdate"]) { - $tmp = explode('-', $_POST["expdate"]); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); - } else { - $expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]); - } +switch($_POST["presetexpdate"]) { +case "date": + $tmp = explode('-', $_POST["expdate"]); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); + break; +case "1w": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); + break; +case "1m": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); + break; +case "1y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); + break; +case "2y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); + break; +case "never": +default: + $expires = null; + break; } // Get the list of reviewers and approvers for this document. diff --git a/op/op.SetExpires.php b/op/op.SetExpires.php index dbb80b021..456f48ced 100644 --- a/op/op.SetExpires.php +++ b/op/op.SetExpires.php @@ -43,14 +43,35 @@ if ($document->getAccessMode($user) < M_READWRITE) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); } -$expires = false; -if (!isset($_POST["expires"]) || $_POST["expires"] != "false") { - if(isset($_POST["expdate"]) && $_POST["expdate"]) { - $tmp = explode('-', $_POST["expdate"]); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); - } else { - $expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]); - } +if (!isset($_POST["presetexpdate"]) || $_POST["presetexpdate"] == "") { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_expiration_date")); +} + +switch($_POST["presetexpdate"]) { +case "date": + $tmp = explode('-', $_POST["expdate"]); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); + break; +case "1w": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); + break; +case "1m": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); + break; +case "1y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); + break; +case "2y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); + break; +case "never": +default: + $expires = null; + break; } if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 25547ef9c..f8ec0e4fa 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -373,14 +373,31 @@ if ($_FILES['userfile']['error'] == 0) { } } - $expires = false; - if (!isset($_POST['expires']) || $_POST["expires"] != "false") { - if($_POST["expdate"]) { - $tmp = explode('-', $_POST["expdate"]); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); - } else { - $expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]); - } + switch($_POST["presetexpdate"]) { + case "date": + $tmp = explode('-', $_POST["expdate"]); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); + break; + case "1w": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); + break; + case "1m": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); + break; + case "1y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); + break; + case "2y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); + break; + case "never": + default: + $expires = null; + break; } if ($expires) { diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 4348e4823..13ab0cd25 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -122,6 +122,12 @@ $(document).ready(function() { } } }); + $('#presetexpdate').on('change', function(ev){ + if($(this).val() == 'date') + $('#control_expdate').show(); + else + $('#control_expdate').hide(); + }); }); printKeywordChooserJs("form1"); @@ -209,6 +215,37 @@ $(document).ready(function() { : printSequenceChooser($folder->getDocuments('s')); if($orderby != 's') echo "
      ".getMLText('order_by_sequence_off'); ?> + + + : + + + + + > + : + + + + + + + + isAdmin()) { ?> : @@ -247,26 +284,16 @@ $(document).ready(function() { } } } - if($presetexpiration) { - if(!($expts = strtotime($presetexpiration))) - $expts = time(); - } else { - $expts = time(); + $arrs = $this->callHook('addDocumentAttributes', $folder); + if(is_array($arrs)) { + foreach($arrs as $arr) { + echo ""; + echo "".$arr[0].":"; + echo "".$arr[1].""; + echo ""; + } } ?> - - : - - - - -   - - - - contentSubHeading(getMLText("version_info")); ?> diff --git a/views/bootstrap/class.SetExpires.php b/views/bootstrap/class.SetExpires.php index bc7c4ac49..2908aedc2 100644 --- a/views/bootstrap/class.SetExpires.php +++ b/views/bootstrap/class.SetExpires.php @@ -31,6 +31,20 @@ require_once("class.Bootstrap.php"); */ class SeedDMS_View_SetExpires extends SeedDMS_Bootstrap_Style { + function js() { /* {{{ */ + header('Content-Type: application/javascript'); +?> +$(document).ready( function() { + $('#presetexpdate').on('change', function(ev){ + if($(this).val() == 'date') + $('#control_expdate').show(); + else + $('#control_expdate').hide(); + }); +}); +params['dms']; $user = $this->params['user']; @@ -53,15 +67,25 @@ class SeedDMS_View_SetExpires extends SeedDMS_Bootstrap_Style {
      + +
      + +
      +
      +
      - + -
      - +
      diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 689c74d8e..d7e440ef2 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -119,6 +119,12 @@ console.log(element); } } }); + $('#presetexpdate').on('change', function(ev){ + if($(this).val() == 'date') + $('#control_expdate').show(); + else + $('#control_expdate').hide(); + }); }); + : + + + + + > : - - + + -
      - +
      Date: Wed, 5 Apr 2017 22:08:25 +0200 Subject: [PATCH 090/212] pass null as first argument to all hooks (will later be the controller) --- op/op.AddDocument.php | 4 ++-- op/op.Ajax.php | 2 +- op/op.SetExpires.php | 4 ++-- op/op.TriggerWorkflow.php | 4 ++-- op/op.UpdateDocument.php | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 1780b979f..9cbd91e14 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -317,7 +317,7 @@ for ($file_num=0;$file_numpreAddDocument(array('name'=>&$name, 'comment'=>&$comment)); + $hookObj->preAddDocument(null, array('name'=>&$name, 'comment'=>&$comment)); } } } @@ -345,7 +345,7 @@ for ($file_num=0;$file_numpostAddDocument($document); + $hookObj->postAddDocument(null, $document); } } } diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 9518c7f7f..6df2390cd 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -639,7 +639,7 @@ switch($command) { if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { if (method_exists($hookObj, 'postAddDocument')) { - $hookObj->postAddDocument($document); + $hookObj->postAddDocument(null, $document); } } } diff --git a/op/op.SetExpires.php b/op/op.SetExpires.php index 456f48ced..a1dad52b1 100644 --- a/op/op.SetExpires.php +++ b/op/op.SetExpires.php @@ -77,7 +77,7 @@ default: if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { if (method_exists($hookObj, 'preSetExpires')) { - $hookObj->preSetExpires(array('document'=>$document, 'expires'=>&$expires)); + $hookObj->preSetExpires(null, array('document'=>$document, 'expires'=>&$expires)); } } } @@ -91,7 +91,7 @@ $document->verifyLastestContentExpriry(); if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { if (method_exists($hookObj, 'postSetExpires')) { - $hookObj->postSetExpires(array('document'=>$document, 'expires'=>$expires)); + $hookObj->postSetExpires(null, array('document'=>$document, 'expires'=>$expires)); } } } diff --git a/op/op.TriggerWorkflow.php b/op/op.TriggerWorkflow.php index 1b183ada5..6d59f8ff6 100644 --- a/op/op.TriggerWorkflow.php +++ b/op/op.TriggerWorkflow.php @@ -71,7 +71,7 @@ $workflow = $transition->getWorkflow(); if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) { if (method_exists($hookObj, 'preTriggerWorkflowTransition')) { - $hookObj->preTriggerWorkflowTransition(array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); + $hookObj->preTriggerWorkflowTransition(null, array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); } } } @@ -130,7 +130,7 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) { if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) { if (method_exists($hookObj, 'postTriggerWorkflowTransition')) { - $hookObj->postTriggerWorkflowTransition(array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); + $hookObj->postTriggerWorkflowTransition(null, array('version'=>$version, 'transition'=>$transition, 'comment'=>$_POST["comment"])); } } } diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index f8ec0e4fa..078a23f40 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -240,7 +240,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'preUpdateDocument')) { - $hookObj->preUpdateDocument(array('name'=>&$name, 'comment'=>&$comment)); + $hookObj->preUpdateDocument(null, array('name'=>&$name, 'comment'=>&$comment)); } } } @@ -254,7 +254,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'postUpdateDocument')) { - $hookObj->postUpdateDocument($document); + $hookObj->postUpdateDocument(null, $document); } } } From 2395fd9d15a76f3c130c606ec41c58bf431d6bff Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Apr 2017 22:09:47 +0200 Subject: [PATCH 091/212] add changes for 5.1.2 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 6210b3659..893ebb418 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,8 @@ -------------------------------------------------------------------------------- - do not show spinner when clipboard is loaded in menu (prevents flickering of page) +- add select menu for predifined expiration dates +- add some more hooks - merged changes from 5.0.12 -------------------------------------------------------------------------------- From f0871eaeba42fb1ab04e97897f0f56624e110866 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Apr 2017 07:37:41 +0200 Subject: [PATCH 092/212] remove parameter from hook searchListHeader --- views/bootstrap/class.Search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index db577ba04..f160958a4 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -454,7 +454,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { $this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $urlparams); // $this->contentContainerStart(); - $txt = $this->callHook('searchListHeader', $folder, ''); + $txt = $this->callHook('searchListHeader'); if(is_string($txt)) echo $txt; else { From 392564129a2a9e31d98d6269c99ee5856eeff1c8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 06:51:17 +0200 Subject: [PATCH 093/212] show foldername and parent folder path on separate lines --- views/bootstrap/class.Search.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index f160958a4..9513f62ba 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -577,13 +577,14 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { print "getID()."\" draggable=\"true\" rel=\"folder_".$folder->getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; print "getID()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>"; print "getID()."\">"; + print $folderName; + print ""; + print "
      ".getMLText('in_folder').": /"; $path = $folder->getPath(); - print "/"; for ($i = 1; $i < count($path)-1; $i++) { print htmlspecialchars($path[$i]->getName())."/"; } - print $folderName; - print ""; + print ""; print "
      ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $folder->getDate()).""; if (in_array(3, $searchin)) $comment = $this->markQuery(htmlspecialchars($folder->getComment())); else $comment = htmlspecialchars($folder->getComment()); @@ -603,7 +604,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style { } print ""; print ""; - print ""; + print ""; print "
      "; if($folder->getAccessMode($user) >= M_ALL) { $this->printDeleteFolderButton($folder, 'splash_rm_folder'); From 86508e7910d337dd01b997164005181e02447e0a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 06:54:19 +0200 Subject: [PATCH 094/212] add entries for 5.0.12 --- CHANGELOG | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 1324fabdc..2bb83863c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ -------------------------------------------------------------------------------- Changes in version 5.0.12 -------------------------------------------------------------------------------- +- show name and parent folder of document/folder in search list on different + lines +- check for guest login, admin ip and disabled accounts in webdav server - merged changes from 4.3.35 -------------------------------------------------------------------------------- From add623805a2d57ce8c69048a90e31bbfce9bc71d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 08:32:56 +0200 Subject: [PATCH 095/212] add entry for 5.1.2 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index c7af1d6d3..ac7d9d1a1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ page) - add select menu for predifined expiration dates - add some more hooks +- add list of currently logged in users in menu - merged changes from 5.0.12 -------------------------------------------------------------------------------- From 06db1ec6036de249c441ff83f3f3076e0697365a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 08:33:33 +0200 Subject: [PATCH 096/212] session list can be turned on/off by settings --- inc/inc.ClassSettings.php | 4 ++++ op/op.Settings.php | 1 + views/bootstrap/class.Session.php | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 1ca017025..64b3f5242 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -178,6 +178,8 @@ class Settings { /* {{{ */ var $_firstDayOfWeek = 0; // enable/disable display of the clipboard var $_enableClipboard = true; + // enable/disable display of the session list + var $_enableSessionList = true; // enable/disable display of the drop zone for file upload var $_enableDropUpload = true; // enable/disable display of the folder tree @@ -410,6 +412,7 @@ class Settings { /* {{{ */ $this->_enableConverting = Settings::boolVal($tab["enableConverting"]); $this->_enableEmail = Settings::boolVal($tab["enableEmail"]); $this->_enableUsersView = Settings::boolVal($tab["enableUsersView"]); + $this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]); $this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]); $this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); @@ -717,6 +720,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting); $this->setXMLAttributValue($node, "enableEmail", $this->_enableEmail); $this->setXMLAttributValue($node, "enableUsersView", $this->_enableUsersView); + $this->setXMLAttributValue($node, "enableClipboard", $this->_enableSessionList); $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); diff --git a/op/op.Settings.php b/op/op.Settings.php index e45084733..627c8b0d2 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -81,6 +81,7 @@ if ($action == "saveSettings") $settings->_fullSearchEngine = $_POST["fullSearchEngine"]; $settings->_defaultSearchMethod = $_POST["defaultSearchMethod"]; $settings->_showSingleSearchHit = getBoolValue("showSingleSearchHit"); + $settings->_enableSessionList = getBoolValue("enableSessionList"); $settings->_enableClipboard = getBoolValue("enableClipboard"); $settings->_enableDropUpload = getBoolValue("enableDropUpload"); $settings->_enableFolderTree = getBoolValue("enableFolderTree"); diff --git a/views/bootstrap/class.Session.php b/views/bootstrap/class.Session.php index 4dcedd708..9146fc901 100644 --- a/views/bootstrap/class.Session.php +++ b/views/bootstrap/class.Session.php @@ -53,11 +53,12 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style { $content = ''; $content .= "
        \n"; $content .= "
      • \n"; - $content .= " ".getMLText('Sessions')." (".count($sessions).") \n"; + $content .= " ".getMLText('sessions')." (".count($sessions).") \n"; $content .= " \n"; $content .= "
      • \n"; From defc8330c82b0a8655391e33e4696858b4911951 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 08:34:03 +0200 Subject: [PATCH 097/212] set parameter enableSessionList --- inc/inc.ClassUI.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index bdf419f03..13c852329 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -104,6 +104,7 @@ class UI extends UI_Default { $view->setParam('enablefoldertree', $settings->_enableFolderTree); $view->setParam('enablelanguageselector', $settings->_enableLanguageSelector); $view->setParam('enableclipboard', $settings->_enableClipboard); + $view->setParam('enablesessionlist', $settings->_enableSessionList); $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('partitionsize', (int) $settings->_partitionSize); $view->setParam('maxuploadsize', (int) $settings->_maxUploadSize); From beac49458785ca312f3fcce51134d941c77d6316 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 08:34:32 +0200 Subject: [PATCH 098/212] set enablesessionlist --- views/bootstrap/class.Settings.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 614e48f50..ee6afd36a 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -265,6 +265,10 @@ if(!is_writeable($settings->_configFilePath)) { "> : _enableClipboard) echo "checked" ?> /> + + "> + : + _enableClipboard) echo "checked" ?> /> "> : From d02de9a767cf0d8520de665793a5ee79d81ea56a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 08:34:52 +0200 Subject: [PATCH 099/212] check if session list shall be shown --- 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 669f0022e..1a5bea6a7 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -304,7 +304,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " \n"; echo "
      \n"; - if($this->params['user']->isAdmin()) { + if($this->params['enablesessionlist']) { echo "
      "; echo "
      "; echo "
      "; From 63a1202549aa16db848d1983c952a51c8d3bef44 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:09:26 +0200 Subject: [PATCH 100/212] various updates and new phrases --- languages/ar_EG/lang.inc | 8 ++++++ languages/bg_BG/lang.inc | 8 ++++++ languages/ca_ES/lang.inc | 8 ++++++ languages/cs_CZ/lang.inc | 8 ++++++ languages/de_DE/lang.inc | 10 ++++++- languages/el_GR/lang.inc | 8 ++++++ languages/en_GB/lang.inc | 10 ++++++- languages/es_ES/lang.inc | 12 ++++++-- languages/fr_FR/lang.inc | 61 +++++++++++++++++++++++++--------------- languages/hr_HR/lang.inc | 8 ++++++ languages/hu_HU/lang.inc | 8 ++++++ languages/it_IT/lang.inc | 8 ++++++ languages/ko_KR/lang.inc | 8 ++++++ languages/nl_NL/lang.inc | 8 ++++++ languages/pl_PL/lang.inc | 34 +++++++++++++--------- languages/pt_BR/lang.inc | 14 +++++++-- languages/ro_RO/lang.inc | 8 ++++++ languages/ru_RU/lang.inc | 12 ++++++-- languages/sk_SK/lang.inc | 8 ++++++ languages/sv_SE/lang.inc | 14 +++++++-- languages/tr_TR/lang.inc | 8 ++++++ languages/uk_UA/lang.inc | 8 ++++++ languages/zh_CN/lang.inc | 14 +++++++-- languages/zh_TW/lang.inc | 12 ++++++-- 24 files changed, 252 insertions(+), 53 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 869209281..efb41f7cf 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -454,7 +454,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية', @@ -593,6 +595,7 @@ URL: [url]', 'invalid_target_folder' => 'معرف خاطىء لمجلد الهدف', 'invalid_user_id' => 'معرف مستخدم خاطىء', 'invalid_version' => 'اصدار مستند خاطىء', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'رهن مسار عمل', 'is_disabled' => 'تعطيل الحساب', @@ -1020,6 +1023,7 @@ URL: [url]', 'seq_end' => 'في الاخر', 'seq_keep' => 'حافظ على المرتبة', 'seq_start' => 'اول مرتبة', +'sessions' => '', 'settings' => 'الإعدادات', 'settings_activate_module' => 'Activate module', 'settings_activate_php_extension' => 'Activate PHP extension', @@ -1143,6 +1147,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1365,6 +1371,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'تم حذف المستند', @@ -1554,6 +1561,7 @@ URL: [url]', 'workflow_action_name' => 'اسم', 'workflow_editor' => 'محرر مسارات العمل', 'workflow_group_summary' => 'ملخص المجموعة', +'workflow_has_cycle' => '', 'workflow_initstate' => 'الحالة الابتدائية', 'workflow_in_use' => 'مسار العمل هذا مستخدم حاليا لمستندات', 'workflow_layoutdata_saved' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index e8d0cb6b5..5e0945eba 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -409,7 +409,9 @@ $text = array( 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Датата на изтичане променена', @@ -524,6 +526,7 @@ $text = array( 'invalid_target_folder' => 'Неправилен идентификатор на целевата папка', 'invalid_user_id' => 'Неправилен идентификатор на потребителя', 'invalid_version' => 'Неправилна версия на документа', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'в процес', 'is_disabled' => 'забранена сметка', @@ -885,6 +888,7 @@ $text = array( 'seq_end' => 'В края', 'seq_keep' => 'Съхрани позицията', 'seq_start' => 'Първа позиция', +'sessions' => '', 'settings' => 'Настройки', 'settings_activate_module' => 'Активирай модул', 'settings_activate_php_extension' => 'Активирай разширение на PHP', @@ -1008,6 +1012,8 @@ $text = array( 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1230,6 +1236,7 @@ $text = array( 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '', @@ -1405,6 +1412,7 @@ $text = array( 'workflow_action_name' => 'Име', 'workflow_editor' => 'Редактор на процес', 'workflow_group_summary' => 'Резюме за група', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Начално състояние', 'workflow_in_use' => 'Този процес се използва от документ.', 'workflow_layoutdata_saved' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index f370b7788..b62732dde 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -414,7 +414,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de caducitat modificada', @@ -529,6 +531,7 @@ URL: [url]', 'invalid_target_folder' => 'ID de carpeta destinació no válid', 'invalid_user_id' => 'ID d\'usuari no vàlid', 'invalid_version' => 'La versión de documento no és vàlida', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => '', 'is_disabled' => '', @@ -890,6 +893,7 @@ URL: [url]', 'seq_end' => 'Al final', 'seq_keep' => 'Mantenir posició', 'seq_start' => 'Primera posició', +'sessions' => '', 'settings' => 'Settings', 'settings_activate_module' => 'Activate module', 'settings_activate_php_extension' => 'Activate PHP extension', @@ -1013,6 +1017,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1235,6 +1241,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'Document esborrat', @@ -1410,6 +1417,7 @@ URL: [url]', 'workflow_action_name' => '', 'workflow_editor' => '', 'workflow_group_summary' => '', +'workflow_has_cycle' => '', 'workflow_initstate' => '', 'workflow_in_use' => '', 'workflow_layoutdata_saved' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index b72744743..ecd879767 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -461,7 +461,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Datum expirace změněno', @@ -600,6 +602,7 @@ URL: [url]', 'invalid_target_folder' => 'Neplatné cílové ID adresáře', 'invalid_user_id' => 'Neplatné ID uživatele', 'invalid_version' => 'Neplatná verze dokumentu', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'Zpracováváno', 'is_disabled' => 'Zakázaný účet', @@ -1029,6 +1032,7 @@ URL: [url]', 'seq_end' => 'Na konec', 'seq_keep' => 'Ponechat pozici', 'seq_start' => 'První pozice', +'sessions' => '', 'settings' => 'Settings', 'settings_activate_module' => 'Activate module', 'settings_activate_php_extension' => 'Activate PHP extension', @@ -1152,6 +1156,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Povolit posouzení/schválení pro přihlášeného uživatele', 'settings_enableSelfRevApp_desc' => 'Povolte, pokud chcete aktuálně přihlášeného uvést jako posuzovatele/schvalovatele a pro přechody pracovního postupu', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Volba tématu', 'settings_enableThemeSelector_desc' => 'Volba témat na přihlašovací stránce.', 'settings_enableUpdateReceipt' => '', @@ -1374,6 +1380,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Schránka přenesena do aktuální složky', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Odstraněno ze schránky', 'splash_rm_attribute' => 'Atribut odstraněn', 'splash_rm_document' => 'Dokument odstraněn', @@ -1563,6 +1570,7 @@ URL: [url]', 'workflow_action_name' => 'Název', 'workflow_editor' => 'Editor pracovního postupu', 'workflow_group_summary' => 'Přehled skupiny', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Počáteční stav', 'workflow_in_use' => 'Tento pracovní postup je momentálně používán dokumentem.', 'workflow_layoutdata_saved' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 491be8b4a..cd384cb7a 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 (2403), dgrutsch (22) +// Translators: Admin (2411), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -472,7 +472,9 @@ Der Link ist bis zum [valid] gültig. 'expire_in_1h' => 'Ablauf in 1 Std.', 'expire_in_1m' => 'Ablauf in 1 Monat', 'expire_in_1w' => 'Ablauf in 1 Woche', +'expire_in_1y' => 'Ablauf in 1 Jahr', 'expire_in_2h' => 'Ablauf in 2 Std.', +'expire_in_2y' => 'Ablauf in 2 Jahren', 'expire_today' => 'Ablauf heute', 'expire_tomorrow' => 'Ablauf morgen', 'expiry_changed_email' => 'Ablaufdatum geändert', @@ -611,6 +613,7 @@ URL: [url]', 'invalid_target_folder' => 'Unzulässige Ziel-Ordner Identifikation', 'invalid_user_id' => 'Unzulässige Benutzernummer', 'invalid_version' => 'Unzulässige Dokumenten-Version', +'in_folder' => 'In', 'in_revision' => 'Erneute Prüfung', 'in_workflow' => 'im Workflow', 'is_disabled' => 'Anmeldung sperren', @@ -1085,6 +1088,7 @@ URL: [url]', 'seq_end' => 'Ans Ende', 'seq_keep' => 'Beibehalten', 'seq_start' => 'An den Anfang', +'sessions' => 'Benutzer Online', 'settings' => 'Einstellungen', 'settings_activate_module' => 'Modul aktivieren', 'settings_activate_php_extension' => 'PHP-Erweiterung aktivieren', @@ -1208,6 +1212,8 @@ 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_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.', 'settings_enableUpdateReceipt' => 'Erlaube die Änderung einer Empfangsbestätigung', @@ -1430,6 +1436,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Inhalt der Zwischenablage in aktuellen Ordner verschoben', 'splash_move_document' => 'Dokument verschoben', 'splash_move_folder' => 'Ordner verschoben', +'splash_receipt_update_success' => 'Empfangsbestätigung hinzugefügt', 'splash_removed_from_clipboard' => 'Aus der Zwischenablage entfernt', 'splash_rm_attribute' => 'Attribut gelöscht', 'splash_rm_document' => 'Dokument gelöscht', @@ -1619,6 +1626,7 @@ URL: [url]', 'workflow_action_name' => 'Name', 'workflow_editor' => 'Workflow Editor', 'workflow_group_summary' => 'Gruppenübersicht', +'workflow_has_cycle' => 'Workflow hat Zyklus', 'workflow_initstate' => 'Initialer Status', 'workflow_in_use' => 'Dieser Workflow wird zur Zeit noch von einem Dokument verwendet.', 'workflow_layoutdata_saved' => 'Layout-Daten gespeichert', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 45d441f83..8f0e166b7 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -409,7 +409,9 @@ $text = array( 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Η ημερομηνία λήξης έχει αλλάξει', @@ -524,6 +526,7 @@ $text = array( 'invalid_target_folder' => '', 'invalid_user_id' => '', 'invalid_version' => '', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => '', 'is_disabled' => '', @@ -896,6 +899,7 @@ URL: [url]', 'seq_end' => 'Στο τέλος', 'seq_keep' => 'Διατήρηση θέσης', 'seq_start' => 'Τοποθέτηση στην αρχή', +'sessions' => '', 'settings' => 'Ρυθμίσεις', 'settings_activate_module' => '', 'settings_activate_php_extension' => '', @@ -1019,6 +1023,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1241,6 +1247,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '', @@ -1416,6 +1423,7 @@ URL: [url]', 'workflow_action_name' => 'Όνομα', 'workflow_editor' => '', 'workflow_group_summary' => '', +'workflow_has_cycle' => '', 'workflow_initstate' => '', 'workflow_in_use' => 'This workflow is currently used by documents.', 'workflow_layoutdata_saved' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 8222cb3c4..a5e091c15 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 (1531), dgrutsch (9), netixw (14) +// Translators: Admin (1538), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -473,7 +473,9 @@ The link is valid until [valid]. 'expire_in_1h' => 'Expires in 1h', 'expire_in_1m' => 'Expires in 1 month', 'expire_in_1w' => 'Expires in 1 week', +'expire_in_1y' => 'Expires in 1 year', 'expire_in_2h' => 'Expires in 2h', +'expire_in_2y' => 'Expires in 2 years', 'expire_today' => 'Expires today', 'expire_tomorrow' => 'Expires tomorrow', 'expiry_changed_email' => 'Expiry date changed', @@ -612,6 +614,7 @@ URL: [url]', 'invalid_target_folder' => 'Invalid Target Folder ID', 'invalid_user_id' => 'Invalid User ID', 'invalid_version' => 'Invalid Document Version', +'in_folder' => 'In', 'in_revision' => 'In revision', 'in_workflow' => 'In workflow', 'is_disabled' => 'Disable account', @@ -1080,6 +1083,7 @@ URL: [url]', 'seq_end' => 'At the end', 'seq_keep' => 'Keep Position', 'seq_start' => 'First position', +'sessions' => 'Users online', 'settings' => 'Settings', 'settings_activate_module' => 'Activate module', 'settings_activate_php_extension' => 'Activate PHP extension', @@ -1203,6 +1207,8 @@ 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_desc' => '', 'settings_enableThemeSelector' => 'Theme selection', 'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.', 'settings_enableUpdateReceipt' => 'Allow editing of existing reception', @@ -1425,6 +1431,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Clipboard moved into current folder', 'splash_move_document' => 'Document moved', 'splash_move_folder' => 'Folder moved', +'splash_receipt_update_success' => 'Reception added successfully', 'splash_removed_from_clipboard' => 'Removed from clipboard', 'splash_rm_attribute' => 'Attribute removed', 'splash_rm_document' => 'Document removed', @@ -1614,6 +1621,7 @@ URL: [url]', 'workflow_action_name' => 'Name', 'workflow_editor' => 'Workflow Editor', 'workflow_group_summary' => 'Group summary', +'workflow_has_cycle' => 'Workflow has cycle', 'workflow_initstate' => 'Initial state', 'workflow_in_use' => 'This workflow is currently used by documents.', 'workflow_layoutdata_saved' => 'Layout data saved', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 57c1bcd7f..df7a8c1d8 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 (1016), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1017), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -173,7 +173,7 @@ URL: [url]', 'attr_malformed_int' => '', 'attr_malformed_url' => '', 'attr_max_values' => '', -'attr_min_values' => '', +'attr_min_values' => 'No se alcanza el número mínimo de valores requeridos para el campo [attrname]', 'attr_not_in_valueset' => '', 'attr_no_regex_match' => 'El valor del atributo no concuerda con la expresión regular', 'attr_validation_error' => '', @@ -461,7 +461,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Fecha de caducidad modificada', @@ -600,6 +602,7 @@ URL: [url]', 'invalid_target_folder' => 'ID de carpeta destino no válido', 'invalid_user_id' => 'ID de usuario no válido', 'invalid_version' => 'Versión de documento no válida', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'En flujo de trabajo', 'is_disabled' => 'Deshabilitar cuenta', @@ -1035,6 +1038,7 @@ URL: [url]', 'seq_end' => 'Al final', 'seq_keep' => 'Mantener posición', 'seq_start' => 'Primera posición', +'sessions' => '', 'settings' => 'Configuración', 'settings_activate_module' => 'Activar módulo', 'settings_activate_php_extension' => 'Activar extensión PHP', @@ -1158,6 +1162,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Permitir al usuario identificado revisar/aprobar.', 'settings_enableSelfRevApp_desc' => 'Habilitar esto si quiere que el usuario identificado sea listado como revisor/aprobador y para las transiciones del flujo de trabajo.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Selección de temas (skins)', 'settings_enableThemeSelector_desc' => 'Habilitar/deshabilitar la selección de temas en la página de login', 'settings_enableUpdateReceipt' => '', @@ -1380,6 +1386,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Portapapeles movido a la carpeta actual', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Eliminado del portapapeles', 'splash_rm_attribute' => 'Atributo eliminado', 'splash_rm_document' => 'Documento eliminado', @@ -1569,6 +1576,7 @@ URL: [url]', 'workflow_action_name' => 'Nombre', 'workflow_editor' => 'Editor de Flujo de Trabajo', 'workflow_group_summary' => 'Resumen de Grupo', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Estado Inicial', 'workflow_in_use' => 'Este flujo de trabajo esta siendo usado por documentos.', 'workflow_layoutdata_saved' => '', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 35537937e..30dd65dd4 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/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 (1060), jeromerobert (50), lonnnew (9), Oudiceval (218) +// Translators: Admin (1061), jeromerobert (50), lonnnew (9), Oudiceval (239) $text = array( '2_factor_auth' => 'Authentification forte', @@ -389,8 +389,15 @@ URL: [url]', 'does_not_expire' => 'N\'expire jamais', 'does_not_inherit_access_msg' => 'Accès hérité', 'download' => 'Téléchargement', -'download_links' => '', -'download_link_email_body' => '', +'download_links' => 'Liens de téléchargement', +'download_link_email_body' => 'Cliquez sur le lien suivant pour télécharger la version [version] du document +« [docname] ». + +[url] + +Le lien est valide jusqu’au [valid]. + +[comment]', 'download_link_email_subject' => '', 'do_object_repair' => 'Réparer tous les dossiers et documents.', 'do_object_setchecksum' => 'Définir checksum', @@ -409,7 +416,7 @@ URL: [url]', 'dump_creation_warning' => 'Avec cette opération, vous pouvez créer une sauvegarde du contenu de votre base de données. Après la création, le fichier de sauvegarde sera sauvegardé dans le dossier de données de votre serveur.', 'dump_list' => 'Fichiers de sauvegarde existants', 'dump_remove' => 'Supprimer fichier de sauvegarde', -'duplicates' => '', +'duplicates' => 'Doublons', 'duplicate_content' => 'Contenu en double', 'edit' => 'Modifier', 'edit_attributes' => 'Modifier les attributs', @@ -459,16 +466,18 @@ URL: [url]', 'event_details' => 'Détails de l\'événement', 'exclude_items' => 'Exclure des élements', 'expired' => 'Expiré', -'expired_at_date' => '', +'expired_at_date' => 'Expiré le [datetime]', 'expires' => 'Expiration', 'expire_by_date' => '', -'expire_in_1d' => '', -'expire_in_1h' => '', -'expire_in_1m' => '', -'expire_in_1w' => '', -'expire_in_2h' => '', -'expire_today' => '', -'expire_tomorrow' => '', +'expire_in_1d' => 'Expire dans 1 jour', +'expire_in_1h' => 'Expire dans 1 heure', +'expire_in_1m' => 'Expire dans 1 mois', +'expire_in_1w' => 'Expire dans 1 semaine', +'expire_in_1y' => '', +'expire_in_2h' => 'Expire dans 2 heures', +'expire_in_2y' => '', +'expire_today' => 'Expire aujourd’hui', +'expire_tomorrow' => 'Expire demain', 'expiry_changed_email' => 'Date d\'expiration modifiée', 'expiry_changed_email_body' => 'Date d\'expiration modifiée Document : [name] @@ -551,7 +560,7 @@ URL: [url]', 'group_review_summary' => 'Résumé groupe correcteur', 'guest_login' => 'Se connecter comme invité', 'guest_login_disabled' => 'Connexion d\'invité désactivée.', -'hash' => '', +'hash' => 'Hash', 'help' => 'Aide', 'home_folder' => 'Dossier personnel', 'hook_name' => '', @@ -605,6 +614,7 @@ URL: [url]', 'invalid_target_folder' => 'Identifiant de dossier cible invalide', 'invalid_user_id' => 'Identifiant utilisateur invalide', 'invalid_version' => 'Version de document invalide', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'Dans le workflow', 'is_disabled' => 'Compte désactivé', @@ -835,7 +845,7 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'personal_default_keywords' => 'Mots-clés personnels', 'pl_PL' => 'Polonais', 'possible_substitutes' => '', -'preset_expires' => '', +'preset_expires' => 'Expiration prédéfinie', 'preview' => 'Aperçu', 'preview_converters' => '', 'preview_images' => 'Miniatures', @@ -888,7 +898,7 @@ Répertoire: [folder_path] Utilisateur: [username] URL: [url]', 'removed_workflow_email_subject' => '', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => 'Suppression du dossier après importation', 'remove_marked_files' => 'Supprimer les fichiers sélectionnés', 'repaired' => 'réparé', 'repairing_objects' => 'Réparation des documents et des dossiers.', @@ -1023,6 +1033,7 @@ URL: [url]', 'seq_end' => 'A la fin', 'seq_keep' => 'Conserver la position', 'seq_start' => 'Première position', +'sessions' => '', 'settings' => 'Configuration', 'settings_activate_module' => 'Activez le module', 'settings_activate_php_extension' => 'Activez l\'extension PHP', @@ -1146,6 +1157,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Autoriser correction/approbbation pour l\'utilisateur actuel', 'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Sélection du thème', 'settings_enableThemeSelector_desc' => 'Activer/désactiver le sélecteur de thème sur la page de connexion.', 'settings_enableUpdateReceipt' => '', @@ -1217,8 +1230,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Nombre maximum de documents et répertoires dont l\'accès sera vérifié, lors d\'un décompte récursif. Si ce nombre est dépassé, le nombre de documents et répertoires affichés sera approximé.', 'settings_maxSizeForFullText' => 'Taille maximum pour l\'indexation instantanée', 'settings_maxSizeForFullText_desc' => 'Toute nouvelle version d\'un document plus petite que la taille configurée sera intégralement indexée juste après l\'upload. Dans tous les autres cas, seulement les métadonnées seront indexées.', -'settings_maxUploadSize' => '', -'settings_maxUploadSize_desc' => '', +'settings_maxUploadSize' => 'Taille max. des fichiers', +'settings_maxUploadSize_desc' => 'Taille maximale (en octets) pour les fichiers téléversés. Concerne les versions d’un document et les fichiers attachés.', 'settings_more_settings' => 'Configurer d\'autres paramètres. Connexion par défaut: admin/admin', 'settings_notfound' => 'Introuvable', 'settings_Notification' => 'Notifications', @@ -1359,8 +1372,8 @@ URL: [url]', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', -'splash_error_rm_download_link' => '', -'splash_error_send_download_link' => '', +'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement', +'splash_error_send_download_link' => 'Erreur lors de l’envoi du lien de téléchargement', 'splash_folder_edited' => 'Dossier modifié', 'splash_importfs' => '[docs] documents et [folders] dossiers importés', 'splash_invalid_folder_id' => 'Identifiant de répertoire invalide', @@ -1368,10 +1381,11 @@ URL: [url]', 'splash_moved_clipboard' => 'Presse-papier déplacé dans le répertoire courant', 'splash_move_document' => 'Document déplacé', 'splash_move_folder' => 'Dossier déplacé', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Enlevé du presse-papiers', 'splash_rm_attribute' => 'Attribut supprimé', 'splash_rm_document' => 'Document supprimé', -'splash_rm_download_link' => '', +'splash_rm_download_link' => 'Lien de téléchargement supprimé', 'splash_rm_folder' => 'Dossier supprimé', 'splash_rm_group' => 'Groupe supprimé', 'splash_rm_group_member' => 'Membre retiré du groupe', @@ -1379,7 +1393,7 @@ URL: [url]', 'splash_rm_transmittal' => '', 'splash_rm_user' => 'Utilisateur supprimé', 'splash_saved_file' => '', -'splash_send_download_link' => '', +'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', 'splash_switched_back_user' => 'Revenu à l\'utilisateur initial', @@ -1525,11 +1539,11 @@ URL : [url]', 'user_list' => 'Liste des utilisateurs', 'user_login' => 'Identifiant', 'user_management' => 'Utilisateurs', -'user_name' => 'Nom utilisateur', +'user_name' => 'Nom d’affichage', 'use_comment_of_document' => 'Utiliser le commentaire du document', 'use_default_categories' => 'Use predefined categories', 'use_default_keywords' => 'Utiliser les mots-clés prédéfinis', -'valid_till' => '', +'valid_till' => 'Valide jusqu’au', 'version' => 'Version', 'versioning_file_creation' => 'Créer les fichiers de versionnage', 'versioning_file_creation_warning' => 'Cette opération permet de créer, pour chaque document, un fichier texte contenant les informations générales et l’historique des versions du document. Chaque fichier sera enregistré dans le répertoire du document. Ces fichiers ne sont pas nécessaires au bon fonctionnement de SeedDMS, mais ils peuvent être utiles en cas de transfert des fichiers vers un autre système.', @@ -1557,6 +1571,7 @@ URL: [url]', 'workflow_action_name' => 'Nom', 'workflow_editor' => 'Editeur de Workflow', 'workflow_group_summary' => 'Résumé de groupe', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Etat initial', 'workflow_in_use' => 'Ce workflow est actuellement utilisé par des documents.', 'workflow_layoutdata_saved' => '', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 09f30f954..f78bb63cc 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -466,7 +466,9 @@ Internet poveznica: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Promijenjen datum isteka', @@ -605,6 +607,7 @@ Internet poveznica: [url]', 'invalid_target_folder' => 'Pogrešan ID ciljane mape', 'invalid_user_id' => 'Pogrešan ID korisnika', 'invalid_version' => 'Pogrešna verzija dokumenta', +'in_folder' => '', 'in_revision' => 'U reviziji', 'in_workflow' => 'U toku rada', 'is_disabled' => 'Onemogući klijenta', @@ -1056,6 +1059,7 @@ Internet poveznica: [url]', 'seq_end' => 'Na kraju', 'seq_keep' => 'Zadrži poziciju', 'seq_start' => 'Na početak', +'sessions' => '', 'settings' => 'Postavke', 'settings_activate_module' => 'Aktiviraj modul', 'settings_activate_php_extension' => 'Aktiviraj PHP ekstenziju', @@ -1179,6 +1183,8 @@ Internet poveznica: [url]', 'settings_enableRevisionWorkflow_desc' => 'Omogućite kako bi se mogao pokrenuti tok rada za revidiranje dokumenta nakon zadanog vremenskog perioda.', 'settings_enableSelfRevApp' => 'Omogući pregled/ovjeru za prijavljenog korisnika', 'settings_enableSelfRevApp_desc' => 'Omogući ovo ako želite da trenutno prijavljeni korisnik bude naveden kao recezent/validator i za promjenu toka rada.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Odabir teme', 'settings_enableThemeSelector_desc' => 'Uključuje/isključuje izbornik tema na stranici prijave.', 'settings_enableUpdateReceipt' => '', @@ -1401,6 +1407,7 @@ Internet poveznica: [url]', 'splash_moved_clipboard' => 'Međuspremnik je premješten u trenutnu mapu', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Uklonjeno iz međuspremnika', 'splash_rm_attribute' => 'Atribut uklonjen', 'splash_rm_document' => 'Dokument uklonjen', @@ -1590,6 +1597,7 @@ Internet poveznica: [url]', 'workflow_action_name' => 'Naziv', 'workflow_editor' => 'Urednik toka rada', 'workflow_group_summary' => 'Pregled grupe', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Početni status', 'workflow_in_use' => 'Dokumenti trenutno koriste ovaj tok rada.', 'workflow_layoutdata_saved' => '', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index e51701e1a..4e7b96b19 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -461,7 +461,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Lejárati dátum módosítva', @@ -600,6 +602,7 @@ URL: [url]', 'invalid_target_folder' => 'Érvénytelen cél mappa állapot', 'invalid_user_id' => 'Érvénytelen felhasználói azonosító', 'invalid_version' => 'Érvénytelen dokumentum változat', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'Munkafolyamatban', 'is_disabled' => 'Hozzáférés tiltás', @@ -1034,6 +1037,7 @@ URL: [url]', 'seq_end' => 'V‰g‰re', 'seq_keep' => 'Pozci megtartßsa', 'seq_start' => 'Elej‰re', +'sessions' => '', 'settings' => 'Beállítások', 'settings_activate_module' => 'Modul aktiválása', 'settings_activate_php_extension' => 'PHP kiterjesztés aktiválása', @@ -1157,6 +1161,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Engedélyezi a felülvizsgálatot/jóváhagyást a bejelentkezett felhasználó számára', 'settings_enableSelfRevApp_desc' => 'Engedélyezze, a azt szeretné, hogy a bejelentkezett felhasználó listázásra kerüljön felülvizsgálóként/jóváhagyóként és a munkamenet átmeneteknél.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Téma választása', 'settings_enableThemeSelector_desc' => 'Kapcsolja be/ki a témaválasztót a bejelentkező oldalon', 'settings_enableUpdateReceipt' => '', @@ -1379,6 +1385,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Vágólap tartalom áthelyezve az aktuális mappába', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Eltávolítva a vágólapról', 'splash_rm_attribute' => 'Jellemző eltávolítva', 'splash_rm_document' => 'Dokumentum eltávolítva', @@ -1568,6 +1575,7 @@ URL: [url]', 'workflow_action_name' => 'Név', 'workflow_editor' => 'Munkafolyamat szerkesztő', 'workflow_group_summary' => 'Csoport áttekintés', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Kezdeti állapot', 'workflow_in_use' => 'Ezt a munkafolyamatot dokumentumok használják.', 'workflow_layoutdata_saved' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 632d8ba53..d30be02f5 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -467,7 +467,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Scadenza cambiata', @@ -606,6 +608,7 @@ URL: [url]', 'invalid_target_folder' => 'ID cartella selezionata non valido', 'invalid_user_id' => 'ID utente non valido', 'invalid_version' => 'Versione del documento non valida', +'in_folder' => '', 'in_revision' => 'In fase di revisione', 'in_workflow' => 'In fase di lavorazione', 'is_disabled' => 'Account Disabilitato', @@ -1068,6 +1071,7 @@ URL: [url]', 'seq_end' => 'Alla fine', 'seq_keep' => 'Mantieni la posizione', 'seq_start' => 'Prima posizione', +'sessions' => '', 'settings' => 'Impostazioni', 'settings_activate_module' => 'Attivazione modulo', 'settings_activate_php_extension' => 'Attivazione estensione PHP', @@ -1191,6 +1195,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Abilita per attivare workflow su revisione documenti dopo scadenza.', 'settings_enableSelfRevApp' => 'Permetti revisione/approvazione all\'utente registrato', 'settings_enableSelfRevApp_desc' => 'Abilitare se si desidera aggiungere l\'utente attualmente registrato alla lista dei revisori/approvatori e per le transizioni del flusso di lavoro.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Selezione tema grafico', 'settings_enableThemeSelector_desc' => 'Abilita/disabilita il selettore di tema grafico nella finestra di login', 'settings_enableUpdateReceipt' => '', @@ -1413,6 +1419,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Appunti trasferiti nella cartella corrente', 'splash_move_document' => 'Documento spostato', 'splash_move_folder' => 'Cartella spostato', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Rimosso dagli appunti', 'splash_rm_attribute' => 'Attributo rimosso', 'splash_rm_document' => 'Documento rimosso', @@ -1602,6 +1609,7 @@ URL: [url]', 'workflow_action_name' => 'Nome', 'workflow_editor' => 'Modifica flussi di lavoro', 'workflow_group_summary' => 'Sommario di gruppo', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Stato iniziale', 'workflow_in_use' => 'Questo flusso di lavoro è attualmente usato da alcuni documenti', 'workflow_layoutdata_saved' => '', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index b3dbc3c27..ab0e0c86b 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -466,7 +466,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => '유효 기간 변경', @@ -605,6 +607,7 @@ URL: [url]', 'invalid_target_folder' => '잘못된 대상 폴더 ID', 'invalid_user_id' => '잘못된 사용자 ID', 'invalid_version' => '잘못된 문서 버전', +'in_folder' => '', 'in_revision' => '개정에서', 'in_workflow' => '워크플로우내', 'is_disabled' => '계정 사용 안 함', @@ -1049,6 +1052,7 @@ URL : [url]', 'seq_end' => '마지막 위치', 'seq_keep' => '위치 유지', 'seq_start' => '첫 번째 위치', +'sessions' => '', 'settings' => '설정', 'settings_activate_module' => '모듈 활성화', 'settings_activate_php_extension' => 'PHP 확장 활성화', @@ -1172,6 +1176,8 @@ URL : [url]', 'settings_enableRevisionWorkflow_desc' => '일정 기간후에 문서를 개정 하기위해 워크플로우를 수행 할 수 있도록 설정 합니다.', 'settings_enableSelfRevApp' => '로그인 한 사용자에 대한 검토 / 승인을 허용', 'settings_enableSelfRevApp_desc' => '검토 / 승인자로 워크 플로우 전환을 위해 나열되어있는 것이 현재 로그인 한 사용자가 필요한 경우이를 활성화합니다.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '테마 선택', 'settings_enableThemeSelector_desc' => '로그인 페이지의 테마 선택기를 켜기/끄기로 전환합니다.', 'settings_enableUpdateReceipt' => '', @@ -1394,6 +1400,7 @@ URL : [url]', 'splash_moved_clipboard' => '클립 보드가 현재 폴더로 이동', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '클립 보드에서 제거', 'splash_rm_attribute' => '속성 제거', 'splash_rm_document' => '문서 삭제', @@ -1583,6 +1590,7 @@ URL : [url]', 'workflow_action_name' => '이름', 'workflow_editor' => '워크플로우 편집기', 'workflow_group_summary' => '그룹 요약', +'workflow_has_cycle' => '', 'workflow_initstate' => '초기 상태', 'workflow_in_use' => '이 워크플로는 현재 문서에서 사용 됩니다.', 'workflow_layoutdata_saved' => '', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 43362707d..16cf8c0d6 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -459,7 +459,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Verloopdatum gewijzigd', @@ -598,6 +600,7 @@ URL: [url]', 'invalid_target_folder' => 'Foutief Doel Map ID', 'invalid_user_id' => 'Foutief Gebruiker ID', 'invalid_version' => 'Foutief Document Versie', +'in_folder' => '', 'in_revision' => 'In herziening', 'in_workflow' => 'In workflow', 'is_disabled' => 'Deactiveer account', @@ -1058,6 +1061,7 @@ URL: [url]', 'seq_end' => 'Op het einde', 'seq_keep' => 'Behoud Positie', 'seq_start' => 'Eerste positie', +'sessions' => '', 'settings' => 'Instellingen', 'settings_activate_module' => 'Activeer module', 'settings_activate_php_extension' => 'Activeer PHP uitbreiding', @@ -1185,6 +1189,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Herzieningsworkflow aanzetten', 'settings_enableSelfRevApp' => 'Beoordeling/ goedkeuring toestaan voor ingelogde gebruikers', 'settings_enableSelfRevApp_desc' => 'Schakel in indien the huidig ingelogde gebruiker wordt toegewezen als goedkeurder/ beoordelaar en voor workflow overgangen.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Selecteer thema', 'settings_enableThemeSelector_desc' => 'Schakel thema selectie op de aanmeldpagina uit', 'settings_enableUpdateReceipt' => '', @@ -1407,6 +1413,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Klembord verplaatst naar de huidige map', 'splash_move_document' => 'Document verplaatst', 'splash_move_folder' => 'Map verplaatst', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Verwijderd van het klembord', 'splash_rm_attribute' => 'Attribuut verwijderd', 'splash_rm_document' => 'Document verwijderd', @@ -1596,6 +1603,7 @@ URL: [url]', 'workflow_action_name' => 'Naam', 'workflow_editor' => 'Workflow editor', 'workflow_group_summary' => 'Groepssamenvatting', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Begin status', 'workflow_in_use' => 'Deze workflow wordt momenteel gebruikt door documenten.', 'workflow_layoutdata_saved' => '', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 2881ac811..e36614120 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 (755), netixw (84), romi (93), uGn (112) +// Translators: Admin (767), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -142,9 +142,9 @@ URL: [url]', 'attrdef_type_boolean' => '', 'attrdef_type_date' => '', 'attrdef_type_email' => '', -'attrdef_type_float' => '', -'attrdef_type_int' => '', -'attrdef_type_string' => '', +'attrdef_type_float' => 'Liczna zmiennoprzecinkowa', +'attrdef_type_int' => 'Liczba całkowita', +'attrdef_type_string' => 'Ciąg znaków', 'attrdef_type_url' => '', 'attrdef_valueset' => 'Set of values', 'attributes' => 'Atrybuty', @@ -298,7 +298,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Dokument', -'documentcontent' => '', +'documentcontent' => 'Zawartość dokumentu', 'documents' => 'Dokumenty', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Dokumenty procesowane', @@ -454,7 +454,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Zmieniona data wygaśnięcia', @@ -593,6 +595,7 @@ URL: [url]', 'invalid_target_folder' => 'Nieprawidłowy identyfikator folderu docelowego', 'invalid_user_id' => 'Nieprawidłowy identyfikator użytkownika', 'invalid_version' => 'Nieprawidłowa wersja dokumentu', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'W procesie', 'is_disabled' => 'Konto nieaktywne', @@ -639,7 +642,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Jeśli chcesz wczytać pliki większe niż bieżące maksimum, użyj alternatywnej strony wczytywania.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Pokaż uprawnienia dostępu', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Lokalny plik', @@ -1014,6 +1017,7 @@ URL: [url]', 'seq_end' => 'Na końcu', 'seq_keep' => 'Na tej samej pozycji', 'seq_start' => 'Na początku', +'sessions' => '', 'settings' => 'Ustawienia', 'settings_activate_module' => 'Aktywuj moduł', 'settings_activate_php_extension' => 'Aktywuj rozszerzenie PHP', @@ -1027,7 +1031,7 @@ URL: [url]', 'settings_autoLoginUser' => '', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Dostępne języki', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Tylko wybrane języki zostaną załadowane i będą widoczne w kontrolce wyboru języka. Domyślny język zawsze jest ładowany.', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Folder bufora', @@ -1044,8 +1048,8 @@ URL: [url]', 'settings_contentDir_desc' => 'Miejsce, gdzie będą przechowywane wczytane pliki (najlepien wybrać katalog, który nie jest dostępny dla serwera http)', 'settings_contentOffsetDir' => 'Offset katalogu treści', 'settings_contentOffsetDir_desc' => 'Aby obejść ograniczenia w bazowym systemie plików, zostanie w nim utworzona nowa struktura katalogów. To wymaga określenia katalogu początkowego. Zazwyczaj można zostawić domyślną wartość, 1048576, ale może też być dowolnym numerem lub słowem, które aktualnie nie istnieje w katalogu treści (Katalog treści)', -'settings_convertToPdf' => '', -'settings_convertToPdf_desc' => '', +'settings_convertToPdf' => 'Skonwertuj dokument do pdf', +'settings_convertToPdf_desc' => 'Jeżeli dokument nie będzie możliwy do pokazania w natywnej formie, wyświetlona zostanie wersja skonwertowana do pdf.', 'settings_cookieLifetime' => 'Czas życia ciasteczka', 'settings_cookieLifetime_desc' => 'Czas życia pliku cookie w sekundach. Jeśli wartość zostanie ustawione na 0, plik cookie zostanie usunięte po zamknięciu przeglądarki.', 'settings_coreDir' => 'Katalog Core letoDMS', @@ -1081,8 +1085,8 @@ URL: [url]', 'settings_dropFolderDir' => 'Katalog dla folderu rozwijanego', 'settings_dropFolderDir_desc' => 'Ten katalog służy do kopiowania plików, przeznaczonych do zaimportowania, bezpośrednio do serwera i z pominięciem przeglądarki. W tym katalogu muszą się znajdować podfoldery dla wszystkich użytkowników, którzy posiadają uprawnienia do tego typu importu.', 'settings_Edition' => 'Ustawienia edycji', -'settings_editOnlineFileTypes' => '', -'settings_editOnlineFileTypes_desc' => '', +'settings_editOnlineFileTypes' => 'Edytuj typy plików online', +'settings_editOnlineFileTypes_desc' => 'Pliki z następującymi rozszerzeniami mogą być edytowane online (używaj tylko małych liter)', 'settings_enable2FactorAuthentication' => '', 'settings_enable2FactorAuthentication_desc' => '', 'settings_enableAcknowledgeWorkflow' => '', @@ -1137,6 +1141,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Pozwalaj przeglądać/zatwierdzać dla zalogowanych użytkowników', 'settings_enableSelfRevApp_desc' => 'Włącz tę opcję jeżeli zalogowany użytkownik ma prawo do recenzowania/zatwierdzania oraz do przepływu procesu', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1159,7 +1165,7 @@ URL: [url]', 'settings_expandFolderTree_val0' => 'Rozpocznij z ukrytym drzewem', 'settings_expandFolderTree_val1' => 'Rozpocznij z pokazanym drzewem i rozwiniętym pierwszym poziomem', 'settings_expandFolderTree_val2' => 'Rozpocznij z pokazanym, w pełni rozwiniętym drzewem', -'settings_Extensions' => '', +'settings_Extensions' => 'Rozszerzenia', 'settings_extraPath' => 'Dodatkowa ścieżka include dla PHP', 'settings_extraPath_desc' => 'Ścieżka do dodatkowego oprogramowania. Jest to katalog zawierający np. adodb, pear lub dodatkowe pakiety', 'settings_firstDayOfWeek' => 'Pierwszy dzień tygodnia', @@ -1256,7 +1262,7 @@ URL: [url]', 'settings_rootFolderID_desc' => 'ID katalogu głównego (zazwyczaj nie trzeba tego zmieniać)', 'settings_SaveError' => 'Błąd zapisu pliku konfiguracyjnego', 'settings_Server' => 'Ustawienia serwera', -'settings_showFullPreview' => '', +'settings_showFullPreview' => 'Pokaż cały dokument', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => 'Pokaż brakujące tłumaczenia', 'settings_showMissingTranslations_desc' => '', @@ -1359,6 +1365,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Schowek został przeniesiony do bieżącego folderu', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Usunięto ze schowka', 'splash_rm_attribute' => 'Usunięto atrybut', 'splash_rm_document' => 'Dokument usunięto', @@ -1548,6 +1555,7 @@ URL: [url]', 'workflow_action_name' => 'Nazwa', 'workflow_editor' => 'Edytor procesu', 'workflow_group_summary' => 'Podsumowanie grupy', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Początkowy status', 'workflow_in_use' => 'Proces ten jest obecnie zastosowany w dokumentach.', 'workflow_layoutdata_saved' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 497e6c7c1..f00e9cab8 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 (937), flaviove (627), lfcristofoli (352) +// Translators: Admin (939), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => '', @@ -180,7 +180,7 @@ URL: [url]', 'at_least_n_users_of_group' => 'Pelo menos [nuber_of_users] usuários de [group]', 'august' => 'August', 'authentication' => 'Autenticação', -'author' => '', +'author' => 'Autor', 'automatic_status_update' => 'Mudança de status automático', 'back' => 'Voltar', 'backup_list' => 'Existings backup list', @@ -460,7 +460,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de validade mudou', @@ -599,6 +601,7 @@ URL: [url]', 'invalid_target_folder' => 'Invalid Target Folder ID', 'invalid_user_id' => 'Invalid User ID', 'invalid_version' => 'Invalid Document Version', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'No fluxo de trabalho', 'is_disabled' => 'Desativar conta', @@ -645,7 +648,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Se você gostaria de fazer envio de arquivos maiores que o tamanho permitido, por favor use a página alternativa de envio.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Listar todos os direitos de acesso...', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Arquivo local', @@ -1032,6 +1035,7 @@ URL: [url]', 'seq_end' => 'No final', 'seq_keep' => 'Manter posição', 'seq_start' => 'Primeira posição', +'sessions' => '', 'settings' => 'Configurações', 'settings_activate_module' => 'Ativar módulo', 'settings_activate_php_extension' => 'Ativar extensão PHP', @@ -1155,6 +1159,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Permitir revisão/aprovação para usuário conectado', 'settings_enableSelfRevApp_desc' => 'Habilite esta opção se quiser que o usuário conectado no momento seja listado como revisores/aprovadores e para transições de fluxo de trabalho.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Seleção de tema', 'settings_enableThemeSelector_desc' => 'Liga/desliga o seletor de tema na página de login.', 'settings_enableUpdateReceipt' => '', @@ -1377,6 +1383,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Área de transferência movida para a pasta corrente', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Remover da área de transferência', 'splash_rm_attribute' => 'Atributo removido', 'splash_rm_document' => 'Documento removido', @@ -1566,6 +1573,7 @@ URL: [url]', 'workflow_action_name' => 'Nome', 'workflow_editor' => 'Editor de Fluxo de trabalho', 'workflow_group_summary' => 'Sumário do grupo', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Estado inicial', 'workflow_in_use' => 'Esse fluxo de trabalho é usado atualmente por documentos.', 'workflow_layoutdata_saved' => '', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 04a0d9811..2c21b28ea 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -466,7 +466,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de expirare schimbată', @@ -605,6 +607,7 @@ URL: [url]', 'invalid_target_folder' => 'ID Folder țintă invalid', 'invalid_user_id' => 'ID Utilizator invalid', 'invalid_version' => 'Versiune Document invalidă', +'in_folder' => '', 'in_revision' => 'In revizuire', 'in_workflow' => 'În workflow', 'is_disabled' => 'Dezactivează cont', @@ -1057,6 +1060,7 @@ URL: [url]', 'seq_end' => 'La sfârșit', 'seq_keep' => 'Păstrați poziția', 'seq_start' => 'Prima poziție', +'sessions' => '', 'settings' => 'Setări', 'settings_activate_module' => 'Activați modulul', 'settings_activate_php_extension' => 'Activați extensia PHP', @@ -1180,6 +1184,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Permite revizuirea/aprobarea pentru utilizatorul autentificat', 'settings_enableSelfRevApp_desc' => 'Activați această opțiune dacă doriți ca utilizatorul autentificat să fie listat ca revizuitor/aprobator sau in tranzițiile workflow-ului.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Selecție Temă', 'settings_enableThemeSelector_desc' => 'Activare/dezactivare selector temă pe pagina de login.', 'settings_enableUpdateReceipt' => '', @@ -1402,6 +1408,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Clipboard mutat în folderul curent', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Eliminat din clipboard', 'splash_rm_attribute' => 'Atribut eliminat', 'splash_rm_document' => 'Document eliminat', @@ -1591,6 +1598,7 @@ URL: [url]', 'workflow_action_name' => 'Nume', 'workflow_editor' => 'Editor Workflow', 'workflow_group_summary' => 'Sumar Grup', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Stare inițială', 'workflow_in_use' => 'Acest Workflow este utilizat în prezent de documente.', 'workflow_layoutdata_saved' => '', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 4a0373247..09722f60d 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 (1642) +// Translators: Admin (1643) $text = array( '2_factor_auth' => 'Двухфакторная аутентификация', @@ -466,7 +466,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Срок действия изменен', @@ -605,6 +607,7 @@ URL: [url]', 'invalid_target_folder' => 'Неверный идентификатор целевого каталога', 'invalid_user_id' => 'Неверный идентификатор пользователя', 'invalid_version' => 'Неверная версия документа', +'in_folder' => '', 'in_revision' => 'В рассмотрении', 'in_workflow' => 'В процессе', 'is_disabled' => 'Отключить учётную запись', @@ -651,7 +654,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' => 'Локальный файл', @@ -1064,6 +1067,7 @@ URL: [url]', 'seq_end' => 'В конце', 'seq_keep' => 'Не изменять', 'seq_start' => 'В начале', +'sessions' => '', 'settings' => 'Настройки', 'settings_activate_module' => 'Активировать модуль', 'settings_activate_php_extension' => 'Активировать расширение PHP', @@ -1187,6 +1191,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Включить для активации функции ревизии документа по истечении определенного периода времени.', 'settings_enableSelfRevApp' => 'Разрешить рецензию/утверждение
      пользователями вошедшими в систему', 'settings_enableSelfRevApp_desc' => 'Включите для того, чтобы пользователи, в настоящее время выполнившие вход в систему, были в списке рецензентов/утверждающих и в изменении процесса.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Выбор темы', 'settings_enableThemeSelector_desc' => 'Включить или отключить возможность выбора темы на странице входа.', 'settings_enableUpdateReceipt' => '', @@ -1409,6 +1415,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Буфер обмена перенесён в текущий каталог', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Удалён из буфера обмена', 'splash_rm_attribute' => 'Атрибут удалён', 'splash_rm_document' => 'Документ удалён', @@ -1598,6 +1605,7 @@ URL: [url]', 'workflow_action_name' => 'Название', 'workflow_editor' => 'Редактор процесса', 'workflow_group_summary' => 'Сводка по группе', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Начальный статус', 'workflow_in_use' => 'Этот процесс используется документами.', 'workflow_layoutdata_saved' => '', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 33e4005a0..ded4bd48b 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -413,7 +413,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Datum platnosti zmeneny', @@ -528,6 +530,7 @@ URL: [url]', 'invalid_target_folder' => 'Neplatné cieľové ID zložky', 'invalid_user_id' => 'Neplatné ID používateľa', 'invalid_version' => 'Neplatná verzia dokumentu', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => '', 'is_disabled' => '', @@ -889,6 +892,7 @@ URL: [url]', 'seq_end' => 'Na koniec', 'seq_keep' => 'Ponechať pozíciu', 'seq_start' => 'Prvá pozícia', +'sessions' => '', 'settings' => 'Nastavenia', 'settings_activate_module' => '', 'settings_activate_php_extension' => '', @@ -1012,6 +1016,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Výber šablóny', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1234,6 +1240,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => 'Dokument odstránený', @@ -1409,6 +1416,7 @@ URL: [url]', 'workflow_action_name' => '', 'workflow_editor' => '', 'workflow_group_summary' => '', +'workflow_has_cycle' => '', 'workflow_initstate' => '', 'workflow_in_use' => '', 'workflow_layoutdata_saved' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index d27a69344..09576a6d7 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/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 (1138), tmichelfelder (106) +// Translators: Admin (1140), tmichelfelder (106) $text = array( '2_factor_auth' => '', @@ -173,7 +173,7 @@ URL: [url]', 'at_least_n_users_of_group' => 'Åtminstone [number_of_users] användare av [group]', 'august' => 'augusti', 'authentication' => '', -'author' => '', +'author' => 'Författare', 'automatic_status_update' => 'Automatisk ändring av status', 'back' => 'Tillbaka', 'backup_list' => 'Befintliga backup-filer', @@ -454,7 +454,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Utgångsdatum ändrat', @@ -593,6 +595,7 @@ URL: [url]', 'invalid_target_folder' => 'Ogiltigt ID för målkatalogen', 'invalid_user_id' => 'Ogiltigt användar-ID', 'invalid_version' => 'Ogiltig dokumentversion', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'Utkast: under bearbetning', 'is_disabled' => 'Inaktivera kontot', @@ -1020,6 +1023,7 @@ URL: [url]', 'seq_end' => 'på slutet', 'seq_keep' => 'behåll positionen', 'seq_start' => 'första positionen', +'sessions' => '', 'settings' => 'Inställningar', 'settings_activate_module' => 'Aktivera modul', 'settings_activate_php_extension' => 'Aktivera PHP-extension', @@ -1033,7 +1037,7 @@ URL: [url]', 'settings_autoLoginUser' => '', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Tillgängliga språk', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Bara de valda språken kommer att laddas och visas i språk väljaren. Det förvalda språket kommer alltid att laddas.', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Cache-mapp', @@ -1143,6 +1147,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Tillåt granskning/godkänning av inloggad användare', 'settings_enableSelfRevApp_desc' => 'Aktivera om du vill att aktuell inloggad användare visas i listan för personer som granskar/godkänner dokument och i övergång på arbetsflöden.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Tema urval', 'settings_enableThemeSelector_desc' => 'Stäng på/av tema urval vid inloggningssidan.', 'settings_enableUpdateReceipt' => '', @@ -1365,6 +1371,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Urklipp flyttades till aktuella katalogen', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Borttagen från urklipp', 'splash_rm_attribute' => 'Attribut har tagits bort', 'splash_rm_document' => 'Dokument borttaget', @@ -1554,6 +1561,7 @@ URL: [url]', 'workflow_action_name' => 'Namn', 'workflow_editor' => 'Arbetsflöde Editor', 'workflow_group_summary' => 'Sammanfattning grupp', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Ursprungsstatus', 'workflow_in_use' => 'Detta arbetsflöde används i ett dokument.', 'workflow_layoutdata_saved' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index a8f6af9ae..fe0adae57 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -460,7 +460,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti', @@ -599,6 +601,7 @@ URL: [url]', 'invalid_target_folder' => 'Geçersiz Hedef Klasör ID', 'invalid_user_id' => 'Geçersiz Kullanıcı ID', 'invalid_version' => 'Geçersiz Doküman Versiyonu', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => 'İş Akışında', 'is_disabled' => 'Hesap devredışı', @@ -1036,6 +1039,7 @@ URL: [url]', 'seq_end' => 'En sona', 'seq_keep' => 'Sırayı Koru', 'seq_start' => 'İlk sıra', +'sessions' => '', 'settings' => 'Ayarlar', 'settings_activate_module' => 'Modülü etkinleştir', 'settings_activate_php_extension' => 'PHP uzantısını etkinleştir', @@ -1159,6 +1163,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Giriş yapmış kullanıcılar için kontrol/onay izni ver', 'settings_enableSelfRevApp_desc' => 'O an giriş yapmış olan kullanıcıları kontrol eden/onaylayan olarak listelemek ve iş akışına dahil etmek için bunu seçebilirsiniz.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Tema seçimini aç/kapat', 'settings_enableThemeSelector_desc' => 'Giriş sayfasında tema seçimini aç/kapat', 'settings_enableUpdateReceipt' => '', @@ -1381,6 +1387,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Pano mevcut klasöre taşındı', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Panodan silindi', 'splash_rm_attribute' => 'Nitelik silindi', 'splash_rm_document' => 'Doküman silindi', @@ -1570,6 +1577,7 @@ URL: [url]', 'workflow_action_name' => 'İsim', 'workflow_editor' => 'İş Akış Editörü', 'workflow_group_summary' => 'Grup özeti', +'workflow_has_cycle' => '', 'workflow_initstate' => 'İlk durum', 'workflow_in_use' => 'Bu iş akışı doküman(lar) tarafından kullanımda.', 'workflow_layoutdata_saved' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 1c8a6cd1d..d3d477f0f 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -466,7 +466,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Дату терміну виконання змінено', @@ -605,6 +607,7 @@ URL: [url]', 'invalid_target_folder' => 'Невірний ідентифікатор цільового призначення', 'invalid_user_id' => 'Невірний ідентифікатор користувача', 'invalid_version' => 'Невірна версія документа', +'in_folder' => '', 'in_revision' => 'В процесі ревізії', 'in_workflow' => 'В процесі', 'is_disabled' => 'Відключити обліковий запис', @@ -1057,6 +1060,7 @@ URL: [url]', 'seq_end' => 'В кінці', 'seq_keep' => 'Не змінювати', 'seq_start' => 'На початку', +'sessions' => '', 'settings' => 'Налаштування', 'settings_activate_module' => 'Активувати модуль', 'settings_activate_php_extension' => 'Активувати розширення PHP', @@ -1180,6 +1184,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => 'Увімкніть для актвації функції ревізії документа через певний час', 'settings_enableSelfRevApp' => 'Дозволити рецензію/затвердження
      користувачами, авторизованими у системі', 'settings_enableSelfRevApp_desc' => 'Увімкніть для того, щоб користувачі, в даний момент авторизовані у системі, були в списку рецензентів/затверджувачів і в зміні процесу.', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => 'Вибір теми', 'settings_enableThemeSelector_desc' => 'Увімкнути/вимкнути можливість вибору теми на сторінці авторизації.', 'settings_enableUpdateReceipt' => '', @@ -1402,6 +1408,7 @@ URL: [url]', 'splash_moved_clipboard' => 'Буфер обміну перенесено в поточний каталог', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => 'Видалити з буферу обміну', 'splash_rm_attribute' => 'Атрибут видалено', 'splash_rm_document' => 'Документ видалено', @@ -1591,6 +1598,7 @@ URL: [url]', 'workflow_action_name' => 'Назва', 'workflow_editor' => 'Редактор процесу', 'workflow_group_summary' => 'Підсумки по процесу групи', +'workflow_has_cycle' => '', 'workflow_initstate' => 'Початковий статус', 'workflow_in_use' => 'Цей процес використовується в документах.', 'workflow_layoutdata_saved' => '', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 4fdd449f6..27f51ddc7 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 (679), fengjohn (5) +// Translators: Admin (681), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -289,7 +289,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => '文档', -'documentcontent' => '', +'documentcontent' => '文档内容', 'documents' => '文档', 'documents_checked_out_by_you' => '', 'documents_in_process' => '待处理文档', @@ -415,7 +415,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => '到期日子已改变', @@ -530,6 +532,7 @@ URL: [url]', 'invalid_target_folder' => '无效目标文件夹ID号', 'invalid_user_id' => '无效用户ID号', 'invalid_version' => '无效文档版本', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => '', 'is_disabled' => '禁用帐户', @@ -576,7 +579,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => '超过20M大文件,请选择上传大文件.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => '列出所有的访问权限', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => '本地文件', @@ -891,6 +894,7 @@ URL: [url]', 'seq_end' => '末尾', 'seq_keep' => '当前', 'seq_start' => '首位', +'sessions' => '', 'settings' => '设置', 'settings_activate_module' => '', 'settings_activate_php_extension' => '', @@ -1014,6 +1018,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1236,6 +1242,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '已从剪切板删除', 'splash_rm_attribute' => '', 'splash_rm_document' => '文档已被移除', @@ -1411,6 +1418,7 @@ URL: [url]', 'workflow_action_name' => '', 'workflow_editor' => '', 'workflow_group_summary' => '', +'workflow_has_cycle' => '', 'workflow_initstate' => '', 'workflow_in_use' => '', 'workflow_layoutdata_saved' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 8d719f72f..baef0f80b 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/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 (2377) +// Translators: Admin (2378) $text = array( '2_factor_auth' => '', @@ -413,7 +413,9 @@ URL: [url]', 'expire_in_1h' => '', 'expire_in_1m' => '', 'expire_in_1w' => '', +'expire_in_1y' => '', 'expire_in_2h' => '', +'expire_in_2y' => '', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => '到期日子已改變', @@ -485,7 +487,7 @@ URL: [url]', 'hu_HU' => '匈牙利語', 'id' => '序號', 'identical_version' => '新版本的內容與舊版本完全相同', -'import' => '', +'import' => '匯入', 'importfs' => '', 'import_fs' => '由檔案系統匯入', 'import_fs_warning' => '', @@ -528,6 +530,7 @@ URL: [url]', 'invalid_target_folder' => '無效目的檔案夾ID號', 'invalid_user_id' => '無效用戶ID號', 'invalid_version' => '無效文檔版本', +'in_folder' => '', 'in_revision' => '', 'in_workflow' => '', 'is_disabled' => '禁用帳戶', @@ -889,6 +892,7 @@ URL: [url]', 'seq_end' => '末尾', 'seq_keep' => '當前', 'seq_start' => '首位', +'sessions' => '', 'settings' => '設置', 'settings_activate_module' => '', 'settings_activate_php_extension' => '', @@ -1012,6 +1016,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => '', 'settings_enableSelfRevApp_desc' => '', +'settings_enableSessionList' => '', +'settings_enableSessionList_desc' => '', 'settings_enableThemeSelector' => '', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', @@ -1234,6 +1240,7 @@ URL: [url]', 'splash_moved_clipboard' => '', 'splash_move_document' => '', 'splash_move_folder' => '', +'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', 'splash_rm_document' => '文檔已被移除', @@ -1409,6 +1416,7 @@ URL: [url]', 'workflow_action_name' => '流程動作名稱', 'workflow_editor' => '', 'workflow_group_summary' => '流程群組簡述', +'workflow_has_cycle' => '', 'workflow_initstate' => '', 'workflow_in_use' => '正在使用之流程', 'workflow_layoutdata_saved' => '', From 0fd0af585478902c2c2c639206800fb5154d2a89 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:10:04 +0200 Subject: [PATCH 101/212] check if method 'css' exists, run action if it does after all css filest --- views/bootstrap/class.Bootstrap.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index ba378764e..addb25486 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -72,7 +72,8 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { echo ''."\n"; if($this->extraheader['css']) echo $this->extraheader['css']; -// echo ''."\n"; + if(method_exists($this, 'css')) + echo ''."\n"; echo ''."\n"; if($this->extraheader['js']) From 71cc4da3a2864119c508158c9800240728cdcf2e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:10:54 +0200 Subject: [PATCH 102/212] move css code into new css method of class.Timeline.php --- styles/bootstrap/application.css | 28 ------------------------- views/bootstrap/class.Timeline.php | 33 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index ec977766c..27f1be15a 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -140,34 +140,6 @@ div.help h3 { margin-right: auto; } -#timeline { - font-size: 12px; - line-height: 14px; -} -div.timeline-event-content { - margin: 3px 5px; -} -div.timeline-frame { - border-radius: 4px; - border-color: #e3e3e3; -} - -div.status_change_2 { - background-color: #DAF6D5; - border-color: #AAF897; -} - -div.status_change_-1 { - background-color: #F6D5D5; - border-color: #F89797; -} - -div.timeline-event-selected { - background-color: #fff785; - border-color: #ffc200; - z-index: 999; -} - div.splash { display: none; } diff --git a/views/bootstrap/class.Timeline.php b/views/bootstrap/class.Timeline.php index e2ce69dca..0acc3e9cc 100644 --- a/views/bootstrap/class.Timeline.php +++ b/views/bootstrap/class.Timeline.php @@ -163,6 +163,39 @@ $(document).ready(function () { $this->printTimelineJs($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip); } /* }}} */ + function css() { /* {{{ */ +?> +#timeline { + font-size: 12px; + line-height: 14px; +} +div.timeline-event-content { + margin: 3px 5px; +} +div.timeline-frame { + border-radius: 4px; + border-color: #e3e3e3; +} + +div.status_change_2 { + background-color: #DAF6D5; + border-color: #AAF897; +} + +div.status_change_-1 { + background-color: #F6D5D5; + border-color: #F89797; +} + +div.timeline-event-selected { + background-color: #fff785; + border-color: #ffc200; + z-index: 999; +} +params['dms']; $user = $this->params['user']; From d4a1d1ff9be18f1a73f18508a6443a772ff529c3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:12:46 +0200 Subject: [PATCH 103/212] add changes for 4.3.35 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index e4ef825b3..2ef70254e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ -------------------------------------------------------------------------------- - fix authentication in webdav.php (Closes #250) - update last access time only once a minute +- run action 'css' in view if it exists, move css code for timeline -------------------------------------------------------------------------------- Changes in version 4.3.34 From a65101feb77d9f6111376630028d29c8094e2547 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:19:36 +0200 Subject: [PATCH 104/212] fix syntax error --- 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 3c3fa4f33..3ad4401f7 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -1373,6 +1373,6 @@ SeedDMS_Core_DMS::getDuplicateDocumentContent() returns complete document - all changes from 4.3.34 merged - + From 0b2d663c56c988f06eb90ab176a457413b557883 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 10:21:23 +0200 Subject: [PATCH 105/212] add empty notes in latest version --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index de00b956c..c6f354b28 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,7 @@ GPL License +??? From c1b6fbf11a533c6095d77c71a60b7caab4468d31 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 17:10:32 +0200 Subject: [PATCH 106/212] remove duplicate method getUser() --- inc/inc.ClassSession.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index 89555ce44..e84fcc00a 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -195,15 +195,6 @@ class SeedDMS_Session { return true; } /* }}} */ - /** - * Get language of session - * - * @return string language - */ - function getUser() { /* {{{ */ - return $this->data['userid']; - } /* }}} */ - /** * Set language of session * From 62a1d2d7ecb5eacec40899cef501d4669faa15b9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 17:35:17 +0200 Subject: [PATCH 107/212] do not include ClassAccessOperation --- out/out.Session.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/out/out.Session.php b/out/out.Session.php index 4c07bc48c..2c7c9e438 100644 --- a/out/out.Session.php +++ b/out/out.Session.php @@ -25,9 +25,8 @@ include("../inc/inc.Language.php"); include("../inc/inc.Init.php"); include("../inc/inc.Extension.php"); include("../inc/inc.DBInit.php"); -include("../inc/inc.Authentication.php"); -include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.ClassUI.php"); +include("../inc/inc.Authentication.php"); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); From 468ec80db3b73c0665d53be815c686ab2f4d3b22 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Apr 2017 17:36:40 +0200 Subject: [PATCH 108/212] fix saving of enableSessionList --- inc/inc.ClassSettings.php | 4 ++-- views/bootstrap/class.Settings.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 64b3f5242..3b78b11e1 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -179,7 +179,7 @@ class Settings { /* {{{ */ // enable/disable display of the clipboard var $_enableClipboard = true; // enable/disable display of the session list - var $_enableSessionList = true; + var $_enableSessionList = false; // enable/disable display of the drop zone for file upload var $_enableDropUpload = true; // enable/disable display of the folder tree @@ -720,7 +720,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting); $this->setXMLAttributValue($node, "enableEmail", $this->_enableEmail); $this->setXMLAttributValue($node, "enableUsersView", $this->_enableUsersView); - $this->setXMLAttributValue($node, "enableClipboard", $this->_enableSessionList); + $this->setXMLAttributValue($node, "enableSessionList", $this->_enableSessionList); $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index ee6afd36a..350bcd194 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -268,7 +268,7 @@ if(!is_writeable($settings->_configFilePath)) { "> : - _enableClipboard) echo "checked" ?> /> + _enableSessionList) echo "checked" ?> /> "> : From a04dac811e36c497447f8910bc2dee4c60cbdc81 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Apr 2017 13:29:26 +0200 Subject: [PATCH 109/212] use new select menu for expiration date --- op/op.EditDocument.php | 81 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/op/op.EditDocument.php b/op/op.EditDocument.php index 9912b85bc..e95df7b7c 100644 --- a/op/op.EditDocument.php +++ b/op/op.EditDocument.php @@ -141,17 +141,42 @@ if (($oldcomment = $document->getComment()) != $comment) { } } -$expires = false; -if (!isset($_POST["expires"]) || $_POST["expires"] != "false") { - if(isset($_POST["expdate"]) && $_POST["expdate"]) { - $tmp = explode('-', $_POST["expdate"]); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); - } else { - $expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]); - } +switch($_POST["presetexpdate"]) { +case "date": + $tmp = explode('-', $_POST["expdate"]); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); + break; +case "1w": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); + break; +case "1m": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); + break; +case "1y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); + break; +case "2y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); + break; +case "never": +default: + $expires = null; + break; } if ($expires != $document->getExpires()) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if (method_exists($hookObj, 'preSetExpires')) { + $hookObj->preSetExpires(null, array('document'=>$document, 'expires'=>&$expires)); + } + } + } + if($document->setExpires($expires)) { if($notifier) { $notifyList = $document->getNotifyList(); @@ -180,14 +205,40 @@ if ($expires != $document->getExpires()) { } else { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } + + $document->verifyLastestContentExpriry(); + + if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if (method_exists($hookObj, 'postSetExpires')) { + $hookObj->postSetExpires(null, array('document'=>$document, 'expires'=>$expires)); + } + } + } } if (($oldkeywords = $document->getKeywords()) != $keywords) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['setKeywords'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setKeywords'] as $hookObj) { + if (method_exists($hookObj, 'preSetKeywords')) { + $hookObj->preSetExpires(null, array('document'=>$document, 'keywords'=>&$keywords)); + } + } + } + if($document->setKeywords($keywords)) { } else { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } + + if(isset($GLOBALS['SEEDDMS_HOOKS']['setKeywords'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setKeywords'] as $hookObj) { + if (method_exists($hookObj, 'postSetKeywords')) { + $hookObj->preSetExpires(null, array('document'=>$document, 'keywords'=>&$keywords)); + } + } + } } if($categories) { @@ -205,10 +256,24 @@ if($categories) { if (count($categoriesarr) != count($oldcategories) || array_diff($categories, $oldcatsids)) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['setCategories'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setCategories'] as $hookObj) { + if (method_exists($hookObj, 'preSetCategories')) { + $hookObj->preSetExpires(null, array('document'=>$document, 'categories'=>&$categoriesarr)); + } + } + } if($document->setCategories($categoriesarr)) { } else { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } + if(isset($GLOBALS['SEEDDMS_HOOKS']['setCategories'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['setCategories'] as $hookObj) { + if (method_exists($hookObj, 'postSetCategories')) { + $hookObj->preSetExpires(null, array('document'=>$document, 'categories'=>&$categoriesarr)); + } + } + } } } else { if($document->setCategories(array())) { From 5fdf291cd2bb17e2328fb4264c6f0a75098f65d9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 18 Apr 2017 13:30:13 +0200 Subject: [PATCH 110/212] use new select menu for expiration date --- views/bootstrap/class.EditDocument.php | 28 ++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/views/bootstrap/class.EditDocument.php b/views/bootstrap/class.EditDocument.php index e6d62c0ec..f4f099790 100644 --- a/views/bootstrap/class.EditDocument.php +++ b/views/bootstrap/class.EditDocument.php @@ -88,6 +88,12 @@ $(document).ready( function() { keywords: "" } }); + $('#presetexpdate').on('change', function(ev){ + if($(this).val() == 'date') + $('#control_expdate').show(); + else + $('#control_expdate').hide(); + }); }); : - - + + + + > + : + + + -
      - +
      Date: Thu, 20 Apr 2017 09:52:50 +0200 Subject: [PATCH 111/212] parameter __lang__ is used to set language if set --- inc/inc.ClassEmailNotify.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassEmailNotify.php b/inc/inc.ClassEmailNotify.php index 2102be469..1dfa74d42 100644 --- a/inc/inc.ClassEmailNotify.php +++ b/inc/inc.ClassEmailNotify.php @@ -74,7 +74,10 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { $lang = $recipient->getLanguage(); } elseif(is_string($recipient) && trim($recipient) != "") { $to = $recipient; - $lang = 'en_GB'; + if(isset($params['__lang__'])) + $lang = $params['__lang__']; + else + $lang = 'en_GB'; } else { return false; } From 44f6b2edc312cd0200591f1aa8fab9eab866745d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:54:12 +0200 Subject: [PATCH 112/212] save configuration value of extension as comma separated values if array --- inc/inc.ClassSettings.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 3b78b11e1..bef76e394 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -940,13 +940,13 @@ class Settings { /* {{{ */ $extnodes = $xml->addChild("extensions"); } foreach($this->_extensions as $name => $extension) - { + { // search XML node $extnode = $extnodes->addChild('extension'); $this->setXMLAttributValue($extnode, 'name', $name); foreach($GLOBALS['EXT_CONF'][$name]['config'] as $fieldname=>$conf) { $parameter = $extnode->addChild('parameter'); - $parameter[0] = isset($extension[$fieldname]) ? $extension[$fieldname] : ''; + $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; $this->setXMLAttributValue($parameter, 'name', $fieldname); } From d70713d29e6942d542024da6309c3666638e92f2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:55:46 +0200 Subject: [PATCH 113/212] fix calling hooks --- op/op.EditDocument.php | 50 +++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/op/op.EditDocument.php b/op/op.EditDocument.php index e95df7b7c..d46602413 100644 --- a/op/op.EditDocument.php +++ b/op/op.EditDocument.php @@ -169,8 +169,8 @@ default: } if ($expires != $document->getExpires()) { - if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'preSetExpires')) { $hookObj->preSetExpires(null, array('document'=>$document, 'expires'=>&$expires)); } @@ -208,8 +208,8 @@ if ($expires != $document->getExpires()) { $document->verifyLastestContentExpriry(); - if(isset($GLOBALS['SEEDDMS_HOOKS']['setExpires'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setExpires'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'postSetExpires')) { $hookObj->postSetExpires(null, array('document'=>$document, 'expires'=>$expires)); } @@ -218,10 +218,10 @@ if ($expires != $document->getExpires()) { } if (($oldkeywords = $document->getKeywords()) != $keywords) { - if(isset($GLOBALS['SEEDDMS_HOOKS']['setKeywords'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setKeywords'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'preSetKeywords')) { - $hookObj->preSetExpires(null, array('document'=>$document, 'keywords'=>&$keywords)); + $hookObj->preSetKeywords(null, array('document'=>$document, 'keywords'=>&$keywords, 'oldkeywords'=>&$oldkeywords)); } } } @@ -232,15 +232,16 @@ if (($oldkeywords = $document->getKeywords()) != $keywords) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } - if(isset($GLOBALS['SEEDDMS_HOOKS']['setKeywords'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setKeywords'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'postSetKeywords')) { - $hookObj->preSetExpires(null, array('document'=>$document, 'keywords'=>&$keywords)); + $hookObj->postSetKeywords(null, array('document'=>$document, 'keywords'=>&$keywords, 'oldkeywords'=>&$oldkeywords)); } } } } +$oldcategories = $document->getCategories(); if($categories) { $categoriesarr = array(); foreach($categories as $catid) { @@ -249,17 +250,16 @@ if($categories) { } } - $oldcategories = $document->getCategories(); $oldcatsids = array(); foreach($oldcategories as $oldcategory) $oldcatsids[] = $oldcategory->getID(); if (count($categoriesarr) != count($oldcategories) || array_diff($categories, $oldcatsids)) { - if(isset($GLOBALS['SEEDDMS_HOOKS']['setCategories'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setCategories'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'preSetCategories')) { - $hookObj->preSetExpires(null, array('document'=>$document, 'categories'=>&$categoriesarr)); + $hookObj->preSetCategories(null, array('document'=>$document, 'categories'=>&$categoriesarr, 'oldcategories'=>&$oldcategories)); } } } @@ -267,19 +267,33 @@ if($categories) { } else { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } - if(isset($GLOBALS['SEEDDMS_HOOKS']['setCategories'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['setCategories'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { if (method_exists($hookObj, 'postSetCategories')) { - $hookObj->preSetExpires(null, array('document'=>$document, 'categories'=>&$categoriesarr)); + $hookObj->postSetCategories(null, array('document'=>$document, 'categories'=>&$categoriesarr, 'oldcategories'=>&$oldcategories)); } } } } -} else { +} elseif($oldcategories) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { + if (method_exists($hookObj, 'preSetCategories')) { + $hookObj->preSetCategories(null, array('document'=>$document, 'categories'=>array(), 'oldcategories'=>&$oldcategories)); + } + } + } if($document->setCategories(array())) { } else { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } + if(isset($GLOBALS['SEEDDMS_HOOKS']['editDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['editDocument'] as $hookObj) { + if (method_exists($hookObj, 'postSetCategories')) { + $hookObj->postSetCategories(null, array('document'=>$document, 'categories'=>array(), 'oldcategories'=>&$oldcategories)); + } + } + } } $oldattributes = $document->getAttributes(); From b67339a9c70a0c9e7719a4f3bd42d245c7e96f39 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:56:37 +0200 Subject: [PATCH 114/212] pass document to hooks --- op/op.UpdateDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 078a23f40..07d684924 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -240,7 +240,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'preUpdateDocument')) { - $hookObj->preUpdateDocument(null, array('name'=>&$name, 'comment'=>&$comment)); + $hookObj->preUpdateDocument(null, $document, array('name'=>&$name, 'comment'=>&$comment)); } } } @@ -254,7 +254,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'postUpdateDocument')) { - $hookObj->postUpdateDocument(null, $document); + $hookObj->postUpdateDocument(null, $document, $contentResult->getContent()); } } } From 87ead99f34f452be1e7f6d687537551c2048ff4b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:57:16 +0200 Subject: [PATCH 115/212] add 'select' as new type of configuration --- views/bootstrap/class.Settings.php | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 350bcd194..412760ef2 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -751,6 +751,49 @@ if(!is_writeable($settings->_configFilePath)) { " value="1" _extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> /> _extensions[$extname][$confkey]); + echo ""; + } elseif(!empty($conf['internal'])) { + $selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]); + switch($conf['internal']) { + case "categories": + $categories = $dms->getDocumentCategories(); + if($categories) { + echo ""; + } + break; + case "users": + $users = $dms->getAllUsers(); + if($users) { + echo ""; + } + break; + } + } + break; default: ?> " title="" value="_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" size="" /> From d08940f1acc91f6195ac44b7e783fdd76ba4a2a1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:58:09 +0200 Subject: [PATCH 116/212] add examples for more configuration values --- ext/example/conf.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ext/example/conf.php b/ext/example/conf.php index 6f9f09827..0257c73a3 100644 --- a/ext/example/conf.php +++ b/ext/example/conf.php @@ -16,6 +16,25 @@ $EXT_CONF['example'] = array( 'title'=>'Example check box', 'type'=>'checkbox', ), + 'list' => array( + 'title'=>'Example select menu from options', + 'type'=>'select', + 'options' => array('Option 1', 'Option 2', 'Option 3'), + 'multiple' => true, + 'size' => 2, + ), + 'categories' => array( + 'title'=>'Example select menu from categories', + 'type'=>'select', + 'internal'=>'categories', + 'multiple' => true, + ), + 'users' => array( + 'title'=>'Example select menu from users', + 'type'=>'select', + 'internal'=>'users', + 'multiple' => true, + ), ), 'constraints' => array( 'depends' => array('php' => '5.4.4-', 'seeddms' => '4.3.0-'), From f33b70c0db24f19a11627a21b4aad66b103d3cbe Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:58:46 +0200 Subject: [PATCH 117/212] fix regex for mimetypes --- op/op.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.Settings.php b/op/op.Settings.php index 627c8b0d2..6c7948f8e 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -190,7 +190,7 @@ if ($action == "saveSettings") // SETTINGS - ADVANCED - INDEX CMD $settings->_converters['fulltext'] = $_POST["converters"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-*]+#', '', $_POST["converters_newmimetype"]); + $newmimetype = preg_replace('#[^A-Za-z0-9_/+.*-]+#', '', $_POST["converters_newmimetype"]); if($newmimetype && trim($_POST["converters_newcmd"])) { $settings->_converters['fulltext'][$newmimetype] = trim($_POST["converters_newcmd"]); } From 1a901f47f32af21c22e79504de5b019462f7d2d5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 09:59:23 +0200 Subject: [PATCH 118/212] fix reges for mimetype --- op/op.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.Settings.php b/op/op.Settings.php index e45084733..4db10939d 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -189,7 +189,7 @@ if ($action == "saveSettings") // SETTINGS - ADVANCED - INDEX CMD $settings->_converters['fulltext'] = $_POST["converters"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-*]+#', '', $_POST["converters_newmimetype"]); + $newmimetype = preg_replace('#[^A-Za-z0-9_/+.*-]+#', '', $_POST["converters_newmimetype"]); if($newmimetype && trim($_POST["converters_newcmd"])) { $settings->_converters['fulltext'][$newmimetype] = trim($_POST["converters_newcmd"]); } From 5484c47ebde22cd6e2a5a3890ed50817e8e57518 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 10:01:15 +0200 Subject: [PATCH 119/212] pass null as first parameter of hooks, will later be the controller --- op/op.UpdateDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 25547ef9c..152272ac3 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -240,7 +240,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'preUpdateDocument')) { - $hookObj->preUpdateDocument(array('name'=>&$name, 'comment'=>&$comment)); + $hookObj->preUpdateDocument(null, array('name'=>&$name, 'comment'=>&$comment)); } } } @@ -254,7 +254,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'postUpdateDocument')) { - $hookObj->postUpdateDocument($document); + $hookObj->postUpdateDocument(null, $document); } } } From dae6b2afde1c1f7e23fd986c86146c01036200b2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 20 Apr 2017 10:03:53 +0200 Subject: [PATCH 120/212] fix parameter of hooks --- op/op.UpdateDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 152272ac3..f73119927 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -240,7 +240,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'preUpdateDocument')) { - $hookObj->preUpdateDocument(null, array('name'=>&$name, 'comment'=>&$comment)); + $hookObj->preUpdateDocument(null, $document, array('name'=>&$name, 'comment'=>&$comment)); } } } @@ -254,7 +254,7 @@ if ($_FILES['userfile']['error'] == 0) { if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { if (method_exists($hookObj, 'postUpdateDocument')) { - $hookObj->postUpdateDocument(null, $document); + $hookObj->postUpdateDocument(null, $document, $contentResult->getContent()); } } } From f361fe4fdc22c516a8abcbccf094e641fa6f3cb4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Apr 2017 17:19:31 +0200 Subject: [PATCH 121/212] add 'groups' and 'attributedefinition' as internal field types --- views/bootstrap/class.Settings.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 412760ef2..5a16bc987 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -791,6 +791,32 @@ if(!is_writeable($settings->_configFilePath)) { echo ""; } break; + case "groups": + $recs = $dms->getAllGroups(); + if($recs) { + echo ""; + } + break; + case "attributedefinitions": + $recs = $dms->getAllAttributeDefinitions(); + if($recs) { + echo ""; + } + break; } } break; From ee88a9691c477fecb92b1d1f24300ad5f6809f74 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 21 Apr 2017 17:20:16 +0200 Subject: [PATCH 122/212] add examples for group and attributedefinition selection --- ext/example/conf.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ext/example/conf.php b/ext/example/conf.php index 0257c73a3..e84670dc5 100644 --- a/ext/example/conf.php +++ b/ext/example/conf.php @@ -35,6 +35,18 @@ $EXT_CONF['example'] = array( 'internal'=>'users', 'multiple' => true, ), + 'groups' => array( + 'title'=>'Example select menu from groups', + 'type'=>'select', + 'internal'=>'groups', + 'multiple' => true, + ), + 'attributedefinitions' => array( + 'title'=>'Example select menu from attribute definitions', + 'type'=>'select', + 'internal'=>'attributedefinitions', + 'multiple' => true, + ), ), 'constraints' => array( 'depends' => array('php' => '5.4.4-', 'seeddms' => '4.3.0-'), From d55236f49d24c271fc0898acd864c526d4d7df2d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 24 Apr 2017 16:47:57 +0200 Subject: [PATCH 123/212] SeedDMS_Core_DMS::filterDocumentFiles() returns file if author of doc --- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 7ef060b8a..db8fd8b70 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -329,7 +329,7 @@ class SeedDMS_Core_DMS { static function filterDocumentFiles($user, $files) { /* {{{ */ $tmp = array(); foreach ($files as $file) - if ($file->isPublic() || ($file->getUser()->getID() == $user->getID()) || $user->isAdmin()) + if ($file->isPublic() || ($file->getUser()->getID() == $user->getID()) || $user->isAdmin() || ($file->getDocument()->getOwner()->getID() == $user->getID())) array_push($tmp, $file); return $tmp; } /* }}} */ From e9c0b679bcef7ae0e4af50e0244f6f151a72d7c9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 24 Apr 2017 16:48:38 +0200 Subject: [PATCH 124/212] add changelog for 5.1.2 --- 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 e8d48639d..44a99ad46 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,8 @@ GPL License -??? +SeedDMS_Core_DMS::filterDocumentFiles() returns also documents which are not public +if the owner tries to access them From 0994dfb667231bf529e724471f8d485eaed092f4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 24 Apr 2017 16:49:01 +0200 Subject: [PATCH 125/212] add entry for 5.1.2 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 14fc2a74d..ef3c6b510 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ - add select menu for predifined expiration dates - add some more hooks - add list of currently logged in users in menu +- the owner of a document can see even none public attachments - merged changes from 5.0.12 -------------------------------------------------------------------------------- From d2fc9b534f39cb5c75e6fe6ee98e67fbb733520d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 06:50:12 +0200 Subject: [PATCH 126/212] add enableMultiUpload and enableAttachmentUpload --- inc/inc.ClassSettings.php | 10 +++++++++- op/op.Settings.php | 2 ++ views/bootstrap/class.Settings.php | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index bef76e394..137326eca 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -162,7 +162,7 @@ class Settings { /* {{{ */ var $_logFileEnable = true; // the log file rotation var $_logFileRotation = "d"; - // Enable file upload by jumploader + // Enable file upload by fine-uploader (was 'jumploader') var $_enableLargeFileUpload = false; // size of partitions for file uploaded by fine-loader var $_partitionSize = 2000000; @@ -182,6 +182,10 @@ class Settings { /* {{{ */ var $_enableSessionList = false; // enable/disable display of the drop zone for file upload var $_enableDropUpload = true; + // Enable multiple file upload + var $_enableMultiUpload = false; + // Enable upload of attachments with document upload + var $_enableAttachmentUpload = false; // enable/disable display of the folder tree var $_enableFolderTree = true; // count documents and folders for folderview recursively @@ -415,6 +419,8 @@ class Settings { /* {{{ */ $this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]); $this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]); $this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]); + $this->_enableAttachmentUpload = Settings::boolVal($tab["enableAttachmentUpload"]); + $this->_enableMultiUpload = Settings::boolVal($tab["enableMultiUpload"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); $this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]); $this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]); @@ -723,6 +729,8 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableSessionList", $this->_enableSessionList); $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); + $this->setXMLAttributValue($node, "enableMultiUpload", $this->_enableMultiUpload); + $this->setXMLAttributValue($node, "enableAttachmentUpload", $this->_enableAttachmentUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); $this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount); $this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount); diff --git a/op/op.Settings.php b/op/op.Settings.php index 6c7948f8e..9b62701bd 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -84,6 +84,8 @@ if ($action == "saveSettings") $settings->_enableSessionList = getBoolValue("enableSessionList"); $settings->_enableClipboard = getBoolValue("enableClipboard"); $settings->_enableDropUpload = getBoolValue("enableDropUpload"); + $settings->_enableMultiUpload = getBoolValue("enableMultiUpload"); + $settings->_enableAttachmentUpload = getBoolValue("enableAttachmentUpload"); $settings->_enableFolderTree = getBoolValue("enableFolderTree"); $settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount"); $settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]); diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 5a16bc987..be20e5f5a 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -273,6 +273,14 @@ if(!is_writeable($settings->_configFilePath)) { "> : _enableDropUpload) echo "checked" ?> /> + + "> + : + _enableMultiUpload) echo "checked" ?> /> + + "> + : + _enableAttachmentUpload) echo "checked" ?> /> "> : From a83b9ba3954ca7a6c36105031d284b4eeb4cfa8d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 06:51:16 +0200 Subject: [PATCH 127/212] check for enableMultiUpload and enableAttachmentUpload --- out/out.AddDocument.php | 2 + views/bootstrap/class.AddDocument.php | 67 ++++++++++++++++++++------- 2 files changed, 53 insertions(+), 16 deletions(-) diff --git a/out/out.AddDocument.php b/out/out.AddDocument.php index d65cd360f..6a6ba9a9b 100644 --- a/out/out.AddDocument.php +++ b/out/out.AddDocument.php @@ -54,6 +54,8 @@ if($view) { $view->setParam('folder', $folder); $view->setParam('strictformcheck', $settings->_strictFormCheck); $view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload); + $view->setParam('enableattachmentupload', $settings->_enableAttachmentUpload); + $view->setParam('enablemultiupload', $settings->_enableMultiUpload); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 13ab0cd25..498e23b2d 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -36,16 +36,27 @@ class SeedDMS_View_AddDocument extends SeedDMS_Bootstrap_Style { $partitionsize = $this->params['partitionsize']; $maxuploadsize = $this->params['maxuploadsize']; $enablelargefileupload = $this->params['enablelargefileupload']; + $enablemultiupload = $this->params['enablemultiupload']; + $enableattachmentupload = $this->params['enableattachmentupload']; header('Content-Type: application/javascript; charset=UTF-8'); - if($enablelargefileupload) - $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize); + if($enablelargefileupload) { + $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize, $enablemultiupload); + if($enableattachmentupload) { + //$this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize, , $enablemultiupload, 'attachment'); + } + } ?> $(document).ready(function() { $('#new-file').click(function(event) { - $("#upload-file").clone().appendTo("#upload-files").removeAttr("id").children('div').children('input').val(''); + $("#userfile-upload-file").clone().appendTo("#userfile-upload-files").removeAttr("id").children('div').children('input').val(''); }); - + + $('#new-attachment').click(function(event) { +console.log('Hallo'); + $("#attachment-upload-file").clone().appendTo("#attachment-upload-files").removeAttr("id").children('div').children('input').val(''); + }); + jQuery.validator.addMethod("alternatives", function(value, element, params) { if(value == '' && params.val() == '') return false; @@ -84,7 +95,10 @@ $(document).ready(function() { if($enablelargefileupload) { ?> submitHandler: function(form) { - manualuploader.uploadStoredFiles(); + userfileuploader.uploadStoredFiles(); + +// attachmentuploader.uploadStoredFiles(); + }, - fineuploaderuuids: { - fineuploader: [ manualuploader, $('#dropfolderfileform1') ] + 'userfile-fine-uploader-uuids': { + fineuploader: [ userfileuploader, $('#dropfolderfileform1') ] } params['user']; $folder = $this->params['folder']; $enablelargefileupload = $this->params['enablelargefileupload']; + $enablemultiupload = $this->params['enablemultiupload']; + $enableattachmentupload = $this->params['enableattachmentupload']; $enableadminrevapp = $this->params['enableadminrevapp']; $enableownerrevapp = $this->params['enableownerrevapp']; $enableselfrevapp = $this->params['enableselfrevapp']; @@ -164,9 +180,6 @@ $(document).ready(function() { $this->pageNavigation($this->getFolderPathHTML($folder, true), "view_folder", $folder); $msg = getMLText("max_upload_size").": ".ini_get( "upload_max_filesize"); - if(0 && $enablelargefileupload) { - $msg .= "

      ".sprintf(getMLText('link_alt_updatedocument'), "out.AddMultiDocument.php?folderid=".$folderid."&showtree=".showtree())."

      "; - } $this->warningMsg($msg); $this->contentHeading(getMLText("add_document")); $this->contentContainerStart(); @@ -306,20 +319,16 @@ $(document).ready(function() { : - printFineUploaderHtml(); else { $this->printFileChooser('userfile[]', false); + if($enablemultiupload) { ?> @@ -355,6 +364,32 @@ $(document).ready(function() { } } } + /* Do not allow upload of attachments if multiple documents can be uploaded, + * because attachments cannot be assigned uniquely to a document */ + if($enableattachmentupload && !$enablemultiupload) { +?> + + + contentSubHeading(getMLText("linked_files")); ?> + + + + : + +printFineUploaderHtml('attachment'); + else { + $this->printFileChooser('attachment[]', false); +?> + + + + + From b1d5548853a85ca1f4a0ca17098717e403e47b9d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 06:51:43 +0200 Subject: [PATCH 128/212] also upload attachment if passed --- op/op.AddDocument.php | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 9cbd91e14..86a6ec25f 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -257,9 +257,10 @@ if($settings->_dropFolderDir) { } } -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.'/'.utf8_basename($uuid); if(file_exists($fullfile)) { @@ -489,6 +490,29 @@ for ($file_num=0;$file_num $folder->getName())),getMLText("uploading_zerosize")); + } + if ($_FILES['attachment']['error'][$attach_num]!=0){ + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed")); + } + + $attachfiletmp = $_FILES["attachment"]["tmp_name"][$file_num]; + $attachfiletype = $_FILES["attachment"]["type"][$file_num]; + $attachfilename = $_FILES["attachment"]["name"][$file_num]; + + $fileType = ".".pathinfo($attachfilename, PATHINFO_EXTENSION); + + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $attachfiletype = finfo_file($finfo, $attachfiletmp); + } + + $res = $document->addDocumentFile(utf8_basename($attachfilename), '', $user, $attachfiletmp, utf8_basename($attachfilename),$fileType, $attachfiletype); + } } add_log_line("?name=".$name."&folderid=".$folderid); From 19d13f5b3076eef9fbb437bc18ae516788757183 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 06:52:50 +0200 Subject: [PATCH 129/212] make fine uploader and btn-file usable twice on a page --- styles/bootstrap/application.js | 2 +- views/bootstrap/class.Bootstrap.php | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 61b90b146..1986908ef 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -347,7 +347,7 @@ $(document).ready( function() { input.trigger('fileselect', [numFiles, label]); }); - $(document).on('fileselect', '#upload-file .btn-file :file', function(event, numFiles, label) { + $(document).on('fileselect', '.upload-file .btn-file :file', function(event, numFiles, label) { var input = $(this).parents('.input-append').find(':text'), log = numFiles > 1 ? numFiles + ' files selected' : label; diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index b65f163f3..da9ff293c 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -865,13 +865,14 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } /* }}} */ function printFileChooser($varname='userfile', $multiple=false, $accept='') { /* {{{ */ + $id = preg_replace('/[^A-Za-z]/', '', $varname); ?> -
      -
      +
      +
      - > + >
      @@ -2354,11 +2355,11 @@ mayscript> * @param integer $maxfiles maximum number of files allowed to upload * @param array $fields list of post fields */ - function printFineUploaderHtml() { /* {{{ */ + function printFineUploaderHtml($prefix='userfile') { /* {{{ */ ?> -
      - - +
      + id="-fine-uploader-uuids" name="-fine-uploader-uuids" value="" /> + * @param integer $maxfiles maximum number of files allowed to upload * @param array $fields list of post fields */ - function printFineUploaderJs($uploadurl, $partsize=0, $maxuploadsize=0, $multiple=true) { /* {{{ */ + function printFineUploaderJs($uploadurl, $partsize=0, $maxuploadsize=0, $multiple=true, $prefix='userfile') { /* {{{ */ ?> $(document).ready(function() { - manualuploader = new qq.FineUploader({ + uploader = new qq.FineUploader({ debug: false, autoUpload: false, multiple: , - element: $('#manual-fine-uploader')[0], + element: $('#-fine-uploader')[0], template: 'qq-template', request: { endpoint: '' @@ -2405,8 +2406,8 @@ $(document).ready(function() { uuids.push(this.getUuid(succeeded[i])) names.push(this.getName(succeeded[i])) } - $('#fineuploaderuuids').val(uuids.join(';')); - $('#fineuploadernames').val(names.join(';')); + $('#-fine-uploader-uuids').val(uuids.join(';')); + $('#-fine-uploader-names').val(names.join(';')); /* Run upload only if all files could be uploaded */ if(succeeded.length > 0 && failed.length == 0) document.getElementById('form1').submit(); From 6ee6e3fde295440bdff298937fceaed8d2be72ca Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:19:49 +0200 Subject: [PATCH 130/212] take out enableAttachmentUpload --- inc/inc.ClassSettings.php | 4 ---- op/op.Settings.php | 1 - views/bootstrap/class.Settings.php | 4 ---- 3 files changed, 9 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 137326eca..87aafcd63 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -184,8 +184,6 @@ class Settings { /* {{{ */ var $_enableDropUpload = true; // Enable multiple file upload var $_enableMultiUpload = false; - // Enable upload of attachments with document upload - var $_enableAttachmentUpload = false; // enable/disable display of the folder tree var $_enableFolderTree = true; // count documents and folders for folderview recursively @@ -419,7 +417,6 @@ class Settings { /* {{{ */ $this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]); $this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]); $this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]); - $this->_enableAttachmentUpload = Settings::boolVal($tab["enableAttachmentUpload"]); $this->_enableMultiUpload = Settings::boolVal($tab["enableMultiUpload"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); $this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]); @@ -730,7 +727,6 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); $this->setXMLAttributValue($node, "enableMultiUpload", $this->_enableMultiUpload); - $this->setXMLAttributValue($node, "enableAttachmentUpload", $this->_enableAttachmentUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); $this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount); $this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount); diff --git a/op/op.Settings.php b/op/op.Settings.php index 9b62701bd..c7e5ec779 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -85,7 +85,6 @@ if ($action == "saveSettings") $settings->_enableClipboard = getBoolValue("enableClipboard"); $settings->_enableDropUpload = getBoolValue("enableDropUpload"); $settings->_enableMultiUpload = getBoolValue("enableMultiUpload"); - $settings->_enableAttachmentUpload = getBoolValue("enableAttachmentUpload"); $settings->_enableFolderTree = getBoolValue("enableFolderTree"); $settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount"); $settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]); diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index be20e5f5a..3100a3830 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -277,10 +277,6 @@ if(!is_writeable($settings->_configFilePath)) { "> : _enableMultiUpload) echo "checked" ?> /> - - "> - : - _enableAttachmentUpload) echo "checked" ?> /> "> : From 73ecd559745d9bb848ac2a688d95fd550ffefb14 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:20:33 +0200 Subject: [PATCH 131/212] move code into controller --- controllers/class.AddDocument.php | 145 ++++++++++++++++++++++++++++++ out/out.AddDocument.php | 1 - 2 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 controllers/class.AddDocument.php diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php new file mode 100644 index 000000000..ab4271104 --- /dev/null +++ b/controllers/class.AddDocument.php @@ -0,0 +1,145 @@ + + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Class which does the busines logic for downloading a document + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { + + protected function addAttachments($document) { /* {{{ */ + $user = $this->params['user']; + $settings = $this->params['settings']; + /* Check for attachments */ + for ($attach_num=0;$attach_num $folder->getName())),getMLText("uploading_zerosize")); + } + if ($_FILES['attachment']['error'][$attach_num]!=0){ +// UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed")); + } + + $attachfiletmp = $_FILES["attachment"]["tmp_name"][$attach_num]; + $attachfiletype = $_FILES["attachment"]["type"][$attach_num]; + $attachfilename = $_FILES["attachment"]["name"][$attach_num]; + + $fileType = ".".pathinfo($attachfilename, PATHINFO_EXTENSION); + + if($settings->_overrideMimeType) { + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $attachfiletype = finfo_file($finfo, $attachfiletmp); + } + + $res = $document->addDocumentFile(utf8_basename($attachfilename), '', $user, $attachfiletmp, utf8_basename($attachfilename),$fileType, $attachfiletype); + } + } /* }}} */ + + public function run() { /* {{{ */ + $name = $this->getParam('name'); + $comment = $this->getParam('comment'); + + /* Call preAddDocument early, because it might need to modify some + * of the parameters. + */ + if(false === $this->callHook('preAddDocument', array('name'=>&$name, 'comment'=>&$comment))) { + $this->errormsg = 'hook_preAddDocument_failed'; + return null; + } + + $dms = $this->params['dms']; + $user = $this->params['user']; + $settings = $this->params['settings']; + $documentsource = $this->params['documentsource']; + $index = $this->params['index']; + $indexconf = $this->params['indexconf']; + $folder = $this->params['folder']; + $expires = $this->getParam('expires'); + $keywords = $this->getParam('keywords'); + $cats = $this->getParam('categories'); + $owner = $this->getParam('owner'); + $userfiletmp = $this->getParam('userfiletmp'); + $userfilename = $this->getParam('userfilename'); + $filetype = $this->getParam('filetype'); + $userfiletype = $this->getParam('userfiletype'); + $sequence = $this->getParam('sequence'); + $reviewers = $this->getParam('reviewers'); + $approvers = $this->getParam('approvers'); + $reqversion = $this->getParam('reqversion'); + $version_comment = $this->getParam('versioncomment'); + $attributes = $this->getParam('attributes'); + $attributes_version = $this->getParam('attributesversion'); + $workflow = $this->getParam('workflow'); + $notificationgroups = $this->getParam('notificationgroups'); + $notificationusers = $this->getParam('notificationusers'); + $maxsizeforfulltext = $this->getParam('maxsizeforfulltext'); + $defaultaccessdocs = $this->getParam('defaultaccessdocs'); + + $result = $this->callHook('addDocument'); + if($result === null) { + $filesize = SeedDMS_Core_File::fileSize($userfiletmp); + $res = $folder->addDocument($name, $comment, $expires, $owner, $keywords, + $cats, $userfiletmp, utf8_basename($userfilename), + $filetype, $userfiletype, $sequence, + $reviewers, $approvers, $reqversion, + $version_comment, $attributes, $attributes_version, $workflow); + + if (is_bool($res) && !$res) { + $this->errormsg = "error_occured"; + return false; + } + + $document = $res[0]; + + /* Set access as specified in settings. */ + if($defaultaccessdocs) { + if($defaultaccessdocs > 0 && $defaultaccessdocs < 4) { + $document->setInheritAccess(0, true); + $document->setDefaultAccess($defaultaccessdocs, true); + } + } + + if($index) { + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(!$this->callHook('preIndexDocument', $document, $idoc)) { + } + $index->addDocument($idoc); + } + + /* Add a default notification for the owner of the document */ + if($settings->_enableOwnerNotification) { + $res = $document->addNotify($user->getID(), true); + } + /* Check if additional notification shall be added */ + foreach($notificationusers as $notuser) { + if($document->getAccessMode($user) >= M_READ) + $res = $document->addNotify($notuser->getID(), true); + } + foreach($notificationgroups as $notgroup) { + if($document->getGroupAccessMode($notgroup) >= M_READ) + $res = $document->addNotify($notgroup->getID(), false); + } + + if(!$this->callHook('postAddDocument', $document)) { + } + $result = $document; + } + + return $result; + } /* }}} */ +} + diff --git a/out/out.AddDocument.php b/out/out.AddDocument.php index 6a6ba9a9b..4b545da02 100644 --- a/out/out.AddDocument.php +++ b/out/out.AddDocument.php @@ -54,7 +54,6 @@ if($view) { $view->setParam('folder', $folder); $view->setParam('strictformcheck', $settings->_strictFormCheck); $view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload); - $view->setParam('enableattachmentupload', $settings->_enableAttachmentUpload); $view->setParam('enablemultiupload', $settings->_enableMultiUpload); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); From fe13c6cee1a2d06df1a9514fb946919cef42b740 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:21:05 +0200 Subject: [PATCH 132/212] move code into controller --- op/op.AddDocument.php | 172 +++++++++++++++++------------------------- 1 file changed, 69 insertions(+), 103 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 86a6ec25f..3d3db7173 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -28,6 +28,10 @@ include("../inc/inc.Extension.php"); include("../inc/inc.DBInit.php"); include("../inc/inc.Authentication.php"); include("../inc/inc.ClassUI.php"); +include("../inc/inc.ClassController.php"); + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$controller = Controller::factory($tmp[1]); /* Check if the form data comes from a trusted request */ if(!checkFormKey('adddocument')) { @@ -77,6 +81,13 @@ if($version_comment == "" && isset($_POST["use_comment"])) $keywords = trim($_POST["keywords"]); $categories = isset($_POST["categories"]) ? $_POST["categories"] : null; +$cats = array(); +if($categories) { + foreach($categories as $catid) { + $cats[] = $dms->getDocumentCategory($catid); + } +} + if(isset($_POST["attributes"])) $attributes = $_POST["attributes"]; else @@ -237,10 +248,13 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra } } +$docsource = 'upload'; + if($settings->_dropFolderDir) { if(isset($_POST["dropfolderfileform1"]) && $_POST["dropfolderfileform1"]) { $fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"]; if(file_exists($fullfile)) { + $docsource = 'dropfolder'; /* Check if a local file is uploaded as well */ if(isset($_FILES["userfile"]['error'][0])) { if($_FILES["userfile"]['error'][0] != 0) @@ -275,6 +289,33 @@ if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-upload } } +if($settings->_enableFullSearch) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + $indexconf['Indexer']::init($settings->_stopWordsFile); +} else { + $index = null; +} + +/* Check if additional notification shall be added */ +$notusers = array(); +if(!empty($_POST['notification_users'])) { + foreach($_POST['notification_users'] as $notuserid) { + $notuser = $dms->getUser($notuserid); + if($notuser) { + $notusers[] = $notuser; + } + } +} +$notgroups = array(); +if(!empty($_POST['notification_groups'])) { + foreach($_POST['notification_groups'] as $notgroupid) { + $notgroup = $dms->getGroup($notgroupid); + if($notgroup) { + $notgroups[] = $notgroup; + } + } +} + /* Check files for Errors first */ for ($file_num=0;$file_numgetDocumentCategory($catid); - } - } + $controller->setParam('documentsource', $docsource); + $controller->setParam('folder', $folder); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('name', $name); + $controller->setParam('comment', $comment); + $controller->setParam('expires', $expires); + $controller->setParam('keywords', $keywords); + $controller->setParam('categories', $cats); + $controller->setParam('owner', $owner); + $controller->setParam('userfiletmp', $userfiletmp); + $controller->setParam('userfilename', $userfilename); + $controller->setParam('filetype', $fileType); + $controller->setParam('userfiletype', $userfiletype); + $controller->setParam('sequence', $sequence); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('reqversion', $reqversion); + $controller->setParam('versioncomment', $version_comment); + $controller->setParam('attributes', $attributes); + $controller->setParam('attributesversion', $attributes_version); + $controller->setParam('workflow', $workflow); + $controller->setParam('notificationgroups', $notgroups); + $controller->setParam('notificationusers', $notusers); + $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); + $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); - if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { - if (method_exists($hookObj, 'preAddDocument')) { - $hookObj->preAddDocument(null, array('name'=>&$name, 'comment'=>&$comment)); - } - } - } - - $filesize = SeedDMS_Core_File::fileSize($userfiletmp); - $res = $folder->addDocument($name, $comment, $expires, $owner, $keywords, - $cats, $userfiletmp, utf8_basename($userfilename), - $fileType, $userfiletype, $sequence, - $reviewers, $approvers, $reqversion, - $version_comment, $attributes, $attributes_version, $workflow); - - if (is_bool($res) && !$res) { - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); + if(!$document = $controller->run()) { + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg())); } else { - $document = $res[0]; - - /* Set access as specified in settings. */ - if($settings->_defaultAccessDocs) { - if($settings->_defaultAccessDocs > 0 && $settings->_defaultAccessDocs < 4) { - $document->setInheritAccess(0, true); - $document->setDefaultAccess($settings->_defaultAccessDocs, true); - } - } - - if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { - if (method_exists($hookObj, 'postAddDocument')) { - $hookObj->postAddDocument(null, $document); - } - } - } - if($settings->_enableFullSearch) { - $index = $indexconf['Indexer']::open($settings->_luceneDir); - if($index) { - $indexconf['Indexer']::init($settings->_stopWordsFile); - $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); - if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { - if (method_exists($hookObj, 'preIndexDocument')) { - $hookObj->preIndexDocument(null, $document, $idoc); - } - } - } - $index->addDocument($idoc); - } - } - - /* Add a default notification for the owner of the document */ - if($settings->_enableOwnerNotification) { - $res = $document->addNotify($user->getID(), true); - } - /* Check if additional notification shall be added */ - if(!empty($_POST['notification_users'])) { - foreach($_POST['notification_users'] as $notuserid) { - $notuser = $dms->getUser($notuserid); - if($notuser) { - if($document->getAccessMode($user) >= M_READ) - $res = $document->addNotify($notuserid, true); - } - } - } - if(!empty($_POST['notification_groups'])) { - foreach($_POST['notification_groups'] as $notgroupid) { - $notgroup = $dms->getGroup($notgroupid); - if($notgroup) { - if($document->getGroupAccessMode($notgroup) >= M_READ) - $res = $document->addNotify($notgroupid, false); - } - } - } - // Send notification to subscribers of folder. if($notifier) { $fnl = $folder->getNotifyList(); @@ -490,29 +479,6 @@ for ($file_num=0;$file_num $folder->getName())),getMLText("uploading_zerosize")); - } - if ($_FILES['attachment']['error'][$attach_num]!=0){ - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed")); - } - - $attachfiletmp = $_FILES["attachment"]["tmp_name"][$file_num]; - $attachfiletype = $_FILES["attachment"]["type"][$file_num]; - $attachfilename = $_FILES["attachment"]["name"][$file_num]; - - $fileType = ".".pathinfo($attachfilename, PATHINFO_EXTENSION); - - if($settings->_overrideMimeType) { - $finfo = finfo_open(FILEINFO_MIME_TYPE); - $attachfiletype = finfo_file($finfo, $attachfiletmp); - } - - $res = $document->addDocumentFile(utf8_basename($attachfilename), '', $user, $attachfiletmp, utf8_basename($attachfilename),$fileType, $attachfiletype); - } } add_log_line("?name=".$name."&folderid=".$folderid); From bd0064e5ab7dfbee18cecdc757f441dd8d317d24 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:21:24 +0200 Subject: [PATCH 133/212] remove attachment upload --- views/bootstrap/class.AddDocument.php | 51 ++++++--------------------- 1 file changed, 11 insertions(+), 40 deletions(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 498e23b2d..7c048f3f9 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -37,26 +37,16 @@ class SeedDMS_View_AddDocument extends SeedDMS_Bootstrap_Style { $maxuploadsize = $this->params['maxuploadsize']; $enablelargefileupload = $this->params['enablelargefileupload']; $enablemultiupload = $this->params['enablemultiupload']; - $enableattachmentupload = $this->params['enableattachmentupload']; header('Content-Type: application/javascript; charset=UTF-8'); if($enablelargefileupload) { $this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize, $enablemultiupload); - if($enableattachmentupload) { - //$this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize, , $enablemultiupload, 'attachment'); - } } ?> $(document).ready(function() { $('#new-file').click(function(event) { $("#userfile-upload-file").clone().appendTo("#userfile-upload-files").removeAttr("id").children('div').children('input').val(''); }); - - $('#new-attachment').click(function(event) { -console.log('Hallo'); - $("#attachment-upload-file").clone().appendTo("#attachment-upload-files").removeAttr("id").children('div').children('input').val(''); - }); - jQuery.validator.addMethod("alternatives", function(value, element, params) { if(value == '' && params.val() == '') return false; @@ -96,9 +86,6 @@ console.log('Hallo'); ?> submitHandler: function(form) { userfileuploader.uploadStoredFiles(); - -// attachmentuploader.uploadStoredFiles(); - }, params['folder']; $enablelargefileupload = $this->params['enablelargefileupload']; $enablemultiupload = $this->params['enablemultiupload']; - $enableattachmentupload = $this->params['enableattachmentupload']; $enableadminrevapp = $this->params['enableadminrevapp']; $enableownerrevapp = $this->params['enableownerrevapp']; $enableselfrevapp = $this->params['enableselfrevapp']; @@ -348,7 +334,7 @@ console.log('Hallo'); $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { - $arr = $this->callHook('editDocumentAttribute', null, $attrdef); + $arr = $this->callHook('editDocumentContentAttribute', null, $attrdef); if(is_array($arr)) { echo ""; echo "".$arr[0].":"; @@ -364,32 +350,17 @@ console.log('Hallo'); } } } - /* Do not allow upload of attachments if multiple documents can be uploaded, - * because attachments cannot be assigned uniquely to a document */ - if($enableattachmentupload && !$enablemultiupload) { -?> - - - contentSubHeading(getMLText("linked_files")); ?> - - - - : - -printFineUploaderHtml('attachment'); - else { - $this->printFileChooser('attachment[]', false); -?> - -callHook('addDocumentContentAttributes', $folder); + if(is_array($arrs)) { + foreach($arrs as $arr) { + echo ""; + echo "".$arr[0].":"; + echo "".$arr[1].""; + echo ""; } -?> - - - From 2533ef845b71a65f5c44b768080d7200101d7ab7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:21:52 +0200 Subject: [PATCH 134/212] add new method getFileChooser() which is called by printFileChooser() --- views/bootstrap/class.Bootstrap.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index da9ff293c..f4fb84a18 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -864,7 +864,26 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } } /* }}} */ + function getFileChooser($varname='userfile', $multiple=false, $accept='') { /* {{{ */ + $id = preg_replace('/[^A-Za-z]/', '', $varname); + $html = ' +
      +
      +
      + + + '.getMLText("browse").'… + +
      +
      +
      +'; + return $html; + } /* }}} */ + function printFileChooser($varname='userfile', $multiple=false, $accept='') { /* {{{ */ + echo $this->getFileChooser($varname, $multiple, $accept); + return; $id = preg_replace('/[^A-Za-z]/', '', $varname); ?>
      From 5376a6ad75abe2d10bffa55362052e22544531e6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 27 Apr 2017 17:58:46 +0200 Subject: [PATCH 135/212] add entry for 5.1.2 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index ef3c6b510..770f7590a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ - add some more hooks - add list of currently logged in users in menu - the owner of a document can see even none public attachments +- uploading multiple files can be turned off - merged changes from 5.0.12 -------------------------------------------------------------------------------- From cdbb70f3b92a4bed1b9ff38aa0add47768057564 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Apr 2017 13:09:56 +0200 Subject: [PATCH 136/212] take out method addAttachments() --- controllers/class.AddDocument.php | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php index ab4271104..e87d22c99 100644 --- a/controllers/class.AddDocument.php +++ b/controllers/class.AddDocument.php @@ -22,33 +22,6 @@ */ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { - protected function addAttachments($document) { /* {{{ */ - $user = $this->params['user']; - $settings = $this->params['settings']; - /* Check for attachments */ - for ($attach_num=0;$attach_num $folder->getName())),getMLText("uploading_zerosize")); - } - if ($_FILES['attachment']['error'][$attach_num]!=0){ -// UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed")); - } - - $attachfiletmp = $_FILES["attachment"]["tmp_name"][$attach_num]; - $attachfiletype = $_FILES["attachment"]["type"][$attach_num]; - $attachfilename = $_FILES["attachment"]["name"][$attach_num]; - - $fileType = ".".pathinfo($attachfilename, PATHINFO_EXTENSION); - - if($settings->_overrideMimeType) { - $finfo = finfo_open(FILEINFO_MIME_TYPE); - $attachfiletype = finfo_file($finfo, $attachfiletmp); - } - - $res = $document->addDocumentFile(utf8_basename($attachfilename), '', $user, $attachfiletmp, utf8_basename($attachfilename),$fileType, $attachfiletype); - } - } /* }}} */ - public function run() { /* {{{ */ $name = $this->getParam('name'); $comment = $this->getParam('comment'); From b57e91e675c70d97f873cd4ef2506aec514a3cfe Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Apr 2017 13:10:25 +0200 Subject: [PATCH 137/212] add warning for sqlite which cannot put table mods into transaction --- install/update-5.1.0/update.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/install/update-5.1.0/update.txt b/install/update-5.1.0/update.txt index 38e9af41b..4d2fba328 100644 --- a/install/update-5.1.0/update.txt +++ b/install/update-5.1.0/update.txt @@ -4,7 +4,12 @@ Caution when you update an sqlite database The database changes for this version will require to change the definition of various columns. This is not easily possible when using sqlite. Therefore, the affected tables are first renamed, than -new tables with the modified columns are created in the old table -content will be copied into the new table. The old tables will not -be removed and are prefixed with '__'. You may manunally remove them -once you have successfully checked the update. +new tables with the modified columns are created and the old table +contents will be copied into the new tables. The old tables will +be removed afterwards. + +Because sqlite does not support transactions on alter, create and drop +table these changes cannot not be undone in case of an error. Backup +your database before and consider to do the update manually by running + +cat install/update-5.1.0/update-sqlite.sql | sqlite data/content.db From 2ddb45fa087713905b8ea7b6cea5dcf3f78757f7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Apr 2017 13:11:49 +0200 Subject: [PATCH 138/212] fix js for duplicating file upload field --- views/bootstrap/class.AddDocument.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 7c048f3f9..f03df1ae7 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -45,7 +45,9 @@ class SeedDMS_View_AddDocument extends SeedDMS_Bootstrap_Style { ?> $(document).ready(function() { $('#new-file').click(function(event) { - $("#userfile-upload-file").clone().appendTo("#userfile-upload-files").removeAttr("id").children('div').children('input').val(''); + tttttt = $("#userfile-upload-file").clone().appendTo("#userfile-upload-files").removeAttr("id"); + tttttt.children('div').children('input').val(''); + tttttt.children('div').children('span').children('input').val(''); }); jQuery.validator.addMethod("alternatives", function(value, element, params) { if(value == '' && params.val() == '') From adb7368accd114c14e8ed6882dababb0c9def4e8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 28 Apr 2017 13:12:20 +0200 Subject: [PATCH 139/212] do not set id in input field for file upload field field can be duplicated and that makes the id no unique --- 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 f4fb84a18..fec5209fe 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -872,7 +872,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
      - '.getMLText("browse").'… + '.getMLText("browse").'…
      From 2c19bb0e6f52afdc7ad4d11058988e4b3f1cf0a3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 17:17:52 +0200 Subject: [PATCH 140/212] show role of users in user list --- CHANGELOG | 1 + views/bootstrap/class.SubstituteUser.php | 15 ++++++++++++++- views/bootstrap/class.UserList.php | 15 ++++++++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2ef70254e..44c35548d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ - fix authentication in webdav.php (Closes #250) - update last access time only once a minute - run action 'css' in view if it exists, move css code for timeline +- show role of users in user list and substitute user list -------------------------------------------------------------------------------- Changes in version 4.3.34 diff --git a/views/bootstrap/class.SubstituteUser.php b/views/bootstrap/class.SubstituteUser.php index 72cc53412..eeb0c5cd8 100644 --- a/views/bootstrap/class.SubstituteUser.php +++ b/views/bootstrap/class.SubstituteUser.php @@ -49,7 +49,7 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { ?> - + "; echo ""; + echo ""; echo ""; @@ -340,7 +340,7 @@ $(document).ready(function() { $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { - $arr = $this->callHook('editDocumentContentAttribute', null, $attrdef); + $arr = $this->callHook('addDocumentContentAttribute', null, $attrdef); if(is_array($arr)) { echo ""; echo ""; From 14d861dfda5117c7e917fbbb8da2be29303b56cf Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 17 May 2017 09:21:26 +0200 Subject: [PATCH 166/212] call various new hooks, add method to output button and wrap buttons in row --- views/bootstrap/class.AdminTools.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/views/bootstrap/class.AdminTools.php b/views/bootstrap/class.AdminTools.php index cbf2f2033..3117a204c 100644 --- a/views/bootstrap/class.AdminTools.php +++ b/views/bootstrap/class.AdminTools.php @@ -31,6 +31,14 @@ require_once("class.Bootstrap.php"); */ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { + static function wrapRow($content) { /* {{{ */ + return '
      '.$content.'
      '; + } /* }}} */ + + static function rowButton($link, $icon, $label) { /* {{{ */ + return '
      '.getMLText($label).'
      '; + } /* }}} */ + function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; @@ -45,9 +53,11 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { $this->contentContainerStart(); ?>
      + callHook('beforeRows'); ?>


      + callHook('endOfRow', 1); ?>

      @@ -55,11 +65,13 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { if ($logfileenable) echo "
      ".getMLText("log_management")."
      "; ?> + callHook('endOfRow', 2); ?>



      + callHook('endOfRow', 3); ?>
      params['workflowmode'] == 'advanced') { @@ -68,6 +80,7 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style {


      + callHook('endOfRow', 4); ?>



      + callHook('endOfRow', 5); ?>


      + callHook('endOfRow', 6); ?>



      + callHook('endOfRow', 7); ?>
      + callHook('afterRows'); ?> contentContainerEnd(); From 4eb3b5ed4d4a36daa94bb8f7139e7938f4b1eb23 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 17 May 2017 09:22:05 +0200 Subject: [PATCH 167/212] add new js file webrootjs which contains the http root --- views/bootstrap/class.Bootstrap.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 9c9d6573c..9de62e81f 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -144,6 +144,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo ''."\n"; echo ''."\n"; echo ''."\n"; + echo ''."\n"; echo ''."\n"; if(isset($this->params['user']) && $this->params['user']) { $this->addFooterJS('checkTasks();'); @@ -174,6 +175,12 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo "\n\n"; } /* }}} */ + function webrootjs() { /* {{{ */ + header('Content-Type: application/javascript'); + echo "var seeddms_absbaseprefix=\"".$this->params['absbaseprefix']."\";\n"; + echo "var seeddms_webroot=\"".$this->params['settings']->_httpRoot."\";\n"; + } /* }}} */ + function footerjs() { /* {{{ */ header('Content-Type: application/javascript'); if(file_exists($this->params['cachedir'].'/js/'.$_GET['hash'].'.js')) { From 58589bde70e27d7588b7a548f1df88d81a24ba39 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 17 May 2017 09:22:37 +0200 Subject: [PATCH 168/212] use new seeddms_webroot --- styles/bootstrap/application.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 97fe008fe..4b3389c60 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -366,7 +366,7 @@ $(document).ready( function() { var action = element.data('action'); var query = element.data('query'); if(view && action) { - url = "out."+view+".php?action="+action; + url = seeddms_webroot+"out/out."+view+".php?action="+action; if(query) { url += "&"+query; } From 883131d61e23501fae2ced60a89d3e834319f4e7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 12:27:26 +0200 Subject: [PATCH 169/212] add method setErrorMsg() --- inc/inc.ClassControllerCommon.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/inc/inc.ClassControllerCommon.php b/inc/inc.ClassControllerCommon.php index 3ceb60524..ea22d7147 100644 --- a/inc/inc.ClassControllerCommon.php +++ b/inc/inc.ClassControllerCommon.php @@ -122,6 +122,15 @@ class SeedDMS_Controller_Common { return $this->errormsg; } /* }}} */ + /** + * Set error message + * + * @param string $msg error message + */ + public function setErrorMsg($msg) { /* {{{ */ + $this->errormsg = $msg; + } /* }}} */ + /** * Call a controller hook * From d64a662aed93499f561e6a9ac4c422f7155536dd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 12:28:17 +0200 Subject: [PATCH 170/212] get name and comment after preAddDocument hook, set generic err msg only if hook hasn't set one --- controllers/class.AddDocument.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php index e87d22c99..7fc97b1a4 100644 --- a/controllers/class.AddDocument.php +++ b/controllers/class.AddDocument.php @@ -30,10 +30,13 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { * of the parameters. */ if(false === $this->callHook('preAddDocument', array('name'=>&$name, 'comment'=>&$comment))) { - $this->errormsg = 'hook_preAddDocument_failed'; + if(empty($this->errormsg)) + $this->errormsg = 'hook_preAddDocument_failed'; return null; } + $name = $this->getParam('name'); + $comment = $this->getParam('comment'); $dms = $this->params['dms']; $user = $this->params['user']; $settings = $this->params['settings']; From 778f94f0d14724f0f166224b24c00460d0efb797 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 12:29:20 +0200 Subject: [PATCH 171/212] use AddDocument controller when uploading a document this will make sure all hooks are being called --- op/op.Ajax.php | 177 +++++++++++++++++++++++++++++++------------------ 1 file changed, 114 insertions(+), 63 deletions(-) diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 6df2390cd..1526bfd50 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -27,6 +27,7 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassNotificationService.php"); include("../inc/inc.ClassEmailNotify.php"); include("../inc/inc.ClassUI.php"); +include("../inc/inc.ClassController.php"); require_once("../inc/inc.ClassSession.php"); include("../inc/inc.ClassPasswordStrength.php"); @@ -614,73 +615,54 @@ switch($command) { $cats = array(); - $filesize = SeedDMS_Core_File::fileSize($userfiletmp); - $res = $folder->addDocument($name, '', $expires, $user, '', - array(), $userfiletmp, utf8_basename($userfilename), - $fileType, $userfiletype, 0, - $reviewers, $approvers, 1, - '', array(), array(), $workflow); + if($settings->_enableFullSearch) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + $indexconf['Indexer']::init($settings->_stopWordsFile); + } else { + $index = null; + } - if (is_bool($res) && !$res) { + $controller = Controller::factory('AddDocument'); + $controller->setParam('documentsource', 'upload'); + $controller->setParam('folder', $folder); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('name', $name); + $controller->setParam('comment', ''); + $controller->setParam('expires', $expires); + $controller->setParam('keywords', ''); + $controller->setParam('categories', $cats); + $controller->setParam('owner', $user); + $controller->setParam('userfiletmp', $userfiletmp); + $controller->setParam('userfilename', $userfilename); + $controller->setParam('filetype', $fileType); + $controller->setParam('userfiletype', $userfiletype); + $controller->setParam('sequence', 0); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('reqversion', 1); + $controller->setParam('versioncomment', ''); + $controller->setParam('attributes', array()); + $controller->setParam('attributesversion', array()); + $controller->setParam('workflow', $workflow); + $controller->setParam('notificationgroups', array()); + $controller->setParam('notificationusers', array()); + $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); + $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); + + if(!$document = $controller->run()) { header('Content-Type: application/json'); - echo json_encode(array('success'=>false, 'message'=>getMLText("error_occured"))); + echo json_encode(array('success'=>false, 'message'=>getMLText($controller->getErrorMsg()))); exit; } else { - $document = $res[0]; - - /* Set access as specified in settings. */ - if($settings->_defaultAccessDocs) { - if($settings->_defaultAccessDocs > 0 && $settings->_defaultAccessDocs < 4) { - $document->setInheritAccess(0, true); - $document->setDefaultAccess($settings->_defaultAccessDocs, true); - } - } - - if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { - if (method_exists($hookObj, 'postAddDocument')) { - $hookObj->postAddDocument(null, $document); - } - } - } - if($settings->_enableFullSearch) { - $index = $indexconf['Indexer']::open($settings->_luceneDir); - if($index) { - $indexconf['Indexer']::init($settings->_stopWordsFile); - $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); - if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { - if (method_exists($hookObj, 'preIndexDocument')) { - $hookObj->preIndexDocument(null, $document, $idoc); - } - } - } - $index->addDocument($idoc); - } - } - - /* Add a default notification for the owner of the document */ - if($settings->_enableOwnerNotification) { - $res = $document->addNotify($user->getID(), true); - } // Send notification to subscribers of folder. if($notifier) { - $notifyList = $folder->getNotifyList(); - if($settings->_enableNotificationAppRev) { - /* Reviewers and approvers will be informed about the new document */ - foreach($reviewers['i'] as $reviewerid) { - $notifyList['users'][] = $dms->getUser($reviewerid); - } - foreach($approvers['i'] as $approverid) { - $notifyList['users'][] = $dms->getUser($approverid); - } - foreach($reviewers['g'] as $reviewergrpid) { - $notifyList['groups'][] = $dms->getGroup($reviewergrpid); - } - foreach($approvers['g'] as $approvergrpid) { - $notifyList['groups'][] = $dms->getGroup($approvergrpid); - } - } + $fnl = $folder->getNotifyList(); + $dnl = $document->getNotifyList(); + $nl = array( + 'users'=>array_merge($dnl['users'], $fnl['users']), + 'groups'=>array_merge($dnl['groups'], $fnl['groups']) + ); $subject = "new_document_email_subject"; $message = "new_document_email_body"; @@ -694,11 +676,80 @@ switch($command) { $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $notifier->toList($user, $notifyList["users"], $subject, $message, $params); - foreach ($notifyList["groups"] as $grp) { + $notifier->toList($user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); } + if($workflow && $settings->_enableNotificationWorkflow) { + $subject = "request_workflow_action_email_subject"; + $message = "request_workflow_action_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['version'] = 1; + $params['workflow'] = $workflow->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['current_state'] = $workflow->getInitState()->getName(); + $params['username'] = $user->getFullName(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + + foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) { + foreach($ntransition->getUsers() as $tuser) { + $notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params); + } + foreach($ntransition->getGroups() as $tuser) { + $notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params); + } + } + } + + 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'] = 1; + $params['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'] = 1; + $params['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); + } + } + } + } } header('Content-Type: application/json'); From 9958e793151936b5de4b6c93a783e06234c8b654 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 12:30:23 +0200 Subject: [PATCH 172/212] add new action 'webrootjs' which returns some javascript with webroot path --- views/bootstrap/class.Bootstrap.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 9de62e81f..acf1738b9 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -144,7 +144,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo ''."\n"; echo ''."\n"; echo ''."\n"; - echo ''."\n"; + parse_str($_SERVER['QUERY_STRING'], $tmp); + $tmp['action'] = 'webrootjs'; + echo ''."\n"; echo ''."\n"; if(isset($this->params['user']) && $this->params['user']) { $this->addFooterJS('checkTasks();'); @@ -162,7 +164,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if(is_dir($this->params['cachedir'].'/js')) { file_put_contents($this->params['cachedir'].'/js/'.$hashjs.'.js', $jscode); } - parse_str($_SERVER['QUERY_STRING'], $tmp); $tmp['action'] = 'footerjs'; $tmp['hash'] = $hashjs; echo ''."\n"; From 4b89d920cb09872ceea379d4f5f471f49062a2d8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 15:13:15 +0200 Subject: [PATCH 173/212] check if returned array is not empty --- inc/inc.ClassViewCommon.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 122cfee1e..1fa7cb69e 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -112,7 +112,7 @@ class SeedDMS_View_Common { if($tmpret) { if(is_string($tmpret)) $ret .= $tmpret; - elseif(is_array($tmpret) || is_object($tmpret)) + elseif((is_array($tmpret) && $tmpret) || is_object($tmpret)) $ret = ($ret === null) ? $tmpret : array_merge($ret, $tmpret); else $ret = $tmpret; From dc58e02d25ad45e4e64e28b32c3143c42f9e4843 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 9 Jun 2017 15:13:49 +0200 Subject: [PATCH 174/212] add hook for editing attribute, return value of hook can be an empty array --- views/bootstrap/class.AddDocument.php | 10 ++++++---- views/bootstrap/class.AddSubFolder.php | 10 ++++++++++ views/bootstrap/class.EditAttributes.php | 10 ++++++++++ views/bootstrap/class.EditDocument.php | 10 ++++++---- views/bootstrap/class.EditFolder.php | 13 +++++++------ views/bootstrap/class.UpdateDocument.php | 13 +++++++------ 6 files changed, 46 insertions(+), 20 deletions(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 206cd7aa7..3c67814e7 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -275,10 +275,12 @@ $(document).ready(function() { foreach($attrdefs as $attrdef) { $arr = $this->callHook('addDocumentAttribute', null, $attrdef); if(is_array($arr)) { - echo "
      "; - echo ""; - echo ""; - echo ""; + if($arr) { + echo ""; + echo ""; + echo ""; + echo ""; + } } else { ?> diff --git a/views/bootstrap/class.AddSubFolder.php b/views/bootstrap/class.AddSubFolder.php index 105a1145c..05c7fb959 100644 --- a/views/bootstrap/class.AddSubFolder.php +++ b/views/bootstrap/class.AddSubFolder.php @@ -126,12 +126,22 @@ $(document).ready( function() { $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_folder, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { + $arr = $this->callHook('addFolderAttribute', null, $attrdef); + if(is_array($arr)) { + if($arr) { + echo "
      "; + echo " "; + echo "
      ".$arr[1]."
      "; + echo "
      "; + } + } else { ?>
      printAttributeEditField($attrdef, '') ?>
      diff --git a/views/bootstrap/class.EditAttributes.php b/views/bootstrap/class.EditAttributes.php index cc2645f75..8f45b67e7 100644 --- a/views/bootstrap/class.EditAttributes.php +++ b/views/bootstrap/class.EditAttributes.php @@ -55,6 +55,15 @@ class SeedDMS_View_EditAttributes extends SeedDMS_Bootstrap_Style { callHook('editDocumentContentAttribute', $version, $attrdef); + if(is_array($arr)) { + if($arr) { + echo "
      "; + echo ""; + echo "
      ".$arr[1]."
      "; + echo "
      "; + } + } else { ?>
      @@ -63,6 +72,7 @@ class SeedDMS_View_EditAttributes extends SeedDMS_Bootstrap_Style {
      diff --git a/views/bootstrap/class.EditDocument.php b/views/bootstrap/class.EditDocument.php index f4f099790..2e43087f8 100644 --- a/views/bootstrap/class.EditDocument.php +++ b/views/bootstrap/class.EditDocument.php @@ -192,10 +192,12 @@ $(document).ready( function() { foreach($attrdefs as $attrdef) { $arr = $this->callHook('editDocumentAttribute', $document, $attrdef); if(is_array($arr)) { - echo ""; - echo ""; - echo ""; - echo ""; + if($arr) { + echo ""; + echo ""; + echo ""; + echo ""; + } } else { ?> diff --git a/views/bootstrap/class.EditFolder.php b/views/bootstrap/class.EditFolder.php index 8c156c19d..2da21e14b 100644 --- a/views/bootstrap/class.EditFolder.php +++ b/views/bootstrap/class.EditFolder.php @@ -132,13 +132,14 @@ $(document).ready(function() { if($attrdefs) { foreach($attrdefs as $attrdef) { - $arr = $this->callHook('folderEditAttribute', $folder, $attrdef); + $arr = $this->callHook('editFolderAttribute', $folder, $attrdef); if(is_array($arr)) { - echo $txt; - echo "
      "; - echo ""; - echo "
      ".$arr[1]."
      "; - echo "
      "; + if($arr) { + echo "
      "; + echo ""; + echo "
      ".$arr[1]."
      "; + echo "
      "; + } } else { ?>
      diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 0267ac7a1..9bf21f8c0 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -277,13 +277,14 @@ console.log(element); $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { - $arr = $this->callHook('editDocumentContentAttribute', null, $attrdef); + $arr = $this->callHook('editDocumentContentAttribute', $document, $attrdef); if(is_array($arr)) { - echo $txt; - echo "
      "; - echo ""; - echo ""; - echo ""; + if($arr) { + echo ""; + echo ""; + echo ""; + echo ""; + } } else { ?> From 7a1c4b495cc8e4af9264b7f62a5cca14a0079e4d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 13 Jun 2017 14:40:17 +0200 Subject: [PATCH 175/212] set error msg only if not already set --- controllers/class.UpdateDocument.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/controllers/class.UpdateDocument.php b/controllers/class.UpdateDocument.php index da2b120c2..8cd9ea818 100644 --- a/controllers/class.UpdateDocument.php +++ b/controllers/class.UpdateDocument.php @@ -29,8 +29,9 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common { /* Call preUpdateDocument early, because it might need to modify some * of the parameters. */ - if(false === $this->callHook('preUpdateDocument')) { - $this->errormsg = 'hook_preUpdateDocument_failed'; + if(false === $this->callHook('preUpdateDocument', $this->params['document'])) { + if(empty($this->errormsg)) + $this->errormsg = 'hook_preUpdateDocument_failed'; return null; } From 7d6fd23c6d421b7e7911ab739b0b544f223f5e83 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 13 Jun 2017 14:41:57 +0200 Subject: [PATCH 176/212] check if return value of hook is != null --- inc/inc.ClassViewCommon.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 1fa7cb69e..6eaa560f6 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -109,12 +109,12 @@ class SeedDMS_View_Common { $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4)); break; } - if($tmpret) { + if($tmpret !== null) { if(is_string($tmpret)) $ret .= $tmpret; - elseif((is_array($tmpret) && $tmpret) || is_object($tmpret)) + elseif(is_array($tmpret) || is_object($tmpret)) { $ret = ($ret === null) ? $tmpret : array_merge($ret, $tmpret); - else + } else $ret = $tmpret; } } From b59b6a0cfb5f1f4214f006ee7cbf2edbeb922c5b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 14 Jun 2017 14:04:38 +0200 Subject: [PATCH 177/212] pass initial status from settings to updateDocument --- controllers/class.UpdateDocument.php | 3 ++- op/op.UpdateDocument.php | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/controllers/class.UpdateDocument.php b/controllers/class.UpdateDocument.php index 8cd9ea818..a039e8f68 100644 --- a/controllers/class.UpdateDocument.php +++ b/controllers/class.UpdateDocument.php @@ -53,11 +53,12 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common { $attributes = $this->getParam('attributes'); $workflow = $this->getParam('workflow'); $maxsizeforfulltext = $this->getParam('maxsizeforfulltext'); + $initialdocumentstatus = $this->getParam('initialdocumentstatus'); $result = $this->callHook('updateDocument'); if($result === null) { $filesize = SeedDMS_Core_File::fileSize($userfiletmp); - $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $filetype, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow); + $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $filetype, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow, $initialdocumentstatus); if ($this->hasParam('expires')) { if($document->setExpires($this->getParam('expires'))) { diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index b4e52c3cc..2631d48ac 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -317,6 +317,7 @@ default: $controller->setParam('approvers', $approvers); $controller->setParam('attributes', $attributes); $controller->setParam('workflow', $workflow); + $controller->setParam('initialdocumentstatus', $settings->_initialDocumentStatus); if(!$content = $controller->run()) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText($controller->getErrorMsg())); From 977f28c30cbc3e564a391342c0e8082b0487b861 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 14 Jun 2017 16:26:01 +0200 Subject: [PATCH 178/212] fix merge errors --- views/bootstrap/class.AdminTools.php | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/views/bootstrap/class.AdminTools.php b/views/bootstrap/class.AdminTools.php index 906c32869..fe62004c1 100644 --- a/views/bootstrap/class.AdminTools.php +++ b/views/bootstrap/class.AdminTools.php @@ -86,11 +86,8 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { check_view_access('AttributeMgr')) { ?>
      -<<<<<<< HEAD -======= callHook('endOfRow', 3); ?> ->>>>>>> seeddms-5.1.x params['workflowmode'] == 'advanced') { @@ -104,11 +101,8 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { check_view_access('WorkflowActionsMgr')) { ?>
      -<<<<<<< HEAD -======= callHook('endOfRow', 4); ?> ->>>>>>> seeddms-5.1.x check_view_access('IndexInfo')) { ?>
      -<<<<<<< HEAD -======= callHook('endOfRow', 5); ?> ->>>>>>> seeddms-5.1.x check_view_access('Timeline')) { ?>
      -<<<<<<< HEAD -======= callHook('endOfRow', 6); ?> ->>>>>>> seeddms-5.1.x
      check_view_access('Settings')) { ?> @@ -159,11 +147,8 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { check_view_access('Info')) { ?>
      -<<<<<<< HEAD -======= callHook('endOfRow', 7); ?> ->>>>>>> seeddms-5.1.x
      callHook('afterRows'); ?> From ed531dc35dceb030030388670e5015a01c26c6e3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 19 Jun 2017 11:08:06 +0200 Subject: [PATCH 179/212] fix inclusion of file --- inc/inc.ClassViewCommon.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 6eaa560f6..8421102f6 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -13,7 +13,7 @@ * @version Release: @package_version@ */ -require_once "inc/inc.ClassHook.php"; +require_once "inc.ClassHook.php"; /** * Parent class for all view classes From 01cd47401cdeaa9f5e1409fc2845fa1fc707e9f4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 20 Jun 2017 09:13:24 +0200 Subject: [PATCH 180/212] more documentation on return value of callHook --- inc/inc.ClassViewCommon.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 8421102f6..b51645d2a 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -83,7 +83,8 @@ class SeedDMS_View_Common { * a list of hook objects with getHookObjects() and call the hooks yourself. * * @params string $hook name of hook - * @return string concatenated string of whatever the hook function returns + * @return string concatenated string, merged arrays or whatever the hook + * function returns */ function callHook($hook) { /* {{{ */ $tmp = explode('_', get_class($this)); From d2da3004bba3f279ae66aa36efd7313b0b10ebb4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 20 Jun 2017 09:13:56 +0200 Subject: [PATCH 181/212] check for data-base in div-ajax --- styles/bootstrap/application.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 4b3389c60..7d9ddfe0d 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -362,11 +362,14 @@ $(document).ready( function() { var element = $(this); var url = ''; var href = element.data('href'); + var base = element.data('base'); + if(typeof base == 'undefined') + base = ''; var view = element.data('view'); var action = element.data('action'); var query = element.data('query'); if(view && action) { - url = seeddms_webroot+"out/out."+view+".php?action="+action; + url = seeddms_webroot+base+"out/out."+view+".php?action="+action; if(query) { url += "&"+query; } From 23c53d112dfcbac2e68ba9899013dbadbd8c329d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 20 Jun 2017 09:14:45 +0200 Subject: [PATCH 182/212] use ViewOnline instead of Download for preview --- 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 ba947ee45..130f42972 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -351,20 +351,20 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $this->contentHeading(getMLText("preview")); ?> contentHeading(getMLText("preview")); ?> - + contentHeading(getMLText("preview")); ?> - + Date: Thu, 22 Jun 2017 17:18:25 +0200 Subject: [PATCH 183/212] data-base attribute can be added to
      --- styles/bootstrap/application.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 7d9ddfe0d..c4968940f 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -399,10 +399,13 @@ $(document).ready( function() { var element = $(this); var url = ''; var href = element.data('href'); + var base = element.data('base'); + if(typeof base == 'undefined') + base = ''; var view = element.data('view'); var action = element.data('action'); if(view && action) - url = "out."+view+".php?action="+action; + url = seeddms_webroot+base+"out/out."+view+".php?action="+action; else url = href; if(typeof param1 === 'object') { From 500bade66a9bd899dbd1ca393f170c5cf7e02400 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 23 Jun 2017 12:58:36 +0200 Subject: [PATCH 184/212] get name and comment from parameters after preUpdateDocument has been called --- controllers/class.UpdateDocument.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/controllers/class.UpdateDocument.php b/controllers/class.UpdateDocument.php index 8cd9ea818..c87084ddd 100644 --- a/controllers/class.UpdateDocument.php +++ b/controllers/class.UpdateDocument.php @@ -35,6 +35,8 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common { return null; } + $name = $this->getParam('name'); + $comment = $this->getParam('comment'); $dms = $this->params['dms']; $user = $this->params['user']; $document = $this->params['document']; From 93380ab261c042c6ed128ff47f338bb890f16f1d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 24 Jun 2017 07:15:37 +0200 Subject: [PATCH 185/212] add hook on(Pre|Post)RemoveContent --- SeedDMS_Core/Core/inc.ClassDocument.php | 44 ++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index d89a3fe9c..423313670 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -1271,7 +1271,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ /* $attribute can be a string or an array */ if($attribute) if(!$content->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) { - $this->removeContent($content); + $this->_removeContent($content); $db->rollbackTransaction(); return false; } @@ -1285,7 +1285,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $queryStr = "INSERT INTO `tblDocumentStatus` (`documentID`, `version`) ". "VALUES (". $this->_id .", ". (int) $version .")"; if (!$db->getResult($queryStr)) { - $this->removeContent($content); + $this->_removeContent($content); $db->rollbackTransaction(); return false; } @@ -1512,7 +1512,13 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ return $this->_latestContent; } /* }}} */ - function removeContent($version) { /* {{{ */ + /** + * Remove version of document + * + * @param interger $version version number of content + * @return boolean true if successful, otherwise false + */ + private function _removeContent($version) { /* {{{ */ $db = $this->_dms->getDB(); if (file_exists( $this->_dms->contentDir.$version->getPath() )) @@ -1623,6 +1629,36 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ return true; } /* }}} */ + /** + * Call callback onPreRemoveDocument before deleting content + * + * @param integer $version version number of content + */ + function removeContent($version) { /* {{{ */ + /* Check if 'onPreRemoveDocument' callback is set */ + if(isset($this->_dms->callbacks['onPreRemoveContent'])) { + foreach($this->_dms->callbacks['onPreRemoveContent'] as $callback) { + $ret = call_user_func($callback[0], $callback[1], $this, $version); + if(is_bool($ret)) + return $ret; + } + } + + if(false === ($ret = self::_removeContent($version))) { + return false; + } + + /* Check if 'onPostRemoveDocument' callback is set */ + if(isset($this->_dms->callbacks['onPostRemoveContent'])) { + foreach($this->_dms->callbacks['onPostRemoveContent'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $version)) { + } + } + } + + return $ret; + } /* }}} */ + /** * Return a certain document link * @@ -1874,7 +1910,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ // remove content of document foreach ($this->_content as $version) { - if (!$this->removeContent($version)) { + if (!$this->_removeContent($version)) { $db->rollbackTransaction(); return false; } From 31ed9a729f51fcced5aea027cf67bd1cdcb1587d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 24 Jun 2017 07:16:13 +0200 Subject: [PATCH 186/212] remove old code --- op/op.RemoveVersion.php | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/op/op.RemoveVersion.php b/op/op.RemoveVersion.php index b528ec273..f2d25bc75 100644 --- a/op/op.RemoveVersion.php +++ b/op/op.RemoveVersion.php @@ -158,23 +158,6 @@ else { $eU = $version->_document->_dms->getGroup($eID); $grouprecipients[] = $eU; } -/* - $subject = "###SITENAME###: ".$document->getName().", v.".$version->_version." - ".getMLText("version_deleted_email"); - $message = getMLText("version_deleted_email")."\r\n"; - $message .= - getMLText("document").": "User.$document->getName()."\r\n". - getMLText("version").": ".$version->_version."\r\n". - getMLText("comment").": ".$version->getComment()."\r\n". - getMLText("user").": ".$user->getFullName()." <". $user->getEmail() ."> "; - - $notifier->toList($user, $recipients, $subject, $message); - - // Send notification to subscribers. - $notifier->toList($user, $nl["users"], $subject, $message); - foreach ($nl["groups"] as $grp) { - $notifier->toGroup($user, $grp, $subject, $message); - } -*/ $subject = "version_deleted_email_subject"; $message = "version_deleted_email_body"; From ae06028d20b72b066fdfb6929e47d1ae4158916a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 24 Jun 2017 07:16:54 +0200 Subject: [PATCH 187/212] add note --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index d22ecd6a9..883dda435 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -29,6 +29,7 @@ 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 From 74a5517c4f428de9720c068f5a7dbde7b8ce14ac Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 26 Jun 2017 10:25:55 +0200 Subject: [PATCH 188/212] skip some files from distribution --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 85362b0dd..49d8105bd 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ VERSION=5.1.2 SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc styles TODO LICENSE webdav install restapi pdfviewer # webapp -NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-upload utils/remote-upload .svn .gitignore styles/blue styles/hc styles/clean views/blue views/hc views/clean +NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-upload utils/remote-upload utils/da-bv-reminder.php utils/seeddms-da-bv-reminder .svn .gitignore styles/blue styles/hc styles/clean views/blue views/hc views/clean EXTENSIONS := \ dynamic_content.tar.gz\ From 2471aab8ccee52254b89b99ad022c1e70f78800a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 27 Jun 2017 17:06:32 +0200 Subject: [PATCH 189/212] check for callback onAttributeValidate --- SeedDMS_Core/Core/inc.ClassAttribute.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassAttribute.php b/SeedDMS_Core/Core/inc.ClassAttribute.php index d8842c1f8..58bb5b027 100644 --- a/SeedDMS_Core/Core/inc.ClassAttribute.php +++ b/SeedDMS_Core/Core/inc.ClassAttribute.php @@ -258,6 +258,13 @@ class SeedDMS_Core_Attribute { /* {{{ */ */ function getValidationError() { return $this->_validation_error; } + /** + * Set validation error + * + * @param integer error code + */ + function setValidationError($error) { $this->_validation_error = $error; } + /** * Get definition of attribute * @@ -916,6 +923,15 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */ * @return boolean true if validation succeds, otherwise false */ function validate($attrvalue) { /* {{{ */ + /* Check if 'onAttributeValidate' callback is set */ + if(isset($this->_dms->callbacks['onAttributeValidate'])) { + foreach($this->_dms->callbacks['onAttributeValidate'] as $callback) { + $ret = call_user_func($callback[0], $callback[1], $this); + if(is_bool($ret)) + return $ret; + } + } + if($this->getMultipleValues()) { if(is_string($attrvalue)) { $sep = $attrvalue[0]; From 8c0e832414be1ffbfa8f80c3ed6b3b0fddfb34b2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 27 Jun 2017 17:08:23 +0200 Subject: [PATCH 190/212] add note --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 883dda435..426468942 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -30,6 +30,7 @@ Check return value of onPreRemove[Document|Folder], return from calling method i Add SeedDMS_Core_DMS::getDocumentList() Limit number of duplicate files to 1000 Add hook on(Pre|Post)RemoveContent +Add hook onAttributeValidate From a2fc405eae7952833bb3f44946ba3f1562e502c6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 28 Jun 2017 14:59:29 +0200 Subject: [PATCH 191/212] do not sort some temp. tables anymore it causes an error if sql_mode=only_full_group_by is set in mysql --- 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 76a5366a1..568b549cd 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -358,16 +358,16 @@ class SeedDMS_Core_DatabaseAccess { "SELECT `tblDocumentReviewLog`.`reviewID`, ". "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". "FROM `tblDocumentReviewLog` ". - "GROUP BY `tblDocumentReviewLog`.`reviewID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReviewLog`.`reviewID` "; //. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreviewid` (PRIMARY KEY (`reviewID`), INDEX (`maxLogID`)) ". "SELECT `tblDocumentReviewLog`.`reviewID`, ". "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". "FROM `tblDocumentReviewLog` ". - "GROUP BY `tblDocumentReviewLog`.`reviewID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReviewLog`.`reviewID` "; //. +// "ORDER BY `maxLogID`"; } if (!$this->_ttreviewid) { if (!$this->getResult($queryStr)) @@ -391,16 +391,16 @@ class SeedDMS_Core_DatabaseAccess { "SELECT `tblDocumentApproveLog`.`approveID`, ". "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". "FROM `tblDocumentApproveLog` ". - "GROUP BY `tblDocumentApproveLog`.`approveID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` (PRIMARY KEY (`approveID`), INDEX (`maxLogID`)) ". "SELECT `tblDocumentApproveLog`.`approveID`, ". "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". "FROM `tblDocumentApproveLog` ". - "GROUP BY `tblDocumentApproveLog`.`approveID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. +// "ORDER BY `maxLogID`"; } if (!$this->_ttapproveid) { if (!$this->getResult($queryStr)) @@ -424,16 +424,16 @@ class SeedDMS_Core_DatabaseAccess { "SELECT `tblDocumentStatusLog`.`statusID` AS `statusID`, ". "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". "FROM `tblDocumentStatusLog` ". - "GROUP BY `tblDocumentStatusLog`.`statusID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentStatusLog`.`statusID` "; //. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttstatid` (PRIMARY KEY (`statusID`), INDEX (`maxLogID`)) ". "SELECT `tblDocumentStatusLog`.`statusID`, ". "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". "FROM `tblDocumentStatusLog` ". - "GROUP BY `tblDocumentStatusLog`.`statusID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentStatusLog`.`statusID` "; //. +// "ORDER BY `maxLogID`"; } if (!$this->_ttstatid) { if (!$this->getResult($queryStr)) From 17c8163972ce38157762f5f4e5f96f40e698d61c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 28 Jun 2017 15:00:07 +0200 Subject: [PATCH 192/212] add note for 4.3.35 --- CHANGELOG | 2 ++ SeedDMS_Core/package.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 44c35548d..d99fc60e8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,8 @@ - update last access time only once a minute - run action 'css' in view if it exists, move css code for timeline - show role of users in user list and substitute user list +- mysql sql_mode=only_full_group_by can be set without causing errors when + creating a temporary table -------------------------------------------------------------------------------- Changes in version 4.3.34 diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index c6f354b28..9700a6a6b 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,7 @@ 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 From 8531371f675c19bb19b30b82171d1a7ca12af521 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 28 Jun 2017 15:29:17 +0200 Subject: [PATCH 193/212] also take out ORDER BY in temp. tables for pgsql driver --- SeedDMS_Core/Core/inc.DBAccessPDO.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SeedDMS_Core/Core/inc.DBAccessPDO.php b/SeedDMS_Core/Core/inc.DBAccessPDO.php index e17734f9d..8dc8a2e63 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -381,8 +381,8 @@ class SeedDMS_Core_DatabaseAccess { "INSERT INTO `ttreviewid` SELECT `tblDocumentReviewLog`.`reviewID`, ". "MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ". "FROM `tblDocumentReviewLog` ". - "GROUP BY `tblDocumentReviewLog`.`reviewID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentReviewLog`.`reviewID` ";//. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreviewid` (PRIMARY KEY (`reviewID`), INDEX (`maxLogID`)) ". @@ -422,8 +422,8 @@ class SeedDMS_Core_DatabaseAccess { "INSERT INTO `ttapproveid` SELECT `tblDocumentApproveLog`.`approveID`, ". "MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ". "FROM `tblDocumentApproveLog` ". - "GROUP BY `tblDocumentApproveLog`.`approveID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentApproveLog`.`approveID` "; //. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` (PRIMARY KEY (`approveID`), INDEX (`maxLogID`)) ". @@ -463,8 +463,8 @@ class SeedDMS_Core_DatabaseAccess { "INSERT INTO `ttstatid` SELECT `tblDocumentStatusLog`.`statusID`, ". "MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ". "FROM `tblDocumentStatusLog` ". - "GROUP BY `tblDocumentStatusLog`.`statusID` ". - "ORDER BY `maxLogID`"; + "GROUP BY `tblDocumentStatusLog`.`statusID` "; //. +// "ORDER BY `maxLogID`"; break; default: $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttstatid` (PRIMARY KEY (`statusID`), INDEX (`maxLogID`)) ". From 2a38d713b840c8236363e97601405038d3bbc4ed Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 29 Jun 2017 15:34:32 +0200 Subject: [PATCH 194/212] get approval status before sending notification mails the approval status was simply not known because part of the code went into the controller --- op/op.ReviewDocument.php | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index 45c36916e..3a4c91e76 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -165,26 +165,28 @@ if ($newdocstatus == S_DRAFT_APP) { $requestUser = $document->getOwner(); if($notifier) { - $subject = "approval_request_email_subject"; - $message = "approval_request_email_body"; - $params = array(); - $params['name'] = $document->getName(); - $params['folder_path'] = $folder->getFolderPathPlain(); - $params['version'] = $version; - $params['username'] = $user->getFullName(); - $params['sitename'] = $settings->_siteName; - $params['http_root'] = $settings->_httpRoot; - foreach ($docApprovalStatus as $dastat) { - - if ($dastat["status"] == 0) { - if ($dastat["type"] == 0) { + if($docApprovalStatus = $content->getApprovalStatus()) { + $subject = "approval_request_email_subject"; + $message = "approval_request_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['version'] = $version; + $params['username'] = $user->getFullName(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + foreach ($docApprovalStatus as $dastat) { + + if ($dastat["status"] == 0) { + if ($dastat["type"] == 0) { - $approver = $dms->getUser($dastat["required"]); - $notifier->toIndividual($document->getOwner(), $approver, $subject, $message, $params); - } elseif ($dastat["type"] == 1) { - - $group = $dms->getGroup($dastat["required"]); - $notifier->toGroup($document->getOwner(), $group, $subject, $message, $params); + $approver = $dms->getUser($dastat["required"]); + $notifier->toIndividual($document->getOwner(), $approver, $subject, $message, $params); + } elseif ($dastat["type"] == 1) { + + $group = $dms->getGroup($dastat["required"]); + $notifier->toGroup($document->getOwner(), $group, $subject, $message, $params); + } } } } From 258c3fae0bfdd27c48792ca63069a6424dc56bb7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 29 Jun 2017 16:32:42 +0200 Subject: [PATCH 195/212] change field name of attributes to 'attributes_version' makes much more sense because the attributes are version attributes. --- op/op.UpdateDocument.php | 4 ++-- views/bootstrap/class.UpdateDocument.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index dfa08811a..8c6fb4c39 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -265,8 +265,8 @@ default: } } - if(isset($_POST["attributes"]) && $_POST["attributes"]) { - $attributes = $_POST["attributes"]; + if(isset($_POST["attributes_version"]) && $_POST["attributes_version"]) { + $attributes = $_POST["attributes_version"]; foreach($attributes as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); if($attribute) { diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 9bf21f8c0..a94dcdc12 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -289,7 +289,7 @@ console.log(element); ?>
      - \n"; print "\n"; print ""; - print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; } - if($accessop->check_controller_access('Download', array('action'=>'run'))) - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; } print "\n
      "; + switch($currUser->getRole()) { + case SeedDMS_Core_User::role_user: + printMLText("role_user"); + break; + case SeedDMS_Core_User::role_admin: + printMLText("role_admin"); + break; + case SeedDMS_Core_User::role_guest: + printMLText("role_guest"); + break; + } + echo ""; if($currUser->getID() != $user->getID()) { echo "getID())."\"> ".getMLText('substitute_user')." "; } diff --git a/views/bootstrap/class.UserList.php b/views/bootstrap/class.UserList.php index 8873c0f09..a94159dc6 100644 --- a/views/bootstrap/class.UserList.php +++ b/views/bootstrap/class.UserList.php @@ -50,7 +50,7 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style { ?> - + "; @@ -74,6 +74,19 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style { } echo ""; echo ""; + echo " + + "; + echo ""; + echo ""; + echo ""; + } + } + if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { // Retrieve a list of all users and groups that have review / approve // privileges. From 8e69893e89b16ec40669095d65d7243cfa99c6b3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 4 May 2017 13:48:07 +0200 Subject: [PATCH 151/212] move updating document into controller --- controllers/class.UpdateDocument.php | 87 ++++++++++++ op/op.UpdateDocument.php | 203 +++++++++++++-------------- 2 files changed, 182 insertions(+), 108 deletions(-) create mode 100644 controllers/class.UpdateDocument.php diff --git a/controllers/class.UpdateDocument.php b/controllers/class.UpdateDocument.php new file mode 100644 index 000000000..da2b120c2 --- /dev/null +++ b/controllers/class.UpdateDocument.php @@ -0,0 +1,87 @@ + + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Class which does the busines logic for downloading a document + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common { + + public function run() { /* {{{ */ + $name = $this->getParam('name'); + $comment = $this->getParam('comment'); + + /* Call preUpdateDocument early, because it might need to modify some + * of the parameters. + */ + if(false === $this->callHook('preUpdateDocument')) { + $this->errormsg = 'hook_preUpdateDocument_failed'; + return null; + } + + $dms = $this->params['dms']; + $user = $this->params['user']; + $document = $this->params['document']; + $settings = $this->params['settings']; + $index = $this->params['index']; + $indexconf = $this->params['indexconf']; + $folder = $this->params['folder']; + $userfiletmp = $this->getParam('userfiletmp'); + $userfilename = $this->getParam('userfilename'); + $filetype = $this->getParam('filetype'); + $userfiletype = $this->getParam('userfiletype'); + $reviewers = $this->getParam('reviewers'); + $approvers = $this->getParam('approvers'); + $reqversion = $this->getParam('reqversion'); + $comment = $this->getParam('comment'); + $attributes = $this->getParam('attributes'); + $workflow = $this->getParam('workflow'); + $maxsizeforfulltext = $this->getParam('maxsizeforfulltext'); + + $result = $this->callHook('updateDocument'); + if($result === null) { + $filesize = SeedDMS_Core_File::fileSize($userfiletmp); + $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $filetype, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow); + + if ($this->hasParam('expires')) { + if($document->setExpires($this->getParam('expires'))) { + } else { + } + } + + if($index) { + $lucenesearch = new $indexconf['Search']($index); + if($hit = $lucenesearch->getDocument((int) $document->getId())) { + $index->delete($hit->id); + } + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(!$this->callHook('preIndexDocument', $document, $idoc)) { + } + $index->addDocument($idoc); + $index->commit(); + } + + if(!$this->callHook('postUpdateDocument', $document, $contentResult->getContent())) { + } + $result = $contentResult->getContent(); + } + + return $result; + } /* }}} */ +} + diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 07d684924..dfa08811a 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -24,8 +24,17 @@ include("../inc/inc.Language.php"); include("../inc/inc.Init.php"); include("../inc/inc.Extension.php"); include("../inc/inc.DBInit.php"); -include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); +include("../inc/inc.ClassUI.php"); +include("../inc/inc.ClassController.php"); + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$controller = Controller::factory($tmp[1]); + +/* Check if the form data comes from a trusted request */ +if(!checkFormKey('updatedocument')) { + UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token")); +} if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); @@ -58,11 +67,12 @@ if ($document->isLocked()) { else $document->setLocked(false); } -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']); $uuid = $uuids[0]; - $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); @@ -74,12 +84,7 @@ if(isset($_POST['fineuploaderuuids']) && $_POST['fineuploaderuuids']) { } } -if(isset($_POST["comment"])) - $comment = $_POST["comment"]; -else - $comment = ""; - -if ($_FILES['userfile']['error'] == 0) { +if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) { // if(!is_uploaded_file($_FILES["userfile"]["tmp_name"])) // UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")."lsajdflk"); @@ -121,6 +126,46 @@ if ($_FILES['userfile']['error'] == 0) { $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); +if($settings->_enableFullSearch) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + $indexconf['Indexer']::init($settings->_stopWordsFile); +} else { + $index = null; +} + +if(isset($_POST["comment"])) + $comment = $_POST["comment"]; +else + $comment = ""; + +$oldexpires = $document->getExpires(); +switch($_POST["presetexpdate"]) { +case "date": + $tmp = explode('-', $_POST["expdate"]); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); + break; +case "1w": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); + break; +case "1m": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); + break; +case "1y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); + break; +case "2y": + $tmp = explode('-', date('Y-m-d')); + $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); + break; +case "never": +default: + $expires = null; + break; +} + // Get the list of reviewers and approvers for this document. $reviewers = array(); $approvers = array(); @@ -237,48 +282,25 @@ if ($_FILES['userfile']['error'] == 0) { $attributes = array(); } - if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { - if (method_exists($hookObj, 'preUpdateDocument')) { - $hookObj->preUpdateDocument(null, $document, array('name'=>&$name, 'comment'=>&$comment)); - } - } - } - - $filesize = SeedDMS_Core_File::fileSize($userfiletmp); - $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow); - if (is_bool($contentResult) && !$contentResult) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); - } - else { - if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { - if (method_exists($hookObj, 'postUpdateDocument')) { - $hookObj->postUpdateDocument(null, $document, $contentResult->getContent()); - } - } - } - if($settings->_enableFullSearch) { - $index = $indexconf['Indexer']::open($settings->_luceneDir); - if($index) { - $lucenesearch = new $indexconf['Search']($index); - if($hit = $lucenesearch->getDocument((int) $document->getId())) { - $index->delete($hit->id); - } - $indexconf['Indexer']::init($settings->_stopWordsFile); - $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); - if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { - if (method_exists($hookObj, 'preIndexDocument')) { - $hookObj->preIndexDocument(null, $document, $idoc); - } - } - } - $index->addDocument($idoc); - $index->commit(); - } - } + $controller->setParam('folder', $folder); + $controller->setParam('document', $document); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('comment', $comment); + if($oldexpires != $expires) + $controller->setParam('expires', $expires); + $controller->setParam('userfiletmp', $userfiletmp); + $controller->setParam('userfilename', $userfilename); + $controller->setParam('filetype', $fileType); + $controller->setParam('userfiletype', $userfiletype); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('attributes', $attributes); + $controller->setParam('workflow', $workflow); + if(!$content = $controller->run()) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText($controller->getErrorMsg())); + } else { // Send notification to subscribers. if ($notifier){ $notifyList = $document->getNotifyList(); @@ -291,7 +313,7 @@ if ($_FILES['userfile']['error'] == 0) { $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); $params['comment'] = $document->getComment(); - $params['version_comment'] = $contentResult->getContent()->getComment(); + $params['version_comment'] = $content->getComment(); $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; @@ -308,7 +330,7 @@ if ($_FILES['userfile']['error'] == 0) { $message = "request_workflow_action_email_body"; $params = array(); $params['name'] = $document->getName(); - $params['version'] = $contentResult->getContent()->getVersion(); + $params['version'] = $content->getVersion(); $params['workflow'] = $workflow->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['current_state'] = $workflow->getInitState()->getName(); @@ -335,8 +357,8 @@ if ($_FILES['userfile']['error'] == 0) { $params = array(); $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); - $params['version'] = $contentResult->getContent()->getVersion(); - $params['comment'] = $contentResult->getContent()->getComment(); + $params['version'] = $content->getVersion(); + $params['comment'] = $content->getComment(); $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; @@ -356,8 +378,8 @@ if ($_FILES['userfile']['error'] == 0) { $params = array(); $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); - $params['version'] = $contentResult->getContent()->getVersion(); - $params['comment'] = $contentResult->getContent()->getComment(); + $params['version'] = $content->getVersion(); + $params['comment'] = $content->getComment(); $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; @@ -371,60 +393,25 @@ if ($_FILES['userfile']['error'] == 0) { } } } - } - switch($_POST["presetexpdate"]) { - case "date": - $tmp = explode('-', $_POST["expdate"]); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]); - break; - case "1w": - $tmp = explode('-', date('Y-m-d')); - $expires = mktime(0,0,0, $tmp[1], $tmp[2]+7, $tmp[0]); - break; - case "1m": - $tmp = explode('-', date('Y-m-d')); - $expires = mktime(0,0,0, $tmp[1]+1, $tmp[2], $tmp[0]); - break; - case "1y": - $tmp = explode('-', date('Y-m-d')); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+1); - break; - case "2y": - $tmp = explode('-', date('Y-m-d')); - $expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]+2); - break; - case "never": - default: - $expires = null; - break; - } - - if ($expires) { - if($document->setExpires($expires)) { - if($notifier) { - $notifyList = $document->getNotifyList(); - $folder = $document->getFolder(); - - // Send notification to subscribers. - $subject = "expiry_changed_email_subject"; - $message = "expiry_changed_email_body"; - $params = array(); - $params['name'] = $document->getName(); - $params['folder_path'] = $folder->getFolderPathPlain(); - $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); - $params['sitename'] = $settings->_siteName; - $params['http_root'] = $settings->_httpRoot; - $notifier->toList($user, $notifyList["users"], $subject, $message, $params); - foreach ($notifyList["groups"] as $grp) { - $notifier->toGroup($user, $grp, $subject, $message, $params); - } + if($oldexpires != $document->getExpires()) { + // Send notification to subscribers. + $subject = "expiry_changed_email_subject"; + $message = "expiry_changed_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['username'] = $user->getFullName(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $notifier->toList($user, $notifyList["users"], $subject, $message, $params); + foreach ($notifyList["groups"] as $grp) { + $notifier->toGroup($user, $grp, $subject, $message, $params); } - } else { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } } + if($settings->_removeFromDropFolder) { if(file_exists($userfiletmp)) { unlink($userfiletmp); From b64c73730219a3851b248b9ca12eb217ea149ede Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 4 May 2017 13:49:01 +0200 Subject: [PATCH 152/212] fix uploading from drop folder, when enable large file support is on --- views/bootstrap/class.AddDocument.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index f03df1ae7..c9a4a161c 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -87,7 +87,11 @@ $(document).ready(function() { if($enablelargefileupload) { ?> submitHandler: function(form) { - userfileuploader.uploadStoredFiles(); + /* fileuploader may not have any files if drop folder is used */ + if(userfileuploader.getUploads().length) + userfileuploader.uploadStoredFiles(); + else + form.submit(); }, Date: Thu, 4 May 2017 13:49:45 +0200 Subject: [PATCH 153/212] add form key, fix uploading with fine-uploader --- views/bootstrap/class.UpdateDocument.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 2e48347a9..0267ac7a1 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -68,6 +68,8 @@ $(document).ready( function() { return false; }, ""); $("#form1").validate({ + debug: false, + ignore: ":hidden:not(.do_validate)", invalidHandler: function(e, validator) { noty({ text: (validator.numberOfInvalids() == 1) ? "".replace('#', validator.numberOfInvalids()) : "".replace('#', validator.numberOfInvalids()), @@ -82,7 +84,11 @@ $(document).ready( function() { if($enablelargefileupload) { ?> submitHandler: function(form) { - manualuploader.uploadStoredFiles(); + /* fileuploader may not have any files if drop folder is used */ + if(userfileuploader.getUploads().length) + userfileuploader.uploadStoredFiles(); + else + form.submit(); }, - fineuploaderuuids: { - fineuploader: [ manualuploader, $('#dropfolderfileform1') ] + 'userfile-fine-uploader-uuids': { + fineuploader: [ userfileuploader, $('#dropfolderfileform1') ] } +
      "; + switch($currUser->getRole()) { + case SeedDMS_Core_User::role_user: + printMLText("role_user"); + break; + case SeedDMS_Core_User::role_admin: + printMLText("role_admin"); + break; + case SeedDMS_Core_User::role_guest: + printMLText("role_guest"); + break; + } + echo ""; echo SeedDMS_Core_File::format_filesize($currUser->getUsedDiskSpace()); if($quota) { echo " / "; From 7c7dfc14112545a3fbd412e8598a6f4b9e291e2c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 18:28:56 +0200 Subject: [PATCH 141/212] handle hooks with two arguments --- inc/inc.ClassControllerCommon.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/inc.ClassControllerCommon.php b/inc/inc.ClassControllerCommon.php index 154060804..a04ce3764 100644 --- a/inc/inc.ClassControllerCommon.php +++ b/inc/inc.ClassControllerCommon.php @@ -124,6 +124,9 @@ class SeedDMS_Controller_Common { foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])] as $hookObj) { if (method_exists($hookObj, $hook)) { switch(func_num_args()) { + case 3: + $result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2)); + break; case 2: $result = $hookObj->$hook($this, func_get_arg(1)); break; From 9ab19afe031f3fccc5816bd0c6a62a10b2597bf1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 18:29:47 +0200 Subject: [PATCH 142/212] check return value of hook no return value will be discarded, array and objects are put into an array, strings are concatened --- inc/inc.ClassHook.php | 41 +++++++++++++++++++++++++++++++++++++ inc/inc.ClassViewCommon.php | 31 ++++++++++------------------ 2 files changed, 52 insertions(+), 20 deletions(-) create mode 100644 inc/inc.ClassHook.php diff --git a/inc/inc.ClassHook.php b/inc/inc.ClassHook.php new file mode 100644 index 000000000..c0a532edd --- /dev/null +++ b/inc/inc.ClassHook.php @@ -0,0 +1,41 @@ + + * @copyright Copyright (C) 2017 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Parent class for all hook response classes + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2017 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Hook_Response { + protected $data; + + protected $error; + + public function __construct($error = false, $data = null) { + $this->data = $data; + $this->error = $error; + } + + public function setData($data) { + $this->data = $data; + } + + public function getData() { + return $this->data; + } +} + diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 3ab450356..122cfee1e 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -13,6 +13,8 @@ * @version Release: @package_version@ */ +require_once "inc/inc.ClassHook.php"; + /** * Parent class for all view classes * @@ -92,39 +94,28 @@ class SeedDMS_View_Common { switch(func_num_args()) { case 1: $tmpret = $hookObj->$hook($this); - if(is_string($tmpret)) - $ret .= $tmpret; - else - $ret = $tmpret; break; case 2: $tmpret = $hookObj->$hook($this, func_get_arg(1)); - if(is_string($tmpret)) - $ret .= $tmpret; - else - $ret = $tmpret; break; case 3: $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2)); - if(is_string($tmpret)) - $ret .= $tmpret; - else - $ret = $tmpret; break; case 4: $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3)); - if(is_string($tmpret)) - $ret .= $tmpret; - else - $ret = $tmpret; break; default: case 5: $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4)); - if(is_string($tmpret)) - $ret .= $tmpret; - else - $ret = $tmpret; + break; + } + if($tmpret) { + if(is_string($tmpret)) + $ret .= $tmpret; + elseif(is_array($tmpret) || is_object($tmpret)) + $ret = ($ret === null) ? $tmpret : array_merge($ret, $tmpret); + else + $ret = $tmpret; } } } From b60e5a9d9776c5de8a15b5d912e824aa943f7ad4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 18:31:23 +0200 Subject: [PATCH 143/212] fix check whether value is in value set --- views/bootstrap/class.AttributeMgr.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index 51b877993..5b2454730 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -90,8 +90,8 @@ $(document).ready( function() { $content .= ""; /* Check if value is in value set */ if($selattrdef->getValueSet()) { - foreach($values as $v) { - if(!in_array($value, $selattrdef->getValueSetAsArray())) + foreach($value as $v) { + if(!in_array($v, $selattrdef->getValueSetAsArray())) $content .= getMLText("attribute_value_not_in_valueset"); } } From 4e883444f248a65df4c86658ab78303ef77628fc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 18:33:07 +0200 Subject: [PATCH 144/212] fix check for value in value set --- views/bootstrap/class.AttributeMgr.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index 51b877993..5b2454730 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -90,8 +90,8 @@ $(document).ready( function() { $content .= ""; /* Check if value is in value set */ if($selattrdef->getValueSet()) { - foreach($values as $v) { - if(!in_array($value, $selattrdef->getValueSetAsArray())) + foreach($value as $v) { + if(!in_array($v, $selattrdef->getValueSetAsArray())) $content .= getMLText("attribute_value_not_in_valueset"); } } From 53f646114aa159f53cee6f6f0b6143f55e4ba042 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 20:52:40 +0200 Subject: [PATCH 145/212] set from_address as return path if set --- inc/inc.ClassEmailNotify.php | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/inc/inc.ClassEmailNotify.php b/inc/inc.ClassEmailNotify.php index fff88fa7d..729400aa8 100644 --- a/inc/inc.ClassEmailNotify.php +++ b/inc/inc.ClassEmailNotify.php @@ -75,10 +75,15 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { return -1; } + $returnpath = ''; if(is_object($sender) && !strcasecmp(get_class($sender), $this->_dms->getClassname('user'))) { $from = $sender->getFullName() ." <". $sender->getEmail() .">"; + if($this->from_address) + $returnpath = $this->from_address; } elseif(is_string($sender) && trim($sender) != "") { $from = $sender; + if($this->from_address) + $returnpath = $this->from_address; } else { $from = $this->from_address; } @@ -90,6 +95,8 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { $headers = array (); $headers['From'] = $from; + if($returnpath) + $headers['Return-Path'] = $returnpath; $headers['To'] = $recipient->getEmail(); $preferences = array("input-charset" => "UTF-8", "output-charset" => "UTF-8"); $encoded_subject = iconv_mime_encode("Subject", getMLText($subject, $params, "", $lang), $preferences); @@ -119,22 +126,6 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify { } else { return true; } - -/* - $headers = array(); - $headers[] = "MIME-Version: 1.0"; - $headers[] = "Content-type: text/plain; charset=utf-8"; - $headers[] = "From: ". $from; - - $lang = $recipient->getLanguage(); - $message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang); - $message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang); - - $subject = "=?UTF-8?B?".base64_encode(getMLText($subject, $params, "", $lang))."?="; - mail($recipient->getEmail(), $subject, $message, implode("\r\n", $headers)); - - return true; -*/ } /* }}} */ function toGroup($sender, $groupRecipient, $subject, $message, $params=array()) { /* {{{ */ From 73389a7e576bacff224aaa6893b10ccddf9fb341 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 2 May 2017 20:55:30 +0200 Subject: [PATCH 146/212] set 'help' of extension configuration as title attr --- views/bootstrap/class.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 3100a3830..638ddfe88 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -746,7 +746,7 @@ if(!is_writeable($settings->_configFilePath)) { $conf) { ?> -
      : Date: Tue, 2 May 2017 21:00:36 +0200 Subject: [PATCH 147/212] check if $conf['help'] and $conf['size'] is set before using it --- views/bootstrap/class.Settings.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 614e48f50..c99c1d252 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -738,7 +738,7 @@ if(!is_writeable($settings->_configFilePath)) { $conf) { ?> -
      : _configFilePath)) { break; default: ?> - " title="" value="_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" size="" /> + " title="" value="_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" " /> From 9eeeedf22dd7183a23f8701510c87e47e7d1da25 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 May 2017 14:09:34 +0200 Subject: [PATCH 148/212] new phrases and updates --- languages/ar_EG/lang.inc | 2 ++ languages/bg_BG/lang.inc | 66 +++++++++++++++++++++------------------- languages/ca_ES/lang.inc | 2 ++ languages/cs_CZ/lang.inc | 8 +++-- languages/de_DE/lang.inc | 4 ++- languages/el_GR/lang.inc | 12 +++++--- languages/en_GB/lang.inc | 4 ++- languages/es_ES/lang.inc | 2 ++ languages/fr_FR/lang.inc | 2 ++ languages/hr_HR/lang.inc | 6 ++-- languages/hu_HU/lang.inc | 2 ++ languages/it_IT/lang.inc | 24 ++++++++------- languages/ko_KR/lang.inc | 2 ++ languages/nl_NL/lang.inc | 6 ++-- languages/pl_PL/lang.inc | 6 ++-- languages/pt_BR/lang.inc | 2 ++ languages/ro_RO/lang.inc | 2 ++ languages/ru_RU/lang.inc | 6 ++-- languages/sk_SK/lang.inc | 2 ++ languages/sv_SE/lang.inc | 2 ++ languages/tr_TR/lang.inc | 2 ++ languages/uk_UA/lang.inc | 2 ++ languages/zh_CN/lang.inc | 2 ++ languages/zh_TW/lang.inc | 2 ++ 24 files changed, 109 insertions(+), 61 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index efb41f7cf..2a2e1ba10 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -1129,6 +1129,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 5e0945eba..ea265266a 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/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 (791) +// Translators: Admin (822) $text = array( '2_factor_auth' => '', @@ -53,7 +53,7 @@ $text = array( 'add_attrdefgroup' => '', 'add_document' => 'Добави документ', 'add_document_link' => 'Добави препратка', -'add_document_notify' => '', +'add_document_notify' => 'Добави нотификация', 'add_doc_reviewer_approver_warning' => 'Документът получава статус ДОСТЪПЕН автоматично ако няма нито рецензент нито утвърждаващ', 'add_doc_workflow_warning' => 'N.B. Документът автоматично семаркира като освободен ако не се работи по него.', 'add_event' => 'Добави събитие', @@ -105,7 +105,7 @@ $text = array( 'april' => 'Април', 'archive_creation' => 'Създаване архив', 'archive_creation_warning' => 'Тази операция ще създаде архив, съдържащ всички папки. След създаването архивът ще бъде съхранен в папката с данни на сървъра.
      ВНИМАНИЕ: Архивът създаден като понятен за човек, ще бъде непригоден за бекъп!', -'ar_EG' => '', +'ar_EG' => 'Арабски', 'assign_approvers' => 'Назначи утвърждаващи', 'assign_reviewers' => 'Назначи рецензенти', 'assign_user_property_to' => 'Назначи свойства на потребителя', @@ -166,7 +166,7 @@ $text = array( 'backup_remove' => 'Изтрий бекъп', 'backup_tools' => 'Иструменти за бекъп', 'between' => 'между', -'bg_BG' => '', +'bg_BG' => 'Български', 'browse' => 'Преглеждане', 'calendar' => 'Календар', 'calendar_week' => '', @@ -187,7 +187,7 @@ $text = array( 'category_info' => '', 'category_in_use' => 'Тази категория се използва от документите', 'category_noname' => 'Въведете име на категорията', -'ca_ES' => '', +'ca_ES' => 'Каталунски', 'change_assignments' => 'Промени предназначението', 'change_password' => 'Промени паролата', 'change_password_message' => 'Паролата променена', @@ -260,7 +260,7 @@ $text = array( 'create_fulltext_index' => 'Създай пълнотекстов индекс', 'create_fulltext_index_warning' => 'Вие искате да пресъздадете пълнотекстов индекс. Това ще отнеме време и ще понижи производителността. Да продолжа ли?', 'creation_date' => 'Създаден', -'cs_CZ' => '', +'cs_CZ' => 'Чешки', 'current_password' => 'Текуща парола', 'current_quota' => '', 'current_state' => '', @@ -277,7 +277,7 @@ $text = array( 'delete' => 'Изтрий', 'details' => 'Детайли', 'details_version' => 'Детайли за версия: [version]', -'de_DE' => '', +'de_DE' => 'Немски', 'disclaimer' => 'Работим аккуратно и задълбочено. От това зависи бъдeщето на нашата страна и благополучието на народа.nПетилетката за три години!nДа не оставим неодрусана слива в наше село!', 'discspace' => '', 'docs_in_reception_no_access' => '', @@ -375,7 +375,7 @@ $text = array( 'edit_user' => 'Редактирай потребител', 'edit_user_details' => 'Редактирай данните на потребителя', 'edit_version' => '', -'el_GR' => '', +'el_GR' => 'Гръцки', 'email' => 'Email', 'email_error_title' => 'Email не е указан', 'email_footer' => 'Винаги можете да измените e-mail исползвайки функцията \'Моя учетка\'', @@ -384,7 +384,7 @@ $text = array( 'empty_attribute_group_list' => '', 'empty_folder_list' => 'Няма документи или папки', 'empty_notify_list' => 'Няма записи', -'en_GB' => '', +'en_GB' => 'Английски (Великобритания)', 'equal_transition_states' => 'Началното и крайно състояние са еднакви', 'error' => 'Грешка', 'error_add_aro' => '', @@ -398,7 +398,7 @@ $text = array( 'error_remove_folder' => '', 'error_remove_permission' => '', 'error_toogle_permission' => '', -'es_ES' => '', +'es_ES' => 'Испански', 'event_details' => 'Детайли за събитието', 'exclude_items' => '', 'expired' => 'Изтекъл', @@ -449,7 +449,7 @@ $text = array( 'friday' => 'петък', 'friday_abbr' => '', 'from' => 'От', -'fr_FR' => '', +'fr_FR' => 'Френски', 'fullsearch' => 'Пълнотекстово търсене', 'fullsearch_hint' => 'Използвай пълнотекстов индекс', 'fulltextsearch_disabled' => '', @@ -478,9 +478,9 @@ $text = array( 'hook_name' => '', 'hourly' => 'Ежечасно', 'hours' => 'часа', -'hr_HR' => '', +'hr_HR' => 'Хърватски', 'human_readable' => 'Човекопонятен архив', -'hu_HU' => '', +'hu_HU' => 'Унгарски', 'id' => 'ID', 'identical_version' => 'Новата версия е идентична с текущата.', 'import' => '', @@ -494,7 +494,7 @@ $text = array( 'index_converters' => 'Index document conversion', 'index_done' => '', 'index_error' => '', -'index_folder' => '', +'index_folder' => 'Индекс на директорията', 'index_pending' => '', 'index_waiting' => '', 'individuals' => 'Личности', @@ -531,7 +531,7 @@ $text = array( 'in_workflow' => 'в процес', 'is_disabled' => 'забранена сметка', 'is_hidden' => 'Не показвай в списъка с потребители', -'it_IT' => '', +'it_IT' => 'Италиански', 'january' => 'януари', 'js_form_error' => '', 'js_form_errors' => '', @@ -558,9 +558,9 @@ $text = array( 'keep' => '', 'keep_doc_status' => 'Запази статуса на документа', 'keywords' => 'Ключови думи', -'keywords_loading' => '', +'keywords_loading' => 'Моля, изчакайте, докато ключовите думи се зареждат', 'keyword_exists' => 'Ключовата дума съществува', -'ko_KR' => '', +'ko_KR' => 'Корейски', 'language' => 'Език', 'lastaccess' => '', 'last_update' => 'Последно обновление', @@ -645,7 +645,7 @@ $text = array( 'new_subfolder_email_subject' => '', 'new_user_image' => 'Ново изображение', 'next_state' => 'Ново състояние', -'nl_NL' => '', +'nl_NL' => 'Холандски', 'no' => 'Не', 'notify_added_email' => 'Вие сте добавен в списъка с уведомявани', 'notify_added_email_body' => '', @@ -719,7 +719,7 @@ $text = array( 'pending_reviews' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Личен списък с ключови думи', -'pl_PL' => '', +'pl_PL' => 'Полски', 'possible_substitutes' => '', 'preset_expires' => '', 'preview' => '', @@ -729,7 +729,7 @@ $text = array( 'preview_plain' => '', 'previous_state' => 'Предишно състояние', 'previous_versions' => 'Предишни версии', -'pt_BR' => '', +'pt_BR' => 'Португалски (Бразилия)', 'quota' => 'Квота', 'quota_exceeded' => 'Вашата дискова квота е превишена с [bytes].', 'quota_is_disabled' => '', @@ -834,11 +834,11 @@ $text = array( 'role_name' => '', 'role_type' => '', 'role_user' => 'Потребител', -'ro_RO' => '', +'ro_RO' => 'Румънски', 'run_subworkflow' => 'Пусни под-процес', 'run_subworkflow_email_body' => '', 'run_subworkflow_email_subject' => '', -'ru_RU' => '', +'ru_RU' => 'Руски', 'saturday' => 'събота', 'saturday_abbr' => '', 'save' => 'Съхрани', @@ -868,12 +868,12 @@ $text = array( 'select_grp_ind_notification' => '', 'select_grp_ind_recipients' => '', 'select_grp_ind_reviewers' => '', -'select_grp_notification' => '', +'select_grp_notification' => 'Избор на групова нотификация', 'select_grp_recipients' => '', 'select_grp_reviewers' => 'Кликни да избереш група рецензенти', 'select_grp_revisors' => '', 'select_ind_approvers' => 'Кликни да избереш утвърждаващ', -'select_ind_notification' => '', +'select_ind_notification' => 'Избор на индивидуална нотификация', 'select_ind_recipients' => '', 'select_ind_reviewers' => 'Кликни да избереш рецензент', 'select_ind_revisors' => '', @@ -994,6 +994,8 @@ $text = array( 'settings_enableLargeFileUpload_desc' => 'Ако е включено, качване на файлове е дустъпно и чрез джава-аплет, именован jumploader, без лимит за размер на файла. Това също ще позволи да се качват няколко файла наведнъж.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Разреши уведомление до рецензиращи/утвърждаващи', 'settings_enableNotificationAppRev_desc' => 'Избери за изпращане на уведомление до рецензиращи/утвърждаващи когато се добавя нова версия на документа', 'settings_enableNotificationWorkflow' => '', @@ -1203,7 +1205,7 @@ $text = array( 'sign_in' => 'вход', 'sign_out' => 'изход', 'sign_out_user' => '', -'sk_SK' => '', +'sk_SK' => 'Словашки', 'space_used_on_data_folder' => 'Размер на каталога с данните', 'splash_added_to_clipboard' => '', 'splash_add_attribute' => '', @@ -1286,14 +1288,14 @@ $text = array( 'submit_userinfo' => 'Изпрати информация за потребител', 'subsribe_timelinefeed' => '', 'substitute_to_user' => '', -'substitute_user' => '', +'substitute_user' => 'Заместващ потребител', 'success_add_aro' => '', 'success_add_permission' => '', 'success_remove_permission' => '', 'success_toogle_permission' => '', 'sunday' => 'неделя', 'sunday_abbr' => '', -'sv_SE' => '', +'sv_SE' => 'Шведски', 'switched_to' => '', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', @@ -1337,12 +1339,12 @@ $text = array( 'transmittal_size' => '', 'tree_loading' => '', 'trigger_workflow' => 'Процес', -'tr_TR' => '', +'tr_TR' => 'Турски', 'tuesday' => 'вторник', 'tuesday_abbr' => '', 'type_of_hook' => '', 'type_to_search' => 'Тип за търсене', -'uk_UA' => '', +'uk_UA' => 'Украински', 'under_folder' => 'В папка', 'unknown_attrdef' => '', 'unknown_command' => 'Командата не е позната.', @@ -1386,7 +1388,7 @@ $text = array( 'user_login' => 'Идентификатор на потребителя', 'user_management' => 'Управление на потребителите', 'user_name' => 'Пълно име', -'use_comment_of_document' => '', +'use_comment_of_document' => 'Използвай коментара от документа', 'use_default_categories' => 'Исползвай предопределени категории', 'use_default_keywords' => 'Исползовай предопределенни ключови думи', 'valid_till' => '', @@ -1433,7 +1435,7 @@ $text = array( 'workflow_user_summary' => 'Резюме за потребител', 'year_view' => 'годишен изглед', 'yes' => 'Да', -'zh_CN' => '', -'zh_TW' => '', +'zh_CN' => 'Китайски (Китай)', +'zh_TW' => 'Китайски (Тайван)', ); ?> diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index b62732dde..5457e51d6 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -999,6 +999,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index ecd879767..84adaf7df 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 (720), kreml (455) +// Translators: Admin (722), kreml (455) $text = array( '2_factor_auth' => '', @@ -566,7 +566,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Včetně dokumentů', 'include_subdirectories' => 'Včetně podadresářů', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Indexování úkolů ve frontě', 'index_converters' => 'Index konverze dokumentu', 'index_done' => '', 'index_error' => '', @@ -792,7 +792,7 @@ URL: [url]', 'only_jpg_user_images' => 'Pro obrázky uživatelů je možné použít pouze obrázky .jpg', 'order_by_sequence_off' => '', 'original_filename' => 'Originální název souboru', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Celkový průběh indexování', 'owner' => 'Vlastník', 'ownership_changed_email' => 'Vlastník změněn', 'ownership_changed_email_body' => 'Vlastník změněn @@ -1138,6 +1138,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Povolit oznámení posuzovateli/schvalovateli', 'settings_enableNotificationAppRev_desc' => 'Označit pro oznamování posuzovateli/schvalovateli, pokud je přidána nová verze dokumentu.', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index cd384cb7a..53bc24bb9 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 (2411), dgrutsch (22) +// Translators: Admin (2413), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -1194,6 +1194,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Wenn dies gesetzt ist, dann ist ebenfalls der Upload von Dokumenten durch ein java applet mit Namen \'jumploader\' ohne Begrenzung der maximalen Dateigröße möglich. Auch das Hochladen mehrerer Dokumente in einem Schritt wird dadurch ermöglicht. Das Einschalten bewirkt, dass keine http only Cookies mehr gesetzt werden.', 'settings_enableMenuTasks' => 'Aufgabenliste im Menü', 'settings_enableMenuTasks_desc' => 'Ein-/Ausschalten des Menüeintrags, der anstehenden Aufgaben des Benutzers enthält. Diese Liste beinhaltet Dokumente die geprüft, freigegeben, usw. werden müssen.', +'settings_enableMultiUpload' => 'Erlaube Hochladen mehrerer Dateien', +'settings_enableMultiUpload_desc' => 'Beim Erstellen eines neuen Dokuments können mehrere Dateien in einem Vorgang hochgeladen werden. Jede Datei erzeugt ein neues Dokument.', 'settings_enableNotificationAppRev' => 'Prűfer/Freigeber benachrichtigen', 'settings_enableNotificationAppRev_desc' => 'Setzen Sie diese Option, wenn die Prüfer und Freigeber eines Dokuments beim Hochladen einer neuen Version benachrichtigt werden sollen.', 'settings_enableNotificationWorkflow' => 'Sende Benachrichtigung an Benutzer im nächsten Workflow-Schritt', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 8f0e166b7..e11fae23b 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/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 (220) +// Translators: Admin (224) $text = array( '2_factor_auth' => '', @@ -166,7 +166,7 @@ $text = array( 'backup_remove' => '', 'backup_tools' => 'Εργαλεία εφεδρικής καταγραφής', 'between' => 'μεταξύ', -'bg_BG' => '', +'bg_BG' => 'Βουλγάρικα', 'browse' => '', 'calendar' => 'Ημερολόγιο', 'calendar_week' => 'Εβδομάδα', @@ -187,7 +187,7 @@ $text = array( 'category_info' => '', 'category_in_use' => 'Η Κατηγορία αυτή είναι σε χρήση.', 'category_noname' => 'Δεν δόθηκε όνομα κατηγορίας.', -'ca_ES' => '', +'ca_ES' => 'Καταλανικά', 'change_assignments' => '', 'change_password' => 'Αλλαγή κωδικού', 'change_password_message' => 'Ο κωδικός σας έχει αλλάξει.', @@ -226,7 +226,7 @@ $text = array( 'clear_cache' => '', 'clear_clipboard' => '', 'clear_password' => '', -'clipboard' => '', +'clipboard' => 'Πρόχειρο', 'close' => 'Κλέισιμο', 'command' => '', 'comment' => 'Σχόλιο', @@ -342,7 +342,7 @@ $text = array( 'draft' => '', 'draft_pending_approval' => '', 'draft_pending_review' => '', -'drag_icon_here' => '', +'drag_icon_here' => 'Σείρτε την εικόνα του φακέλου ή το έγγραφο εδώ!', 'dropfolderdir_missing' => '', 'dropfolder_file' => '', 'dropfolder_folder' => '', @@ -1005,6 +1005,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index a5e091c15..a25085711 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 (1538), dgrutsch (9), netixw (14) +// Translators: Admin (1540), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -1189,6 +1189,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step. Turning this on will turn off http only cookies.', 'settings_enableMenuTasks' => 'Enable task list in menu', 'settings_enableMenuTasks_desc' => 'Enable/Disable the menu item which contains all tasks for the user. This contains documents, that need to be reviewed, approved, etc.', +'settings_enableMultiUpload' => 'Allow upload of multiple files', +'settings_enableMultiUpload_desc' => 'When creating a new document, multiple files can be uploaded. Each will create a new document.', 'settings_enableNotificationAppRev' => 'Enable reviewer/approver notification', 'settings_enableNotificationAppRev_desc' => 'Check to send a notification to the reviewer/approver when a new document version is added', 'settings_enableNotificationWorkflow' => 'Send notification to users in next workflow transition', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index df7a8c1d8..dbf11e034 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -1144,6 +1144,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Habilitar notificación a revisor/aprobador', 'settings_enableNotificationAppRev_desc' => 'Habilitar para enviar notificación a revisor/aprobador cuando se añade una nueva versión de documento', 'settings_enableNotificationWorkflow' => 'Enviar notificación a los usuarios en la siguiente transacción del flujo.', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 30dd65dd4..21285d70c 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -1139,6 +1139,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Notification correcteur/approbateur', 'settings_enableNotificationAppRev_desc' => 'Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée', 'settings_enableNotificationWorkflow' => 'Envoyer les notifications aux utilisateurs dans le prochain workflow', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index f78bb63cc..448458f75 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/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 (1195), marbanas (16) +// Translators: Admin (1196), marbanas (16) $text = array( '2_factor_auth' => '', @@ -654,7 +654,7 @@ Internet poveznica: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Ako želite prenijeti datoteke veće od trenutne maksimalne veličine prijenosa, molimo koristite alternativu upload page.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Izlistaj sve dozvole pristupa', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Lokalna datoteka', @@ -1165,6 +1165,8 @@ Internet poveznica: [url]', 'settings_enableLargeFileUpload_desc' => 'Ako je postavljeno, učitavanje datoteke je također dostupno kroz Java aplet naziva "jumploader" bez postavljenog ograničenja veličine datoteke od strane pretraživača. To također omogućuje učitavanje nekoliko datoteka u jednom koraku. Uključivanjem ovoga isključit će se samo http kolačići.', 'settings_enableMenuTasks' => 'Omogućavanje liste zadataka u izborniku', 'settings_enableMenuTasks_desc' => 'Omogućavanje/onemogućavanje stavke izbornika koja sadrži sve zadatke za korisnika. Ovo sadrži dokumente koji trebaju biti revidirani, odobreni itd.', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Omogući bilježenje recezenta/validatora', 'settings_enableNotificationAppRev_desc' => 'Označi za slanje obavijesti recezentu/validatoru kada je dodana nova verzija dokumenta', 'settings_enableNotificationWorkflow' => 'Omogući obavijesti o zadanom toku rada', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 4e7b96b19..69bcc7ff3 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -1143,6 +1143,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Ha beállítja az állományok feltöltése elérhető lesz egy jumploadernek hívott java appleten keresztül a böngészőprogram állomány méret korlátja nélkül. Ez engedélyezi több állomány feltöltését egy lépésben.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'A felülvizsgáló/jóváhagyó értesítés engedélyezése', 'settings_enableNotificationAppRev_desc' => 'Ellenőrzi az értesítés küldését a felülvizsgálónak/jóváhagyónak új dokumentum változat hozzáadásakor', 'settings_enableNotificationWorkflow' => 'A felhasználó értesítése a következő munkafolyamatnál', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index d30be02f5..c4589899a 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 (1539), rickr (144), s.pnt (26) +// Translators: Admin (1551), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -256,7 +256,7 @@ URL: [url]', 'clear_password' => 'Cancella la password', 'clipboard' => 'Appunti', 'close' => 'Chiudi', -'command' => '', +'command' => 'Comando', 'comment' => 'Commento', 'comment_changed_email' => '', 'comment_for_current_version' => 'Commento per la versione', @@ -311,7 +311,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Documento', -'documentcontent' => '', +'documentcontent' => 'Contenuto documento', 'documents' => 'Documenti', 'documents_checked_out_by_you' => 'Documenti approvati da te', 'documents_in_process' => 'Documenti in lavorazione', @@ -410,7 +410,7 @@ URL: [url]', 'dump_creation_warning' => 'Con questa operazione è possibile creare un file di dump del contenuto del database. Dopo la creazione il file viene salvato nella cartella dati del server.', 'dump_list' => 'List dei dump presenti', 'dump_remove' => 'Cancella il file di dump', -'duplicates' => '', +'duplicates' => 'Duplicati', 'duplicate_content' => 'Contenuto Duplicato', 'edit' => 'Modifica', 'edit_attributes' => 'Modifica gli attributi', @@ -572,7 +572,7 @@ URL: [url]', 'include_content' => 'Includi contenuto', 'include_documents' => 'Includi documenti', 'include_subdirectories' => 'Includi sottocartelle', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Operazione di indicizzazione in corso', 'index_converters' => 'Indice di conversione documenti', 'index_done' => '', 'index_error' => '', @@ -1085,7 +1085,7 @@ URL: [url]', 'settings_autoLoginUser' => 'Login automatico', 'settings_autoLoginUser_desc' => 'Utilizzare questo ID utente per l\'accesso se l\'utente non è già connesso. Questo tipo di accesso non creerà una sessione.', 'settings_available_languages' => 'Lingue disponibili', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Solo le lingue selezionate verranno caricate e mostrate nel selettore. La lingua predefinita sarà sempre caricata.', 'settings_backupDir' => 'Directory di backup', 'settings_backupDir_desc' => 'Directory in cui lo strumento di backup salva i backup. Se questa directory non è impostato o non è possibile accedervi, quindi i backup vengono salvati nella directory dei contenuti.', 'settings_cacheDir' => 'Cartella di cache', @@ -1102,7 +1102,7 @@ URL: [url]', 'settings_contentDir_desc' => 'Cartella in cui vengono conservati i files caricati, si consiglia di scegliere una cartella sul web-server che non sia direttamente accessibile.', 'settings_contentOffsetDir' => 'Cartella Offset', 'settings_contentOffsetDir_desc' => 'Per supplire a limitazioni all\'utilizzo del filesystem è stata concepita una nuova struttura di cartelle all\'interno della cartella contenitore (Content Directory). Questa necessita di una cartella di partenza: di solito è sufficiente lasciare il nome di default, 1048576, ma può essere usato un qualsiasi numero o stringa che non esistano già all\'interno della cartella contenitore (Content Directory)', -'settings_convertToPdf' => '', +'settings_convertToPdf' => 'Converti documento in PDF per anteprima', 'settings_convertToPdf_desc' => 'Se il documento non può essere nativamente mostrato nel browser, verrà mostrata una versione in PDF.', 'settings_cookieLifetime' => 'Tempo di vita del cookie', 'settings_cookieLifetime_desc' => 'Tempo di vita del cookie in secondi: se impostato su 0 il cookie verrà rimosso alla chiusura del browser', @@ -1125,8 +1125,8 @@ URL: [url]', 'settings_dbUser' => 'Utente', 'settings_dbUser_desc' => 'Utente per accedere al database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.', 'settings_dbVersion' => 'Schema del database obsoleto', -'settings_defaultAccessDocs' => '', -'settings_defaultAccessDocs_desc' => '', +'settings_defaultAccessDocs' => 'Diritto di accesso per i nuovi documenti', +'settings_defaultAccessDocs_desc' => 'Quando si crea un nuovo documento, questo sarà il diritto di accesso predefinito', 'settings_defaultSearchMethod' => 'Metodo di ricerca predefinito', 'settings_defaultSearchMethod_desc' => 'Metodo di ricerca predefinito, quando la ricerca viene avviata dal modulo di ricerca nel menu principale.', 'settings_defaultSearchMethod_valdatabase' => 'database', @@ -1177,6 +1177,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Se selezionato, il caricamento (upload) dei files può essere effettuato anche attraverso un\'applet Java chiamata Jumploader evitando il limite di dimensioni file imposto dal browser; Jumploader permette anche il caricamento di diversi files contemporaneamente.', 'settings_enableMenuTasks' => 'Abilita compito delle attività nel menù', 'settings_enableMenuTasks_desc' => 'Abilita / Disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Abilita/disabilita notifica a revisore/approvatore', 'settings_enableNotificationAppRev_desc' => 'Spuntare per inviare una notifica al revisore/approvatore nel momento in cui viene aggiunta una nuova versione del documento.', 'settings_enableNotificationWorkflow' => 'Invia notifiche ai partecipanti al flusso di lavoro', @@ -1268,8 +1270,8 @@ URL: [url]', 'settings_maxRecursiveCount_desc' => 'Numero massimo di documenti e cartelle considerati dal conteggio ricursivo per il controllo dei diritti d\'accesso. Se tale valore dovesse essere superato, il risultato del conteggio sarà stimato.', 'settings_maxSizeForFullText' => 'La lungeza massima del file per l\'indicizzazione istantanea', 'settings_maxSizeForFullText_desc' => 'Tutte le nuove versioni dei documenti più in basso della dimensione configurata saranno completamente indicizzati dopo il caricamento. In tutti gli altri casi sarà indicizzato solo i metadati.', -'settings_maxUploadSize' => '', -'settings_maxUploadSize_desc' => '', +'settings_maxUploadSize' => 'Dimensiona massima dei file da caricare', +'settings_maxUploadSize_desc' => 'Questa è la dimensiona massima del file da caricare. Avrà impatto sulla versione del documento e sull\'allegato.', 'settings_more_settings' => 'Ulteriori configurazioni. Login di default: admin/admin', 'settings_notfound' => 'Non trovato', 'settings_Notification' => 'Impostazioni di notifica', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index ab0e0c86b..b365cab4d 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -1158,6 +1158,8 @@ URL : [url]', 'settings_enableLargeFileUpload_desc' => '설정하면, 브라우저가 설정 한 파일 크기 제한없이 jumploader라는 파일 업로드 자바 애플릿을 통해 사용할 수 있습니다. 또한 한 번에 여러 파일을 업로드 할 수 있습니다.', 'settings_enableMenuTasks' => '메뉴의 작업 목록 허용', 'settings_enableMenuTasks_desc' => '사용자의 모든 작업이 포함되어있는 메뉴 항목을 활성/비활성 합니다. 이것은 검토, 승인등이 필요한 문서를 포함 합니다', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '검토 / 승인 알림 사용', 'settings_enableNotificationAppRev_desc' => '새 문서 버전이 추가 된 경우 리뷰 / 승인자에게 알림을 보내 확인', 'settings_enableNotificationWorkflow' => '다음 작업 사용자에게 알림을 보냅니다.', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 16cf8c0d6..c22c6fe9b 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 (723), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (724), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '', @@ -1171,6 +1171,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Indien ingeschakeld, is bestandsupload ook beschikbaar via een java applet jumploader genaamd zonder een bestandsgrootte limiet door de browser. Het staat ook toe om meerdere bestanden in een keer te versturen.', 'settings_enableMenuTasks' => 'Menu-taken aanzetten', 'settings_enableMenuTasks_desc' => 'Menu-taken aanzetten', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Inschakelen controleur/beoordeler notificatie', 'settings_enableNotificationAppRev_desc' => 'Vink aan om een notificatie te versturen naar de controleur/beoordeler als een nieuw document versie is toegevoegd.', 'settings_enableNotificationWorkflow' => 'Workflow-notificatie aanzetten', @@ -1310,7 +1312,7 @@ URL: [url]', 'settings_rootFolderID_desc' => 'ID van basismap (meestal geen verandering nodig)', 'settings_SaveError' => 'Opslagfout Configuratiebestand', 'settings_Server' => 'Server instellingen', -'settings_showFullPreview' => '', +'settings_showFullPreview' => 'Toon volledige document', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => 'Ontbrekende vertalingen weergeven', 'settings_showMissingTranslations_desc' => 'Geef alle ontbrekende vertalingen onder aan de pagina weer. De gebruiker kan een verzoek tot vertaling indienen dat wordt opgeslagen als csv bestand. Let op! Zet deze functie niet aan in productieomgevingen!', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index e36614120..e4f597db0 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 (767), netixw (84), romi (93), uGn (112) +// Translators: Admin (768), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -559,7 +559,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Uwzględnij dokumenty', 'include_subdirectories' => 'Uwzględnij podkatalogi', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Zadanie indeksowania w kolejce', 'index_converters' => 'Konwersja indeksu dokumentów', 'index_done' => '', 'index_error' => '', @@ -1123,6 +1123,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Jeśli zaznaczone, wczytywanie plików będzie możliwe również przez aplet javy nazywany jumploader bez limitu rozmiaru plików. Aplet ten pozwala również na wczytywanie wielu plików jednocześnie.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Włącz/Wyłącz powiadomienia dla zatwierdzających/recenzentów', 'settings_enableNotificationAppRev_desc' => 'Zaznacz aby wysyłać powiadomienia do zatwierdzających i recenzentów kiedy pojawi się nowa wersja dokumentu', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index f00e9cab8..51529713b 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -1141,6 +1141,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Se selecionado, o upload de arquivo também estará disponível através de um applet java chamado jumploader sem limite de tamanho de arquivo definido pelo navegador. Ele também permite fazer o upload de vários arquivos de uma só vez.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Habilitar notificações revisor/aprovador', 'settings_enableNotificationAppRev_desc' => 'Verificar o envio de uma notificação para o revisor/aprovador quando uma nova versão do documento for adicionada', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 2c21b28ea..0a37fcdc7 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -1166,6 +1166,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Dacă este setat, incărcarea este de asemenea disponibilă prin intermediul unui applet Java numit jumploader fără limită de dimensiune a fișierului stabilită de browser. De asemenea, permite încărcarea mai multor fișiere într-un singur pas. Activand aceasta optiune va dezactiva optiunea http only cookies.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Activare notificari rezuitor/aprobator', 'settings_enableNotificationAppRev_desc' => 'Bifati pentru a trimite o notificare către revizuitor/aprobator când se adaugă o nouă versiune la document', 'settings_enableNotificationWorkflow' => 'Trimite notificare utilizatorilor din urmatorul pas al workflow-ului', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 09722f60d..a51da48e8 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 (1643) +// Translators: Admin (1644) $text = array( '2_factor_auth' => 'Двухфакторная аутентификация', @@ -310,7 +310,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Документ', -'documentcontent' => '', +'documentcontent' => 'Содержание документа', 'documents' => 'док.', 'documents_checked_out_by_you' => 'Документ проверен вами', 'documents_in_process' => 'Документы в работе', @@ -1173,6 +1173,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Если включено, загрузка файлов доступна так же через Java-апплет, называемый jumploader, без ограничения размера файла. Это также позволит загружать несколько файлов за раз.', 'settings_enableMenuTasks' => 'Включить список задач в меню', 'settings_enableMenuTasks_desc' => 'Включить/отключить пункт меню, который содержит все задачи пользователя. Там содержатся документы, которые нуждаются в рецензии, утверждении и т.д.', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Извещать рецензента или утверждающего', 'settings_enableNotificationAppRev_desc' => 'Включите для отправки извещения рецензенту или утверждающему при добавлении новой версии документа.', 'settings_enableNotificationWorkflow' => 'Отправить уведомление пользователям в следующей стадии процесса', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index ded4bd48b..7deecf7f9 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -998,6 +998,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 09576a6d7..1edf20bc2 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -1129,6 +1129,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Om aktiverad, kan filer laddas upp via javaapplet med namnet jumploader, utan begränsningar i filstorlek. Flera filer kan även laddas upp samtidigt i ett steg.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Aktivera meddelande till personer som granskar/godkänner', 'settings_enableNotificationAppRev_desc' => 'Kryssa i, för att skicka ett meddelande till personer som granskar/godkänner när en ny version av dokumentet har lagts till', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index fe0adae57..f00a0913f 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -1145,6 +1145,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Etkinleştirilirse, büyük dosyalar dosya limitine bakılmaksızın jumploader isimli java applet aracılığıyla yüklenebilir. Bu ayrıca bir seferde birden çok dosya yüklemeyi de sağlar. Bu açıldığında sadece http çerezleri kapanmış olur.', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Kontrol eden/onaylayan bildirimlerini etkinleştir', 'settings_enableNotificationAppRev_desc' => 'Dokümanın yeni versiyonu yüklendiğinde kontrol eden/onaylayana bildirim mesajı gitmesi için bunu etkinleştirin.', 'settings_enableNotificationWorkflow' => 'Bir sonraki iş akışında kullanıcıları bilgilendir', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index d3d477f0f..8eca604ce 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -1166,6 +1166,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => 'Якщо увімкнено, завантаження файлів доступне також через Java-аплет jumploader без обмеження розміру файлів. Це також дозволить завантажувати кілька файлів за раз.', 'settings_enableMenuTasks' => 'Включити список завдань в меню', 'settings_enableMenuTasks_desc' => 'Включити/відключити пункт меню, який містить всі завдання користувача. Там містяться документи, які потребують рецензії, затвердження і т.ін.', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Сповіщати рецензента і затверджувача', 'settings_enableNotificationAppRev_desc' => 'Увімкніть для відправки сповіщення рецензенту чи затверджувачеві при додаванні нової версії документа.', 'settings_enableNotificationWorkflow' => 'Відсилати сповіщення користувачам, задіяним в наступній стадії процесу', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 27f51ddc7..a0e34f733 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -1000,6 +1000,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index baef0f80b..59d678d9c 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -998,6 +998,8 @@ URL: [url]', 'settings_enableLargeFileUpload_desc' => '', 'settings_enableMenuTasks' => '', 'settings_enableMenuTasks_desc' => '', +'settings_enableMultiUpload' => '', +'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => '', 'settings_enableNotificationAppRev_desc' => '', 'settings_enableNotificationWorkflow' => '', From 944186b9d7c6d9542e6ae11ebced03ad0d9fffd4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 4 May 2017 09:08:34 +0200 Subject: [PATCH 149/212] change label of version field to 'version' --- views/bootstrap/class.AddFile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.AddFile.php b/views/bootstrap/class.AddFile.php index c51714757..fc6298f14 100644 --- a/views/bootstrap/class.AddFile.php +++ b/views/bootstrap/class.AddFile.php @@ -158,7 +158,7 @@ $(document).ready( function() {
      - +
      ".$arr[0].":".$arr[1]."
      From 3de40aa6b17a85cd971ba9fbe6adb2c048279966 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 08:14:24 +0200 Subject: [PATCH 154/212] fix doc of init(), some globals are not available --- ext/example/class.example.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/ext/example/class.example.php b/ext/example/class.example.php index 2b147d9e0..d7d5bd42c 100644 --- a/ext/example/class.example.php +++ b/ext/example/class.example.php @@ -37,9 +37,6 @@ class SeedDMS_ExtExample extends SeedDMS_ExtBase { * * Use this method to do some initialization like setting up the hooks * You have access to the following global variables: - * $GLOBALS['dms'] : object representing dms - * $GLOBALS['user'] : currently logged in user - * $GLOBALS['session'] : current session * $GLOBALS['settings'] : current global configuration * $GLOBALS['settings']['_extensions']['example'] : configuration of this extension * $GLOBALS['LANG'] : the language array with translations for all languages From 19aa2b5e4591555e9a3b63bd6c6d5505d6a42ace Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 08:15:26 +0200 Subject: [PATCH 155/212] add __invoke() method --- inc/inc.ClassControllerCommon.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/inc/inc.ClassControllerCommon.php b/inc/inc.ClassControllerCommon.php index a04ce3764..3ceb60524 100644 --- a/inc/inc.ClassControllerCommon.php +++ b/inc/inc.ClassControllerCommon.php @@ -41,6 +41,24 @@ class SeedDMS_Controller_Common { $this->errormsg = ''; } + /** + * Call methods with name in $get['action'] + * + * @params array $get $_GET or $_POST variables + * @return mixed return value of called method + */ + function __invoke($get=array()) { + if(isset($get['action']) && $get['action']) { + if(method_exists($this, $get['action'])) { + return $this->{$get['action']}(); + } else { + echo "Missing action '".$get['action']."'"; + return false; + } + } else + return $this->run(); + } + function setParams($params) { $this->params = $params; } From 3c9c0b7e3a581e12ce5e8d50075a58223b40cb5e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 08:16:05 +0200 Subject: [PATCH 156/212] check if onPreRemove[Document|Folder] returns bool or null --- SeedDMS_Core/Core/inc.ClassDocument.php | 6 +++--- SeedDMS_Core/Core/inc.ClassFolder.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 8a72a9961..d89a3fe9c 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -1861,9 +1861,9 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ /* Check if 'onPreRemoveDocument' callback is set */ if(isset($this->_dms->callbacks['onPreRemoveDocument'])) { foreach($this->_dms->callbacks['onPreRemoveDocument'] as $callback) { - if(!call_user_func($callback[0], $callback[1], $this)) { - return false; - } + $ret = call_user_func($callback[0], $callback[1], $this); + if(is_bool($ret)) + return $ret; } } diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index f92bb8ff2..983d5ca49 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -882,9 +882,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { /* Check if 'onPreRemoveFolder' callback is set */ if(isset($this->_dms->callbacks['onPreRemoveFolder'])) { foreach($this->_dms->callbacks['onPreRemoveFolder'] as $callback) { - if(!call_user_func($callback[0], $callback[1], $this)) { - return false; - } + $ret = call_user_func($callback[0], $callback[1], $this); + if(is_bool($ret)) + return $ret; } } From ba44ee14a73347bd0f843bc510da3af294407f22 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 08:17:45 +0200 Subject: [PATCH 157/212] add note for 5.1.2 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 44a99ad46..a3a693804 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -26,6 +26,7 @@ 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 From add8c5ae2e5bc0324df8dfb372dbe28ea474b56b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 13:25:58 +0200 Subject: [PATCH 158/212] propperly set status in reject mail --- op/op.ApproveDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.ApproveDocument.php b/op/op.ApproveDocument.php index 366140526..eaceec753 100644 --- a/op/op.ApproveDocument.php +++ b/op/op.ApproveDocument.php @@ -181,7 +181,7 @@ if ($_POST["approvalStatus"]==-1){ $params = array(); $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); - $params['status'] = getOverallStatusText($status); + $params['status'] = getOverallStatusText(S_REJECTED); $params['comment'] = $document->getComment(); $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; From be80af1503ee79bee11b1141c7cb2d16829edb70 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 13:26:20 +0200 Subject: [PATCH 159/212] use showTextField() for conf. of extension --- views/bootstrap/class.Settings.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index f0efb4aef..386e955a9 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -825,9 +825,12 @@ if(!is_writeable($settings->_configFilePath)) { } break; default: + $this->showTextField("extensions[".$extname."][".$confkey."]", isset($settings->_extensions[$extname][$confkey]) ? $settings->_extensions[$extname][$confkey] : '', '', ''); + /* ?> " title="" value="_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" " /> From 72aa0375b723d55250daf4f8e60de71187bfce3f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 14:19:10 +0200 Subject: [PATCH 160/212] take out old method menuTask() --- views/bootstrap/class.Bootstrap.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 0a0534940..5235a9a12 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -251,7 +251,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; * documents and folders. * @return string html code */ - function menuTasks($tasks) { /* {{{ */ + function __menuTasks($tasks) { /* {{{ */ $dms = $this->params['dms']; $content = ''; // $content .= "
        \n"; @@ -395,7 +395,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo "
        "; echo "
          \n"; echo "
        • \n"; - echo $this->menuTasks(array('review'=>array(), 'approval'=>array(), 'receipt'=>array(), 'revision'=>array())); +// echo $this->menuTasks(array('review'=>array(), 'approval'=>array(), 'receipt'=>array(), 'revision'=>array())); echo "
        • \n"; echo "
        \n"; echo "
        "; From 440c7032f080608ed6c000ed6ab2ec8452fe7160 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 18:08:56 +0200 Subject: [PATCH 161/212] add method getDocumentList(), limit number of duplicate contents to 1000 --- SeedDMS_Core/Core/inc.ClassDMS.php | 353 ++++++++++++++++++++++++++++- 1 file changed, 346 insertions(+), 7 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index db8fd8b70..1fa18ba40 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -633,6 +633,345 @@ class SeedDMS_Core_DMS { return $version; } /* }}} */ + /** + * Returns all documents with a predefined search criteria + * + * The records return have the following elements + * + * From Table tblDocuments + * [id] => id of document + * [name] => name of document + * [comment] => comment of document + * [date] => timestamp of creation date of document + * [expires] => timestamp of expiration date of document + * [owner] => user id of owner + * [folder] => id of parent folder + * [folderList] => column separated list of folder ids, e.g. :1:41: + * [inheritAccess] => 1 if access is inherited + * [defaultAccess] => default access mode + * [locked] => always -1 (TODO: is this field still used?) + * [keywords] => keywords of document + * [sequence] => sequence of document + * + * From Table tblDocumentLocks + * [lockUser] => id of user locking the document + * + * From Table tblDocumentStatusLog + * [version] => latest version of document + * [statusID] => id of latest status log + * [documentID] => id of document + * [status] => current status of document + * [statusComment] => comment of current status + * [statusDate] => datetime when the status was entered, e.g. 2014-04-17 21:35:51 + * [userID] => id of user who has initiated the status change + * + * From Table tblUsers + * [ownerName] => name of owner of document + * [statusName] => name of user who has initiated the status change + * + * @param string $listtype type of document list, can be 'AppRevByMe', + * 'AppRevOwner', 'ReceiptByMe', 'ReviseByMe', 'LockedByMe', 'MyDocs' + * @param object $param1 user + * @param string $param2 set to true + * if 'AppRevByMe', 'ReviseByMe', 'ReceiptByMe' shall return even documents + * І have already taken care of. + * @param string $param3 sort list by this field + * @param string $param4 order direction + * @return array list of documents records + */ + function getDocumentList($listtype, $param1=null, $param2=false, $param3='', $param4='') { /* {{{ */ + /* The following query will get all documents and lots of additional + * information. It requires the two temporary tables ttcontentid and + * ttstatid. + */ + if (!$this->db->createTemporaryTable("ttstatid") || !$this->db->createTemporaryTable("ttcontentid")) { + return false; + } + /* 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`, ". + "`tblDocumentStatusLog`.`userID`, `oTbl`.`fullName` AS `ownerName`, `sTbl`.`fullName` AS `statusName` ". + "FROM `tblDocumentContent` ". + "LEFT JOIN `tblDocuments` ON `tblDocuments`.`id` = `tblDocumentContent`.`document` ". + "LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID` = `tblDocumentContent`.`document` ". + "LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatusLog`.`statusID` = `tblDocumentStatus`.`statusID` ". + "LEFT JOIN `ttstatid` ON `ttstatid`.`maxLogID` = `tblDocumentStatusLog`.`statusLogID` ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentStatus`.`version` AND `ttcontentid`.`document` = `tblDocumentStatus`.`documentID` ". + "LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id`=`tblDocumentLocks`.`document` ". + "LEFT JOIN `tblUsers` AS `oTbl` on `oTbl`.`id` = `tblDocuments`.`owner` ". + "LEFT JOIN `tblUsers` AS `sTbl` on `sTbl`.`id` = `tblDocumentStatusLog`.`userID` ". + "WHERE `ttstatid`.`maxLogID`=`tblDocumentStatusLog`.`statusLogID` ". + "AND `ttcontentid`.`maxVersion` = `tblDocumentContent`.`version` "; + + switch($listtype) { + case 'AppRevByMe': // Documents I have to review/approve {{{ + $user = $param1; + // Get document list for the current user. + $reviewStatus = $user->getReviewStatus(); + $approvalStatus = $user->getApprovalStatus(); + + // Create a comma separated list of all the documentIDs whose information is + // required. + // Take only those documents into account which hasn't be touched by the user + $dList = array(); + foreach ($reviewStatus["indstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + foreach ($reviewStatus["grpstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + foreach ($approvalStatus["indstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + foreach ($approvalStatus["grpstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + $docCSV = ""; + foreach ($dList as $d) { + $docCSV .= (strlen($docCSV)==0 ? "" : ", ")."'".$d."'"; + } + + if (strlen($docCSV)>0) { + $queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_EXPIRED.") ". + "AND `tblDocuments`.`id` IN (" . $docCSV . ") ". + "ORDER BY `statusDate` DESC"; + } else { + $queryStr = ''; + } + break; // }}} + case 'ReviewByMe': // Documents I have to review {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + + // Get document list for the current user. + $reviewStatus = $user->getReviewStatus(); + + // Create a comma separated list of all the documentIDs whose information is + // required. + // Take only those documents into account which hasn't be touched by the user + // ($st["status"]==0) + $dList = array(); + foreach ($reviewStatus["indstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + foreach ($reviewStatus["grpstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + $docCSV = ""; + foreach ($dList as $d) { + $docCSV .= (strlen($docCSV)==0 ? "" : ", ")."'".$d."'"; + } + + if (strlen($docCSV)>0) { + $queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_EXPIRED.") ". + "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 'ApproveByMe': // Documents I have to approve {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + + // Get document list for the current user. + $approvalStatus = $user->getApprovalStatus(); + + // Create a comma separated list of all the documentIDs whose information is + // required. + // Take only those documents into account which hasn't be touched by the user + // ($st["status"]==0) + $dList = array(); + foreach ($approvalStatus["indstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + foreach ($approvalStatus["grpstatus"] as $st) { + if (($st["status"]==0 || $param2) && !in_array($st["documentID"], $dList)) { + $dList[] = $st["documentID"]; + } + } + $docCSV = ""; + foreach ($dList as $d) { + $docCSV .= (strlen($docCSV)==0 ? "" : ", ")."'".$d."'"; + } + + if (strlen($docCSV)>0) { + $queryStr .= "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_APP.", ".S_EXPIRED.") ". + "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 'WorkflowByMe': // Documents I to trigger in Worklflow {{{ + $user = $param1; + // Get document list for the current user. + $workflowStatus = $user->getWorkflowStatus(); + + // Create a comma separated list of all the documentIDs whose information is + // required. + $dList = array(); + foreach ($workflowStatus["u"] as $st) { + if (!in_array($st["document"], $dList)) { + $dList[] = $st["document"]; + } + } + foreach ($workflowStatus["g"] as $st) { + if (!in_array($st["document"], $dList)) { + $dList[] = $st["document"]; + } + } + $docCSV = ""; + foreach ($dList as $d) { + $docCSV .= (strlen($docCSV)==0 ? "" : ", ")."'".$d."'"; + } + + if (strlen($docCSV)>0) { + $queryStr .= + //"AND `tblDocumentStatusLog`.`status` IN (".S_IN_WORKFLOW.", ".S_EXPIRED.") ". + "AND `tblDocuments`.`id` IN (" . $docCSV . ") ". + "ORDER BY `statusDate` DESC"; + } else { + $queryStr = ''; + } + break; // }}} + case 'AppRevOwner': // Documents waiting for review/approval/revision I'm owning {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". + "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_IN_REVISION.") "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; +// $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". +// "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") ". +// "ORDER BY `statusDate` DESC"; + break; // }}} + case 'RejectOwner': // Documents that has been rejected and I'm owning {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". + "AND `tblDocumentStatusLog`.`status` IN (".S_REJECTED.") "; + //$queryStr .= "ORDER BY `statusDate` DESC"; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + break; // }}} + case 'LockedByMe': // Documents locked by me {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + + $qs = 'SELECT `document` FROM `tblDocumentLocks` WHERE `userID`='.$user->getID(); + $ra = $this->db->getResultArray($qs); + if (is_bool($ra) && !$ra) { + return false; + } + $docs = array(); + foreach($ra as $d) { + $docs[] = $d['document']; + } + + if ($docs) { + $queryStr .= "AND `tblDocuments`.`id` IN (" . implode(',', $docs) . ") "; + 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 'WorkflowOwner': // Documents waiting for workflow trigger I'm owning {{{ + $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 {{{ + $user = $param1; + $orderby = $param3; + if($param4 == 'desc') + $orderdir = 'DESC'; + else + $orderdir = 'ASC'; + $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' "; + if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; + else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; + else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; + else $queryStr .= "ORDER BY `name`"; + $queryStr .= " ".$orderdir; + break; // }}} + } + + if($queryStr) { + $resArr = $this->db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) { + return false; + } + /* + $documents = array(); + foreach($resArr as $row) + $documents[] = $this->getDocument($row["id"]); + */ + } else { + return array(); + } + + return $resArr; + } /* }}} */ + function makeTimeStamp($hour, $min, $sec, $year, $month, $day) { /* {{{ */ $thirtyone = array (1, 3, 5, 7, 8, 10, 12); $thirty = array (4, 6, 9, 11); @@ -2071,7 +2410,7 @@ class SeedDMS_Core_DMS { $versions[] = $version; } return $versions; - + } /* }}} */ /** @@ -2095,7 +2434,7 @@ class SeedDMS_Core_DMS { $versions[] = $version; } return $versions; - + } /* }}} */ /** @@ -2119,7 +2458,7 @@ class SeedDMS_Core_DMS { $versions[] = $version; } return $versions; - + } /* }}} */ /** @@ -2130,7 +2469,7 @@ class SeedDMS_Core_DMS { * in version 4.0.0 of SeedDMS for finding duplicates. */ function getDuplicateDocumentContent() { /* {{{ */ - $queryStr = "SELECT a.*, b.`id` as dupid FROM `tblDocumentContent` a LEFT JOIN `tblDocumentContent` b ON a.`checksum`=b.`checksum` where a.`id`!=b.`id` ORDER by a.`id`"; + $queryStr = "SELECT a.*, b.`id` as dupid FROM `tblDocumentContent` a LEFT JOIN `tblDocumentContent` b ON a.`checksum`=b.`checksum` where a.`id`!=b.`id` ORDER by a.`id` LIMIT 1000"; $resArr = $this->db->getResultArray($queryStr); if (!$resArr) return false; @@ -2146,7 +2485,7 @@ class SeedDMS_Core_DMS { $versions[$row['dupid']]['duplicates'][] = $version; } return $versions; - + } /* }}} */ /** @@ -2302,11 +2641,11 @@ class SeedDMS_Core_DMS { foreach ($record as $column) { if (is_numeric($column)) $values .= $column; else $values .= $this->db->qstr($column); - + if ($i<(count($record))) $values .= ","; $i++; } - + fwrite($h, "INSERT INTO `".$table."` VALUES (".$values.");\n"); } } From b406d31ea0065414e3ca6293382fb6a7f19e45b3 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 18:09:53 +0200 Subject: [PATCH 162/212] add menu tasks including checkbox in settings for enabling it --- SeedDMS_Core/package.xml | 2 ++ inc/inc.ClassSettings.php | 6 +++++- inc/inc.ClassUI.php | 1 + op/op.Settings.php | 1 + styles/bootstrap/application.js | 22 ++++++++++++++++++++++ views/bootstrap/class.Bootstrap.php | 16 +++++++++++++++- views/bootstrap/class.Settings.php | 4 ++++ 7 files changed, 50 insertions(+), 2 deletions(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index a3a693804..d22ecd6a9 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -27,6 +27,8 @@ 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 diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 87aafcd63..e0225eafd 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -178,6 +178,8 @@ class Settings { /* {{{ */ var $_firstDayOfWeek = 0; // enable/disable display of the clipboard var $_enableClipboard = true; + // enable/disable list of tasks in main menu + var $_enableMenuTasks = true; // enable/disable display of the session list var $_enableSessionList = false; // enable/disable display of the drop zone for file upload @@ -416,6 +418,7 @@ class Settings { /* {{{ */ $this->_enableUsersView = Settings::boolVal($tab["enableUsersView"]); $this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]); $this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]); + $this->_enableMenuTasks = Settings::boolVal($tab["enableMenuTasks"]); $this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]); $this->_enableMultiUpload = Settings::boolVal($tab["enableMultiUpload"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); @@ -725,6 +728,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "enableUsersView", $this->_enableUsersView); $this->setXMLAttributValue($node, "enableSessionList", $this->_enableSessionList); $this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard); + $this->setXMLAttributValue($node, "enableMenuTasks", $this->_enableMenuTasks); $this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload); $this->setXMLAttributValue($node, "enableMultiUpload", $this->_enableMultiUpload); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); @@ -852,7 +856,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "smtpPassword", $this->_smtpPassword); // XML Path: /configuration/advanced/display - $this->getXMLNode($xml, '/configuration', 'advanced'); + $advnode = $this->getXMLNode($xml, '/configuration', 'advanced'); $node = $this->getXMLNode($xml, '/configuration/advanced', 'display'); $this->setXMLAttributValue($node, "siteDefaultPage", $this->_siteDefaultPage); $this->setXMLAttributValue($node, "rootFolderID", $this->_rootFolderID); diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index 13c852329..d044cbe77 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -104,6 +104,7 @@ class UI extends UI_Default { $view->setParam('enablefoldertree', $settings->_enableFolderTree); $view->setParam('enablelanguageselector', $settings->_enableLanguageSelector); $view->setParam('enableclipboard', $settings->_enableClipboard); + $view->setParam('enablemenutasks', $settings->_enableMenuTasks); $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 c7e5ec779..169845420 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -83,6 +83,7 @@ if ($action == "saveSettings") $settings->_showSingleSearchHit = getBoolValue("showSingleSearchHit"); $settings->_enableSessionList = getBoolValue("enableSessionList"); $settings->_enableClipboard = getBoolValue("enableClipboard"); + $settings->_enableMenuTasks = getBoolValue("enableMenuTasks"); $settings->_enableDropUpload = getBoolValue("enableDropUpload"); $settings->_enableMultiUpload = getBoolValue("enableMultiUpload"); $settings->_enableFolderTree = getBoolValue("enableFolderTree"); diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 1986908ef..97fe008fe 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -1015,3 +1015,25 @@ $(document).ready(function() { /* {{{ */ $(this).parent().hide(); }); }); /* }}} */ + + var approval_count, review_count, receipt_count, revision_count; + var checkTasks = function() { + $.ajax({url: '../out/out.Tasks.php', + type: 'GET', + dataType: "json", + data: {action: 'mytasks'}, + success: function(data) { + if(data) { + if(approval_count != data.data.approval.length || + review_count != data.data.review.length) { + $("#menu-tasks > ul > li").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') + approval_count = data.data.approval.length; + review_count = data.data.review.length; + } + } + }, + timeout: 3000 + }); + timeOutId = setTimeout(checkTasks, 30000); + } + diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index fec5209fe..9c9d6573c 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -145,6 +145,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo ''."\n"; echo ''."\n"; echo ''."\n"; + if(isset($this->params['user']) && $this->params['user']) { + $this->addFooterJS('checkTasks();'); + } if($this->footerjs) { $jscode = "$(document).ready(function () {\n"; foreach($this->footerjs as $script) { @@ -305,6 +308,17 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " \n"; echo "
      \n"; + if($this->params['enablemenutasks']) { + echo "
      "; + echo "
        \n"; + echo "
      • \n"; +// echo $this->menuTasks(array('review'=>array(), 'approval'=>array(), 'receipt'=>array(), 'revision'=>array())); + echo "
      • \n"; + echo "
      \n"; + echo "
      "; + //$this->addFooterJS('checkTasks();'); + } + if($this->params['enablesessionlist']) { echo "
      "; echo "
      "; @@ -1525,7 +1539,7 @@ $(function() { function printDeleteDocumentButton($document, $msg, $return=false){ /* {{{ */ $docid = $document->getID(); $content = ''; - $content .= ' $document->getName())), ENT_QUOTES).'">'; + $content .= ' $document->getName())), ENT_QUOTES).'">'; if($return) return $content; else diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php index 386e955a9..06f68917e 100644 --- a/views/bootstrap/class.Settings.php +++ b/views/bootstrap/class.Settings.php @@ -265,6 +265,10 @@ if(!is_writeable($settings->_configFilePath)) {
      "> + + "> + + "> From 38902d11055e5f00cb38f91f188b081cb7b08637 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 18:10:57 +0200 Subject: [PATCH 163/212] new item for 5.1.2 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 702ef8fe6..bd0934d91 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,7 @@ - add list of currently logged in users in menu - the owner of a document can see even none public attachments - uploading multiple files can be turned off +- add list of tasks in menu - merged changes from 5.0.12 -------------------------------------------------------------------------------- From 9c678a90f351d50fd62a32b6ea2841eab64ce3a9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 12 May 2017 18:21:42 +0200 Subject: [PATCH 164/212] add view for listing tasks --- out/out.Tasks.php | 41 +++++ views/bootstrap/class.Tasks.php | 267 ++++++++++++++++++++++++++++++++ 2 files changed, 308 insertions(+) create mode 100644 out/out.Tasks.php create mode 100644 views/bootstrap/class.Tasks.php diff --git a/out/out.Tasks.php b/out/out.Tasks.php new file mode 100644 index 000000000..0df3d3763 --- /dev/null +++ b/out/out.Tasks.php @@ -0,0 +1,41 @@ +$dms, 'user'=>$user)); + +if($view) { + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('timeout', $settings->_cmdTimeout); + $view($_GET); + exit; +} + +?> diff --git a/views/bootstrap/class.Tasks.php b/views/bootstrap/class.Tasks.php new file mode 100644 index 000000000..11c121d03 --- /dev/null +++ b/views/bootstrap/class.Tasks.php @@ -0,0 +1,267 @@ + + * @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"); + +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + +/** + * Class which outputs the html page for clipboard 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_Tasks extends SeedDMS_Bootstrap_Style { + + private function __myTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $tasks['review'] = array(); + $tasks['approval'] = array(); + $tasks['receipt'] = array(); + $tasks['revision'] = array(); + $resArr = $dms->getDocumentList('ApproveByMe', $user); + 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']); + } + } + } + $resArr = $dms->getDocumentList('ReviewByMe', $user); + 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']); + } + } + } + return $tasks; + } /* }}} */ + + /** + * Returns the html needed for the task list in the menu + * + * This function renders the tasks in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + function myTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $startts = microtime(true); + + $tasks = $this->__myTasks(); + + header('Content-Type: application/json'); + echo json_encode(array('error'=>0, 'data'=>$tasks, 'processing_time'=>microtime(true)-$startts)); + } /* }}} */ + + /** + * Returns the html needed for the task list in the menu + * + * This function renders the tasks in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + function menuTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + $tasks = $this->__myTasks(); + + $content = ''; +// $content .= " \n"; + echo $content; + } /* }}} */ + + /** + * Returns the html needed for the clipboard list in the menu + * + * This function renders the clipboard in a way suitable to be + * used as a menu + * + * @param array $clipboard clipboard containing two arrays for both + * documents and folders. + * @return string html code + */ + public function menuClipboard() { /* {{{ */ + $clipboard = $this->params['session']->getClipboard(); + if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) { + return ''; + } + $content = ''; + $content .= " \n"; + echo $content; + } /* }}} */ + + /** + * Return clipboard content rendered as html + * + * @param array clipboard + * @return string rendered html content + */ + public function mainClipboard() { /* {{{ */ + $dms = $this->params['dms']; + $clipboard = $this->params['session']->getClipboard(); + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $content = ''; + $foldercount = $doccount = 0; + if($clipboard['folders']) { + foreach($clipboard['folders'] as $folderid) { + /* FIXME: check for access rights, which could have changed after adding the folder to the clipboard */ + if($folder = $dms->getFolder($folderid)) { + $comment = $folder->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + $content .= "getID()."\" class=\"folder table-row-folder\" formtoken=\"".createFormKey('movefolder')."\">"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n"; + $foldercount++; + } + } + } + if($clipboard['docs']) { + foreach($clipboard['docs'] as $docid) { + /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ + if($document = $dms->getDocument($docid)) { + $comment = $document->getComment(); + if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "..."; + if($latestContent = $document->getLatestContent()) { + $previewer->createPreview($latestContent); + $version = $latestContent->getVersion(); + $status = $latestContent->getStatus(); + + $content .= ""; + + if (file_exists($dms->contentDir . $latestContent->getPath())) { + $content .= ""; + } else + $content .= ""; + + $content .= "\n"; + $content .= "\n"; + $content .= ""; + $doccount++; + } + } + } + } + + /* $foldercount or $doccount will only count objects which are + * actually available + */ + if($foldercount || $doccount) { + $content = "
      : _enableClipboard) echo "checked" ?> />
      :_enableMenuTasks) echo "checked" ?> />
      :
      getID()."&showtree=".showtree()."\">imgpath."folder.png\" width=\"24\" height=\"24\" border=0>getID()."&showtree=".showtree()."\">" . htmlspecialchars($folder->getName()) . ""; + if($comment) { + $content .= "
      ".htmlspecialchars($comment).""; + } + $content .= "
      \n"; + $content .= ""; + $content .= "
      "; + if($previewer->hasPreview($latestContent)) { + $content .= "getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } else { + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } + $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">" . htmlspecialchars($document->getName()) . ""; + if($comment) { + $content .= "
      ".htmlspecialchars($comment).""; + } + $content .= "
      \n"; + $content .= ""; + $content .= "
      ".$content; + $content .= "
      "; + } else { + } + $content .= "
      ".getMLText("drag_icon_here")."
      "; + echo $content; + } /* }}} */ + +} From 41f58c3ee44b975ea6d45c13dcbd2363d60b19cb Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 15 May 2017 18:23:16 +0200 Subject: [PATCH 165/212] rename editDocumentAttribute to addDocumentAttribute --- views/bootstrap/class.AddDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index c9a4a161c..206cd7aa7 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -273,7 +273,7 @@ $(document).ready(function() { $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { - $arr = $this->callHook('editDocumentAttribute', null, $attrdef); + $arr = $this->callHook('addDocumentAttribute', null, $attrdef); if(is_array($arr)) { echo "
      ".$arr[0].":
      ".$arr[0].":
      ".$arr[0].":".$arr[1]."
      ".$arr[0].":".$arr[1]."
      ".$arr[0].":".$arr[1]."
      ".$arr[0].":".$arr[1]."
      ".$arr[0].":".$arr[1]."
      ".$arr[0].":".$arr[1]."
      getName()); ?>:printAttributeEditField($attrdef, '') ?> + printAttributeEditField($attrdef, '', 'attributes_version') ?> getAttributeValue($attrdef)) { switch($attrdef->getType()) { @@ -297,10 +297,10 @@ console.log(element); case SeedDMS_Core_AttributeDefinition::type_date: case SeedDMS_Core_AttributeDefinition::type_int: case SeedDMS_Core_AttributeDefinition::type_float: - $this->printInputPresetButtonHtml('attributes_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); + $this->printInputPresetButtonHtml('attributes_version'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); break; case SeedDMS_Core_AttributeDefinition::type_boolean: - $this->printCheckboxPresetButtonHtml('attributes_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef)); + $this->printCheckboxPresetButtonHtml('attributes_version'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef)); break; } // print_r($latestContent->getAttributeValue($attrdef)); From fd55920c5225fe11fa4290f6f9285f228d15c558 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 29 Jun 2017 16:38:16 +0200 Subject: [PATCH 196/212] fix error in preset button --- views/bootstrap/class.UpdateDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index a94dcdc12..ffdd032d0 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -297,10 +297,10 @@ console.log(element); case SeedDMS_Core_AttributeDefinition::type_date: case SeedDMS_Core_AttributeDefinition::type_int: case SeedDMS_Core_AttributeDefinition::type_float: - $this->printInputPresetButtonHtml('attributes_version'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); + $this->printInputPresetButtonHtml('attributes_versiont_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); break; case SeedDMS_Core_AttributeDefinition::type_boolean: - $this->printCheckboxPresetButtonHtml('attributes_version'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef)); + $this->printCheckboxPresetButtonHtml('attributes_version_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef)); break; } // print_r($latestContent->getAttributeValue($attrdef)); From 78cbe8ad5dbc56eb8aaed5f9507efd79a3f22c8b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 29 Jun 2017 16:42:06 +0200 Subject: [PATCH 197/212] fix typo --- views/bootstrap/class.UpdateDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index ffdd032d0..4133de761 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -297,7 +297,7 @@ console.log(element); case SeedDMS_Core_AttributeDefinition::type_date: case SeedDMS_Core_AttributeDefinition::type_int: case SeedDMS_Core_AttributeDefinition::type_float: - $this->printInputPresetButtonHtml('attributes_versiont_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); + $this->printInputPresetButtonHtml('attributes_version_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef), $attrdef->getValueSetSeparator()); break; case SeedDMS_Core_AttributeDefinition::type_boolean: $this->printCheckboxPresetButtonHtml('attributes_version_'.$attrdef->getID(), $latestContent->getAttributeValue($attrdef)); From 1326f825d38d5e8825c1d0d894e4e1a91c18c528 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:43:14 +0200 Subject: [PATCH 198/212] $dms->noReadForStatus no longer needed SeedDMS_Core_DocumentContent::getAccessMode() retrieves the role based access restrictions from the role of the given user --- SeedDMS_Core/Core/inc.ClassDocument.php | 37 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 9ed473895..cb5432ef8 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -1792,7 +1792,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * * This functions returns an array of content elements ordered by version. * Version which are not accessible because of its status, will be filtered - * out. + * out. Access rights based on the document status are calculated for the + * currently logged in user. * * @return array list of objects of class SeedDMS_Core_DocumentContent */ @@ -1826,7 +1827,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * Return the content element of a document with a given version number * * This function will check if the version is accessible and return false - * if not. + * if not. Access rights based on the document status are calculated for the + * currently logged in user. * * @param integer $version version number of content element * @return object/boolean object of class {@link SeedDMS_Core_DocumentContent} @@ -1890,6 +1892,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * {@link SeedDMS_Core_DMS::noReadForStatus} the function will go * backwards in history until an accessible version is found. If none * is found null will be returned. + * Access rights based on the document status are calculated for the + * currently logged in user. * * @return object object of class {@link SeedDMS_Core_DocumentContent} */ @@ -3213,7 +3217,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * like a virtual access mode, derived from the status of the document * content. The function checks if {@link SeedDMS_Core_DMS::noReadForStatus} * contains the status of the version and returns M_NONE if it exists and - * the user is not involved in a workflow or review/approval. + * the user is not involved in a workflow or review/approval/revision. * This method is called by all functions that returns the content e.g. * {@link SeedDMS_Core_Document::getLatestContent()} * It is also used by {@link SeedDMS_Core_Document::getAccessMode()} to @@ -3221,6 +3225,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * * FIXME: This function only works propperly if $u is the currently logged in * user, because noReadForStatus will be set for this user. + * FIXED: instead of using $dms->noReadForStatus it is take from the user's role * * @param object $u user * @return integer either M_NONE or M_READ @@ -3229,12 +3234,21 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $dms = $this->_document->_dms; $db = $dms->getDB(); + if(!$u) + return M_NONE; + /* If read access isn't further restricted by status, than grant read access */ + /* Old code if(!$dms->noReadForStatus) return M_READ; + $noReadForStatus = $dms->noReadForStatus; + */ + $noReadForStatus = $u->getRole()->getNoAccess(); + if(!$noReadForStatus) + return M_READ; /* If the current status is not in list of status without read access, then grant read access */ - if(!in_array($this->getStatus()['status'], $dms->noReadForStatus)) + if(!in_array($this->getStatus()['status'], $noReadForStatus)) return M_READ; /* Administrators have unrestricted access */ @@ -3304,6 +3318,21 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } break; case S_IN_REVISION: + $status = $this->getRevisionStatus(); + foreach ($status as $r) { + if($r['status'] != -2) // Check if reviewer was removed + switch ($r["type"]) { + case 0: // Revisor is an individual. + if($u->getId() == $r["required"]) + return M_READ; + break; + case 1: // Revisor is a group. + $required = $dms->getGroup($r["required"]); + if (is_object($required) && $required->isMember($u)) + return M_READ; + break; + } + } break; case S_REJECTED: break; From 0e2b8df36bec4ed35fd24559daec84438dd6799c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:45:12 +0200 Subject: [PATCH 199/212] fix sql statement to create temp table ttrevisionid and ttreceiptid --- 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 cb1b57daa..5254cfd0d 100644 --- a/SeedDMS_Core/Core/inc.DBAccessPDO.php +++ b/SeedDMS_Core/Core/inc.DBAccessPDO.php @@ -552,7 +552,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreceiptid` AS ". - "SELECT `tblDocumentReceiptLog`.`receiptID`, ". + "SELECT `tblDocumentReceiptLog`.`receiptID` AS `receiptID`, ". "MAX(`tblDocumentReceiptLog`.`receiptLogID`) AS `maxLogID` ". "FROM `tblDocumentReceiptLog` ". "GROUP BY `tblDocumentReceiptLog`.`receiptID` ". @@ -593,7 +593,7 @@ class SeedDMS_Core_DatabaseAccess { switch($this->_driver) { case 'sqlite': $queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` AS ". - "SELECT `tblDocumentRevisionLog`.`revisionID`, ". + "SELECT `tblDocumentRevisionLog`.`revisionID` AS `revisionID`, ". "MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ". "FROM `tblDocumentRevisionLog` ". "GROUP BY `tblDocumentRevisionLog`.`revisionID` ". From 1249d069c761a3b880ea69188e4e603360653254 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:47:23 +0200 Subject: [PATCH 200/212] add note on deprecated $noReadForStatus --- SeedDMS_Core/Core/inc.ClassDMS.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 9ff818685..8f13c9952 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -149,7 +149,9 @@ class SeedDMS_Core_DMS { /** * @var array $noReadForStatus list of status without read right - * online + * online. DO NOT USE ANYMORE. SeedDMS_Core_DocumentContent::getAccessMode() + * was the only method using it, but it now takes the noReadForStatus info + * from the user's role * @access public */ public $noReadForStatus; From bdcf9d8e9353f1c54d0971462ea06c7d77b04259 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:48:03 +0200 Subject: [PATCH 201/212] 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 b5cb5140b..04c5afa7a 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -26,6 +26,8 @@ - speed up getting list of locked documents - setting _logfile in inc.DBAccessPDO.php will log execution times in file +- fix sql statement to create temp table ttrevisionid and ttreceiptid +- SeedDMS_Core_DMS::noReadForStatus no longer needed From c6f7b03700458498021150c9526ee98b44fc1f1c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:48:24 +0200 Subject: [PATCH 202/212] also check for access on document content --- out/out.ObjectCheck.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index a55f48876..ed91bd287 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -78,11 +78,17 @@ foreach($tmprevs as $rev) { if($rev['type'] == 0) { $ruser = $dms->getUser($rev['required']); $mode = $doc->getAccessMode($ruser); + $content = $doc->getContentByVersion($rev['version']); + $cmode = $content->getAccessMode($ruser); } elseif($rev['type'] == 1) { $rgroup = $dms->getGroup($rev['required']); $mode = $doc->getGroupAccessMode($rgroup); + $cmode = M_READ; } - if($mode < M_READ) + /* 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) $docsinrevision[] = $doc; } } @@ -93,11 +99,17 @@ foreach($tmprevs as $rev) { if($rev['type'] == 0) { $ruser = $dms->getUser($rev['required']); $mode = $doc->getAccessMode($ruser); + $content = $doc->getContentByVersion($rev['version']); + $cmode = $content->getAccessMode($ruser); } elseif($rev['type'] == 1) { $rgroup = $dms->getGroup($rev['required']); $mode = $doc->getGroupAccessMode($rgroup); + $cmode = M_READ; } - if($mode < M_READ) + /* 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) $docsinreception[] = $doc; } } From 310fa41bc25a624364da20c615da7ae740c92f27 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:48:56 +0200 Subject: [PATCH 203/212] return more entries in printProtocol() for receipt list --- 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 9e00db6c6..3d78bbc32 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -2686,7 +2686,7 @@ $(document).ready(function() { $statusList = $latestContent->getRevisionStatus(10); break; case "receipt": - $statusList = $latestContent->getReceiptStatus(1); + $statusList = $latestContent->getReceiptStatus(10); break; default: $statusList = array(); From bb4c6fe83b5422ef5fbb5e8d11d0545e84300146 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 10:49:39 +0200 Subject: [PATCH 204/212] show if user has no access on document he/she has to receipt --- views/bootstrap/class.ViewDocument.php | 59 ++++++++++++++------------ 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 751f053c7..43ebefaf1 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -1169,9 +1169,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $required = null; $is_recipient = false; $stat[''.$r['status']]++; + $accesserr = ''; 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 (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } @@ -1206,7 +1209,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "".htmlspecialchars($r["comment"])."".getReceiptStatusText($r["status"])."
        "; - + if($accesserr) + echo "
      • ".$accesserr."
      • "; if($accessop->mayReceipt($document)) { if ($is_recipient) { if($r["status"]==0) { @@ -1668,32 +1672,35 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { foreach($reverselinks as $link) { $responsibleUser = $link->getUser(); $sourceDoc = $link->getDocument(); - $sourcelc = $sourceDoc->getLatestContent(); - - $previewer->createPreview($sourcelc, $previewwidthdetail); - print "
      "; - if($accessop->check_controller_access('Download', array('action'=>'version'))) - print "getID()."&version=".$sourcelc->getVersion()."\">"; - if($previewer->hasPreview($sourcelc)) { - print "getID()."&version=".$sourcelc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; - } else { - print "getMimeIcon($sourcelc->getFileType())."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; + /* Check if latest content is accessible. Could be that even if the document + * is accessible, the document content isn't because of its status + */ + if($sourcelc = $sourceDoc->getLatestContent()) { + $previewer->createPreview($sourcelc, $previewwidthdetail); + print "
      "; + if($accessop->check_controller_access('Download', array('action'=>'version'))) + print "getID()."&version=".$sourcelc->getVersion()."\">"; + if($previewer->hasPreview($sourcelc)) { + print "getID()."&version=".$sourcelc->getVersion()."&width=".$previewwidthlist."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; + } else { + print "getMimeIcon($sourcelc->getFileType())."\" title=\"".htmlspecialchars($sourcelc->getMimeType())."\">"; + } + if($accessop->check_controller_access('Download', array('action'=>'run'))) + print ""; + print "getID()."\" class=\"linklist\">".htmlspecialchars($sourceDoc->getName())."".htmlspecialchars($sourceDoc->getComment())."".getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName()); + if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) + print "
      ".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no")); + print "
      "; + if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) + print "".createHiddenFieldWithKey('removedocumentlink')."getID()."\" />"; + print "
      getID()."\" class=\"linklist\">".htmlspecialchars($sourceDoc->getName())."".htmlspecialchars($sourceDoc->getComment())."".getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName()); - if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) - print "
      ".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no")); - print "
      "; - if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) - print "
      ".createHiddenFieldWithKey('removedocumentlink')."getID()."\" />
      "; - print "
      \n"; $this->contentContainerEnd(); From 410654cb19d1a8f8d8441d8810af7aac24e10ed8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 5 Jul 2017 14:40:57 +0200 Subject: [PATCH 205/212] add more entries for 6.0.1 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 2df1ce1fc..50802f337 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,8 @@ - call hook 'rawcontent' when downloading transmittal list or search content - speed up list of locked documents on MyDocuments page - sql queries and execution times can be written to file in database layer +- add document check for docs in revision and missing access rights of revisor +- add document check for docs requiring receptions but user lacks access right -------------------------------------------------------------------------------- Changes in version 6.0.0 From c26d13484fcfb8f801c29c9c3d4e9deb5efc16cd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 10:32:21 +0200 Subject: [PATCH 206/212] fix regex expression --- op/op.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.Settings.php b/op/op.Settings.php index fa411dda1..c7743cd14 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -215,7 +215,7 @@ if ($action == "saveSettings") if(isset($_POST["converters"]["preview"])) $settings->_converters['preview'] = $_POST["converters"]["preview"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-*]+#', '', $settings->_converters["preview"]["newmimetype"]); + $newmimetype = preg_replace('#[^A-Za-z0-9_/+.*-]+#', '', $settings->_converters["preview"]["newmimetype"]); if($newmimetype && trim($settings->_converters['preview']['newcmd'])) $settings->_converters['preview'][$newmimetype] = trim($settings->_converters['preview']['newcmd']); unset($settings->_converters['preview']['newmimetype']); From d4438dee36b3c05b99219f2b8037c8031bd0df19 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 11:12:20 +0200 Subject: [PATCH 207/212] various language updates --- languages/ar_EG/lang.inc | 1 + languages/bg_BG/lang.inc | 21 +++++++++++---------- languages/ca_ES/lang.inc | 1 + languages/cs_CZ/lang.inc | 1 + languages/de_DE/lang.inc | 13 +++++++------ languages/el_GR/lang.inc | 7 ++++--- languages/en_GB/lang.inc | 11 ++++++----- languages/es_ES/lang.inc | 11 ++++++----- languages/fr_FR/lang.inc | 27 ++++++++++++++------------- languages/hr_HR/lang.inc | 1 + languages/hu_HU/lang.inc | 5 +++-- languages/it_IT/lang.inc | 9 +++++---- languages/ko_KR/lang.inc | 9 +++++---- languages/nl_NL/lang.inc | 7 ++++--- languages/pl_PL/lang.inc | 7 ++++--- languages/pt_BR/lang.inc | 15 ++++++++------- languages/ro_RO/lang.inc | 23 ++++++++++++----------- languages/ru_RU/lang.inc | 1 + languages/sk_SK/lang.inc | 9 +++++---- languages/sv_SE/lang.inc | 11 ++++++----- languages/tr_TR/lang.inc | 7 ++++--- languages/uk_UA/lang.inc | 1 + languages/zh_CN/lang.inc | 7 ++++--- languages/zh_TW/lang.inc | 1 + 24 files changed, 115 insertions(+), 91 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 2a2e1ba10..8dc9b55b1 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -222,6 +222,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'من فضلك اختر تعريف السمة', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index ea265266a..ab60f7778 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/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 (822) +// Translators: Admin (831) $text = array( '2_factor_auth' => '', @@ -158,7 +158,7 @@ $text = array( 'at_least_n_users_of_group' => '', 'august' => 'Август', 'authentication' => '', -'author' => '', +'author' => 'Автор', 'automatic_status_update' => 'Автоматично изменение на статуса', 'back' => 'Назад', 'backup_list' => 'Списък на бекъпите', @@ -194,7 +194,7 @@ $text = array( 'change_recipients' => '', 'change_revisors' => '', 'change_status' => 'Промени статусът', -'charts' => '', +'charts' => 'Графики', 'chart_docsaccumulated_title' => '', 'chart_docspercategory_title' => '', 'chart_docspermimetype_title' => '', @@ -207,6 +207,7 @@ $text = array( 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Изберете attribute definition', @@ -347,7 +348,7 @@ $text = array( 'dropfolder_file' => 'Файл от drop папка', 'dropfolder_folder' => '', 'dropupload' => '', -'drop_files_here' => '', +'drop_files_here' => 'Пусни файла тук!', 'dump_creation' => 'Създаване дъмп на БД', 'dump_creation_warning' => 'Тази операция шъ създаде дамп на базата данни. След създаването, файлът ще бъде съхранен в папката с данни на сървъра.', 'dump_list' => 'Съществуващи дъмпове', @@ -418,7 +419,7 @@ $text = array( 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', 'export' => '', -'extension_manager' => '', +'extension_manager' => 'управление на добавките', 'february' => 'Февруари', 'file' => 'Файл', 'files' => 'Файлове', @@ -485,7 +486,7 @@ $text = array( 'identical_version' => 'Новата версия е идентична с текущата.', 'import' => '', 'importfs' => '', -'import_fs' => '', +'import_fs' => 'добави от файловата система', 'import_fs_warning' => '', 'include_content' => '', 'include_documents' => 'Включи документи', @@ -573,7 +574,7 @@ $text = array( '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' => 'Локален файл', @@ -1221,7 +1222,7 @@ $text = array( 'splash_document_checkedout' => '', 'splash_document_edited' => '', 'splash_document_indexed' => '', -'splash_document_locked' => '', +'splash_document_locked' => 'Документът е заключен', 'splash_document_unlocked' => '', 'splash_edit_attribute' => '', 'splash_edit_event' => '', @@ -1241,7 +1242,7 @@ $text = array( 'splash_receipt_update_success' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', -'splash_rm_document' => '', +'splash_rm_document' => 'Документът е преместен', 'splash_rm_download_link' => '', 'splash_rm_folder' => '', 'splash_rm_group' => '', @@ -1309,7 +1310,7 @@ $text = array( 'theme' => 'Тема', 'thursday' => 'четвъртък', 'thursday_abbr' => '', -'timeline' => '', +'timeline' => 'времева линия', 'timeline_add_file' => '', 'timeline_add_version' => '', 'timeline_full_add_file' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 5457e51d6..73404594d 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -212,6 +212,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 84adaf7df..857e35b12 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -229,6 +229,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Zvolte definici atributů', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 53bc24bb9..e20ccd608 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 (2413), dgrutsch (22) +// Translators: Admin (2420), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -56,7 +56,7 @@ URL: [url]', 'add_approval' => 'Freigabe hinzufügen', 'add_attrdefgroup' => 'Neue Attributgruppe anlegen', 'add_document' => 'Dokument anlegen', -'add_document_link' => 'Verweis hinzufügen', +'add_document_link' => 'Verknüpfung hinzufügen', 'add_document_notify' => 'Beobachter zuweisen', 'add_doc_reviewer_approver_warning' => 'Anmerkung: Dokumente werden automatisch geprüft und als freigegeben markiert, wenn kein Prüfer oder keine Freigabe zugewiesen wird.', 'add_doc_workflow_warning' => 'Anmerkung: Dokumente werden automatisch freigegeben, wenn kein Workflow gewählt wird.', @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'Die Datei des ausgecheckten Dokuments ist nicht mehr vorhanden. Ein Einchecken ist nicht möglich.', 'checkedout_file_is_unchanged' => 'Die Datei des ausgecheckten Dokuments ist noch unverändert. Das Einchecken ist daher nicht möglich. Wenn Sie keine weiteren Änderungen am Dokument vornehmen möchten, dann setzen Sie den CheckOut-Status zurück.', 'checkin_document' => 'Einchecken', +'checkoutpath_does_not_exist' => 'Verzeichnis für das Auschecken von Dokumenten exisitiert nicht', 'checkout_document' => 'Auschecken', 'checkout_is_disabled' => 'Auschecken von Dokumenten ist in der Konfiguration ausgeschaltet.', 'choose_attrdef' => 'Attributdefinition wählen', @@ -349,7 +350,7 @@ Benutzer: [username]', 'document_infos' => 'Informationen', 'document_is_checked_out' => 'Das Dokument ist zur Zeit ausgecheckt. Wenn Sie eine neue Version hochladen, werden Sie die ausgecheckte Version nicht mehr einchecken können.', 'document_is_not_locked' => 'Dieses Dokument ist nicht gesperrt', -'document_link_by' => 'Verweis erstellt von', +'document_link_by' => 'Verknüpfung erstellt von', 'document_link_public' => 'Für alle sichtbar', 'document_moved_email' => 'Dokument verschoben', 'document_moved_email_body' => 'Dokument verschoben @@ -659,7 +660,7 @@ URL: [url]', 'linked_to_document' => 'Mit dem Dokument verknüpft', 'linked_to_this_version' => 'Mit dieser Version verknüpft', 'link_alt_updatedocument' => 'Wenn Sie ein Dokument hochladen möchten, das größer als die maximale Dateigröße ist, dann benutzen Sie bitte die alternative Upload-Seite.', -'link_to_version' => 'Version', +'link_to_version' => 'An Version hängen', 'list_access_rights' => 'Alle Zugriffsrechte auflisten ...', 'list_contains_no_access_docs' => 'Die Liste enthält weitere Dokumente auf die Sie keinen Zugriff haben und deshalb nicht angezeigt werden.', 'list_hooks' => 'Liste interne Aufrufe', @@ -1125,8 +1126,8 @@ URL: [url]', 'settings_cookieLifetime_desc' => 'Die Lebensdauer des Cookies für die Sitzungsverwaltung. Wenn dieser Wert auf 0 gesetzt wird, dann wird der Cookie beim Schließen des Browsers gelöscht.', 'settings_coreDir' => 'Core SeedDMS Verzeichnis', 'settings_coreDir_desc' => 'Pfad zum PEAR-Paket SeedDMS_Core (optional). Lassen Sie diese Einstellung leer, wenn SeedDMS_Core ohnehin von PHP gefunden wird, weil es beispielweise im \'Extra PHP Include-Path\' installiert ist.', -'settings_createCheckOutDir' => 'Check out Verzeichnis', -'settings_createCheckOutDir_desc' => 'Dokumentenversionen werden hierhin kopiert, wenn ein Dokument ausgecheckt wird.', +'settings_createCheckOutDir' => 'Check out Verzeichnis erstellen', +'settings_createCheckOutDir_desc' => 'Check out Verzeichnis erstellen, wenn es nicht existiert.', 'settings_createdatabase' => 'Datenbank erzeugen', 'settings_createdirectory' => 'Verzeichnis erzeugen', 'settings_currentvalue' => 'Aktueller Wert', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index e11fae23b..12382af23 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/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 (224) +// Translators: Admin (226) $text = array( '2_factor_auth' => '', @@ -194,7 +194,7 @@ $text = array( 'change_recipients' => '', 'change_revisors' => '', 'change_status' => '', -'charts' => '', +'charts' => 'Διαγράμματα', 'chart_docsaccumulated_title' => 'Αριθμός Εγγράφων', 'chart_docspercategory_title' => 'Έγγραφα κατά κατηγορία', 'chart_docspermimetype_title' => '', @@ -207,12 +207,13 @@ $text = array( 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => '', 'choose_attrdefgroup' => '', 'choose_category' => 'Επιλέξτε', -'choose_group' => '', +'choose_group' => 'Επιλέξτε Ομάδα', 'choose_role' => '', 'choose_target_category' => 'Επιλογή κατηγορίας', 'choose_target_document' => 'Επιλογή εγγράφου', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index a25085711..659aca8f6 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 (1540), dgrutsch (9), netixw (14) +// Translators: Admin (1545), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'The file of the checked out document has disappeared. Check in will not be possible.', 'checkedout_file_is_unchanged' => 'The file of the checked out document is still unchanged. Check in will not be possible. If do not plan any modifications, you can reset the check out status.', 'checkin_document' => 'Check In', +'checkoutpath_does_not_exist' => 'Checkout path does not exists', 'checkout_document' => 'Check out', 'checkout_is_disabled' => 'Check out of documents is disabled in the configuration.', 'choose_attrdef' => 'Please choose attribute definition', @@ -660,7 +661,7 @@ URL: [url]', 'linked_to_document' => 'Linked to document', 'linked_to_this_version' => 'Linked to this version', 'link_alt_updatedocument' => 'If you would like to upload files bigger than the current maximum upload size, please use the alternative upload page.', -'link_to_version' => 'Version', +'link_to_version' => 'Attach to version', 'list_access_rights' => 'List all access rights ...', 'list_contains_no_access_docs' => 'The list contains more documents you have no access to and are not displayed.', 'list_hooks' => 'List hooks', @@ -1120,8 +1121,8 @@ URL: [url]', 'settings_cookieLifetime_desc' => 'The life time of a cookie in seconds. If set to 0 the cookie will be removed when the browser is closed.', 'settings_coreDir' => 'Core SeedDMS directory', 'settings_coreDir_desc' => 'Path to SeedDMS_Core (optional). Leave this empty if you have installed SeedDMS_Core at a place where it can be found by PHP, e.g. Extra PHP Include-Path', -'settings_createCheckOutDir' => 'Check out directory', -'settings_createCheckOutDir_desc' => 'Document version will be copied in this directory, when a document is checked out.', +'settings_createCheckOutDir' => 'Create check out directory', +'settings_createCheckOutDir_desc' => 'Create checkout dir if it does not exists', 'settings_createdatabase' => 'Create database tables', 'settings_createdirectory' => 'Create directory', 'settings_currentvalue' => 'Current value', @@ -1210,7 +1211,7 @@ URL: [url]', '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_desc' => '', +'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.', 'settings_enableUpdateReceipt' => 'Allow editing of existing reception', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index dbf11e034..a10de4468 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 (1017), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1021), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -170,7 +170,7 @@ URL: [url]', 'attr_malformed_date' => '', 'attr_malformed_email' => '', 'attr_malformed_float' => '', -'attr_malformed_int' => '', +'attr_malformed_int' => 'El atributo valor \'[value]\' del atributo \'[attrname]\' no es un número entero válido', 'attr_malformed_url' => '', 'attr_max_values' => '', 'attr_min_values' => 'No se alcanza el número mínimo de valores requeridos para el campo [attrname]', @@ -229,6 +229,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Por favor, seleccione definición de atributo', @@ -305,7 +306,7 @@ URL: [url]', 'docs_in_reception_no_access' => '', 'docs_in_revision_no_access' => '', 'document' => 'Documento', -'documentcontent' => '', +'documentcontent' => 'Contenido del documento', 'documents' => 'Documentos', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Documentos en proceso', @@ -602,7 +603,7 @@ URL: [url]', 'invalid_target_folder' => 'ID de carpeta destino no válido', 'invalid_user_id' => 'ID de usuario no válido', 'invalid_version' => 'Versión de documento no válida', -'in_folder' => '', +'in_folder' => 'En el directorio', 'in_revision' => '', 'in_workflow' => 'En flujo de trabajo', 'is_disabled' => 'Deshabilitar cuenta', @@ -1052,7 +1053,7 @@ URL: [url]', 'settings_autoLoginUser' => 'Acceso automatico', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Idiomas disponibles', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Unicamente los lenguages seleccionados seran cargados y mostrados en el selector de lenguages. El lenguage por defecto siempre sera cargado', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Carpeta caché', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 21285d70c..7d27f988d 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/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 (1061), jeromerobert (50), lonnnew (9), Oudiceval (239) +// Translators: Admin (1062), jeromerobert (50), lonnnew (9), Oudiceval (250) $text = array( '2_factor_auth' => 'Authentification forte', @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'Le fichier du document bloqué n’existe plus. Le déblocage est impossible.', 'checkedout_file_is_unchanged' => 'Le fichier du document bloqué est inchangé. Le déblocage n’est pas possible. Si vous ne souhaitez pas apporter de modifications, désactivez le blocage.', 'checkin_document' => 'Débloquer (check-in)', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Bloquer (check-out)', 'checkout_is_disabled' => 'Le blocage (check-out) de documents est désactivé dans la configuration.', 'choose_attrdef' => 'Choisissez une définition d\'attribut', @@ -468,14 +469,14 @@ Le lien est valide jusqu’au [valid]. 'expired' => 'Expiré', 'expired_at_date' => 'Expiré le [datetime]', 'expires' => 'Expiration', -'expire_by_date' => '', +'expire_by_date' => 'Expire à une date', 'expire_in_1d' => 'Expire dans 1 jour', 'expire_in_1h' => 'Expire dans 1 heure', 'expire_in_1m' => 'Expire dans 1 mois', 'expire_in_1w' => 'Expire dans 1 semaine', -'expire_in_1y' => '', +'expire_in_1y' => 'Expire dans 1 an', 'expire_in_2h' => 'Expire dans 2 heures', -'expire_in_2y' => '', +'expire_in_2y' => 'Expire dans 2 ans', 'expire_today' => 'Expire aujourd’hui', 'expire_tomorrow' => 'Expire demain', 'expiry_changed_email' => 'Date d\'expiration modifiée', @@ -614,7 +615,7 @@ URL: [url]', 'invalid_target_folder' => 'Identifiant de dossier cible invalide', 'invalid_user_id' => 'Identifiant utilisateur invalide', 'invalid_version' => 'Version de document invalide', -'in_folder' => '', +'in_folder' => 'Dans', 'in_revision' => '', 'in_workflow' => 'Dans le workflow', 'is_disabled' => 'Compte désactivé', @@ -856,7 +857,7 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'pt_BR' => 'Portuguais (BR)', 'quota' => 'Quota', 'quota_exceeded' => 'Votre quota de disque est dépassé de [bytes].', -'quota_is_disabled' => 'Le support des quota 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_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.', 'receipt_deletion_email_body' => 'L’utilisateur a été retiré de la liste des destinataires Document : [name] @@ -1033,7 +1034,7 @@ URL: [url]', 'seq_end' => 'A la fin', 'seq_keep' => 'Conserver la position', 'seq_start' => 'Première position', -'sessions' => '', +'sessions' => 'Utilisateurs en ligne', 'settings' => 'Configuration', 'settings_activate_module' => 'Activez le module', 'settings_activate_php_extension' => 'Activez l\'extension PHP', @@ -1137,10 +1138,10 @@ URL: [url]', 'settings_enableLanguageSelector_desc' => 'Montrer le sélecteur de langue d\'interface après connexion de l\'utilisateur.', 'settings_enableLargeFileUpload' => 'Activer téléchargement des gros fichiers', 'settings_enableLargeFileUpload_desc' => 'Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.', -'settings_enableMenuTasks' => '', -'settings_enableMenuTasks_desc' => '', -'settings_enableMultiUpload' => '', -'settings_enableMultiUpload_desc' => '', +'settings_enableMenuTasks' => 'Activer le menu des tâches', +'settings_enableMenuTasks_desc' => 'Affiche un menu avec la liste des tâches. Cette liste contient les documents en attente d’une action par l’utilisateur.', +'settings_enableMultiUpload' => 'Autoriser le dépôt de plusieurs fichiers', +'settings_enableMultiUpload_desc' => 'Lors de la création d’un document, autoriser le dépôt de plusieurs fichiers à la fois. Un nouveau document sera créé pour chaque fichier.', 'settings_enableNotificationAppRev' => 'Notification correcteur/approbateur', 'settings_enableNotificationAppRev_desc' => 'Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée', 'settings_enableNotificationWorkflow' => 'Envoyer les notifications aux utilisateurs dans le prochain workflow', @@ -1159,8 +1160,8 @@ URL: [url]', 'settings_enableRevisionWorkflow_desc' => '', 'settings_enableSelfRevApp' => 'Autoriser correction/approbbation pour l\'utilisateur actuel', 'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.', -'settings_enableSessionList' => '', -'settings_enableSessionList_desc' => '', +'settings_enableSessionList' => 'Activer la liste des utilisateurs en ligne', +'settings_enableSessionList_desc' => 'Affiche un menu avec la liste des utilisateurs connectés.', 'settings_enableThemeSelector' => 'Sélection du thème', 'settings_enableThemeSelector_desc' => 'Activer/désactiver le sélecteur de thème sur la page de connexion.', 'settings_enableUpdateReceipt' => '', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 448458f75..3838afa8d 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -234,6 +234,7 @@ Internet poveznica: [url]', 'checkedout_file_has_disappeared' => 'Datoteka odjavljenog dokumenta je nestala. Prijava neće biti moguća.', 'checkedout_file_is_unchanged' => 'Datoteka odjavljenog dokumenta je još uvijek nepromijenjena. Prijava neće biti moguća. Ukoliko ne planirate izmjene, možete resetirati status odjave.', 'checkin_document' => 'Prijava', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Odjava', 'checkout_is_disabled' => 'Odjava dokumenata je onemogućena u konfiguraciji.', 'choose_attrdef' => 'Molim odaberite definiciju atributa', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 69bcc7ff3..15363c39c 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/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 (606), ribaz (1023) +// Translators: Admin (607), ribaz (1023) $text = array( '2_factor_auth' => '', @@ -229,6 +229,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Kérem válasszon jellemző meghatározást', @@ -649,7 +650,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Ha a jelenlegi maximális feltöltési méretnél nagyobb állományokat szeretne feltölteni, akkor használja az alternatív feltöltő oldalt.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Összes jogosultság felsorolása...', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Helyi állomány', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index c4589899a..1cde84acd 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 (1551), rickr (144), s.pnt (26) +// Translators: Admin (1554), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -235,6 +235,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'File documento approvato non trovato. Impossibile caricare.', 'checkedout_file_is_unchanged' => 'La versione approvata è uguale alla versione corrente. Impossibile caricare.', 'checkin_document' => 'Da approvare', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Approvato', 'checkout_is_disabled' => 'Approvazione dei documenti disabilitata', 'choose_attrdef' => 'Seleziona l\'Attributo', @@ -608,7 +609,7 @@ URL: [url]', 'invalid_target_folder' => 'ID cartella selezionata non valido', 'invalid_user_id' => 'ID utente non valido', 'invalid_version' => 'Versione del documento non valida', -'in_folder' => '', +'in_folder' => 'nella cartella', 'in_revision' => 'In fase di revisione', 'in_workflow' => 'In fase di lavorazione', 'is_disabled' => 'Account Disabilitato', @@ -798,7 +799,7 @@ URL: [url]', 'only_jpg_user_images' => 'Possono essere utilizzate solo immagini di tipo jpeg', 'order_by_sequence_off' => 'Ordina in sequenza disabilitato', 'original_filename' => 'Nome file originale', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Totale processo di indicizzazione', 'owner' => 'Proprietario', 'ownership_changed_email' => 'Proprietario cambiato', 'ownership_changed_email_body' => 'Cambio di proprietario @@ -894,7 +895,7 @@ Cartella: [folder_path] Utente: [username] URL: [url]', 'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => 'Rimuovi la cartella dopo l\'importazione', 'remove_marked_files' => 'Rimuovi i files contrassegnati', 'repaired' => 'riparato', 'repairing_objects' => 'Riparazione documenti e cartelle in corso...', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index b365cab4d..9e4d59982 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -19,15 +19,15 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (940), daivoc (418) +// Translators: Admin (940), daivoc (421) $text = array( -'2_factor_auth' => '', +'2_factor_auth' => '관리자 ({LOCALE}/lang.inc)', '2_factor_auth_info' => '', '2_fact_auth_secret' => '', 'accept' => '동의', -'access_control' => '', -'access_control_is_off' => '', +'access_control' => '접근 제어', +'access_control_is_off' => '접근 제어 불가', 'access_denied' => '접근가 거부되었습니다.', 'access_inheritance' => '접근 상속', 'access_mode' => '접근 모드', @@ -236,6 +236,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '요청한 문서파일이 사라져 버렸습니다. 확인이 불가능 합니다.', 'checkedout_file_is_unchanged' => '요청한 문서가 아직 변경전 상태입니다. 변경을 원하지 않는 경우 재설정 할 수 있습니다.', 'checkin_document' => '체크인', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '체크아웃', 'checkout_is_disabled' => '체크아웃된 문서는 설정에서 비활성화됩니다.', 'choose_attrdef' => '속성의 정의를 선택하세요', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index c22c6fe9b..f4faeba02 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 (724), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (726), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '', @@ -227,6 +227,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'File is onvindbaar', 'checkedout_file_is_unchanged' => 'Checkout-document ongewijzigd', 'checkin_document' => 'Veranderd document', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Checkout-document', 'checkout_is_disabled' => 'Checkout is niet mogelijk', 'choose_attrdef' => 'Selecteer een kenmerk definitie', @@ -600,7 +601,7 @@ URL: [url]', 'invalid_target_folder' => 'Foutief Doel Map ID', 'invalid_user_id' => 'Foutief Gebruiker ID', 'invalid_version' => 'Foutief Document Versie', -'in_folder' => '', +'in_folder' => 'In map', 'in_revision' => 'In herziening', 'in_workflow' => 'In workflow', 'is_disabled' => 'Deactiveer account', @@ -647,7 +648,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Als u bestanden wilt uploaden groter dan het huidige maximum, gebruik aub de alternatieve upload pagina.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Oplijsten toegangsrechten', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Lokaal bestand', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index e4f597db0..69c5f1c24 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 (768), netixw (84), romi (93), uGn (112) +// Translators: Admin (770), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -140,7 +140,7 @@ URL: [url]', 'attrdef_regex' => 'Wyrażenie regularne', 'attrdef_type' => 'Typ', 'attrdef_type_boolean' => '', -'attrdef_type_date' => '', +'attrdef_type_date' => 'Data', 'attrdef_type_email' => '', 'attrdef_type_float' => 'Liczna zmiennoprzecinkowa', 'attrdef_type_int' => 'Liczba całkowita', @@ -222,6 +222,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Proszę wybrać definicję atrybutu', @@ -595,7 +596,7 @@ URL: [url]', 'invalid_target_folder' => 'Nieprawidłowy identyfikator folderu docelowego', 'invalid_user_id' => 'Nieprawidłowy identyfikator użytkownika', 'invalid_version' => 'Nieprawidłowa wersja dokumentu', -'in_folder' => '', +'in_folder' => 'w folderze', 'in_revision' => '', 'in_workflow' => 'W procesie', 'is_disabled' => 'Konto nieaktywne', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 51529713b..cb404d60e 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 (939), flaviove (627), lfcristofoli (352) +// Translators: Admin (945), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => '', @@ -229,6 +229,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Por favor escolha a definição de atributo', @@ -601,7 +602,7 @@ URL: [url]', 'invalid_target_folder' => 'Invalid Target Folder ID', 'invalid_user_id' => 'Invalid User ID', 'invalid_version' => 'Invalid Document Version', -'in_folder' => '', +'in_folder' => 'Na Pasta', 'in_revision' => '', 'in_workflow' => 'No fluxo de trabalho', 'is_disabled' => 'Desativar conta', @@ -1046,10 +1047,10 @@ URL: [url]', 'settings_advancedAcl_desc' => '', 'settings_apache_mod_rewrite' => 'Apache - Módulo Rewrite', 'settings_Authentication' => 'Definições de autenticação', -'settings_autoLoginUser' => '', +'settings_autoLoginUser' => 'Login automático', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Idiomas disponíveis', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Apenas os idiomas selecionados serão carregados e mostrados no seletor de idioma. O idioma padrão sempre será carregado.', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Diretório de cache', @@ -1066,7 +1067,7 @@ URL: [url]', 'settings_contentDir_desc' => 'Onde arquivos enviados são armazenados (melhor escolher um diretório que não é acessível através de seu web-server)', 'settings_contentOffsetDir' => 'Pasta de Compensação de Conteúdo', 'settings_contentOffsetDir_desc' => 'Para contornar as limitações do sistema de arquivos subjacente, uma nova estrutura de diretórios foi concebida que existe dentro do diretório de conteúdo (Content Directory). Isso requer um diretório base para começar. Normalmente, deixe Isso para a configuração padrão, 1048576, mas pode ser qualquer número ou cadeia de caracteres que ainda não existe dentro (Diretório de conteúdo)', -'settings_convertToPdf' => '', +'settings_convertToPdf' => 'Converte o PDF para visualização', 'settings_convertToPdf_desc' => '', 'settings_cookieLifetime' => 'Tempo de Vida dos Cookies', 'settings_cookieLifetime_desc' => 'O tempo de vida de um cookie em segundos. Se definido como 0, o cookie será removido quando o navegador é fechado.', @@ -1192,7 +1193,7 @@ URL: [url]', 'settings_firstDayOfWeek_desc' => 'Primeiro dia da semana', 'settings_footNote' => 'Nota de Pé', 'settings_footNote_desc' => 'Mensagem a ser exibida na parte inferior de cada página', -'settings_fullSearchEngine' => '', +'settings_fullSearchEngine' => 'Motor de texto', 'settings_fullSearchEngine_desc' => 'Selecione o método utilizado para a busca textual', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', 'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS', @@ -1282,7 +1283,7 @@ URL: [url]', 'settings_rootFolderID_desc' => 'ID da pasta-raiz (na maioria das vezes não precisa ser mudado)', 'settings_SaveError' => 'Erro no arquivo de configuração salvo', 'settings_Server' => 'Configuraçoes do servidor', -'settings_showFullPreview' => '', +'settings_showFullPreview' => 'Mostra o documento completo', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => 'Mostrar traduções em falta', 'settings_showMissingTranslations_desc' => 'Listar todas as traduções faltando na página na parte inferior da página. O usuário conectado será capaz de apresentar uma proposta para uma tradução em falta que serão salvos em um arquivo CSV. Não ativar eáa função, se em um ambiente de produção!', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 0a37fcdc7..5a65698cd 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/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 (1050), balan (87) +// Translators: Admin (1060), balan (87) $text = array( '2_factor_auth' => '', @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'Fisierul documentului verificat a disparut. Check in-ul nu va fi posibil.', 'checkedout_file_is_unchanged' => 'Fisierul documentului verificat este inca neschimbat. Check in-ul nu va fi posibil. Daca nu planuiti modificari, puteti reseta starea de Verificare.', 'checkin_document' => 'Check In', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Verifica', 'checkout_is_disabled' => 'Verificarea documentelor este dezactivata in configurari.', 'choose_attrdef' => 'Vă rugăm să alegeți definiția atributului', @@ -255,7 +256,7 @@ URL: [url]', 'clear_password' => '', 'clipboard' => 'Clipboard', 'close' => 'Inchide', -'command' => '', +'command' => 'Comanda', 'comment' => 'Comentariu', 'comment_changed_email' => '', 'comment_for_current_version' => 'Comentariu versiune', @@ -571,7 +572,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Include documente', 'include_subdirectories' => 'Include subfoldere', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Actiuni de indexare in stiva', 'index_converters' => 'Indexare conversie documente', 'index_done' => '', 'index_error' => '', @@ -654,7 +655,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Dacă doriți să încărcați fișiere mai mari decât dimensiunea maximă curentă de încărcare, vă rugăm să folosiți alternativa pagină de încărcare.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Listeaza toate drepturile de acces', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Fișier local', @@ -797,7 +798,7 @@ URL: [url]', 'only_jpg_user_images' => 'Doar imagini .jpg pot fi utilizate ca imagine-utilizator', 'order_by_sequence_off' => 'Ordonarea dupa secventa este dezactivata in setari. Daca doriti acest parametru sa aiba efect, va trebui sa-l reactivati.', 'original_filename' => 'Nume de fișier original', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Progres indexare total', 'owner' => 'Proprietar', 'ownership_changed_email' => 'Proprietar schimbat', 'ownership_changed_email_body' => 'Proprietar schimbat @@ -1053,7 +1054,7 @@ URL: [url]', 'select_users' => 'Click pentru a selecta utilizatori', 'select_workflow' => 'Selectați workflow', 'send_email' => '', -'send_test_mail' => '', +'send_test_mail' => 'Trimite e-mail de test', 'september' => 'Septembrie', 'sequence' => 'Poziție', 'seq_after' => 'După "[prevname]"', @@ -1071,9 +1072,9 @@ URL: [url]', 'settings_advancedAcl_desc' => '', 'settings_apache_mod_rewrite' => 'Apache - Module Rewrite', 'settings_Authentication' => 'Setări de autentificare', -'settings_autoLoginUser' => '', +'settings_autoLoginUser' => 'Login automat', 'settings_autoLoginUser_desc' => '', -'settings_available_languages' => '', +'settings_available_languages' => 'Limbi disponibile', 'settings_available_languages_desc' => '', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', @@ -1091,7 +1092,7 @@ URL: [url]', 'settings_contentDir_desc' => 'Unde sunt stocate fișierele încărcate (este recomandat sa alegeti un director care nu este accesibil prin intermediul web-server-ului dumneavoastră)', 'settings_contentOffsetDir' => 'Conținut Director Offset', 'settings_contentOffsetDir_desc' => 'Pentru a lucra în jurul valorii de limităre în sistemul de fișiere de bază, o nouă structură director a fost concepută care există in directorul conținut (Content Director). Acest lucru necesită un director de bază din care să se înceapă. De obicei, lăsați asta la setarea implicită, 1048576, dar se poate trece orice număr sau șir care nu este deja inclus (Content Director)', -'settings_convertToPdf' => '', +'settings_convertToPdf' => 'Converteste PDF pentru previzualizare', 'settings_convertToPdf_desc' => '', 'settings_cookieLifetime' => 'Timp de viață Cookie', 'settings_cookieLifetime_desc' => 'Durata de viață a unui cookie în secunde. Dacă este setat la 0 cookie-ul va fi eliminat atunci când browser-ul este închis.', @@ -1307,7 +1308,7 @@ URL: [url]', 'settings_rootFolderID_desc' => 'ID-ul folder-ului rădăcină (de regulă nu este nevoie să se schimbe)', 'settings_SaveError' => 'Eroare la salvarea fișierului de configurare', 'settings_Server' => 'Setări server', -'settings_showFullPreview' => '', +'settings_showFullPreview' => 'Afiseaza document integral', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => 'Arată traducerile lipsă', 'settings_showMissingTranslations_desc' => 'Listează toate traducerile lipsă în partea de jos a paginii. Utilizatorul autentificat va putea să propună o traducere lipsă care va fi apoi salvată într-un fișier csv. Nu porniți această funcționalitate într-un mediu de producție!', @@ -1482,7 +1483,7 @@ URL: [url]', 'thursday' => 'Joi', 'thursday_abbr' => 'Jo', 'timeline' => 'Cronologie', -'timeline_add_file' => '', +'timeline_add_file' => 'Atasament nou', 'timeline_add_version' => '', 'timeline_full_add_file' => '[document]
      Adaugă atașament', 'timeline_full_add_version' => '', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index a51da48e8..8d0cc45a8 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'Файл полученного документа не найден. Загрузка невозможна.', 'checkedout_file_is_unchanged' => 'Документ не изменен. Загрузка не возможна.', 'checkin_document' => 'Получение', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Загрузка', 'checkout_is_disabled' => 'Загрузка отключена.', 'choose_attrdef' => 'Выберите атрибут', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 7deecf7f9..fee6ee8e1 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 (544), destinqo (19) +// Translators: Admin (547), destinqo (19) $text = array( '2_factor_auth' => '', @@ -211,6 +211,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => '', @@ -422,7 +423,7 @@ URL: [url]', 'expiry_changed_email_body' => '', 'expiry_changed_email_subject' => '', 'export' => '', -'extension_manager' => '', +'extension_manager' => 'Správa rozšírení', 'february' => 'Február', 'file' => 'Súbor', 'files' => 'Súbory', @@ -489,7 +490,7 @@ URL: [url]', 'identical_version' => '', 'import' => '', 'importfs' => '', -'import_fs' => '', +'import_fs' => 'Importovanie zo súborového systému', 'import_fs_warning' => '', 'include_content' => '', 'include_documents' => 'Vrátane súborov', @@ -635,7 +636,7 @@ URL: [url]', 'new_attrdef' => '', 'new_default_keywords' => 'Pridať kľúčové slová', 'new_default_keyword_category' => 'Pridať kategóriu', -'new_document_category' => '', +'new_document_category' => 'Pridať kategóriu', 'new_document_email' => 'Novy dokument', 'new_document_email_body' => '', 'new_document_email_subject' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 1edf20bc2..04f955c4f 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/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 (1140), tmichelfelder (106) +// Translators: Admin (1144), tmichelfelder (106) $text = array( '2_factor_auth' => '', @@ -57,7 +57,7 @@ URL: [url]', 'add_attrdefgroup' => '', 'add_document' => 'Lägg till dokument', 'add_document_link' => 'Lägg till länkat dokument', -'add_document_notify' => '', +'add_document_notify' => 'Lägg till notifiering', 'add_doc_reviewer_approver_warning' => 'OBS! Dokumentet kommer automatiskt att markeras klart för användning, om ingen person anges för granskning eller godkännande av dokumentet.', 'add_doc_workflow_warning' => 'OBS! Dokumentet kommer automatiskt att markeras klart för användning, om inget arbetsflöde anges.', 'add_event' => 'Lägg till händelse', @@ -222,6 +222,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Välj attributdefinition', @@ -473,7 +474,7 @@ URL: [url]', 'files' => 'Filer', 'files_deletion' => 'Ta bort alla filer', 'files_deletion_warning' => 'Med detta alternativ kan du ta bort alla filer i en dokumentkatalog. Versionsinformationen kommer fortfarande att visas.', -'files_loading' => '', +'files_loading' => 'V.v. vänta tills listan med filer har laddats ...', 'file_size' => 'Filstorlek', 'filter_for_documents' => '', 'filter_for_folders' => '', @@ -1003,12 +1004,12 @@ URL: [url]', 'select_grp_ind_notification' => '', 'select_grp_ind_recipients' => '', 'select_grp_ind_reviewers' => '', -'select_grp_notification' => '', +'select_grp_notification' => 'Klicka för att välja gruppnotifiering', 'select_grp_recipients' => '', 'select_grp_reviewers' => 'Välj en grupp som ska granska', 'select_grp_revisors' => '', 'select_ind_approvers' => 'Välj en person som ska godkänna', -'select_ind_notification' => '', +'select_ind_notification' => 'Klicka för att välja individuell notifiering', 'select_ind_recipients' => '', 'select_ind_reviewers' => 'Välj en person som ska granska', 'select_ind_revisors' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index f00a0913f..3e3cdfe5a 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/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 (1049), aydin (83) +// Translators: Admin (1051), aydin (83) $text = array( '2_factor_auth' => '', @@ -228,6 +228,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => 'Lütfen nitelik tanımını seçiniz', @@ -648,7 +649,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Mevcut maksimum yükleme boyutundan daha büyük dosya yüklemek istiyorsanız alternatif yükleme sayfası için tıklayın.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Tüm erişim haklarini listele', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Yerel dosya', @@ -1448,7 +1449,7 @@ URL: [url]', 'sunday_abbr' => 'Pa', 'sv_SE' => 'İsveççe', 'switched_to' => 'Yerine geçilen', -'takeOverAttributeValue' => '', +'takeOverAttributeValue' => 'Son versiyondaki özellikleri devral', 'takeOverGrpApprover' => 'Bir önceki versiyon onayını yapan grubu al.', 'takeOverGrpReviewer' => 'Bir önceki versiyon kontrolünü yapan grubu al.', 'takeOverIndApprover' => 'Bir önceki versiyonu onaylayanı al.', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 8eca604ce..abade20aa 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -234,6 +234,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'Файл отримуваного документа не знайдено. Завантаження неможливе.', 'checkedout_file_is_unchanged' => 'Документ не змінено. Завантаження неможливе', 'checkin_document' => 'Отримання', +'checkoutpath_does_not_exist' => '', 'checkout_document' => 'Завантаження', 'checkout_is_disabled' => 'Завантаження відключене', 'choose_attrdef' => 'Оберіть атрибут', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index a0e34f733..149d70e5c 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 (681), fengjohn (5) +// Translators: Admin (683), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -211,6 +211,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => '请选择属性', @@ -496,7 +497,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => '包含文档', 'include_subdirectories' => '包含子目录', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => '队列中的检索任务', 'index_converters' => '索引文件转换', 'index_done' => '', 'index_error' => '', @@ -1044,7 +1045,7 @@ URL: [url]', 'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val1' => '', 'settings_expandFolderTree_val2' => '', -'settings_Extensions' => '', +'settings_Extensions' => '设置扩展', 'settings_extraPath' => '额外的PHP的include路径', 'settings_extraPath_desc' => '附加软件的路径。这是包含目录,例如在ADODB目录或额外的PEAR包', 'settings_firstDayOfWeek' => '每周第一天', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 59d678d9c..01b127201 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -211,6 +211,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => '', 'checkedout_file_is_unchanged' => '', 'checkin_document' => '', +'checkoutpath_does_not_exist' => '', 'checkout_document' => '', 'checkout_is_disabled' => '', 'choose_attrdef' => '請選擇屬性', From ab6665d64d0be4f6bd997276c252c30def73a623 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 11:13:38 +0200 Subject: [PATCH 208/212] add entry form 4.3.35 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index d99fc60e8..0cb18c54c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ - show role of users in user list and substitute user list - mysql sql_mode=only_full_group_by can be set without causing errors when creating a temporary table +- translation updates -------------------------------------------------------------------------------- Changes in version 4.3.34 From aad36c0973d95626196a06c2fc160394802a0132 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 14:57:07 +0200 Subject: [PATCH 209/212] and changes for 5.0.12 --- CHANGELOG | 7 +++++++ SeedDMS_Core/package.xml | 1 + 2 files changed, 8 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 79405da07..96e4a989d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,13 @@ - show name and parent folder of document/folder in search list on different lines - check for guest login, admin ip and disabled accounts in webdav server +- update last access time in session only once a minute +- set Return-Path in emails if from_address in settings is set +- pass more arguments to hooks (pre|post)UpdateDocument and searchListHeader +- show help messages on settings page if available +- fix regex expression in op/op.Settings.php (Closes #317) +- better debugging of sql statements in SeedDM_Core +- move css for timeline into Timeline view - merged changes from 4.3.35 -------------------------------------------------------------------------------- diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index c3fdb0caa..49a844d47 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,6 +24,7 @@ GPL License +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 From 25d609d89484e7433db35ab70edc40ec62c5f8a8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 15:08:16 +0200 Subject: [PATCH 210/212] add changelog for 5.0.12 --- SeedDMS_Core/package.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index afeca6979..d1fc21a83 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -1377,6 +1377,21 @@ do not sort some temporary tables anymore, because it causes an error in mysql i - all changes from 4.3.34 merged + + 2017-07-10 + + + 5.0.12 + 5.0.12 + + + stable + stable + + GPL License + + + 2017-02-20 From 0b6cb2648173c3cacdb6d5fcad54f8840efe0dd8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 10 Jul 2017 15:11:04 +0200 Subject: [PATCH 211/212] fix notes for 5.1.2 and 5.0.12 --- SeedDMS_Core/package.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index d1fc21a83..df18b1ea9 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,8 +24,13 @@ GPL License -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 +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 @@ -1389,7 +1394,9 @@ do not sort some temporary tables anymore, because it causes an error in mysql i stable GPL License - + +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 From b1e45727618f668084179b04c5476474dec537ac Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 11 Jul 2017 11:12:54 +0200 Subject: [PATCH 212/212] turn all hrefs to out.XxxxVvvv.php into ../out/out.XxxxVvvv.php --- views/bootstrap/class.Bootstrap.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 7a4ef7871..33d8979d4 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -1099,7 +1099,7 @@ $(document).ready(function() { print "
      \n"; print ""; print ""; - print "".getMLText("category")."…\n"; + print "".getMLText("category")."…\n"; print "
      \n"; ?>