Merge branch 'seeddms-5.1.x' into seeddms-5.2.x

This commit is contained in:
Uwe Steinmann 2017-01-25 18:19:13 +01:00
commit 5c4ba8f8d3
61 changed files with 1222 additions and 449 deletions

View File

@ -10,6 +10,13 @@
--------------------------------------------------------------------------------
- merge changes up to 5.0.9
- filter documents by status 'draft' on search page
- list of documents to look at now contains documents in revision
- add list of documents waiting for reception on MyDocuments page
- group document lists on MyDocuments page into three sections
- show progressbar and comments for reception of document in documentlist
- restructure page for document/folder check, add check for missing access
on documents by recipient or revisor
- overhaul revision workflow, add hook after revision workflow was finished
--------------------------------------------------------------------------------
Changes in version 5.1.1
@ -99,10 +106,10 @@
--------------------------------------------------------------------------------
Changes in version 4.3.32
--------------------------------------------------------------------------------
- fix saving new mimetype for fulltext search, available languages
- fix saving new mimetype for fulltext search, available languages (Closes #308)
- put access rights of folder into popup box if more than 3 exists
- define apache_request_headers() if it does not exists, makes webdav
work in fast cgi mode or on webservers other than apache
- do not execute code which uses apache_request_headers() if it does not exists,
makes webdav work in fast cgi mode or on webservers other than apache (Closes #300)
- clean up of distribution created by makefile
- order groups in select boxes by name
- javascript added by addToFooterJS() will be written to a temp. file
@ -115,6 +122,9 @@
- replace lots of tables in forms by bootstraps control-group
- add remove button to folder selector
- editing of an exiting review/approval can be turned off
- add searching for id of folder/document (Closes #302)
- admin may set owner of document when uploading it
- default access rights for documents can be set in configuration
--------------------------------------------------------------------------------
Changes in version 4.3.31

View File

@ -1018,7 +1018,7 @@ class SeedDMS_Core_DMS {
$queryStr = '';
}
break; // }}}
case 'AppRevOwner': // Documents waiting for review/approval I'm owning {{{
case 'AppRevOwner': // Documents waiting for review/approval/revision I'm owning {{{
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
@ -1026,7 +1026,7 @@ class SeedDMS_Core_DMS {
else
$orderdir = 'ASC';
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") ";
"AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_IN_REVISION.") ";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
@ -1036,6 +1036,36 @@ class SeedDMS_Core_DMS {
// "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") ".
// "ORDER BY `statusDate` DESC";
break; // }}}
case 'ReceiveOwner': // Documents waiting for reception I'm owning {{{
$user = $param1;
$orderby = $param3;
if($param4 == 'desc')
$orderdir = 'DESC';
else
$orderdir = 'ASC';
$qs = 'SELECT DISTINCT documentID FROM `tblDocumentRecipients` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID`';
$ra = $this->db->getResultArray($qs);
if (is_bool($ra) && !$ra) {
return false;
}
$docs = array();
foreach($ra as $d) {
$docs[] = $d['documentID'];
}
if ($docs) {
$queryStr .= "AND `tblDocuments`.`id` IN (" . implode(',', $docs) . ") ";
$queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."'";
if ($orderby=='e') $queryStr .= "ORDER BY `expires`";
else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`";
else if ($orderby=='s') $queryStr .= "ORDER BY `status`";
else $queryStr .= "ORDER BY `name`";
$queryStr .= " ".$orderdir;
} else {
$queryStr = '';
}
break; // }}}
case 'RejectOwner': // Documents that has been rejected and I'm owning {{{
$user = $param1;
$orderby = $param3;
@ -1211,7 +1241,7 @@ class SeedDMS_Core_DMS {
// if none is checkd search all
if (count($searchin)==0)
$searchin=array(1, 2, 3, 4);
$searchin=array(1, 2, 3, 4, 5);
/*--------- Do it all over again for folders -------------*/
$totalFolders = 0;
@ -1373,6 +1403,9 @@ class SeedDMS_Core_DMS {
$searchFields[] = "`tblDocumentAttributes`.`value`";
$searchFields[] = "`tblDocumentContentAttributes`.`value`";
}
if (in_array(5, $searchin)) {
$searchFields[] = "`tblDocuments`.`id`";
}
if (count($searchFields)>0) {
@ -2757,6 +2790,44 @@ class SeedDMS_Core_DMS {
return $transition;
} /* }}} */
/**
* Return all documents waiting for or in reception
*
* This function retrieves all documents and its version which are waiting for
* reception
*
* @return object instance of {@link SeedDMS_Core_DocumentContent} or false
*/
function getDocumentsInReception() { /* {{{ */
if (!$this->db->createTemporaryTable("ttreceiptid") || !$this->db->createTemporaryTable("ttcontentid")) {
return false;
}
$queryStr =
"SELECT `tblDocumentRecipients`.* FROM `tblDocumentRecipients` LEFT JOIN `ttreceiptid` ON `tblDocumentRecipients`.`receiptID` = `ttreceiptid`.`receiptID` LEFT JOIN `tblDocumentReceiptLog` ON `ttreceiptid`.`maxLogID` = `tblDocumentReceiptLog`.`receiptLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRecipients`.`version` AND `ttcontentid`.`document`=`tblDocumentRecipients`.`documentID` WHERE `tblDocumentReceiptLog`.`status`=0 AND `ttcontentid`.`maxVersion` IS NOT NULL";
$resArr = $this->db->getResultArray($queryStr);
return $resArr;
} /* }}} */
/**
* Return all documents waiting for or in revision
*
* This function retrieves all documents and its version which are waiting for
* revision or already in revision
*
* @return object instance of {@link SeedDMS_Core_DocumentContent} or false
*/
function getDocumentsInRevision() { /* {{{ */
if (!$this->db->createTemporaryTable("ttrevisionid") || !$this->db->createTemporaryTable("ttcontentid")) {
return false;
}
$queryStr =
"SELECT `tblDocumentRevisors`.* FROM `tblDocumentRevisors` LEFT JOIN `ttrevisionid` ON `tblDocumentRevisors`.`revisionID` = `ttrevisionid`.`revisionID` LEFT JOIN `tblDocumentRevisionLog` ON `ttrevisionid`.`maxLogID` = `tblDocumentRevisionLog`.`revisionLogID` LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion`=`tblDocumentRevisors`.`version` AND `ttcontentid`.`document`=`tblDocumentRevisors`.`documentID` WHERE `tblDocumentRevisionLog`.`status` in (0, -3) AND `ttcontentid`.`maxVersion` IS NOT NULL";
$resArr = $this->db->getResultArray($queryStr);
return $resArr;
} /* }}} */
/**
* Returns document content which is not linked to a document
*
@ -2769,7 +2840,7 @@ class SeedDMS_Core_DMS {
function getUnlinkedDocumentContent() { /* {{{ */
$queryStr = "SELECT * FROM tblDocumentContent WHERE document NOT IN (SELECT id FROM tblDocuments)";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
if ($resArr === false)
return false;
$versions = array();
@ -2793,7 +2864,7 @@ class SeedDMS_Core_DMS {
function getNoFileSizeDocumentContent() { /* {{{ */
$queryStr = "SELECT * FROM tblDocumentContent WHERE fileSize = 0 OR fileSize is null";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
if ($resArr === false)
return false;
$versions = array();
@ -2817,7 +2888,7 @@ class SeedDMS_Core_DMS {
function getNoChecksumDocumentContent() { /* {{{ */
$queryStr = "SELECT * FROM tblDocumentContent WHERE checksum = '' OR checksum is null";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
if ($resArr === false)
return false;
$versions = array();
@ -2839,7 +2910,7 @@ class SeedDMS_Core_DMS {
* in version 4.0.0 of SeedDMS for finding duplicates.
*/
function getDuplicateDocumentContent() { /* {{{ */
$queryStr = "SELECT a.*, b.id as dupid FROM tblDocumentContent a LEFT JOIN tblDocumentContent b ON a.checksum=b.checksum where a.id!=b.id ORDER by a.id";
$queryStr = "SELECT a.*, b.id as dupid FROM tblDocumentContent a LEFT JOIN tblDocumentContent b ON a.checksum=b.checksum where a.id!=b.id ORDER by a.id LIMIT 1000";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;

View File

@ -4805,6 +4805,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
/* Does it make sense to put all revisions into sleeping mode? I guess
* not. If a document was released or rejected the revision are useless
* anyway
*/
foreach($revisionStatus as $status) {
if($status['status'] != S_LOG_SLEEPING && $status['status'] != S_LOG_USER_REMOVED) {
$queryStr = "INSERT INTO `tblDocumentRevisionLog` (`revisionID`, `status`,
@ -4819,7 +4820,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
}
}
*/
if(!$this->setStatus($docstatus, $docmsg, $requestUser)) {
$db->rollbackTransaction();
return false;

View File

@ -106,6 +106,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if (in_array(4, $searchin)) {
$searchFields[] = "`tblFolderAttributes`.`value`";
}
if (in_array(5, $searchin)) {
$searchFields[] = "`tblFolders`.`id`";
}
return $searchFields;
} /* }}} */

View File

@ -461,18 +461,24 @@ class SeedDMS_Core_Group { /* {{{ */
$status = array();
if (!$db->createTemporaryTable("ttcontentid")) {
return false;
}
// See if the group is assigned as a revisor.
$queryStr = "SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status`, ".
"`tblDocumentRevisionLog`.`comment`, `tblDocumentRevisionLog`.`date`, ".
"`tblDocumentRevisionLog`.`userID` ".
"FROM `tblDocumentRevisors` ".
"LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ".
"WHERE `tblDocumentRevisors`.`type`='1' ".
($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' ").
($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' ").
"AND `tblDocumentRevisors`.`required`='". $this->_id ."' ";
($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : "").
"AND `tblDocumentRevisors`.`required`='". $this->_id ."' ".
"ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
if ($resArr === false)
return false;
if (count($resArr)>0) {
$status['status'] = array();

View File

@ -1223,6 +1223,9 @@ class SeedDMS_Core_User { /* {{{ */
$status = array("indstatus"=>array(), "grpstatus"=>array());
// See if the user is assigned as an individual reviewer.
/* FIXME: See query of getRevisionStatus() because it also restricts on
* latest version. This may be needed here too.
*/
$queryStr = "SELECT `tblDocumentReviewers`.*, `tblDocumentReviewLog`.`status`, ".
"`tblDocumentReviewLog`.`comment`, `tblDocumentReviewLog`.`date`, ".
"`tblDocumentReviewLog`.`userID` ".
@ -1310,6 +1313,9 @@ class SeedDMS_Core_User { /* {{{ */
$db = $this->_dms->getDB();
$status = array("indstatus"=>array(), "grpstatus"=>array());
/* FIXME: See query of getRevisionStatus() because it also restricts on
* latest version. This may be needed here too.
*/
$queryStr =
"SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`status`, ".
"`tblDocumentApproveLog`.`comment`, `tblDocumentApproveLog`.`date`, ".
@ -1390,15 +1396,22 @@ class SeedDMS_Core_User { /* {{{ */
$status = array("indstatus"=>array(), "grpstatus"=>array());
if (!$db->createTemporaryTable("ttcontentid")) {
return false;
}
// See if the user is assigned as an individual recipient.
// left join with ttcontentid to restrict result on latest version of document
// unless a document and version is given
$queryStr = "SELECT `tblDocumentRecipients`.*, `tblDocumentReceiptLog`.`status`, ".
"`tblDocumentReceiptLog`.`comment`, `tblDocumentReceiptLog`.`date`, ".
"`tblDocumentReceiptLog`.`userID` ".
"FROM `tblDocumentRecipients` ".
"LEFT JOIN `tblDocumentReceiptLog` USING (`receiptID`) ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID` ".
"WHERE `tblDocumentRecipients`.`type`='0' ".
($documentID==null ? "" : "AND `tblDocumentRecipients`.`documentID` = '". (int) $documentID ."' ").
($version==null ? "" : "AND `tblDocumentRecipients`.`version` = '". (int) $version ."' ").
($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` " : "").
"AND `tblDocumentRecipients`.`required`='". $this->_id ."' ".
"ORDER BY `tblDocumentReceiptLog`.`receiptLogID` DESC";
$resArr = $db->getResultArray($queryStr);
@ -1423,10 +1436,12 @@ class SeedDMS_Core_User { /* {{{ */
"`tblDocumentReceiptLog`.`userID` ".
"FROM `tblDocumentRecipients` ".
"LEFT JOIN `tblDocumentReceiptLog` USING (`receiptID`) ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` AND `ttcontentid`.`document` = `tblDocumentRecipients`.`documentID` ".
"LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentRecipients`.`required` ".
"WHERE `tblDocumentRecipients`.`type`='1' ".
($documentID==null ? "" : "AND `tblDocumentRecipients`.`documentID` = '". (int) $documentID ."' ").
($version==null ? "" : "AND `tblDocumentRecipients`.`version` = '". (int) $version ."' ").
($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRecipients`.`version` " : "").
"AND `tblGroupMembers`.`userID`='". $this->_id ."' ".
"ORDER BY `tblDocumentReceiptLog`.`receiptLogID` DESC";
$resArr = $db->getResultArray($queryStr);
@ -1470,21 +1485,29 @@ class SeedDMS_Core_User { /* {{{ */
$status = array("indstatus"=>array(), "grpstatus"=>array());
if (!$db->createTemporaryTable("ttcontentid")) {
return false;
}
// See if the user is assigned as an individual revisor.
// left join with ttcontentid to restrict result on latest version of document
// unless a document and version is given
$queryStr = "SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status`, ".
"`tblDocumentRevisionLog`.`comment`, `tblDocumentRevisionLog`.`date`, ".
"`tblDocumentRevisionLog`.`userID` ".
"FROM `tblDocumentRevisors` ".
"LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ".
"WHERE `tblDocumentRevisors`.`type`='0' ".
($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' ").
($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' ").
($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : "").
"AND `tblDocumentRevisors`.`required`='". $this->_id ."' ".
"ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr === false)
if ($resArr === false)
return false;
if (count($resArr)>0) {
$status['indstatus'] = array();
foreach ($resArr as $res) {
if($res['date']) {
if(isset($status["indstatus"][$res['documentID']])) {
@ -1505,10 +1528,12 @@ class SeedDMS_Core_User { /* {{{ */
"`tblDocumentRevisionLog`.`userID` ".
"FROM `tblDocumentRevisors` ".
"LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ".
"LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentRevisors`.`required` ".
"WHERE `tblDocumentRevisors`.`type`='1' ".
($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' ").
($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' ").
($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : "").
"AND `tblGroupMembers`.`userID`='". $this->_id ."' ".
"ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC";
$resArr = $db->getResultArray($queryStr);

View File

@ -88,10 +88,15 @@ class SeedDMS_Core_DatabaseAccess {
private $_ttcontentid;
/**
* @var boolean set to true if temp. table for doc content has been created
* @var boolean set to true if temp. table for doc reception has been created
*/
private $_ttreceiptid;
/**
* @var boolean set to true if temp. table for doc revision has been created
*/
private $_ttrevisionid;
/**
* @var boolean set to true if in a database transaction
*/
@ -157,6 +162,7 @@ class SeedDMS_Core_DatabaseAccess {
$this->_ttstatid = false;
$this->_ttcontentid = false;
$this->_ttreceiptid = false;
$this->_ttrevisionid = false;
$this->_debug = false;
} /* }}} */
@ -341,7 +347,7 @@ class SeedDMS_Core_DatabaseAccess {
}
return $this->_ttreviewid;
}
else if (!strcasecmp($tableName, "ttapproveid")) {
elseif (!strcasecmp($tableName, "ttapproveid")) {
switch($this->_driver) {
case 'sqlite':
$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` AS ".
@ -374,7 +380,7 @@ class SeedDMS_Core_DatabaseAccess {
}
return $this->_ttapproveid;
}
else if (!strcasecmp($tableName, "ttstatid")) {
elseif (!strcasecmp($tableName, "ttstatid")) {
switch($this->_driver) {
case 'sqlite':
$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttstatid` AS ".
@ -407,7 +413,7 @@ class SeedDMS_Core_DatabaseAccess {
}
return $this->_ttstatid;
}
else if (!strcasecmp($tableName, "ttcontentid")) {
elseif (!strcasecmp($tableName, "ttcontentid")) {
switch($this->_driver) {
case 'sqlite':
$queryStr = "CREATE TEMPORARY TABLE `ttcontentid` AS ".
@ -473,6 +479,39 @@ class SeedDMS_Core_DatabaseAccess {
}
return $this->_ttreceiptid;
}
elseif (!strcasecmp($tableName, "ttrevisionid")) {
switch($this->_driver) {
case 'sqlite':
$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` AS ".
"SELECT `tblDocumentRevisionLog`.`revisionID`, ".
"MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ".
"FROM `tblDocumentRevisionLog` ".
"GROUP BY `tblDocumentRevisionLog`.`revisionID` ".
"ORDER BY `maxLogID`";
break;
default:
$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttrevisionid` (PRIMARY KEY (`revisionID`), INDEX (`maxLogID`)) ".
"SELECT `tblDocumentRevisionLog`.`revisionID`, ".
"MAX(`tblDocumentRevisionLog`.`revisionLogID`) AS `maxLogID` ".
"FROM `tblDocumentRevisionLog` ".
"GROUP BY `tblDocumentRevisionLog`.`revisionID` ".
"ORDER BY `maxLogID`";
}
if (!$this->_ttrevisionid) {
if (!$this->getResult($queryStr))
return false;
$this->_ttrevisionid=true;
}
else {
if (is_bool($override) && $override) {
if (!$this->getResult("DELETE FROM `ttrevisionid`"))
return false;
if (!$this->getResult($queryStr))
return false;
}
}
return $this->_ttrevisionid;
}
return false;
} /* }}} */

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2016-11-08</date>
<date>2017-01-18</date>
<time>14:06:06</time>
<version>
<release>5.0.9</release>
<api>5.0.9</api>
<release>5.1.2</release>
<api>5.1.2</api>
</version>
<stability>
<release>stable</release>
@ -24,7 +24,17 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- all changes from 5.0.8 merged
- all changes from 5.0.9 merged
- SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus()
only return entries of the latest document version if not specific document and
version is passed
- temp. table for revisions can be created
- new methods SeedDMS_Core_DMS::getDocumentsInReception() and
SeedDMS_Core_DMS::getDocumentsInRevision()
- limit hits of sql statement in SeedDMЅ_Core_DMS::getDuplicateDocumentContent() to 1000
- finishRevsion() puts all revisors into state waiting, so a new revision can be started
- fix SeedDMS_Core_Group::getRevisionStatus(), which did not always return the last
log entry first
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -1147,6 +1157,7 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
<notes>
- order groups by name returned by getReadAccessList()
- add optional parameter to SeedDMS_Core_DMS::filterDocumentLinks()
- SeedDMS_Core_DMS::search() can search for document/folder id
</notes>
</release>
<release>
@ -1278,6 +1289,22 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
- all changes from 4.3.31 merged
</notes>
</release>
<release>
<date>2016-11-08</date>
<time>14:06:06</time>
<version>
<release>5.0.9</release>
<api>5.0.9</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- all changes from 4.3.32 merged
</notes>
</release>
<release>
<date>2016-03-09</date>
<time>09:28:28</time>

View File

@ -43,6 +43,7 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$expires = $this->getParam('expires');
$keywords = $this->getParam('keywords');
$cats = $this->getParam('categories');
$owner = $this->getParam('owner');
$userfiletmp = $this->getParam('userfiletmp');
$userfilename = $this->getParam('userfilename');
$filetype = $this->getParam('filetype');
@ -59,11 +60,12 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$notificationusers = $this->getParam('notificationusers');
$initialdocumentstatus = $this->getParam('initialdocumentstatus');
$maxsizeforfulltext = $this->getParam('maxsizeforfulltext');
$defaultaccessdocs = $this->getParam('defaultaccessdocs');
$result = $this->callHook('addDocument');
if($result === null) {
$filesize = SeedDMS_Core_File::fileSize($userfiletmp);
$res = $folder->addDocument($name, $comment, $expires, $user, $keywords,
$res = $folder->addDocument($name, $comment, $expires, $owner, $keywords,
$cats, $userfiletmp, basename($userfilename),
$filetype, $userfiletype, $sequence,
$reviewers, $approvers, $reqversion,
@ -76,6 +78,14 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common {
$document = $res[0];
/* Set access as specified in settings. */
if($defaultaccessdocs) {
if($defaultaccessdocs > 0 && $defaultaccessdocs < 4) {
$document->setInheritAccess(0, true);
$document->setDefaultAccess($defaultaccessdocs, true);
}
}
if($index) {
$index->addDocument(new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $maxsizeforfulltext)));
}

View File

@ -52,7 +52,7 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
} elseif ($revisiontype == "grp") {
if(0 > $content->setRevision($group, $user, $revisionstatus, $comment)) {
$this->error = 1;
$this->errormsg = "revision_update_failed";
$this->errormsg = $ll."revision_update_failed";
return false;
}
}
@ -90,7 +90,9 @@ class SeedDMS_Controller_ReviseDocument extends SeedDMS_Controller_Common {
// then release the document otherwise put it back into revision workflow
if ($revisionCT == $revisionTotal) {
$newStatus=S_RELEASED;
if ($content->finishRevision($user, $newStatus, '', getMLText("automatic_status_update"))) {
if ($content->finishRevision($user, $newStatus, 'Finished revision workflow', getMLText("automatic_status_update"))) {
if(!$this->callHook('finishReviseDocument', $content)) {
}
}
} else {
$newStatus=S_IN_REVISION;

View File

@ -355,6 +355,21 @@ class SeedDMS_AccessOperation {
return false;
} /* }}} */
/**
* Check if a review maybe edited
*
* A review may only be updated by the user who originaly addedd the
* review and if it is allowed in the settings
*/
function mayUpdateReceipt($document, $updateUser) { /* {{{ */
if(get_class($document) == 'SeedDMS_Core_Document') {
if($this->settings->_enableUpdateReceipt && ($updateUser == $this->user) && !$document->hasExpired()) {
return true;
}
}
return false;
} /* }}} */
/**
* Check if document content may be revised
*

View File

@ -68,6 +68,8 @@ class Settings { /* {{{ */
var $_encryptionKey = '';
// lifetime of cookie in seconds or 0 for end of session
var $_cookieLifetime = '';
// default access mode for documents
var $_defaultAccessDocs = '';
// Strict form checking
var $_strictFormCheck = false;
// Path to where SeedDMS is located
@ -143,6 +145,8 @@ class Settings { /* {{{ */
var $_enableSelfRevApp = false;
// enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false;
// enable/disable update of a receipt by the recipient
var $_enableUpdateReceipt = false;
// enable/disable listing administrator as recipient
var $_enableAdminReceipt = false;
// enable/disable listing owner as recipient
@ -492,6 +496,7 @@ class Settings { /* {{{ */
$this->_undelUserIds = strval($tab["undelUserIds"]);
$this->_encryptionKey = strval($tab["encryptionKey"]);
$this->_cookieLifetime = intval($tab["cookieLifetime"]);
$this->_defaultAccessDocs = intval($tab["defaultAccessDocs"]);
$this->_restricted = Settings::boolVal($tab["restricted"]);
$this->_enableUserImage = Settings::boolVal($tab["enableUserImage"]);
$this->_disableSelfEdit = Settings::boolVal($tab["disableSelfEdit"]);
@ -596,6 +601,7 @@ class Settings { /* {{{ */
$this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]);
$this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]);
$this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]);
$this->_enableUpdateReceipt = Settings::boolval($tab["enableUpdateReceipt"]);
$this->_presetExpirationDate = strval($tab["presetExpirationDate"]);
$this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]);
$this->_versioningFileName = strval($tab["versioningFileName"]);
@ -807,6 +813,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "undelUserIds", $this->_undelUserIds);
$this->setXMLAttributValue($node, "encryptionKey", $this->_encryptionKey);
$this->setXMLAttributValue($node, "cookieLifetime", $this->_cookieLifetime);
$this->setXMLAttributValue($node, "defaultAccessDocs", $this->_defaultAccessDocs);
$this->setXMLAttributValue($node, "restricted", $this->_restricted);
$this->setXMLAttributValue($node, "enableUserImage", $this->_enableUserImage);
$this->setXMLAttributValue($node, "disableSelfEdit", $this->_disableSelfEdit);
@ -898,6 +905,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp);
$this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt);
$this->setXMLAttributValue($node, "enableOwnerReceipt", $this->_enableOwnerReceipt);
$this->setXMLAttributValue($node, "enableUpdateReceipt", $this->_enableUpdateReceipt);
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
$this->setXMLAttributValue($node, "initialDocumentStatus", $this->_initialDocumentStatus);
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);
@ -981,7 +989,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($extnode, 'name', $name);
foreach($GLOBALS['EXT_CONF'][$name]['config'] as $fieldname=>$conf) {
$parameter = $extnode->addChild('parameter');
$parameter[0] = isset($extension[$fieldname]) ? $extension[$fieldname] : '';
$parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : '';
$this->setXMLAttributValue($parameter, 'name', $fieldname);
}

View File

@ -106,6 +106,7 @@ class UI extends UI_Default {
$view->setParam('checkoutdir', $settings->_checkOutDir);
$view->setParam('showmissingtranslations', $settings->_showMissingTranslations);
$view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod);
$view->setParam('cachedir', $settings->_cacheDir);
return $view;
}
return null;

View File

@ -105,12 +105,26 @@ class SeedDMS_View_Common {
$ret = $tmpret;
break;
case 3:
default:
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2));
if(is_string($tmpret))
$ret .= $tmpret;
else
$ret = $tmpret;
break;
case 4:
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3));
if(is_string($tmpret))
$ret .= $tmpret;
else
$ret = $tmpret;
break;
default:
case 5:
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4));
if(is_string($tmpret))
$ret .= $tmpret;
else
$ret = $tmpret;
}
}
}

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1270)
// Translators: Admin (1272)
$text = array(
'2_factor_auth' => '',
@ -238,7 +238,7 @@ URL: [url]',
'choose_workflow_action' => 'اختر اجراء مسار عمل',
'choose_workflow_state' => 'اختر حالة مسار عمل',
'class_name' => '',
'clear_cache' => '',
'clear_cache' => 'ﻢﺴﺣ ﺎﻠﻤﺤﻓﻮﻇﺎﺗ',
'clear_clipboard' => '',
'clear_password' => '',
'clipboard' => 'لوحة القصاصات',
@ -294,6 +294,8 @@ URL: [url]',
'de_DE' => 'الألمانية',
'disclaimer' => 'هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'المستند',
'documentcontent' => '',
'documents' => 'المستندات',
@ -307,6 +309,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'مستندات في انتظار المراجعة',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'مستندات ملكك تستلزم انتباهك',
'document_already_checkedout' => '',
@ -531,7 +534,7 @@ URL: [url]',
'hu_HU' => 'مجرية',
'id' => 'معرف',
'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.',
'import' => '',
'import' => 'ﺎﺴﺘﺧﺭﺎﺟ',
'importfs' => '',
'import_fs' => '',
'import_fs_warning' => '',
@ -750,6 +753,8 @@ URL: [url]',
'no_version_modification' => 'ﻻ ﺖﻋﺪﻴﻟ ﻊﻠﻳ ﺎﻠﻨﺴﺧﺓ',
'no_workflow_available' => '',
'objectcheck' => 'التحقق من مستند/مجلد',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'مهمل',
'october' => 'اكتوبر',
'old' => 'قديم',
@ -888,6 +893,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1040,6 +1047,8 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -1110,6 +1119,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -279,6 +279,8 @@ $text = array(
'de_DE' => '',
'disclaimer' => 'Работим аккуратно и задълбочено. От това зависи бъдeщето на нашата страна и благополучието на народа.nПетилетката за три години!nДа не оставим неодрусана слива в наше село!',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Документ',
'documentcontent' => '',
'documents' => 'Документи',
@ -292,6 +294,7 @@ $text = array(
'documents_to_receipt' => '',
'documents_to_review' => 'Документы, чакащи Вашата рецензия',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Ваши документи, изискващи внимание',
'document_already_checkedout' => '',
@ -657,6 +660,8 @@ $text = array(
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Проверка на Папка/Документ',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Остарял',
'october' => 'октомври',
'old' => 'Стар',
@ -766,6 +771,8 @@ $text = array(
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -905,6 +912,8 @@ $text = array(
'settings_dbUser' => 'Логин',
'settings_dbUser_desc' => 'Логин, въведен в процеса на инсталацията. Не променяй без нужда, само например, ако БД е преместена.',
'settings_dbVersion' => 'Схема БД остаряла',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -975,6 +984,8 @@ $text = array(
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Включи аватари',

View File

@ -284,6 +284,8 @@ URL: [url]',
'de_DE' => 'Alemany',
'disclaimer' => 'Aquesta és una àrea restringida. Només es permet l\'accés a usuaris autoritzats. Qualsevol intrusió es perseguirà d\'acord amb les lleis internacionals.',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Document',
'documentcontent' => '',
'documents' => 'Documents',
@ -297,6 +299,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents en espera de revisió d\'usuaris',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documents de la seva propietat que requereixen atenció',
'document_already_checkedout' => '',
@ -662,6 +665,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsolet',
'october' => 'Octubre',
'old' => 'Vell',
@ -771,6 +776,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -910,6 +917,8 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -980,6 +989,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -301,6 +301,8 @@ URL: [url]',
'de_DE' => 'Němčina',
'disclaimer' => 'Toto je neveřejná oblast. Přístup povolen pouze oprávněným uživatelům. Jakékoliv narušení bude stíháno podle platných právních norem.',
'discspace' => 'Místo na disku',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokument',
'documentcontent' => '',
'documents' => 'Dokumenty',
@ -314,6 +316,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokumenty čekající na kontrolu uživatele',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokumenty, které uživatel vlastní a vyžadují pozornost',
'document_already_checkedout' => '',
@ -757,6 +760,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => 'workflow nedostupný',
'objectcheck' => 'kontrola adresáře/dokumentu',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Zastaralé',
'october' => 'Říjen',
'old' => 'Starý',
@ -897,6 +902,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1049,6 +1056,8 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -1119,6 +1128,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Povolte, pokud chcete aktuálně přihlášeného uvést jako posuzovatele/schvalovatele a pro přechody pracovního postupu',
'settings_enableThemeSelector' => 'Volba tématu',
'settings_enableThemeSelector_desc' => 'Volba témat na přihlašovací stránce.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2355), dgrutsch (22)
// Translators: Admin (2366), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'Deutsch',
'disclaimer' => 'Dies ist ein geschützter Bereich. Nur authorisiertes Personal hat Zugriff. Jegliche Verstöße werden nach geltendem Recht (Englisch und International) verfolgt.',
'discspace' => 'Plattenplatz',
'docs_in_reception_no_access' => 'Dokumente mit Empfangsbestätigung ohne Zugriff des Empfängers',
'docs_in_revision_no_access' => 'Dokumente in Revision ohne Zugriff des Prüfers',
'document' => 'Dokument',
'documentcontent' => 'Dokumentenversion',
'documents' => 'Dokumente',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => 'Empfangsbestätigung erforderlich',
'documents_to_review' => 'Prüfung erforderlich',
'documents_to_revise' => 'Erneute Prüfung erforderlich',
'documents_user_reception' => 'Dokumente mit Empfangsbestätigung',
'documents_user_rejected' => 'Abgelehnte Dokumente',
'documents_user_requiring_attention' => 'Diese Dokumente sollte ich mal nachsehen',
'document_already_checkedout' => 'Dieses Dokument ist bereits ausgecheckt',
@ -761,6 +764,8 @@ URL: [url]',
'no_version_modification' => 'Keine Modifikationen an einer Version',
'no_workflow_available' => 'Kein Workflow verfügbar',
'objectcheck' => 'Ordner- und Dokumentenprüfung',
'object_check_critical' => 'Kritische Fehler',
'object_check_warning' => 'Warnungen',
'obsolete' => 'veraltet',
'october' => 'Oktober',
'old' => 'Alt',
@ -940,6 +945,15 @@ Benutzer: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Aufforderung zur Wiederholungsprüfung',
'revision_status' => 'Status',
'revision_submit_email_body' => 'Erneute Freigabe erteilen
Dokument: [name]
Version: [version]
Elternordner: [folder_path]
Status: [status]
Kommentar: [comment]
Benutzer: [username]
URL: [url]',
'revision_submit_email_subject' => '[sitename]: [name] - Erneute Freigabe erteilen',
'revisors' => 'Überprüfer',
'revisor_already_assigned' => 'Benutzer bereits als Wiederholungsprüfer eingetragen.',
'revisor_already_removed' => 'Wiederholungsprüfer wurde bereits vom Prozess ausgeschlossen oder hat das Dokument bereits geprüft.',
@ -1092,6 +1106,8 @@ URL: [url]',
'settings_dbUser' => 'Benutzer',
'settings_dbUser_desc' => 'Der Benutzername, um auf die Datenbank zugreifen zu können.',
'settings_dbVersion' => 'Datenbankschema zu alt',
'settings_defaultAccessDocs' => 'Standardberechtigung für neue Dokumente',
'settings_defaultAccessDocs_desc' => 'Beim Erstellen eines neuen Dokuments wird dies als Standardberechtigung gesetzt.',
'settings_defaultSearchMethod' => 'Voreingestellte Suchmethode',
'settings_defaultSearchMethod_desc' => 'Voreingestellte Suchmethode, wenn über das Suchfeld in der Menüleiste gesucht wird.',
'settings_defaultSearchMethod_valdatabase' => 'Datenbank',
@ -1162,6 +1178,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Anwählen, um den aktuell angemeldeten Benutzer in der Liste der Prüfer/Freigeber und für Workflow-Aktionen auswählbar zu machen.',
'settings_enableThemeSelector' => 'Auswahl des Themas',
'settings_enableThemeSelector_desc' => 'Schaltet das Auswahlmenü für die Themenauswahl in der Anmeldemaske ein oder aus.',
'settings_enableUpdateReceipt' => 'Erlaube die Änderung einer Empfangsbestätigung',
'settings_enableUpdateReceipt_desc' => 'Anwählen, um dem Benutzer, der die Empfangsbestätigung erteilt hat, die Änderung der Entscheidung zu erlauben.',
'settings_enableUpdateRevApp' => 'Erlaube die Änderung einer Prüfung/Freigabe',
'settings_enableUpdateRevApp_desc' => 'Anwählen, um dem Benutzer, der die Prüfung/Freigabe durchgeführt hat, die Änderung der Entscheidung zu erlauben, solange das Dokument den Workflow-Schritt noch nicht verlassen hat.',
'settings_enableUserImage' => 'Benutzerbilder einschalten',

View File

@ -279,6 +279,8 @@ $text = array(
'de_DE' => 'German/Γερμανικά',
'disclaimer' => '',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Έγγραφο',
'documentcontent' => '',
'documents' => 'Έγγραφα',
@ -292,6 +294,7 @@ $text = array(
'documents_to_receipt' => '',
'documents_to_review' => '',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => '',
'document_already_checkedout' => '',
@ -668,6 +671,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => '',
'october' => 'Οκτώβριος',
'old' => 'Παλιό',
@ -777,6 +782,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -916,6 +923,8 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -986,6 +995,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1484), dgrutsch (9), netixw (14)
// Translators: Admin (1493), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'German',
'disclaimer' => 'This is a classified area. Access is permitted only to authorized personnel. Any violation will be prosecuted according to the national and international laws.',
'discspace' => 'Disc space',
'docs_in_reception_no_access' => 'Documents with recepiton without access by recipient',
'docs_in_revision_no_access' => 'Documents in revision without access by revisor',
'document' => 'Document',
'documentcontent' => 'Document content',
'documents' => 'Documents',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => 'Documents awaiting to confirm the receipt',
'documents_to_review' => 'Documents awaiting your review',
'documents_to_revise' => 'Documents awaiting your revision',
'documents_user_reception' => 'Documents awaiting reception',
'documents_user_rejected' => 'Rejected documents',
'documents_user_requiring_attention' => 'Documents owned by you that require attention',
'document_already_checkedout' => 'This document is already checked out',
@ -762,6 +765,8 @@ URL: [url]',
'no_version_modification' => 'No version modification',
'no_workflow_available' => 'No workflow available',
'objectcheck' => 'Folder/Document check',
'object_check_critical' => 'Critical errors',
'object_check_warning' => 'Warnings',
'obsolete' => 'Obsolete',
'october' => 'October',
'old' => 'Old',
@ -941,6 +946,8 @@ User: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Revision request',
'revision_status' => 'Status',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Revisors',
'revisor_already_assigned' => 'User is already assigned as an revisor.',
'revisor_already_removed' => 'Revisor has already been removed from revision process or has already revised the document.',
@ -1093,6 +1100,8 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => 'The username for access to your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.',
'settings_dbVersion' => 'Database schema too old',
'settings_defaultAccessDocs' => 'Default access for new documents',
'settings_defaultAccessDocs_desc' => 'When a new document is created, this will be the default access right.',
'settings_defaultSearchMethod' => 'Default search method',
'settings_defaultSearchMethod_desc' => 'Default search method, when a search is started by the search form in the main menu.',
'settings_defaultSearchMethod_valdatabase' => 'database',
@ -1163,6 +1172,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Enable this if you want the currently logged in user to be listed as reviewers/approvers and for workflow transitions.',
'settings_enableThemeSelector' => 'Theme selection',
'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.',
'settings_enableUpdateReceipt' => 'Allow editing of existing reception',
'settings_enableUpdateReceipt_desc' => 'Enable this, if the user who has made a reception may change the decission.',
'settings_enableUpdateRevApp' => 'Allow editing of exting review/approval',
'settings_enableUpdateRevApp_desc' => 'Enable this, if the user who has made a review/approval may change the decission as long as the current workflow step has not been finished.',
'settings_enableUserImage' => 'Enable User Image',

View File

@ -301,6 +301,8 @@ URL: [url]',
'de_DE' => 'Aleman',
'disclaimer' => 'Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.',
'discspace' => 'Espacio en disco',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Documento',
'documentcontent' => '',
'documents' => 'Documentos',
@ -314,6 +316,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documentos en espera de revisión de usuarios',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documentos de su propiedad que requieren atención',
'document_already_checkedout' => '',
@ -757,6 +760,8 @@ URL: [url]',
'no_version_modification' => 'Ninguna Modificación de Versión',
'no_workflow_available' => '',
'objectcheck' => 'Chequeo de carpeta/documento',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsoleto',
'october' => 'Octubre',
'old' => 'Viejo',
@ -903,6 +908,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1055,6 +1062,8 @@ URL: [url]',
'settings_dbUser' => 'Nombre de usuario',
'settings_dbUser_desc' => 'Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.',
'settings_dbVersion' => 'Esquema de base de datos demasiado antiguo',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Método de búsqueda por defecto',
'settings_defaultSearchMethod_desc' => 'Método de búsqueda por defecto, cuando se inicia una búsqueda mediante el formulario en el menú principal',
'settings_defaultSearchMethod_valdatabase' => 'base de datos',
@ -1125,6 +1134,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Habilitar esto si quiere que el usuario identificado sea listado como revisor/aprobador y para las transiciones del flujo de trabajo.',
'settings_enableThemeSelector' => 'Selección de temas (skins)',
'settings_enableThemeSelector_desc' => 'Habilitar/deshabilitar la selección de temas en la página de login',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Habilitar imágenes de usuario',

View File

@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'Allemand',
'disclaimer' => 'Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.<br/>Tout accès non autorisé est punissable par les lois internationales.',
'discspace' => 'Espace disque',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Document',
'documentcontent' => '',
'documents' => 'Documents',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents en attente de correction',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => 'Documents rejetés',
'documents_user_requiring_attention' => 'Documents à surveiller',
'document_already_checkedout' => 'Ce document est déjà débloqué',
@ -762,6 +765,8 @@ URL: [url]',
'no_version_modification' => 'Pas de modification de version',
'no_workflow_available' => '',
'objectcheck' => 'Vérification des dossiers et documents',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsolète',
'october' => 'Octobre',
'old' => 'Ancien',
@ -898,6 +903,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1037,6 +1044,8 @@ URL: [url]',
'settings_dbUser' => 'Nom d\'utilisateur',
'settings_dbUser_desc' => 'Le nom d\'utilisateur pour l\'accès à votre base de données entré pendant le processus d\'installation. Ne pas modifier le champ sauf si vraiment nécessaire, par exemple pour le transfert de la base de données vers un nouvel hébergement.',
'settings_dbVersion' => 'Schéma de base de données trop ancien',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Méthode de recherche par défaut',
'settings_defaultSearchMethod_desc' => 'Méthode de recherche par défaut, lorsque la recherche est exécutée depuis le moteur de recherche du menu principal',
'settings_defaultSearchMethod_valdatabase' => 'base de données',
@ -1107,6 +1116,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.',
'settings_enableThemeSelector' => 'Sélection du thème',
'settings_enableThemeSelector_desc' => 'Activer/désactiver le sélecteur de thème sur la page de connexion.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Activer image utilisateurs',

View File

@ -306,6 +306,8 @@ Internet poveznica: [url]',
'de_DE' => 'Njemački',
'disclaimer' => 'Ovo je klasificirano područje. Pristup je omogućen samo ovlaštenim osobama. Sa svakim kršenjem bit će postupano sukladno nacionalnim i međunarodnim zakonima.',
'discspace' => 'Prostor na disku',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokument',
'documentcontent' => '',
'documents' => 'Dokumenti',
@ -319,6 +321,7 @@ Internet poveznica: [url]',
'documents_to_receipt' => 'Dokumenti koji čekaju potvrdu primitka',
'documents_to_review' => 'Dokumenti koji čekaju vaš pregled',
'documents_to_revise' => 'Dokumenti za reviziju',
'documents_user_reception' => '',
'documents_user_rejected' => 'Odbijeni dokumenti',
'documents_user_requiring_attention' => 'Dokumenti u vašem vlasništvu koji zahtjevaju pažnju',
'document_already_checkedout' => 'Ovaj dokument je već odjavljen',
@ -761,6 +764,8 @@ Internet poveznica: [url]',
'no_version_modification' => 'Nema modifikacije verzije',
'no_workflow_available' => 'Nema dostupnog toka rada',
'objectcheck' => 'Provjera mapa / dokumenata',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Zastarjelo',
'october' => 'Listopad',
'old' => 'Staro',
@ -924,6 +929,8 @@ Internet poveznica: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Revizori',
'revisor_already_assigned' => 'Korisnik je već dodijeljen kao revizor',
'revisor_already_removed' => 'Revizor je uklonjen iz procesa revizije ili je već revidirao dokument.',
@ -1076,6 +1083,8 @@ Internet poveznica: [url]',
'settings_dbUser' => 'Korisničko ime',
'settings_dbUser_desc' => 'Korisničko ime za pristup vašoj bazi podataka unijeto tijekom postupka instalacije. Ne uređujte ovo polje bez prijeke potrebe, npr. prijenos baze podataka na novi Host.',
'settings_dbVersion' => 'Shema baze podataka je prestara',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Zadana metoda pretrage',
'settings_defaultSearchMethod_desc' => 'Zadana metoda pretrage, kada se pretraživanje pokreće putem formulara iz glavnog izbornika',
'settings_defaultSearchMethod_valdatabase' => 'baza podataka',
@ -1146,6 +1155,8 @@ Internet poveznica: [url]',
'settings_enableSelfRevApp_desc' => 'Omogući ovo ako želite da trenutno prijavljeni korisnik bude naveden kao recezent/validator i za promjenu toka rada.',
'settings_enableThemeSelector' => 'Odabir teme',
'settings_enableThemeSelector_desc' => 'Uključuje/isključuje izbornik tema na stranici prijave.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Omogući sliku korisnika',

View File

@ -301,6 +301,8 @@ URL: [url]',
'de_DE' => 'Német',
'disclaimer' => 'Ez egy bizalmas terület. Hozzáférés kizárólag a meghatalmazott személyek részére engedélyezett. Bárminemű megsértését a nemzeti, illetve a nemzetközi jog szerint fogják büntetni.',
'discspace' => 'Lemezterület',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokumentum',
'documentcontent' => '',
'documents' => 'Dokumentumok',
@ -314,6 +316,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Felülvizsgálatára váró dokumentumok',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Az Ön tulajdonában álló dokumentumok, amelyekre figyelmet kell fordítani',
'document_already_checkedout' => '',
@ -757,6 +760,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Mappa/Dokumentum ellenőrzés',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Elavult',
'october' => 'Október',
'old' => 'Régi',
@ -903,6 +908,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1054,6 +1061,8 @@ URL: [url]',
'settings_dbUser' => 'Felhasználónév',
'settings_dbUser_desc' => 'Az adatbázis eléréséhez tartozó felhasználónevet a telepítési eljárás során kell megadni. Ne szerkessze ezt a mezőt, csak ha nagyon szükséges, például, ha az adatbázist át kell helyezni egy másik gépre.',
'settings_dbVersion' => 'Adatbázis séma túl régi',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Alapértelmezett keresési módszer',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => 'adatbázis',
@ -1124,6 +1133,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Engedélyezze, a azt szeretné, hogy a bejelentkezett felhasználó listázásra kerüljön felülvizsgálóként/jóváhagyóként és a munkamenet átmeneteknél.',
'settings_enableThemeSelector' => 'Téma választása',
'settings_enableThemeSelector_desc' => 'Kapcsolja be/ki a témaválasztót a bejelentkező oldalon',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Felhasználói kép engedélyezése',

View File

@ -307,6 +307,8 @@ URL: [url]',
'de_DE' => 'Tedesco',
'disclaimer' => 'Questa è un\'area riservata. L\'accesso è consentito solo agli utenti autorizzati. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.',
'discspace' => 'Spazio su disco',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Documento',
'documentcontent' => '',
'documents' => 'Documenti',
@ -320,6 +322,7 @@ URL: [url]',
'documents_to_receipt' => 'Documenti in attesa di conferma ricezione',
'documents_to_review' => 'Documenti in attesa della tua revisione',
'documents_to_revise' => 'Documenti da revisionare.',
'documents_user_reception' => '',
'documents_user_rejected' => 'Documenti rifiutati',
'documents_user_requiring_attention' => 'Tuoi documenti in attesa di revisione o approvazione',
'document_already_checkedout' => 'Questo documento è già approvato',
@ -763,6 +766,8 @@ URL: [url]',
'no_version_modification' => 'Nessuna modifica versione',
'no_workflow_available' => 'Nessun flusso di lavoro disponibile',
'objectcheck' => 'Controllo cartelle o documenti',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsoleto',
'october' => 'Ottobre',
'old' => 'Vecchio',
@ -936,6 +941,8 @@ User: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Richiesta di revisione',
'revision_status' => 'Status',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Revisori',
'revisor_already_assigned' => 'Utente già assegnato al ruolo di revisore',
'revisor_already_removed' => 'Revisore già rimosso dal processo di revisione o ha già revisionato documento.',
@ -1088,6 +1095,8 @@ URL: [url]',
'settings_dbUser' => 'Utente',
'settings_dbUser_desc' => 'Utente per accedere al database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.',
'settings_dbVersion' => 'Schema del database obsoleto',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Metodo di ricerca predefinito',
'settings_defaultSearchMethod_desc' => 'Metodo di ricerca predefinito, quando la ricerca viene avviata dal modulo di ricerca nel menu principale.',
'settings_defaultSearchMethod_valdatabase' => 'database',
@ -1158,6 +1167,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Abilitare se si desidera aggiungere l\'utente attualmente registrato alla lista dei revisori/approvatori e per le transizioni del flusso di lavoro.',
'settings_enableThemeSelector' => 'Selezione tema grafico',
'settings_enableThemeSelector_desc' => 'Abilita/disabilita il selettore di tema grafico nella finestra di login',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Abilita immagine utente',

View File

@ -308,6 +308,8 @@ URL: [url]',
'de_DE' => '독일어',
'disclaimer' => '본 사이트는 접근이 허가된 자에게만 사용이 허용된 곳 입니다. 허가받지 않은 접근이나 불법행위는 국내 및 국제법에 따라 기소 될 것입니다.',
'discspace' => '디스크 공간',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => '문서',
'documentcontent' => '',
'documents' => '문서',
@ -321,6 +323,7 @@ URL: [url]',
'documents_to_receipt' => '당신의 접수확인을 기다리는 문서들',
'documents_to_review' => '당신의 검토를 기다리는 문서',
'documents_to_revise' => '문서 정정',
'documents_user_reception' => '',
'documents_user_rejected' => '거부된 문서',
'documents_user_requiring_attention' => '주의가 필요한 당신 소유의 문서',
'document_already_checkedout' => '이문서는 이미 체크아웃 되었습니다',
@ -762,6 +765,8 @@ URL : [url]',
'no_version_modification' => '버전의 변동사항이 없습니다.',
'no_workflow_available' => '사용 가능한 워크 플로우 없습니다.',
'objectcheck' => '폴더 / 문서 확인',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => '폐기',
'october' => '10월',
'old' => '이전',
@ -917,6 +922,8 @@ URL: [url]',
'revision_request_email_body' => '수정 요청 메일 내용',
'revision_request_email_subject' => '수정 요청 이메일 제목',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '감사',
'revisor_already_assigned' => '이미 감사가 선임이 된 사용자.',
'revisor_already_removed' => '감사는 문서의 개정을 과정에서 삭제했거나 이미 개정을 완료 했습니다.',
@ -1069,6 +1076,8 @@ URL : [url]',
'settings_dbUser' => '사용자 이름',
'settings_dbUser_desc' => '설치 과정에서 입력 한 데이터베이스 액세스를 위한 사용자 이름. 새 호스트에 데이터베이스의 예 전송을 위해 절대적으로 필요한 경우가 아니면 필드를 ​​편집하지 마십시오.',
'settings_dbVersion' => '오래된 데이터베이스 스키마',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '기본 검색 방법 설정',
'settings_defaultSearchMethod_desc' => '기본 검색 설정',
'settings_defaultSearchMethod_valdatabase' => '기본 검색 방법 설정',
@ -1139,6 +1148,8 @@ URL : [url]',
'settings_enableSelfRevApp_desc' => '검토 / 승인자로 워크 플로우 전환을 위해 나열되어있는 것이 현재 로그인 한 사용자가 필요한 경우이를 활성화합니다.',
'settings_enableThemeSelector' => '테마 선택',
'settings_enableThemeSelector_desc' => '로그인 페이지의 테마 선택기를 켜기/끄기로 전환합니다.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '사용자 이미지 사용',

View File

@ -299,6 +299,8 @@ URL: [url]',
'de_DE' => 'Duits',
'disclaimer' => 'Dit is een beveiligde omgeving. Gebruik is alleen toegestaan voor geautoriseerde leden. Ongeautoriseerde toegang kan worden bestraft overeenkomstig (inter)nationale wetgeving.',
'discspace' => 'Schijfruimte',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Document',
'documentcontent' => '',
'documents' => 'Documenten',
@ -312,6 +314,7 @@ URL: [url]',
'documents_to_receipt' => 'documenten te ontvangen',
'documents_to_review' => 'Documenten die wachten op uw controle',
'documents_to_revise' => 'Te reviseren documenten',
'documents_user_reception' => '',
'documents_user_rejected' => 'documenten niet geaccepteerd door gebruiker',
'documents_user_requiring_attention' => 'Eigen documenten die (nog) aandacht behoeven',
'document_already_checkedout' => 'Al in behandeling genomen documenten',
@ -754,6 +757,8 @@ URL: [url]',
'no_version_modification' => 'Geen versiewijziging',
'no_workflow_available' => 'Geen workflow beschikbaar',
'objectcheck' => 'Map/Document controle',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'verouderd',
'october' => 'oktober',
'old' => 'Oude',
@ -926,6 +931,8 @@ User: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] Verzoek tot herziening',
'revision_status' => 'Status revisie',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Herzieners',
'revisor_already_assigned' => 'Gebruiker is reeds herziener',
'revisor_already_removed' => 'Herziener reeds verwijderd',
@ -1082,6 +1089,8 @@ URL: [url]',
'settings_dbUser' => 'Gebruikersnaam',
'settings_dbUser_desc' => 'De gebruikersnaam voor toegang tot de datbase ingevoerd tijdens de installatie. Verander de waarde niet tenzij echt nodig, bijvoorbeeld bij verplaatsing van de database naar een ander systeem.',
'settings_dbVersion' => 'Database schema te oud',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Default zoekmethode',
'settings_defaultSearchMethod_desc' => 'Default zoekmethode',
'settings_defaultSearchMethod_valdatabase' => 'Default zoekmethode (database)',
@ -1152,6 +1161,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Schakel in indien the huidig ingelogde gebruiker wordt toegewezen als goedkeurder/ beoordelaar en voor workflow overgangen.',
'settings_enableThemeSelector' => 'Selecteer thema',
'settings_enableThemeSelector_desc' => 'Schakel thema selectie op de aanmeldpagina uit',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Inschakelen Gebruikersplaatjes',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (746), netixw (84), romi (93), uGn (112)
// Translators: Admin (747), netixw (84), romi (93), uGn (112)
$text = array(
'2_factor_auth' => '',
@ -294,6 +294,8 @@ URL: [url]',
'de_DE' => 'niemiecki',
'disclaimer' => 'To jest zastrzeżona strefa. Dostęp do niej ma wyłącznie wyznaczony personel. Wszelkie naruszenia będą ścigane zgodnie z prawem krajowym i międzynarodowym.',
'discspace' => 'Miejsce na dysku',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokument',
'documentcontent' => '',
'documents' => 'Dokumenty',
@ -307,6 +309,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokumenty oczekujące na Twoją recenzję',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokumenty należące do Ciebie, które wymagają uwagi',
'document_already_checkedout' => '',
@ -383,7 +386,7 @@ URL: [url]',
'drag_icon_here' => 'Przeciągnij ikonę folderu lub dokumentu tutaj!',
'dropfolderdir_missing' => '',
'dropfolder_file' => 'Plik z folderu rozwijanego',
'dropfolder_folder' => '',
'dropfolder_folder' => 'Katalog ze strefy drop',
'dropupload' => 'Szybki upload',
'drop_files_here' => 'Przeciągnij tu pliki!',
'dump_creation' => 'Utworzenie zrzutu bazy danych',
@ -750,6 +753,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Sprawdź Katalog/Dokument',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Zdezaktualizowany',
'october' => 'Październik',
'old' => 'Stary',
@ -882,6 +887,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1034,6 +1041,8 @@ URL: [url]',
'settings_dbUser' => 'Nazwa użytkownika',
'settings_dbUser_desc' => 'Nazwa użytkownika uprawnionego do dostępu do bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.',
'settings_dbVersion' => 'Schemat bazy danych jest za stary',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => 'baza danych',
@ -1104,6 +1113,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Włącz tę opcję jeżeli zalogowany użytkownik ma prawo do recenzowania/zatwierdzania oraz do przepływu procesu',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Włącz obrazy użytkowników',

View File

@ -301,6 +301,8 @@ URL: [url]',
'de_DE' => 'Alemão',
'disclaimer' => 'Esta é uma área restrita, o acesso é permitido apenas ao pessoal autorizado. Qualquer violação será tratado de acordo com as normas internas e leis vigentes.',
'discspace' => 'Espaço em Disco',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Documento',
'documentcontent' => '',
'documents' => 'Documentos',
@ -314,6 +316,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Documents Awaiting User\'s Review',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documents Owned by User That Require Attention',
'document_already_checkedout' => '',
@ -755,6 +758,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Verificação da Pasta/Documento',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsolete',
'october' => 'October',
'old' => 'Antigo',
@ -900,6 +905,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1052,6 +1059,8 @@ URL: [url]',
'settings_dbUser' => 'Nome do usuário',
'settings_dbUser_desc' => 'O nome de usuário para acesso ao banco de dados, informado durante o processo de instalação. Não edite campo a menos que seja absolutamente necessário, por exemplo, a transferência do banco de dados para um novo host.',
'settings_dbVersion' => 'Esquema de banco de dados muito antigo',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Forma padrão para buscas',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => 'Banco de Dados',
@ -1122,6 +1131,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Habilite esta opção se quiser que o usuário conectado no momento seja listado como revisores/aprovadores e para transições de fluxo de trabalho.',
'settings_enableThemeSelector' => 'Seleção de tema',
'settings_enableThemeSelector_desc' => 'Liga/desliga o seletor de tema na página de login.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Ativar Imagem de Usuário',

View File

@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'Germana',
'disclaimer' => 'Aceasta este o zonă clasificată. Accesul este permis numai personalului autorizat. Orice încălcare va fi urmărită penal în conformitate cu legile naționale și internaționale.',
'discspace' => 'Spațiu pe disc',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Document',
'documentcontent' => '',
'documents' => 'Documente',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => 'Documente in asteptare pentru confirmarea primirii',
'documents_to_review' => 'Documente care așteaptă revizuirea dumneavoastră',
'documents_to_revise' => 'Documente de revizut',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Documente deținute de tine care necesită atenție',
'document_already_checkedout' => 'Acest document este deja verificat',
@ -762,6 +765,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => 'Nici un workflow disponibil',
'objectcheck' => 'Verificare folder/document',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Învechit',
'october' => 'Octombrie',
'old' => 'Vechi',
@ -925,6 +930,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Revizuitori',
'revisor_already_assigned' => 'Utilizatorul este deja asignat ca retrimitor.',
'revisor_already_removed' => 'Retrimitorul a fost deja eliminat din procesul de revizuire sau a revizuit deja documentul.',
@ -1077,6 +1084,8 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => 'Username-ul de acces la baza de date introdus în timpul procesului de instalare. Nu editați câmpul decât dacă este absolut necesar (de exemplu transferul bazei de date la un nou Host).',
'settings_dbVersion' => 'Schema bazei de date este prea veche',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'metoda de cautare implicita',
'settings_defaultSearchMethod_desc' => 'Metoda de cautare implicita cand cautarea a fost initiata prin formularul de cautare din meniul principal',
'settings_defaultSearchMethod_valdatabase' => 'baza de date',
@ -1147,6 +1156,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Activați această opțiune dacă doriți ca utilizatorul autentificat să fie listat ca revizuitor/aprobator sau in tranzițiile workflow-ului.',
'settings_enableThemeSelector' => 'Selecție Temă',
'settings_enableThemeSelector_desc' => 'Activare/dezactivare selector temă pe pagina de login.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Activați Imaginea utilizatorului',

View File

@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'German',
'disclaimer' => 'Работник, помни! От тебя зависит успех фирмы и всей страны!',
'discspace' => 'Дисковое пространство',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Документ',
'documentcontent' => '',
'documents' => 'док.',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => 'Документы, которые ожидают подтверждение получения',
'documents_to_review' => 'Документы, ожидающие вашей рецензии',
'documents_to_revise' => 'Документы на ревизии',
'documents_user_reception' => '',
'documents_user_rejected' => 'Отклоненные документы',
'documents_user_requiring_attention' => 'Ваши документы, требующие внимания',
'document_already_checkedout' => 'Этот документ уже проверен',
@ -761,6 +764,8 @@ URL: [url]',
'no_version_modification' => 'Отсутствует модификация версии',
'no_workflow_available' => 'Отсутствует процесс',
'objectcheck' => 'Проверка целостности',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Устарел',
'october' => 'Октябрь',
'old' => 'Старый',
@ -932,6 +937,8 @@ URL: [url]',
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Запрос на ревизию',
'revision_status' => 'Состояние ревизии',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Ревизор',
'revisor_already_assigned' => 'Пользователь уже назначен как ревизор',
'revisor_already_removed' => 'Ревизор уже удален из процесса ревизии, либо уже рассмотрел документ',
@ -1084,6 +1091,8 @@ URL: [url]',
'settings_dbUser' => 'Логин',
'settings_dbUser_desc' => 'Логин, введённый при установке. Не изменяйте без необходимости, например если БД была перемещена.',
'settings_dbVersion' => 'Схема БД устарела',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Метод поиска по умолчанию',
'settings_defaultSearchMethod_desc' => 'Метод поиска по умолчанию, когда поиск начинается с поисковой формы главного меню.',
'settings_defaultSearchMethod_valdatabase' => 'база данных',
@ -1154,6 +1163,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Включите для того, чтобы пользователи, в настоящее время выполнившие вход в систему, были в списке рецензентов/утверждающих и в изменении процесса.',
'settings_enableThemeSelector' => 'Выбор темы',
'settings_enableThemeSelector_desc' => 'Включить или отключить возможность выбора темы на странице входа.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Включить аватары',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (512), destinqo (19)
// Translators: Admin (544), destinqo (19)
$text = array(
'2_factor_auth' => '',
@ -268,7 +268,7 @@ URL: [url]',
'current_quota' => '',
'current_state' => '',
'current_version' => 'Aktuálna verzia',
'daily' => '',
'daily' => 'Denná',
'databasesearch' => '',
'date' => 'Dátum',
'days' => '',
@ -283,6 +283,8 @@ URL: [url]',
'de_DE' => 'Nemčina',
'disclaimer' => 'Toto je zabezpečená zóna. Prístup je povolený len autorizovaným osobám.',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokument',
'documentcontent' => '',
'documents' => 'Dokumenty',
@ -296,6 +298,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokumenty čakajúce na kontrolu používateľa',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokumenty, ktoré používateľ vlastní a vyžadujú pozornosť',
'document_already_checkedout' => '',
@ -371,7 +374,7 @@ URL: [url]',
'edit_user' => 'Upraviť používateľa',
'edit_user_details' => 'Upraviť podrobnosti používateľa',
'edit_version' => '',
'el_GR' => '',
'el_GR' => 'Grécky',
'email' => 'Email',
'email_error_title' => '',
'email_footer' => 'Nastavenia e-mailu si kedykoľvek môžete zmeniť cez \'Môj účet\'',
@ -661,6 +664,8 @@ URL: [url]',
'no_version_modification' => 'Žiadne zmeny',
'no_workflow_available' => '',
'objectcheck' => 'Kontrola Adresárov/Dokumentov',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Zastaralé',
'october' => 'Október',
'old' => 'Stare',
@ -770,6 +775,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -874,9 +881,9 @@ URL: [url]',
'settings_backupDir_desc' => '',
'settings_cacheDir' => '',
'settings_cacheDir_desc' => '',
'settings_Calendar' => '',
'settings_calendarDefaultView' => '',
'settings_calendarDefaultView_desc' => '',
'settings_Calendar' => 'Nastavenie kalendára',
'settings_calendarDefaultView' => 'Predvolené zobrazenie kalendára',
'settings_calendarDefaultView_desc' => 'Predvolené zobrazenie kalendára',
'settings_cannot_disable' => '',
'settings_checkOutDir' => '',
'settings_checkOutDir_desc' => '',
@ -909,9 +916,11 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valdatabase' => 'databáza',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
@ -931,19 +940,19 @@ URL: [url]',
'settings_enableAdminReceipt_desc' => '',
'settings_enableAdminRevApp' => '',
'settings_enableAdminRevApp_desc' => '',
'settings_enableCalendar' => '',
'settings_enableCalendar_desc' => '',
'settings_enableClipboard' => '',
'settings_enableCalendar' => 'Zapnúť kalendár',
'settings_enableCalendar_desc' => 'Zapnúť/vypnúť kalendár',
'settings_enableClipboard' => 'Aktivovať schránky',
'settings_enableClipboard_desc' => '',
'settings_enableConverting' => '',
'settings_enableConverting_desc' => '',
'settings_enableDropUpload' => '',
'settings_enableDropUpload' => 'Zapnúť rýchle nahratie',
'settings_enableDropUpload_desc' => '',
'settings_enableDuplicateDocNames' => '',
'settings_enableDuplicateDocNames_desc' => '',
'settings_enableEmail' => 'Povoliť e-mail',
'settings_enableEmail_desc' => 'Povoliť/zakázať automatické emailové upozornenie',
'settings_enableFolderTree' => '',
'settings_enableFolderTree' => 'Aktivovať strom priečinkov',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '',
'settings_enableFullSearch_desc' => '',
@ -951,10 +960,10 @@ URL: [url]',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp' => 'Zapnúť nápovedu',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLanguageSelector' => 'Aktivovať voľbu jazyka',
'settings_enableLanguageSelector_desc' => 'Zobraziť výber pre jazyk používateľského rozhrania potom, čo bol prihlásený.',
'settings_enableLargeFileUpload' => '',
'settings_enableLargeFileUpload_desc' => '',
'settings_enableMenuTasks' => '',
@ -977,8 +986,10 @@ URL: [url]',
'settings_enableRevisionWorkflow_desc' => '',
'settings_enableSelfRevApp' => '',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector' => 'Výber šablóny',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',
@ -992,18 +1003,18 @@ URL: [url]',
'settings_encryptionKey' => '',
'settings_encryptionKey_desc' => '',
'settings_error' => '',
'settings_expandFolderTree' => '',
'settings_expandFolderTree_desc' => '',
'settings_expandFolderTree' => 'Rozbaliť',
'settings_expandFolderTree_desc' => 'Rozbaľte strom priečinkov',
'settings_expandFolderTree_val0' => '',
'settings_expandFolderTree_val1' => '',
'settings_expandFolderTree_val2' => '',
'settings_Extensions' => '',
'settings_extraPath' => '',
'settings_extraPath_desc' => '',
'settings_firstDayOfWeek' => '',
'settings_firstDayOfWeek_desc' => '',
'settings_footNote' => '',
'settings_footNote_desc' => '',
'settings_firstDayOfWeek' => 'Prvý deň v týždni',
'settings_firstDayOfWeek_desc' => 'Prvý deň v týždni',
'settings_footNote' => 'Poznámka pod čiarou',
'settings_footNote_desc' => 'Správa sa zobrazí v dolnej časti každej stránky',
'settings_fullSearchEngine' => '',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
@ -1077,7 +1088,7 @@ URL: [url]',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthList_desc' => 'Šírka pre náhľad obrázkov je uvedené v zoznamoch',
'settings_printDisclaimer' => '',
'settings_printDisclaimer_desc' => '',
'settings_quota' => '',
@ -1086,12 +1097,12 @@ URL: [url]',
'settings_removeFromDropFolder_desc' => '',
'settings_restricted' => '',
'settings_restricted_desc' => '',
'settings_rootDir' => '',
'settings_rootDir_desc' => '',
'settings_rootDir' => 'Koreňový adresár',
'settings_rootDir_desc' => 'Cesta k miestu, kde sa nachádza SeedDMS',
'settings_rootFolderID' => '',
'settings_rootFolderID_desc' => '',
'settings_SaveError' => '',
'settings_Server' => '',
'settings_Server' => 'Nastavenie servera',
'settings_showFullPreview' => '',
'settings_showFullPreview_desc' => '',
'settings_showMissingTranslations' => '',
@ -1115,14 +1126,14 @@ URL: [url]',
'settings_smtpUser' => '',
'settings_smtpUser_desc' => '',
'settings_sortFoldersDefault' => '',
'settings_sortFoldersDefault_desc' => '',
'settings_sortFoldersDefault_val_name' => '',
'settings_sortFoldersDefault_val_sequence' => '',
'settings_sortFoldersDefault_desc' => 'Toto nastavenie triedi metódy pre zložky a dokumenty v zobrazení priečinkov.',
'settings_sortFoldersDefault_val_name' => 'podľa mena',
'settings_sortFoldersDefault_val_sequence' => 'podľa sekvencií',
'settings_sortFoldersDefault_val_unsorted' => '',
'settings_sortUsersInList' => '',
'settings_sortUsersInList' => 'Triediť užívateľov v zozname',
'settings_sortUsersInList_desc' => '',
'settings_sortUsersInList_val_fullname' => '',
'settings_sortUsersInList_val_login' => '',
'settings_sortUsersInList_val_fullname' => 'Triediť podľa celého mena',
'settings_sortUsersInList_val_login' => 'Triediť podľa prihlásenie',
'settings_stagingDir' => '',
'settings_stagingDir_desc' => '',
'settings_start_install' => '',
@ -1132,7 +1143,7 @@ URL: [url]',
'settings_strictFormCheck_desc' => '',
'settings_suggestionvalue' => '',
'settings_System' => 'Systém',
'settings_theme' => '',
'settings_theme' => 'Prednastavená téma',
'settings_theme_desc' => '',
'settings_titleDisplayHack' => '',
'settings_titleDisplayHack_desc' => '',

View File

@ -294,6 +294,8 @@ URL: [url]',
'de_DE' => 'tyska',
'disclaimer' => 'Detta är ett sekretessbelagt område. Bara auktoriserade personer äger tillträde. Vid överträdelse kommer åtal att väckas i enlighet med nationella och internationella lagar.',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Dokument',
'documentcontent' => '',
'documents' => 'Dokument',
@ -307,6 +309,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Dokument som du behöver granska',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dokument som du behöver granska/godkänna',
'document_already_checkedout' => '',
@ -750,6 +753,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Katalog/Dokument-kontroll',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Föråldrat',
'october' => 'oktober',
'old' => 'gammalt',
@ -888,6 +893,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1040,6 +1047,8 @@ URL: [url]',
'settings_dbUser' => 'Användarnamn',
'settings_dbUser_desc' => 'Användarnamnet för tillgång till databasen. Användarnamnet angavs under installationsprocessen.',
'settings_dbVersion' => 'Databasschemat för gammalt',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Standard sökmetod',
'settings_defaultSearchMethod_desc' => 'Standard sökmetod, när en sökning startas i sökformuläret i huvudmenyn.',
'settings_defaultSearchMethod_valdatabase' => 'databas',
@ -1110,6 +1119,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Aktivera om du vill att aktuell inloggad användare visas i listan för personer som granskar/godkänner dokument och i övergång på arbetsflöden.',
'settings_enableThemeSelector' => 'Tema urval',
'settings_enableThemeSelector_desc' => 'Stäng på/av tema urval vid inloggningssidan.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Aktivera användarbilder',

View File

@ -300,6 +300,8 @@ URL: [url]',
'de_DE' => 'Almanca',
'disclaimer' => 'Bu sisteme sadece yetkilendirilmiş personel yetki seviyesine göre erişebilir. Herhangi bir ihlalde veya ihlal girişiminde, ulusal ve uluslararası yasalara göre takibat yapılacaktır.',
'discspace' => 'Disk alanı',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Doküman',
'documentcontent' => '',
'documents' => 'Dokümanlar',
@ -313,6 +315,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => 'Kontrol etmenizi bekleyen dokümanlar',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => 'Dikkatinizi gerektiren size ait dokümanlar',
'document_already_checkedout' => '',
@ -756,6 +759,8 @@ URL: [url]',
'no_version_modification' => 'Versiyon değişikliği yapılmamış',
'no_workflow_available' => 'Uygun iş akışı yok',
'objectcheck' => 'Klasör/Doküman kontrol',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Geçersiz',
'october' => 'Ekim',
'old' => 'Eski',
@ -904,6 +909,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -1056,6 +1063,8 @@ URL: [url]',
'settings_dbUser' => 'Kullanıcı adı',
'settings_dbUser_desc' => 'Kurulum sırasında veritabanına erişim için girdiğiniz veritabanı kullanıcı adı. Gerekmedikçe değiştirmeyin.',
'settings_dbVersion' => 'Veritabanı yapısı çok eski',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -1126,6 +1135,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'O an giriş yapmış olan kullanıcıları kontrol eden/onaylayan olarak listelemek ve iş akışına dahil etmek için bunu seçebilirsiniz.',
'settings_enableThemeSelector' => 'Tema seçimini aç/kapat',
'settings_enableThemeSelector_desc' => 'Giriş sayfasında tema seçimini aç/kapat',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Kullanıcı Resmine İzin Ver',

View File

@ -306,6 +306,8 @@ URL: [url]',
'de_DE' => 'German',
'disclaimer' => 'Авторизована зона. Несанкціонований доступ переслідується згідно національного законодавства.',
'discspace' => 'Дисковий простір',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => 'Документ',
'documentcontent' => '',
'documents' => 'док.',
@ -319,6 +321,7 @@ URL: [url]',
'documents_to_receipt' => 'Документи, які чекають підтвердження отримання',
'documents_to_review' => 'Документи, які чекають вашої рецензії',
'documents_to_revise' => 'Документи для повторного розгляду',
'documents_user_reception' => '',
'documents_user_rejected' => 'Документи, які відхилили',
'documents_user_requiring_attention' => 'Ваші документи, які потребують уваги',
'document_already_checkedout' => 'Цей документ вже на опрацюванні',
@ -761,6 +764,8 @@ URL: [url]',
'no_version_modification' => 'Відсутня модифікація версії',
'no_workflow_available' => 'Немає доступних процесів',
'objectcheck' => 'Перевірка каталогу чи документа',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Застарів',
'october' => 'Жовтень',
'old' => 'Старий',
@ -925,6 +930,8 @@ URL: [url]',
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Запит на ревізію',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => 'Ревізори',
'revisor_already_assigned' => 'Ревізор вже призначений',
'revisor_already_removed' => 'Ревізора вже видалено',
@ -1077,6 +1084,8 @@ URL: [url]',
'settings_dbUser' => 'Логін',
'settings_dbUser_desc' => 'Логін, введений при встановленні. Не змінюйте без потреби, наприклад, якщо БД було переміщено.',
'settings_dbVersion' => 'Схема БД застаріла',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => 'Метод пошуку за замовчуванням',
'settings_defaultSearchMethod_desc' => 'Метод пошуку за замовчуванням, коли пошук починається з пошукової форми головного меню.',
'settings_defaultSearchMethod_valdatabase' => 'база даних',
@ -1147,6 +1156,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => 'Увімкніть для того, щоб користувачі, в даний момент авторизовані у системі, були в списку рецензентів/затверджувачів і в зміні процесу.',
'settings_enableThemeSelector' => 'Вибір теми',
'settings_enableThemeSelector_desc' => 'Увімкнути/вимкнути можливість вибору теми на сторінці авторизації.',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => 'Увімкнути аватари',

View File

@ -285,6 +285,8 @@ URL: [url]',
'de_DE' => '德国语',
'disclaimer' => '警告:这是机密区.只有授权用户才被允许访问.任何违反行为将受到法律制裁',
'discspace' => '磁盘空间',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => '文档',
'documentcontent' => '',
'documents' => '文档',
@ -298,6 +300,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => '待您校对的文档',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => '需您关注的文档',
'document_already_checkedout' => '',
@ -663,6 +666,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '文件夹/文件检查',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => '过时的',
'october' => '十 月',
'old' => 'Old',
@ -772,6 +777,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -911,6 +918,8 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -981,6 +990,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -283,6 +283,8 @@ URL: [url]',
'de_DE' => '德國語',
'disclaimer' => '警告:這是機密區.只有授權使用者才被允許訪問.任何違反行為將受到法律制裁',
'discspace' => '',
'docs_in_reception_no_access' => '',
'docs_in_revision_no_access' => '',
'document' => '文檔',
'documentcontent' => '',
'documents' => '文檔',
@ -296,6 +298,7 @@ URL: [url]',
'documents_to_receipt' => '',
'documents_to_review' => '待您校對的文檔',
'documents_to_revise' => '',
'documents_user_reception' => '',
'documents_user_rejected' => '',
'documents_user_requiring_attention' => '需您關注的文檔',
'document_already_checkedout' => '',
@ -661,6 +664,8 @@ URL: [url]',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '資料夾/檔檢查',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => '過時的',
'october' => '十 月',
'old' => 'Old',
@ -770,6 +775,8 @@ URL: [url]',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revision_status' => '',
'revision_submit_email_body' => '',
'revision_submit_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',
@ -909,6 +916,8 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultAccessDocs' => '',
'settings_defaultAccessDocs_desc' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
@ -979,6 +988,8 @@ URL: [url]',
'settings_enableSelfRevApp_desc' => '',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector_desc' => '',
'settings_enableUpdateReceipt' => '',
'settings_enableUpdateReceipt_desc' => '',
'settings_enableUpdateRevApp' => '',
'settings_enableUpdateRevApp_desc' => '',
'settings_enableUserImage' => '',

View File

@ -62,6 +62,18 @@ if($settings->_quota > 0) {
}
}
if($user->isAdmin()) {
$ownerid = (int) $_POST["ownerid"];
if($ownerid) {
if(!($owner = $dms->getUser($ownerid))) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
} else {
$owner = $user;
}
} else {
$owner = $user;
}
$comment = trim($_POST["comment"]);
$version_comment = trim($_POST["version_comment"]);
if($version_comment == "" && isset($_POST["use_comment"]))
@ -355,6 +367,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$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);
@ -371,6 +384,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$controller->setParam('notificationusers', $notusers);
$controller->setParam('initialdocumentstatus', $settings->_initialDocumentStatus);
$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText);
$controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs);
if(!$document = $controller->run()) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg()));

View File

@ -732,6 +732,15 @@ switch($command) {
exit;
} else {
$document = $res[0];
/* Set access as specified in settings. */
if($settings->_defaultAccessDocs) {
if($settings->_defaultAccessDocs > 0 && $settings->_defaultAccessDocs < 4) {
$document->setInheritAccess(0, true);
$document->setDefaultAccess($settings->_defaultAccessDocs, true);
}
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'] as $hookObj) {
if (method_exists($hookObj, 'postAddDocument')) {

View File

@ -136,6 +136,7 @@ if ($action == "saveSettings")
$settings->_undelUserIds = strval($_POST["undelUserIds"]);
$settings->_encryptionKey = strval($_POST["encryptionKey"]);
$settings->_cookieLifetime = intval($_POST["cookieLifetime"]);
$settings->_defaultAccessDocs = intval($_POST["defaultAccessDocs"]);
// TODO Connectors
@ -176,6 +177,7 @@ if ($action == "saveSettings")
$settings->_enableUpdateRevApp = getBoolValue("enableUpdateRevApp");
$settings->_enableAdminReceipt = getBoolValue("enableAdminReceipt");
$settings->_enableOwnerReceipt = getBoolValue("enableOwnerReceipt");
$settings->_enableUpdateReceipt = getBoolValue("enableUpdateReceipt");
$settings->_enableVersionDeletion = getBoolValue("enableVersionDeletion");
$settings->_enableVersionModification = getBoolValue("enableVersionModification");
$settings->_enableDuplicateDocNames = getBoolValue("enableDuplicateDocNames");
@ -202,7 +204,7 @@ if ($action == "saveSettings")
$settings->_converters['fulltext'] = $_POST["converters"]["fulltext"];
else
$settings->_converters['fulltext'] = $_POST["converters"];
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.]+#', '', $settings->_converters["fulltext"]["newmimetype"]);
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.-]+#', '', $settings->_converters["fulltext"]["newmimetype"]);
if($newmimetype && trim($settings->_converters['fulltext']['newcmd']))
$settings->_converters['fulltext'][$newmimetype] = trim($settings->_converters['fulltext']['newcmd']);
unset($settings->_converters['fulltext']['newmimetype']);
@ -210,7 +212,7 @@ if ($action == "saveSettings")
if(isset($_POST["converters"]["preview"]))
$settings->_converters['preview'] = $_POST["converters"]["preview"];
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.]+#', '', $settings->_converters["preview"]["newmimetype"]);
$newmimetype = preg_replace('#[^A-Za-z0-9_/+.-]+#', '', $settings->_converters["preview"]["newmimetype"]);
if($newmimetype && trim($settings->_converters['preview']['newcmd']))
$settings->_converters['preview'][$newmimetype] = trim($settings->_converters['preview']['newcmd']);
unset($settings->_converters['preview']['newmimetype']);

View File

@ -27,6 +27,10 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if ($user->isGuest()) {
UI::exitError(getMLText("edit_user_details"),getMLText("access_denied"));
}
@ -36,9 +40,13 @@ if (!$user->isAdmin() && ($settings->_disableSelfEdit)) {
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'enableuserimage'=>$settings->_enableUserImage, 'enablelanguageselector'=>$settings->_enableLanguageSelector, 'enablethemeselector'=>$settings->_enableThemeSelector, 'passwordstrength'=>$settings->_passwordStrength, 'httproot'=>$settings->_httpRoot));
if($view) {
$view->setParam('enableuserimage', $settings->_enableUserImage);
$view->setParam('enablelanguageselector', $settings->_enableLanguageSelector);
$view->setParam('enablethemeselector', $settings->_enableThemeSelector);
$view->setParam('passwordstrength', $settings->_passwordStrength);
$view->setParam('httproot', $settings->_httpRoot);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -25,6 +25,10 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if ($user->isGuest()) {
UI::exitError(getMLText("my_account"),getMLText("access_denied"));
}
@ -43,11 +47,10 @@ if (is_bool($allGroups)) {
UI::exitError(getMLText("admin_tools"),getMLText("internal_error"));
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('allusers', $allUsers);
$view->setParam('allgroups', $allGroups);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -25,13 +25,20 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if ($user->isGuest()) {
UI::exitError(getMLText("my_account"),getMLText("access_denied"));
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview'], 'timeout'=>$settings->_cmdTimeout));
if($view) {
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -35,6 +35,11 @@ if (!$accessop->check_view_access($view, $_GET)) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
$listtype = 'listRepair';
if (isset($_GET["list"])) {
$listtype = $_GET['list'];
}
if(isset($_GET['repair']) && $_GET['repair'] == 1) {
$repair = 1;
} else {
@ -66,21 +71,111 @@ $unlinkeddocuments = $dms->checkDocuments();
$nofilesizeversions = $dms->getNoFileSizeDocumentContent();
$nochecksumversions = $dms->getNoChecksumDocumentContent();
$duplicateversions = $dms->getDuplicateDocumentContent();
$tmprevs = $dms->getDocumentsInRevision();
$docsinrevision = array();
foreach($tmprevs as $rev) {
if($doc = $dms->getDocument($rev['documentID'])) {
if($rev['type'] == 0) {
$ruser = $dms->getUser($rev['required']);
$mode = $doc->getAccessMode($ruser);
} elseif($rev['type'] == 1) {
$rgroup = $dms->getGroup($rev['required']);
$mode = $doc->getGroupAccessMode($rgroup);
}
if($mode < M_READ)
$docsinrevision[] = $doc;
}
}
$tmprevs = $dms->getDocumentsInReception();
$docsinreception = array();
foreach($tmprevs as $rev) {
if($doc = $dms->getDocument($rev['documentID'])) {
if($rev['type'] == 0) {
$ruser = $dms->getUser($rev['required']);
$mode = $doc->getAccessMode($ruser);
} elseif($rev['type'] == 1) {
$rgroup = $dms->getGroup($rev['required']);
$mode = $doc->getGroupAccessMode($rgroup);
}
if($mode < M_READ)
$docsinreception[] = $doc;
}
}
$rootfolder = $dms->getFolder($settings->_rootFolderID);
function repair_tree($dms, $user, $folder, $path=':') { /* {{{ */
$objects = array();
/* Don't do folderlist check for root folder */
if($path != ':') {
/* If the path contains a folder id twice, the a cyclic relation
* exists.
*/
$tmparr = explode(':', $path);
array_shift($tmparr);
if(count($tmparr) != count(array_unique($tmparr))) {
$objects[] = array('object'=>$folder, 'msg'=>'Folder path contains cyclic relation');
}
$folderList = $folder->getFolderList();
/* Check the folder */
if($folderList != $path) {
$objects[] = array('object'=>$folder, 'msg'=>"Folderlist is '".$folderList."', should be '".$path);
}
}
$subfolders = $folder->getSubFolders();
foreach($subfolders as $subfolder) {
$objects = array_merge($objects, repair_tree($dms, $user, $subfolder, $path.$folder->getId().':'));
}
$path .= $folder->getId().':';
$documents = $folder->getDocuments();
foreach($documents as $document) {
/* Check the folder list of the document */
$folderList = $document->getFolderList();
if($folderList != $path) {
$objects[] = array('object'=>$document, 'msg'=>"Folderlist is '".$folderList."', should be '".$path);
}
/* Check if the content is available */
$versions = $document->getContent();
if($versions) {
foreach($versions as $version) {
$filepath = $dms->contentDir . $version->getPath();
if(!file_exists($filepath)) {
$objects[] = array('object'=>$version, 'msg'=>'Document content is missing');
}
}
} else {
$objects[] = array('object'=>$version, 'msg'=>'Document has no content at all');
}
}
return $objects;
} /* }}} */
$repairobjects = repair_tree($dms, $user, $folder);
if($view) {
$view->setParam('folder', $folder);
$view->setParam('showtree', showtree());
$view->setParam('listtype', $listtype);
$view->setParam('unlinkedcontent', $unlinkedversions);
$view->setParam('unlinkedfolders', $unlinkedfolders);
$view->setParam('unlinkeddocuments', $unlinkeddocuments);
$view->setParam('nofilesizeversions', $nofilesizeversions);
$view->setParam('nochecksumversions', $nochecksumversions);
$view->setParam('duplicateversions', $duplicateversions);
$view->setParam('docsinrevision', $docsinrevision);
$view->setParam('docsinreception', $docsinreception);
$view->setParam('unlink', $unlink);
$view->setParam('setfilesize', $setfilesize);
$view->setParam('setchecksum', $setchecksum);
$view->setParam('repair', $repair);
$view->setParam('rootfolder', $rootfolder);
$view->setParam('repairobjects', $repairobjects);
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;

View File

@ -194,6 +194,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe
case 2: // name
case 3: // comment
case 4: // attributes
case 5: // id
$searchin[$si] = $si;
break;
}
@ -202,7 +203,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe
}
// if none is checkd search all
if (count($searchin)==0) $searchin=array(1, 2, 3, 4);
if (count($searchin)==0) $searchin=array(1, 2, 3, 4, 5);
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.

View File

@ -36,9 +36,14 @@ if (!$accessop->check_view_access($view, $_GET)) {
if(!trim($settings->_encryptionKey))
$settings->_encryptionKey = md5(uniqid());
$users = $dms->getAllUsers($settings->_sortUsersInList);
$groups = $dms->getAllGroups();
if($view) {
$view->setParam('settings', $settings);
$view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : ''));
$view->setParam('allusers', $users);
$view->setParam('allgroups', $groups);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;

View File

@ -25,6 +25,10 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if ($user->isGuest()) {
UI::exitError(getMLText("my_account"),getMLText("access_denied"));
}
@ -38,12 +42,11 @@ if (is_bool($users)) {
UI::exitError(getMLText("my_account"),getMLText("internal_error"));
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('allusers', $users);
$view->setParam('enableuserimage', $settings->_enableUserImage);
$view->setParam('httproot', $settings->_httpRoot);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;
}

View File

@ -255,13 +255,23 @@ span.openpopupbox {
}
div.popupbox {
margin-top: 5px;
background-color: #fff;
border-radius: 4px;
color: black;
text-align: left;
text-shadow: none;
border: 1px solid #ccc;
padding: 15px;
display: none;
position: absolute;
width: 200px;
width: 250px;
}
div.popupbox span.closepopupbox {
position: absolute;
right: 5px;
top: 0px;
}
@media (max-width: 480px) {

View File

@ -990,11 +990,15 @@ $(document).ready(function() { /* {{{ */
});
});
$('span.openpopupbox').on('click', function(e) {
$('div.popupbox').toggle();
console.log('Hallo');
$("body").on("click", "span.openpopupbox", function(e) {
$(""+$(e.target).data("href")).toggle();
});
$("body").on("click", "span.openpopupbox i", function(e) {
$(e.target).parent().click();
});
$("body").on("click", "span.closepopupbox", function(e) {
$(this).parent().hide();
});
}); /* }}} */
var approval_count, review_count, receipt_count, revision_count;

View File

@ -205,6 +205,24 @@ $(document).ready(function() {
<td><?php printMLText("sequence");?>:</td>
<td><?php $this->printSequenceChooser($folder->getDocuments('s')); if($orderby != 's') echo "<br />".getMLText('order_by_sequence_off'); ?></td>
</tr>
<?php if($user->isAdmin()) { ?>
<tr>
<td><?php printMLText("owner");?>:</td>
<td>
<select class="chzn-select" name="ownerid">
<?php
$allUsers = $dms->getAllUsers($sortusersinlist);
foreach ($allUsers as $currUser) {
if ($currUser->isGuest())
continue;
print "<option value=\"".$currUser->getID()."\" ".($currUser->getID()==$user->getID() ? 'selected' : '')." data-subtitle=\"".htmlspecialchars($currUser->getFullName())."\"";
print ">" . htmlspecialchars($currUser->getLogin()) . "</option>\n";
}
?>
</select>
</td>
</tr>
<?php } ?>
<?php
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_all));
if($attrdefs) {

View File

@ -149,7 +149,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if(is_dir($this->params['cachedir'].'/js')) {
file_put_contents($this->params['cachedir'].'/js/'.$hashjs.'.js', $jscode);
}
echo '<script src="../out/out.'.$this->params['class'].'.php?action=footerjs&hash='.$hashjs.'"></script>'."\n";
parse_str($_SERVER['QUERY_STRING'], $tmp);
$tmp['action'] = 'footerjs';
$tmp['hash'] = $hashjs;
echo '<script src="../out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
}
if(method_exists($this, 'js')) {
parse_str($_SERVER['QUERY_STRING'], $tmp);
@ -2240,6 +2243,23 @@ $(document).ready( function() {
} else {
$content .= getOverallStatusText($status["status"]);
}
if($owner->getID() == $user->getID() && $receiptStatus = $latestContent->getReceiptStatus()) {
$rstat = array('-1'=>0, '0'=>0, '1'=>0, '-2'=>0);
$allcomments = array('-1'=>array(), '1'=>array());
foreach ($receiptStatus as $r) {
$rstat[''.$r['status']]++;
if($r['comment'])
$allcomments[''.$r['status']][] = htmlspecialchars($r['comment']);
}
$totalreceipts = $rstat['-1'] + $rstat['0'] + $rstat['1'];
if($totalreceipts) {
$content .= ";
<div class=\"progress\">
<div class=\"bar bar-success\" style=\"width: ".round($rstat['1']/$totalreceipts*100)."%;\">".($rstat['1'] ? $rstat['1']."/".$totalreceipts : '').($allcomments['1'] ? " ".$this->printPopupBox('<i class="icon-comment"></i>', implode('<br />', $allcomments['1']), true) : "")."</div>
<div class=\"bar bar-danger\" style=\"width: ".round($rstat['-1']/$totalreceipts*100)."%;\">".($rstat['-1'] ? $rstat['-1']."/".$totalreceipts : '').($allcomments['-1'] ? " ".$this->printPopupBox('<i class="icon-comment"></i>', implode('<br />', $allcomments['-1']), true) : "")."</div>
</div>";
}
}
$content .= "</small></td>";
// $content .= "<td>".$version."</td>";
$content .= "<td>";
@ -2885,13 +2905,26 @@ mayscript>
$this->printTimelineHtml($height);
} /* }}} */
protected function printPopupBox($title, $content) { /* {{{ */
?>
<span class="openpopupbox"><?php echo $title; ?></span>
<div class="popupbox" style="display: none;">
<?php echo $content; ?>
</div>
<?php
protected function printPopupBox($title, $content, $ret=false) { /* {{{ */
$id = md5(uniqid());
/*
$this->addFooterJS('
$("body").on("click", "span.openpopupbox", function(e) {
$(""+$(e.target).data("href")).toggle();
// $("div.popupbox").toggle();
});
');
*/
$html = '
<span class="openpopupbox" data-href="#'.$id.'">'.$title.'</span>
<div id="'.$id.'" class="popupbox" style="display: none;">
'.$content.'
<span class="closepopupbox"><i class="icon-remove"></i></span>
</div>';
if($ret)
return $html;
else
echo $html;
} /* }}} */
protected function printAccordion($title, $content) { /* {{{ */

View File

@ -410,6 +410,24 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
}
?>
</div>
<?php if($version->getReceiptStatus()) { ?>
<div class="row-fluid">
<div class="span12">
<?php
$this->printProtocol($version, 'receipt');
?>
</div>
</div>
<?php } ?>
<?php if($version->getRevisionStatus()) { ?>
<div class="row-fluid">
<div class="span12">
<?php
$this->printProtocol($version, 'revision');
?>
</div>
</div>
<?php } ?>
<?php
}
?>

View File

@ -54,9 +54,7 @@ $(document).ready( function() {
<?php
} /* }}} */
protected function printList($resArr, $previewer, $order=false) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
protected function printListHeader($resArr, $previewer, $order=false) { /* {{{ */
$orderby = $this->params['orderby'];
$orderdir = $this->params['orderdir'];
@ -73,24 +71,33 @@ $(document).ready( function() {
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
} /* }}} */
protected function printListFooter() { /* {{{ */
echo "</tbody>\n</table>";
} /* }}} */
protected function printList($resArr, $previewer, $order=false) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$this->printListHeader($resArr, $previewer, $order);
$noaccess = 0;
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
$document->verifyLastestContentExpriry();
$txt = $this->callHook('documentListItem', $document, $previewer);
if(is_string($txt))
echo $txt;
else {
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$txt = $this->callHook('documentListItem', $document, $previewer, false, $res['version']);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false, $res['version']);
} else {
$noaccess++;
}
} else {
$noaccess++;
}
}
echo "</tbody>\n</table>";
$this->printListFooter();
if($noaccess) {
$this->warningMsg(getMLText('list_contains_no_access_docs', array('count'=>$noaccess)));
@ -121,30 +128,6 @@ $(document).ready( function() {
$this->contentHeading(getMLText("documents_to_review"));
if($resArr) {
$this->printList($resArr, $previewer, 'listReviews');
/*
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
// List the documents for which a review has been requested.
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
$document->verifyLastestContentExpriry();
$txt = $this->callHook('documentListItem', $document, $previewer);
if(is_string($txt))
echo $txt;
else {
echo $this->documentListRow($document, $previewer, false, $res['version']);
}
}
echo "</tbody>\n</table>\n";
*/
} else {
printMLText("no_docs_to_review");
}
@ -174,30 +157,6 @@ $(document).ready( function() {
$this->contentHeading(getMLText("documents_to_approve"));
if($resArr) {
$this->printList($resArr, $previewer, 'listApprovals');
/*
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
// List the documents for which an approval has been requested.
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
$document->verifyLastestContentExpriry();
$txt = $this->callHook('documentListItem', $document, $previewer);
if(is_string($txt))
echo $txt;
else {
echo $this->documentListRow($document, $previewer, false, $res['version']);
}
}
echo "</tbody>\n</table>\n";
*/
} else {
printMLText("no_docs_to_approve");
}
@ -252,6 +211,36 @@ $(document).ready( function() {
}
} /* }}} */
function listReceiveOwner() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$orderby = $this->params['orderby'];
$orderdir = $this->params['orderdir'];
$cachedir = $this->params['cachedir'];
$showtree = $this->params['showtree'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$timeout = $this->params['timeout'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
$previewer->setConverters($previewconverters);
/* Get list of documents owned by current user */
$resArr = $dms->getDocumentList('ReceiveOwner', $user, false, $orderby, $orderdir);
if (is_bool($resArr) && !$resArr) {
$this->contentHeading(getMLText("warning"));
$this->contentContainer(getMLText("internal_error_exit"));
$this->htmlEndPage();
exit;
}
$this->contentHeading(getMLText("documents_user_reception"));
if($resArr) {
$this->printList($resArr, $previewer, 'listReceiveOwner');
}
else printMLText("empty_notify_list");
} /* }}} */
function listMyDocs() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -559,12 +548,22 @@ $(document).ready( function() {
echo '<div class="row-fluid">';
echo '<div class="span3">';
$this->contentHeading(getMLText("my_documents"));
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
$resArr = $dms->getDocumentList('MyDocs', $user);
echo '<li class=""><a data-href="#all_documents" data-action="listMyDocs"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("all_documents").'</a></li>';
$resArr = $dms->getDocumentList('ReceiveOwner', $user);
echo '<li class=""><a data-href="#documents_user_reception" data-action="listReceiveOwner"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_user_reception").'</a></li>';
if($workflowmode == 'traditional') {
$resArr = $dms->getDocumentList('AppRevOwner', $user);
echo '<li class=""><a data-href="#documents_user_requiring_attention" data-action="listDocsToLookAt"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_user_requiring_attention").'</a></li>';
$resArr = $dms->getDocumentList('RejectOwner', $user);
echo '<li class=""><a data-href="#documents_user_rejected" data-action="listRejects"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_user_rejected").'</a></li>';
}
echo '</ul>';
$this->contentHeading(getMLText("tasks"));
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
if($workflowmode == 'traditional') {
$resArr = $dms->getDocumentList('ReviewByMe', $user);
echo '<li class=""><a data-href="#documents_to_review" data-action="listReviews"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_to_review").'</a></li>';
}
@ -575,12 +574,13 @@ $(document).ready( function() {
$resArr = $dms->getDocumentList('WorkflowByMe', $user);
echo '<li class=""><a data-href="#documents_to_process" data-action="listWorkflow"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_to_process").'</a></li>';
}
$resArr = $dms->getDocumentList('ReviseByMe', $user);
echo '<li class=""><a data-href="#documents_to_revise" data-action="listRevisions"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_to_revise").'</a></li>';
$resArr = $dms->getDocumentList('ReceiptByMe', $user);
echo '<li class=""><a data-href="#documents_to_receipt" data-action="listReceipts"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_to_receipt").'</a></li>';
$resArr = $dms->getDocumentList('RejectOwner', $user);
echo '<li class=""><a data-href="#documents_user_rejected" data-action="listRejects"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_user_rejected").'</a></li>';
$resArr = $dms->getDocumentList('ReviseByMe', $user);
echo '<li class=""><a data-href="#documents_to_revise" data-action="listRevisions"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_to_revise").'</a></li>';
echo '</ul>';
$this->contentHeading(getMLText("misc"));
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
$resArr = $dms->getDocumentList('LockedByMe', $user);
echo '<li class=""><a data-href="#documents_locked_by_you" data-action="listLockedDocs"><span class="badge '.($resArr ? 'badge-info ' : '').'badge-right">'.count($resArr).'</span>'.getMLText("documents_locked_by_you").'</a></li>';
$resArr = $dms->getDocumentList('CheckedOutByMe', $user);

View File

@ -18,6 +18,11 @@
*/
require_once("class.Bootstrap.php");
/**
* Include class to preview documents
*/
require_once("SeedDMS/Preview.php");
/**
* Class which outputs the html page for ObjectCheck view
*
@ -31,219 +36,93 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
function tree($dms, $folder, $repair, $path=':', $indent='') { /* {{{ */
global $user;
/* Don't do folderlist check for root folder */
if($path != ':') {
/* If the path contains a folder id twice, the a cyclic relation
* exists.
*/
$tmparr = explode(':', $path);
array_shift($tmparr);
if(count($tmparr) != count(array_unique($tmparr))) {
print "<tr>\n";
print "<td><a class=\"standardText\" href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\"><img src=\"../out/images/folder_closed.gif\" width=18 height=18 border=0></a></td>";
print "<td><a class=\"standardText\" href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\">";
print htmlspecialchars($path);
print "</a></td>";
$owner = $folder->getOwner();
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>Folder path contains cyclic relation</td>";
if($repair) {
print "<td><span class=\"success\">".getMLText('repaired')."</span></td>\n";
} else {
print "<td></td>\n";
}
print "</tr>\n";
}
$folderList = $folder->getFolderList();
/* Check the folder */
if($folderList != $path) {
print "<tr>\n";
$this->needsrepair = true;
print "<td><a class=\"standardText\" href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\"><img src=\"../out/images/folder_closed.gif\" width=18 height=18 border=0></a></td>";
print "<td><a class=\"standardText\" href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\">";
$tmppath = $folder->getPath();
for ($i = 1; $i < count($tmppath); $i++) {
print "/".htmlspecialchars($tmppath[$i]->getName());
}
print "</a></td>";
$owner = $folder->getOwner();
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>Folderlist is '".$folderList."', should be '".$path."'</td>";
if($repair) {
$folder->repair();
print "<td><span class=\"success\">".getMLText('repaired')."</span></td>\n";
} else {
print "<td></td>\n";
}
print "</tr>\n";
}
}
$subfolders = $folder->getSubFolders();
foreach($subfolders as $subfolder) {
$this->tree($dms, $subfolder, $repair, $path.$folder->getId().':', $indent.' ');
}
$path .= $folder->getId().':';
$documents = $folder->getDocuments();
foreach($documents as $document) {
/* Check the folder list of the document */
$folderList = $document->getFolderList();
if($folderList != $path) {
print "<tr>\n";
$this->needsrepair = true;
$lc = $document->getLatestContent();
print "<td><a class=\"standardText\" href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\"><img class=\"mimeicon\" src=\"../out/images/icons/".$this->getMimeIcon($lc->getFileType())."\" title=\"".$lc->getMimeType()."\"></a></td>";
print "<td><a class=\"standardText\" href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\">/";
$folder = $document->getFolder();
$tmppath = $folder->getPath();
for ($i = 1; $i < count($tmppath); $i++) {
print htmlspecialchars($tmppath[$i]->getName())."/";
}
print htmlspecialchars($document->getName());
print "</a></td>";
$owner = $document->getOwner();
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>Folderlist is '".$folderList."', should be '".$path."'</td>";
if($repair) {
$document->repair();
print "<td><span class=\"success\">".getMLText('repaired')."</span></td>\n";
} else {
print "<td></td>\n";
}
print "</tr>\n";
}
/* Check if the content is available */
$versions = $document->getContent();
if($versions) {
foreach($versions as $version) {
$filepath = $dms->contentDir . $version->getPath();
if(!file_exists($filepath)) {
print "<tr>\n";
print "<tr id=\"table-row-document-".$document->getID()."\" class=\"table-row-document\" rel=\"document_".$document->getID()."\" formtoken=\"".createFormKey('movedocument')."\" draggable=\"true\">";
print "<td><a class=\"standardText\" href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\"><img class=\"mimeicon\" src=\"".$this->getMimeIcon($version->getFileType())."\" title=\"".$version->getMimeType()."\"></a></td>";
print "<td><a class=\"standardText\" href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\">/";
$folder = $document->getFolder();
$tmppath = $folder->getPath();
for ($i = 1; $i < count($tmppath); $i++) {
print htmlspecialchars($tmppath[$i]->getName())."/";
}
print htmlspecialchars($document->getName());
print "</a></td>";
$owner = $document->getOwner();
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>Document content of version ".$version->getVersion()." is missing ('".$path."')</td>";
if($repair) {
print "<td><span class=\"warning\">Cannot repaired</span></td>\n";
} else {
print "<td></td>\n";
}
echo "<td>";
echo "<div class=\"list-action\">";
if($document->getAccessMode($user) >= M_ALL) {
echo $this->printDeleteDocumentButton($document, 'splash_rm_document', true);
} else {
echo '<span style="padding: 2px; color: #CCC;"><i class="icon-remove"></i></span>';
}
if($document->getAccessMode($user) >= M_READWRITE) {
print '<a href="../out/out.EditDocument.php?documentid='.$document->getID().'" title="'.getMLText("edit_document_props").'"><i class="icon-edit"></i></a>';
} else {
print '<span style="padding: 2px; color: #CCC;"><i class="icon-edit"></i></span>';
}
if($document->getAccessMode($user) >= M_READWRITE) {
print $this->printLockButton($document, 'splash_document_locked', 'splash_document_unlocked', true);
}
if($this->enableClipboard) {
print '<a class="addtoclipboard" rel="D'.$document->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="icon-copy"></i></a>';
}
echo "</div>";
echo "</td>";
print "</tr>\n";
}
}
} else {
print "<tr>\n";
print "<td></td>\n";
print "<td><a class=\"standardText\" href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\">/";
$folder = $document->getFolder();
$tmppath = $folder->getPath();
for ($i = 1; $i < count($tmppath); $i++) {
print htmlspecialchars($tmppath[$i]->getName())."/";
}
print htmlspecialchars($document->getName());
print "</a></td>";
$owner = $document->getOwner();
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>Document has no content! Delete the document manually.</td>";
print "</tr>\n";
}
}
} /* }}} */
function js() { /* {{{ */
$user = $this->params['user'];
$folder = $this->params['folder'];
header('Content-Type: application/javascript; charset=UTF-8');
$this->printDeleteFolderButtonJs();
$this->printDeleteDocumentButtonJs();
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$unlinkedversions = $this->params['unlinkedcontent'];
$unlinkedfolders = $this->params['unlinkedfolders'];
$unlinkeddocuments = $this->params['unlinkeddocuments'];
$nofilesizeversions = $this->params['nofilesizeversions'];
$nochecksumversions = $this->params['nochecksumversions'];
$duplicateversions = $this->params['duplicateversions'];
$repair = $this->params['repair'];
$unlink = $this->params['unlink'];
$setfilesize = $this->params['setfilesize'];
$setchecksum = $this->params['setchecksum'];
$rootfolder = $this->params['rootfolder'];
$this->enableClipboard = $this->params['enableclipboard'];
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("objectcheck"));
if($repair) {
echo "<div class=\"alert\">".getMLText('repairing_objects')."</div>";
}
$this->contentContainerStart();
protected function printListHeader($resArr, $previewer, $order=false) { /* {{{ */
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("error")."</th>\n";
print "<th></th>\n";
if($order) {
$orderby = $this->params['orderby'];
$orderdir = $this->params['orderdir'];
print "<th><a data-action=\"".$order."\" data-orderby=\"n\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("name")."</a> ".($orderby == 'n' || $orderby == '' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')." &middot; <a data-action=\"".$order."\" data-orderby=\"u\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("last_update")."</a> ".($orderby == 'u' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')." &middot; <a data-action=\"".$order."\" data-orderby=\"e\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("expires")."</a> ".($orderby == 'e' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')."</th>\n";
} else
print "<th>".getMLText("name")."</th>\n";
if($order)
print "<th><a data-action=\"".$order."\" data-orderby=\"s\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("status")."</a>".($orderby == 's' ? " ".($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')."</th>\n";
else
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$this->needsrepair = false;
$this->tree($dms, $folder, $repair);
print "</tbody></table>\n";
} /* }}} */
if($this->needsrepair && $repair == 0) {
echo '<p><a href="out.ObjectCheck.php?repair=1">'.getMLText('do_object_repair').'</a></p>';
protected function printListFooter() { /* {{{ */
echo "</tbody>\n</table>";
} /* }}} */
protected function printList($resArr, $previewer, $order=false) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$this->printListHeader($resArr, $previewer, $order);
$noaccess = 0;
foreach ($resArr as $document) {
$document->verifyLastestContentExpriry();
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$txt = $this->callHook('documentListItem', $document, $previewer, false);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false);
} else {
$noaccess++;
}
}
$this->contentContainerEnd();
$this->printListFooter();
if($noaccess) {
$this->warningMsg(getMLText('list_contains_no_access_docs', array('count'=>$noaccess)));
}
} /* }}} */
function listRepair() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$repair = $this->params['repair'];
$objects = $this->params['repairobjects'];
$this->contentHeading(getMLText("objectcheck"));
if($objects) {
if($repair) {
echo "<div class=\"alert\">".getMLText('repairing_objects')."</div>";
}
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("error")."</th>\n";
print "<th></th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$this->needsrepair = false;
print "</tbody></table>\n";
if($this->needsrepair && $repair == 0) {
echo '<p><a href="out.ObjectCheck.php?repair=1">'.getMLText('do_object_repair').'</a></p>';
}
}
} /* }}} */
function listUnlinkedFolders() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$unlinkedfolders = $this->params['unlinkedfolders'];
$this->contentHeading(getMLText("unlinked_folders"));
if($unlinkedfolders) {
$this->contentHeading(getMLText("unlinked_folders"));
$this->contentContainerStart();
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("name")."</th>\n";
@ -262,12 +141,17 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
echo "</tr>";
}
print "</tbody></table>\n";
$this->contentContainerEnd();
}
} /* }}} */
function listUnlinkedDocuments() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$unlinkeddocuments = $this->params['unlinkeddocuments'];
$this->contentHeading(getMLText("unlinked_documents"));
if($unlinkeddocuments) {
$this->contentHeading(getMLText("unlinked_documents"));
$this->contentContainerStart();
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("name")."</th>\n";
@ -286,16 +170,22 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
echo "</tr>";
}
print "</tbody></table>\n";
$this->contentContainerEnd();
}
} /* }}} */
function listUnlinkedContent() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$unlinkedcontent = $this->params['unlinkedcontent'];
$unlink = $this->params['unlink'];
$this->contentHeading(getMLText("unlinked_content"));
$this->contentContainerStart();
if($unlink) {
echo "<p>".getMLText('unlinking_objects')."</p>";
}
if($unlinkedversions) {
if($unlinkedcontent) {
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("document")."</th>\n";
@ -304,7 +194,7 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
print "<th>".getMLText("mimetype")."</th>\n";
print "<th></th>\n";
print "</tr>\n</thead>\n<tbody>\n";
foreach($unlinkedversions as $version) {
foreach($unlinkedcontent as $version) {
$doc = $version->getDocument();
print "<tr><td>".$doc->getId()."</td><td>".$version->getVersion()."</td><td>".$version->getOriginalFileName()."</td><td>".$version->getMimeType()."</td>";
if($unlink) {
@ -318,11 +208,15 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
}
}
$this->contentContainerEnd();
} /* }}} */
function listMissingFileSize() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$nofilesizeversions = $this->params['nofilesizeversions'];
$this->contentHeading(getMLText("missing_filesize"));
$this->contentContainerStart();
if($nofilesizeversions) {
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
@ -347,10 +241,15 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
}
}
$this->contentContainerEnd();
} /* }}} */
function listMissingChecksum() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$nochecksumversions = $this->params['nochecksumversions'];
$this->contentHeading(getMLText("missing_checksum"));
$this->contentContainerStart();
if($nochecksumversions) {
print "<table class=\"table-condensed\">";
@ -375,14 +274,18 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
echo '<p><a href="out.ObjectCheck.php?setchecksum=1">'.getMLText('do_object_setchecksum').'</a></p>';
}
}
} /* }}} */
$this->contentContainerEnd();
function listDuplicateContent() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$duplicateversions = $this->params['duplicateversions'];
$this->contentHeading(getMLText("duplicate_content"));
$this->contentContainerStart();
if($duplicateversions) {
print "<table class=\"table-condensed\">";
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("document")."</th>\n";
print "<th>".getMLText("version")."</th>\n";
@ -403,8 +306,125 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
}
print "</tbody></table>\n";
}
} /* }}} */
function listDocsInRevisionNoAccess() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinrevision = $this->params['docsinrevision'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$timeout = $this->params['timeout'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
$previewer->setConverters($previewconverters);
$this->contentHeading(getMLText("docs_in_revision_no_access"));
if($docsinrevision) {
$this->printList($docsinrevision, $previewer);
}
} /* }}} */
function listDocsInReceptionNoAccess() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$docsinreception = $this->params['docsinreception'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$timeout = $this->params['timeout'];
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
$previewer->setConverters($previewconverters);
$this->contentHeading(getMLText("docs_in_revision_no_access"));
if($docsinreception) {
$this->printList($docsinreception, $previewer, 'listDocsInReceptionNoAccess');
}
} /* }}} */
function js() { /* {{{ */
$user = $this->params['user'];
$folder = $this->params['folder'];
header('Content-Type: application/javascript; charset=UTF-8');
$this->printDeleteFolderButtonJs();
$this->printDeleteDocumentButtonJs();
?>
$(document).ready( function() {
$('body').on('click', 'ul.bs-docs-sidenav li a', function(ev){
ev.preventDefault();
$('#kkkk.ajax').data('action', $(this).data('action'));
$('#kkkk.ajax').trigger('update', {orderby: $(this).data('orderby')});
});
$('body').on('click', 'table th a', function(ev){
ev.preventDefault();
$('#kkkk.ajax').data('action', $(this).data('action'));
$('#kkkk.ajax').trigger('update', {orderby: $(this).data('orderby'), orderdir: $(this).data('orderdir')});
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$listtype = $this->params['listtype'];
$unlinkedcontent = $this->params['unlinkedcontent'];
$unlinkedfolders = $this->params['unlinkedfolders'];
$unlinkeddocuments = $this->params['unlinkeddocuments'];
$nofilesizeversions = $this->params['nofilesizeversions'];
$nochecksumversions = $this->params['nochecksumversions'];
$duplicateversions = $this->params['duplicateversions'];
$docsinrevision = $this->params['docsinrevision'];
$docsinreception = $this->params['docsinreception'];
$repair = $this->params['repair'];
$unlink = $this->params['unlink'];
$setfilesize = $this->params['setfilesize'];
$setchecksum = $this->params['setchecksum'];
$rootfolder = $this->params['rootfolder'];
$repairobjects = $this->params['repairobjects'];
$this->enableClipboard = $this->params['enableclipboard'];
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
echo '<div class="row-fluid">';
echo '<div class="span3">';
$this->contentHeading(getMLText("object_check_critical"));
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
echo '<li class=""><a data-href="#all_documents" data-action="listRepair"><span class="badge '.($repairobjects ? 'badge-info ' : '').'badge-right">'.count($repairobjects).'</span>'.getMLText("objectcheck").'</a></li>';
echo '<li class=""><a data-href="#unlinked_folders" data-action="listUnlinkedFolders"><span class="badge '.($unlinkedfolders ? 'badge-info ' : '').'badge-right">'.count($unlinkedfolders).'</span>'.getMLText("unlinked_folders").'</a></li>';
echo '<li class=""><a data-href="#unlinked_documents" data-action="listUnlinkedDocuments"><span class="badge '.($unlinkeddocuments ? 'badge-info ' : '').'badge-right">'.count($unlinkeddocuments).'</span>'.getMLText("unlinked_documents").'</a></li>';
echo '<li class=""><a data-href="#unlinked_content" data-action="listUnlinkedContent"><span class="badge '.($unlinkedcontent ? 'badge-info ' : '').'badge-right">'.count($unlinkedcontent).'</span>'.getMLText("unlinked_content").'</a></li>';
echo '<li class=""><a data-href="#missing_filesize" data-action="listMissingFileSize"><span class="badge '.($nofilesizeversions ? 'badge-info ' : '').'badge-right">'.count($nofilesizeversions).'</span>'.getMLText("missing_filesize").'</a></li>';
echo '<li class=""><a data-href="#missing_checksum" data-action="listMissingChecksum"><span class="badge '.($nochecksumversions ? 'badge-info ' : '').'badge-right">'.count($nochecksumversions).'</span>'.getMLText("missing_checksum").'</a></li>';
echo '</ul>';
$this->contentHeading(getMLText("object_check_warning"));
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
echo '<li class=""><a data-href="#duplicate_content" data-action="listDuplicateContent"><span class="badge '.($duplicateversions ? 'badge-info ' : '').'badge-right">'.count($duplicateversions).'</span>'.getMLText("duplicate_content").'</a></li>';
echo '<li class=""><a data-href="#inrevision_no_access" data-action="listDocsInRevisionNoAccess"><span class="badge '.($docsinrevision ? 'badge-info ' : '').'badge-right">'.count($docsinrevision).'</span>'.getMLText("docs_in_revision_no_access").'</a></li>';
echo '<li class=""><a data-href="#inreception_no_access" data-action="listDocsInReceptionNoAccess"><span class="badge '.($docsinreception ? 'badge-info ' : '').'badge-right">'.count($docsinreception).'</span>'.getMLText("docs_in_reception_no_access").'</a></li>';
echo '</ul>';
echo '</div>';
echo '<div class="span9">';
echo '<div id="kkkk" class="ajax" data-view="ObjectCheck" data-action="'.($listtype ? $listtype : 'listRepair').'"></div>';
echo '</div>';
echo '</div>';
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */

View File

@ -127,16 +127,17 @@ $(document).ready(function() {
print "</tr></tbody></table><br>";
}
?>
<form method="post" action="../op/op.ReceiptDocument.php" id="form1" name="form1">
<form class="form-horizontal" method="post" action="../op/op.ReceiptDocument.php" id="form1" name="form1">
<?php echo createHiddenFieldWithKey('receiptdocument'); ?>
<table class="table-condensed">
<tr>
<td><?php printMLText("comment")?>:</td>
<td><textarea name="comment" cols="80" rows="4"></textarea></td>
</tr>
<tr>
<td><?php printMLText("receipt_status")?></td>
<td>
<div class="control-group">
<label class="control-label"><?php printMLText("comment");?>:</label>
<div class="controls">
<textarea name="comment" cols="80" rows="4"></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label"><?php printMLText("receipt_status");?>:</label>
<div class="controls">
<select name="receiptStatus">
<?php if($receiptStatus['status'] != 1) { ?>
<option value='1'><?php printMLText("status_receipted")?></option>
@ -145,16 +146,14 @@ $(document).ready(function() {
<option value='-1'><?php printMLText("rejected")?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td></td>
<td><input type='submit' class="btn" name='indReceipt' value='<?php printMLText("submit_receipt")?>'/></td>
</tr>
</table>
<input type='hidden' name='receiptType' value='ind'/>
<input type='hidden' name='documentid' value='<?php echo $document->getID() ?>'/>
<input type='hidden' name='version' value='<?php echo $content->getVersion() ?>'/>
</div>
</div>
<div class="controls">
<input type='submit' class="btn" name='indReceipt' value='<?php printMLText("submit_receipt")?>'/>
<div>
<input type='hidden' name='receiptType' value='ind'/>
<input type='hidden' name='documentid' value='<?php echo $document->getID() ?>'/>
<input type='hidden' name='version' value='<?php echo $content->getVersion() ?>'/>
</form>
<?php
}
@ -177,16 +176,17 @@ $(document).ready(function() {
}
?>
<form method="post" action="../op/op.ReceiptDocument.php" id="form2" name="form2">
<form class="form-horizontal" method="post" action="../op/op.ReceiptDocument.php" id="form2" name="form2">
<?php echo createHiddenFieldWithKey('receiptdocument'); ?>
<table class="table-condensed">
<tr>
<td><?php printMLText("comment")?>:</td>
<td><textarea name="comment" cols="80" rows="4"></textarea></td>
</tr>
<tr>
<td><?php printMLText("receipt_status")?>:</td>
<td>
<div class="control-group">
<label class="control-label"><?php printMLText("comment");?>:</label>
<div class="controls">
<textarea name="comment" cols="80" rows="4"></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label"><?php printMLText("receipt_status");?>:</label>
<div class="controls">
<select name="receiptStatus">
<?php if($receiptStatus['status'] != 1) { ?>
<option value='1'><?php printMLText("status_receipted")?></option>
@ -195,17 +195,15 @@ $(document).ready(function() {
<option value='-1'><?php printMLText("rejected")?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td></td>
<td><input type='submit' class="btn" name='groupReceipt' value='<?php printMLText("submit_receipt")?>'/></td>
</tr>
</table>
<input type='hidden' name='receiptType' value='grp'/>
<input type='hidden' name='receiptGroup' value='<?php echo $receiptStatus['required']; ?>'/>
<input type='hidden' name='documentid' value='<?php echo $document->getID() ?>'/>
<input type='hidden' name='version' value='<?php echo $content->getVersion() ?>'/>
</div>
</div>
<div class="controls">
<input type='submit' class="btn" name='groupReceipt' value='<?php printMLText("submit_receipt")?>'/>
</div>
<input type='hidden' name='receiptType' value='grp'/>
<input type='hidden' name='receiptGroup' value='<?php echo $receiptStatus['required']; ?>'/>
<input type='hidden' name='documentid' value='<?php echo $document->getID() ?>'/>
<input type='hidden' name='version' value='<?php echo $content->getVersion() ?>'/>
</form>
<?php
}

View File

@ -213,6 +213,7 @@ $(document).ready( function() {
<label class="checkbox" for="searchName"><input type="checkbox" name="searchin[]" id="searchName" value="2" <?php if(in_array('2', $searchin)) echo " checked"; ?>><?php printMLText("name");?></label>
<label class="checkbox" for="comment"><input type="checkbox" name="searchin[]" id="comment" value="3" <?php if(in_array('3', $searchin)) echo " checked"; ?>><?php printMLText("comment");?></label>
<label class="checkbox" for="attributes"><input type="checkbox" name="searchin[]" id="attributes" value="4" <?php if(in_array('4', $searchin)) echo " checked"; ?>><?php printMLText("attributes");?></label>
<label class="checkbox" for="id"><input type="checkbox" name="searchin[]" id="id" value="5" <?php if(in_array('5', $searchin)) echo " checked"; ?>><?php printMLText("id");?></label>
</td>
</tr>
<tr>

View File

@ -85,6 +85,8 @@ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$users = $this->params['allusers'];
$groups = $this->params['allgroups'];
$settings = $this->params['settings'];
$currenttab = $this->params['currenttab'];
@ -509,6 +511,17 @@ if(!is_writeable($settings->_configFilePath)) {
<td><?php printMLText("settings_cookieLifetime");?>:</td>
<td><?php $this->showTextField("cookieLifetime", $settings->_cookieLifetime); ?></td>
</tr>
<tr title="<?php printMLText("settings_defaultAccessDocs_desc");?>">
<td><?php printMLText("settings_defaultAccessDocs");?>:</td>
<td>
<select name="defaultAccessDocs">
<option value="0" <?php if ($settings->_defaultAccessDocs==0) echo "selected" ?>><?php printMLText("inherited");?></option>
<option value="<?php echo M_NONE; ?>" <?php if ($settings->_defaultAccessDocs==M_NONE) echo "selected" ?>><?php printMLText("access_mode_none");?></option>
<option value="<?php echo M_READ; ?>" <?php if ($settings->_defaultAccessDocs==M_READ) echo "selected" ?>><?php printMLText("access_mode_read");?></option>
<option value="<?php echo M_READWRITE; ?>" <?php if ($settings->_defaultAccessDocs==M_READWRITE) echo "selected" ?>><?php printMLText("access_mode_readwrite");?></option>
</select>
</td>
</tr>
<!-- TODO Connectors -->
@ -666,6 +679,10 @@ if(!is_writeable($settings->_configFilePath)) {
<td><?php printMLText("settings_enableOwnerReceipt");?>:</td>
<td><input name="enableOwnerReceipt" type="checkbox" <?php if ($settings->_enableOwnerReceipt) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableUpdateReceipt_desc");?>">
<td><?php printMLText("settings_enableUpdateReceipt");?>:</td>
<td><input name="enableUpdateReceipt" type="checkbox" <?php if ($settings->_enableUpdateReceipt) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableVersionDeletion_desc");?>">
<td><?php printMLText("settings_enableVersionDeletion");?>:</td>
<td><input name="enableVersionDeletion" type="checkbox" <?php if ($settings->_enableVersionDeletion) echo "checked" ?> /></td>
@ -803,6 +820,32 @@ if(!is_writeable($settings->_configFilePath)) {
<input type="checkbox" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" value="1" <?php if(isset($settings->_extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> />
<?php
break;
case 'database':
switch($conf['table']) {
case 'users':
if(isset($settings->_extensions[$extname][$confkey]))
$selusers = explode(',', $settings->_extensions[$extname][$confkey]);
else
$selusers = array();
echo '<select class="chzn-select" multiple="multiple" name="extensions['.$extname.']['.$confkey.'][]" data-placeholder="'.getMLText('select_users').'">';
foreach($users as $user) {
echo '<option value="'.$user->getID().'"'.(in_array($user->getID(), $selusers) ? ' selected' : '').'>'.$user->getLogin().'</option>';
}
echo '</select>';
break;
case 'groups':
if(isset($settings->_extensions[$extname][$confkey]))
$selgroups = explode(',', $settings->_extensions[$extname][$confkey]);
else
$selgroups = array();
echo '<select class="chzn-select" multiple="multiple" name="extensions['.$extname.']['.$confkey.'][]" data-placeholder="'.getMLText('select_groups').'">';
foreach($groups as $group) {
echo '<option value="'.$group->getID().'"'.(in_array($group->getID(), $selgroups) ? ' selected' : '').'>'.$group->getName().'</option>';
}
echo '</select>';
break;
}
break;
default:
?>
<input type="text" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" title="<?php echo isset($conf['help']) ? $conf['help'] : ''; ?>" value="<?php if(isset($settings->_extensions[$extname][$confkey])) echo $settings->_extensions[$extname][$confkey]; ?>" size="<?php echo $conf['size']; ?>" />

View File

@ -142,7 +142,7 @@ $(document).ready( function() {
echo "</table>";
if($user->isAdmin() && $seluser->getID() != $user->getID())
echo "<a href=\"../op/op.SubstituteUser.php?userid=".$seluser->getID()."\" class=\"btn btn-primary\">".getMLText("substitute_user")."</a>\n";
echo "<a class=\"btn btn-primary\" href=\"../op/op.SubstituteUser.php?userid=".((int) $seluser->getID())."&formtoken=".createFormKey('substituteuser')."\"><i class=\"icon-exchange\"></i> ".getMLText('substitute_user')."</a> ";
}
} /* }}} */

View File

@ -1195,10 +1195,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<td><ul class=\"unstyled\">";
if($accessop->mayReceipt($document)) {
if ($is_recipient && $r["status"]==0) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."</li>";
}else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."</li>";
if ($is_recipient) {
if($r["status"]==0) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."</li>";
} elseif ($accessop->mayUpdateReceipt($document, $updateUser) && (($r["status"]==1)||($r["status"]==-1))) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."</li>";
}
}
}

View File

@ -6,31 +6,6 @@ if(!empty($settings->_coreDir))
else
require_once('SeedDMS/Core.php');
/* Set apache_request_headers() in case it doesn't exists, like
* when using fastcgi (patch by christopher täufert taken from http://php.net/)
*/
if( !function_exists('apache_request_headers') ) {
function apache_request_headers() {
$arh = array();
$rx_http = '/\AHTTP_/';
foreach($_SERVER as $key => $val) {
if( preg_match($rx_http, $key) ) {
$arh_key = preg_replace($rx_http, '', $key);
$rx_matches = array();
// do some nasty string manipulations to restore the original letter case
// this should work in most cases
$rx_matches = explode('_', $arh_key);
if( count($rx_matches) > 0 and strlen($arh_key) > 2 ) {
foreach($rx_matches as $ak_key => $ak_val) $rx_matches[$ak_key] = ucfirst($ak_val);
$arh_key = implode('-', $rx_matches);
}
$arh[$arh_key] = $val;
}
}
return( $arh );
}
}
/**
* SeedDMS access using WebDAV
*
@ -79,10 +54,12 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
// special treatment for litmus compliance test
// reply on its identifier header
// not needed for the test itself but eases debugging
foreach (apache_request_headers() as $key => $value) {
if (stristr($key, "litmus")) {
error_log("Litmus test $value");
header("X-Litmus-reply: ".$value);
if( function_exists('apache_request_headers') ) {
foreach (apache_request_headers() as $key => $value) {
if (stristr($key, "litmus")) {
error_log("Litmus test $value");
header("X-Litmus-reply: ".$value);
}
}
}