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

This commit is contained in:
Uwe Steinmann 2021-07-12 10:20:45 +02:00
commit b47c01fdd8
98 changed files with 4099 additions and 693 deletions

1
.gitignore vendored
View File

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

View File

@ -234,6 +234,13 @@
- comment of document version may not be modified when document has expired - comment of document version may not be modified when document has expired
- attributes of document version may be edited if enableVersionModification is true - attributes of document version may be edited if enableVersionModification is true
even if the document has been released, obsoleted or has been expired even if the document has been released, obsoleted or has been expired
- reviews and approvals can be removed by admin
- links are all created absolute based on _httpRoot instead of relative to
the current page. This fixes a potential security hole cased by malformed
links.
- add chart with number of folders per document
- add number of links, attachments, versions of a selected user in the user
manager
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 5.1.22 Changes in version 5.1.22

View File

@ -1238,8 +1238,8 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
break; break;
case self::type_email: case self::type_email:
foreach($values as $value) { foreach($values as $value) {
$success &= filter_var($value, FILTER_VALIDATE_EMAIL); //$success &= filter_var($value, FILTER_VALIDATE_EMAIL) ? true : false;
//preg_match('/^[a-z0-9._-]+@+[a-z0-9._-]+\.+[a-z]{2,63}$/i', $value); $success &= preg_match('/^[a-z0-9._-]+@+[a-z0-9._-]+\.+[a-z]{2,63}$/i', $value);
} }
if(!$success) if(!$success)
$this->_validation_error = 5; $this->_validation_error = 5;

View File

@ -4122,7 +4122,14 @@ class SeedDMS_Core_DMS {
function getStatisticalData($type='') { /* {{{ */ function getStatisticalData($type='') { /* {{{ */
switch($type) { switch($type) {
case 'docsperuser': case 'docsperuser':
$queryStr = "select b.`fullName` as `key`, count(`owner`) as total from `tblDocuments` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`"; $queryStr = "select ".$this->db->concat(array('b.`fullName`', "' ('", 'b.`login`', "')'"))." as `key`, count(`owner`) as total from `tblDocuments` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;
return $resArr;
case 'foldersperuser':
$queryStr = "select ".$this->db->concat(array('b.`fullName`', "' ('", 'b.`login`', "')'"))." as `key`, count(`owner`) as total from `tblFolders` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`";
$resArr = $this->db->getResultArray($queryStr); $resArr = $this->db->getResultArray($queryStr);
if (!$resArr) if (!$resArr)
return false; return false;

View File

@ -4806,6 +4806,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $reviewLogID; return $reviewLogID;
} /* }}} */ } /* }}} */
/**
* Add another entry to review log which resets the status
*
* This method will not delete anything from the database, but will add
* a new review log entry which sets the status to 0. This is only allowed
* if the current status is either 1 or -1.
*
* After calling this method SeedDMS_Core_DocumentCategory::verifyStatus()
* should be called to recalculate the document status.
*
* @param SeedDMS_Core_User $user
* @return int 0 if successful
*/
public function removeReview($reviewid, $requestUser, $comment='') { /* {{{ */
$db = $this->_document->getDMS()->getDB();
// Check to see if the user can be removed from the review list.
$reviews = $this->getReviewStatus();
if (is_bool($reviews) && !$reviews) {
return -1;
}
$reviewStatus = null;
foreach($reviews as $review) {
if($review['reviewID'] == $reviewid) {
$reviewStatus = $review;
break;
}
}
if(!$reviewStatus)
return -2;
// The review log entry may only be removed if the status is 1 or -1
if ($reviewStatus["status"] != 1 && $reviewStatus["status"] != -1)
return -3;
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $reviewStatus["reviewID"] ."', '0', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
//$queryStr = "DELETE FROM `tblDocumentReviewLog` WHERE `reviewLogID` = ".$reviewStatus['reviewLogID'];
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
return -1;
return 0;
} /* }}} */
/** /**
* Add a review to the document content * Add a review to the document content
* *
@ -5028,6 +5075,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $approveLogID; return $approveLogID;
} /* }}} */ } /* }}} */
/**
* Add another entry to approval log which resets the status
*
* This method will not delete anything from the database, but will add
* a new review log entry which sets the status to 0. This is only allowed
* if the current status is either 1 or -1.
*
* After calling this method SeedDMS_Core_DocumentCategory::verifyStatus()
* should be called to recalculate the document status.
*
* @param SeedDMS_Core_User $user
* @return int 0 if successful
*/
public function removeApproval($approveid, $requestUser, $comment='') { /* {{{ */
$db = $this->_document->getDMS()->getDB();
// Check to see if the user can be removed from the approval list.
$approvals = $this->getApprovalStatus();
if (is_bool($approvals) && !$approvals) {
return -1;
}
$approvalStatus = null;
foreach($approvals as $approval) {
if($approval['approveID'] == $approveid) {
$approvalStatus = $approval;
break;
}
}
if(!$approvalStatus)
return -2;
// The approval log entry may only be removed if the status is 1 or -1
if ($approvalStatus["status"] != 1 && $approvalStatus["status"] != -1)
return -3;
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $approvalStatus["approveID"] ."', '0', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
return -1;
return 0;
} /* }}} */
/** /**
* Sets approval status of a document content for a group * Sets approval status of a document content for a group
* The functions behaves like * The functions behaves like

View File

@ -1836,6 +1836,106 @@ class SeedDMS_Core_User { /* {{{ */
$documents[] = $document; $documents[] = $document;
} }
return $documents; return $documents;
}
/**
* Returns all document links of a given user
* @return SeedDMS_Core_DocumentLink[]|bool list of document links
*/
function getDocumentLinks() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentLinks` ".
"WHERE `userID` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$links = array();
$classname = 'SeedDMS_Core_DocumentLink';
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
$target = $this->_dms->getDocument($row["target"]);
/** @var SeedDMS_Core_Document $document */
$link = new $classname((int) $row["id"], $document, $target, $row["userID"], $row["public"]);
$links[] = $link;
}
return $links;
} /* }}} */
/**
* Returns all document files of a given user
* @return SeedDMS_Core_DocumentFile[]|bool list of document files
*/
function getDocumentFiles() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentFiles` ".
"WHERE `userID` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$files = array();
$classname = 'SeedDMS_Core_DocumentFile';
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
/** @var SeedDMS_Core_DocumentFile $file */
$file = new $classname((int) $row["id"], $document, $row["userID"], $row["comment"], $row["date"], $row["dir"], $row["fileType"], $row["mimeType"], $row["orgFileName"], $row["name"],$row["version"],$row["public"]);
$files[] = $file;
}
return $files;
} /* }}} */
/**
* Returns all document contents of a given user
* @return SeedDMS_Core_DocumentContent[]|bool list of document contents
*/
function getDocumentContents() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentContent` WHERE `createdBy` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$contents = array();
$classname = $this->_dms->getClassname('documentcontent');
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
/** @var SeedDMS_Core_DocumentContent $content */
$content = new $classname((int) $row["id"], $this, $row["version"], $row["comment"], $row["date"], $row["createdBy"], $row["dir"], $row["orgFileName"], $row["fileType"], $row["mimeType"], $row['fileSize'], $row['checksum']);
$contents[] = $content;
}
return $contents;
} /* }}} */
/**
* Returns all folders of a given user
* @return SeedDMS_Core_Folder[]|bool list of folders
*/
function getFolders() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblFolders` ".
"WHERE `owner` = " . $this->_id . " ORDER BY `sequence`";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$folders = array();
$classname = $this->_dms->getClassname('folder');
foreach ($resArr as $row) {
/** @var SeedDMS_Core_Folder $folder */
$folder = new $classname((int) $row["id"], $row["name"], $row['parent'], $row["comment"], $row["date"], $row["owner"], $row["inheritAccess"], $row["defaultAccess"], $row["sequence"]);
$folder->setDMS($this->_dms);
$folders[] = $folder;
}
return $folders;
} /* }}} */ } /* }}} */
/** /**

View File

@ -358,6 +358,27 @@ class SeedDMS_Core_DatabaseAccess {
return str_replace('`', '"', $text); return str_replace('`', '"', $text);
} /* }}} */ } /* }}} */
/**
* Return sql to concat strings or fields
*
* @param array $arr list of field names or strings
* @return string concated string
*/
function concat($arr) { /* {{{ */
switch($this->_driver) {
case 'mysql':
return 'concat('.implode(',', $arr).')';
break;
case 'pgsql':
return implode(' || ', $arr);
break;
case 'sqlite':
return implode(' || ', $arr);
break;
}
return '';
} /* }}} */
/** /**
* Execute SQL query and return result * Execute SQL query and return result
* *

View File

@ -1906,6 +1906,13 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp()
- better handling of document with an empty workflow state - better handling of document with an empty workflow state
- fix checking of email addresses by using filter_var instead of regex - fix checking of email addresses by using filter_var instead of regex
- add new method SeedDMS_Core_Document::hasCategory() - add new method SeedDMS_Core_Document::hasCategory()
- add new method SeedDMS_Core_DocumentContent::removeReview()
- add new method SeedDMS_Core_DocumentContent::removeApproval()
- add new method SeedDMS_Core_User::getFolders()
- add new method SeedDMS_Core_User::getDocumentContents()
- add new method SeedDMS_Core_User::getDocumentFiles()
- add new method SeedDMS_Core_User::getDocumentLinks()
- add new type 'foldersperuser' to method SeedDMS_Core_DMS::getStatisticalData()
</notes> </notes>
</release> </release>
<release> <release>
@ -2224,8 +2231,19 @@ better error checking in SeedDMS_Core_Document::cancelCheckOut()
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
- removeFromProcesses() documents in comment of log when a user was replaced - SeedDMS_Core_DMS::getTimeline() uses status log instead of document content
- move SeedDMS_Core_Document::checkForDueRevisionWorkflow() into SeedDMS_Core_DocumentContent - add methods SeedDMS_Core_DocumentContent::getReviewers() and SeedDMS_Core_DocumentContent::getApprovers()
- add methods SeedDMS_Core_DocumentContent::getApproveLog() and SeedDMS_Core_DocumentContent::getReviewLog()
- better handling of document with an empty workflow state
- fix checking of email addresses by using filter_var instead of regex
- add new method SeedDMS_Core_Document::hasCategory()
- add new method SeedDMS_Core_DocumentContent::removeReview()
- add new method SeedDMS_Core_DocumentContent::removeApproval()
- add new method SeedDMS_Core_User::getFolders()
- add new method SeedDMS_Core_User::getDocumentContents()
- add new method SeedDMS_Core_User::getDocumentFiles()
- add new method SeedDMS_Core_User::getDocumentLinks()
- add new type 'foldersperuser' to method SeedDMS_Core_DMS::getStatisticalData()
and add a wrapper method in SeedDMЅ_Core_Document and add a wrapper method in SeedDMЅ_Core_Document
</notes> </notes>
</release> </release>

View File

@ -220,8 +220,20 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
return $this->mimetype; return $this->mimetype;
} /* }}} */ } /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $data, 'utf-8'));
} /* }}} */
public function getCmd() { /* {{{ */ public function getCmd() { /* {{{ */
return $this->cmd; return $this->cmd;
} /* }}} */ } /* }}} */
/* Use only for setting the command if e.g. an extension takes over the
* conversion to txt (like the office extension which uses the collabora
* conversion service).
*/
public function setCmd($cmd) { /* {{{ */
$this->cmd = $cmd;
} /* }}} */
} }
?> ?>

View File

@ -36,14 +36,14 @@ class SeedDMS_SQLiteFTS_Document {
*/ */
protected $fields; protected $fields;
public function __get($key) { /* {{{ */ public function ___get($key) { /* {{{ */
if(isset($this->fields[$key])) if(isset($this->fields[$key]))
return $this->fields[$key]; return $this->fields[$key];
else else
return false; return false;
} /* }}} */ } /* }}} */
public function addField($key, $value) { /* {{{ */ public function _addField($key, $value) { /* {{{ */
//if($key == 'document_id') { //if($key == 'document_id') {
if($key == 'docid') { if($key == 'docid') {
$this->id = $this->fields[$key] = (int) $value; $this->id = $this->fields[$key] = (int) $value;
@ -55,12 +55,63 @@ class SeedDMS_SQLiteFTS_Document {
} }
} /* }}} */ } /* }}} */
public function getFieldValue($key) { /* {{{ */ public function addField(SeedDMS_SQLiteFTS_Field $field) { /* {{{ */
$this->fields[$field->name] = $field;
if($field->name == 'docid') {
$this->id = $field->value;
}
return $this;
} /* }}} */
/**
* Return an array with the names of the fields in this document.
*
* @return array
*/
public function getFieldNames() {
return array_keys($this->fields);
}
public function _getFieldValue($key) { /* {{{ */
if(isset($this->fields[$key])) if(isset($this->fields[$key]))
return $this->fields[$key]; return $this->fields[$key];
else else
return false; return false;
} /* }}} */ } /* }}} */
/**
* Proxy method for getFieldValue(), provides more convenient access to
* the string value of a field.
*
* @param string $name
* @return string
*/
public function __get($name) {
return $this->getFieldValue($name);
}
/**
* Returns Zend_Search_Lucene_Field object for a named field in this document.
*
* @param string $fieldName
* @return Zend_Search_Lucene_Field
*/
public function getField($fieldName) {
if (!array_key_exists($fieldName, $this->fields)) {
require_once 'SeedDMS/SQLiteFTS/Exception.php';
throw new SeedDMS_SQLiteFTS_Exception("Field name \"$fieldName\" not found in document.");
}
return $this->fields[$fieldName];
}
/**
* Returns the string value of a named field in this document.
*
* @see __get()
* @return string
*/
public function getFieldValue($fieldName) {
return $this->getField($fieldName)->value;
}
} }
?> ?>

View File

@ -0,0 +1,41 @@
<?php
/**
* SeedDMS_SQLiteFTS
*
* @category SeedDMS
* @package SeedDMS
* @copyright Copyright (c) 2021 uwe@steinmann.cx
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @category SeedDMS
* @package SeedDMS
* @copyright Copyright (c) 2021 uwe@steinmann.cx
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class SeedDMS_SQLiteFTS_Exception extends Exception
{
/**
* Construct the exception
*
* @param string $msg
* @param int $code
* @param Exception $previous
* @return void
*/
public function __construct($msg = '', $code = 0, Exception $previous = null) {
parent::__construct($msg, (int) $code, $previous);
}
/**
* String representation of the exception
*
* @return string
*/
public function __toString() {
return parent::__toString();
}
}

View File

@ -0,0 +1,88 @@
<?php
/**
* Implementation of a field
*
* @category DMS
* @package SeedDMS_SQLiteFTS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010, Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class for managing a field.
*
* @category DMS
* @package SeedDMS_SQLiteFTS
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2011, Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_SQLiteFTS_Field {
/**
* Field name
*
* @var string
*/
public $name;
/**
* Field value
*
* @var boolean
*/
public $value;
/**
* Object constructor
*
* @param string $name
* @param string $value
*/
public function __construct($name, $value) {
$this->name = $name;
$this->value = $value;
}
/**
* Constructs a String-valued Field that is not tokenized, but is indexed
* and stored. Useful for non-text fields, e.g. date or url.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function keyword($name, $value) {
return new self($name, $value);
}
/**
* Constructs a String-valued Field that is tokenized and indexed,
* and is stored in the index, for return with hits. Useful for short text
* fields, like "title" or "subject". Term vector will not be stored for this field.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function text($name, $value) {
return new self($name, $value);
}
/**
* Constructs a String-valued Field that is tokenized and indexed,
* but that is not stored in the index.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function unStored($name, $value) {
return new self($name, $value);
}
}

View File

@ -15,6 +15,7 @@
* @uses SeedDMS_SQLiteFTS_Document * @uses SeedDMS_SQLiteFTS_Document
*/ */
require_once('Document.php'); require_once('Document.php');
require_once('Field.php');
/** /**
@ -111,50 +112,50 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
$this->cmd = ''; $this->cmd = '';
$this->mimetype = ''; $this->mimetype = '';
$this->addField('title', $document->getName()); $this->addField(SeedDMS_SQLiteFTS_Field::Text('title', $document->getName()));
if($acllist = $document->getReadAccessList(1, 1, 1)) { if($acllist = $document->getReadAccessList(1, 1, 1)) {
$allu = []; $allu = [];
foreach($acllist['users'] as $u) foreach($acllist['users'] as $u)
$allu[] = $u->getLogin(); $allu[] = $u->getLogin();
$this->addField('users', implode(' ', $allu)); $this->addField(SeedDMS_SQLiteFTS_Field::Text('users', implode(' ', $allu)));
/* /*
$allg = []; $allg = [];
foreach($acllist['groups'] as $g) foreach($acllist['groups'] as $g)
$allg[] = $g->getName(); $allg[] = $g->getName();
$this->addField('groups', implode(' ', $allg)); $this->addField(SeedDMS_SQLiteFTS_Field::Text('groups', implode(' ', $allg)));
*/ */
} }
if($attributes = $document->getAttributes()) { if($attributes = $document->getAttributes()) {
foreach($attributes as $attribute) { foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition(); $attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '') if($attrdef->getValueSet() != '')
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
else else
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()); $this->addField(SeedDMS_SQLiteFTS_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
} }
} }
$owner = $document->getOwner(); $owner = $document->getOwner();
$this->addField('owner', $owner->getLogin()); $this->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $owner->getLogin()));
$this->addField('path', str_replace(':', 'x', $document->getFolderList())); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', str_replace(':', 'x', $document->getFolderList())));
if($comment = $document->getComment()) { if($comment = $document->getComment()) {
$this->addField('comment', $comment); $this->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $comment));
} }
if($document->isType('document')) { if($document->isType('document')) {
$this->addField('document_id', 'D'.$document->getID()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', 'D'.$document->getID()));
$version = $document->getLatestContent(); $version = $document->getLatestContent();
if($version) { if($version) {
$this->addField('mimetype', $version->getMimeType()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $version->getMimeType()));
$this->addField('origfilename', $version->getOriginalFileName()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $version->getOriginalFileName()));
if(!$nocontent) if(!$nocontent)
$this->addField('created', $version->getDate(), 'unindexed'); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $version->getDate(), 'unindexed'));
if($attributes = $version->getAttributes()) { if($attributes = $version->getAttributes()) {
foreach($attributes as $attribute) { foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition(); $attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '') if($attrdef->getValueSet() != '')
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
else else
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()); $this->addField(SeedDMS_SQLiteFTS_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
} }
} }
} }
@ -163,14 +164,14 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
foreach($categories as $cat) { foreach($categories as $cat) {
$names[] = $cat->getName(); $names[] = $cat->getName();
} }
$this->addField('category', implode(' ', $names)); $this->addField(SeedDMS_SQLiteFTS_Field::Text('category', implode(' ', $names)));
} }
if($keywords = $document->getKeywords()) { if($keywords = $document->getKeywords()) {
$this->addField('keywords', $keywords); $this->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $keywords));
} }
if($version) { if($version) {
$status = $version->getStatus(); $status = $version->getStatus();
$this->addField('status', $status['status']+10); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $status['status']+10));
} }
if($version && !$nocontent) { if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath(); $path = $dms->contentDir . $version->getPath();
@ -192,7 +193,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
try { try {
$content = self::execWithTimeout($cmd, $timeout); $content = self::execWithTimeout($cmd, $timeout);
if($content['stdout']) { if($content['stdout']) {
$this->addField('content', $content['stdout'], 'unstored'); $this->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $content['stdout']));
} }
if($content['stderr']) { if($content['stderr']) {
$this->errormsg = $content['stderr']; $this->errormsg = $content['stderr'];
@ -203,8 +204,8 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
} }
} }
} elseif($document->isType('folder')) { } elseif($document->isType('folder')) {
$this->addField('document_id', 'F'.$document->getID()); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', 'F'.$document->getID()));
$this->addField('created', $document->getDate(), 'unindexed'); $this->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $document->getDate(), 'unindexed'));
} }
} /* }}} */ } /* }}} */
@ -216,8 +217,20 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
return $this->mimetype; return $this->mimetype;
} /* }}} */ } /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(SeedDMS_SQLiteFTS_Field::Text('content', $data));
} /* }}} */
public function getCmd() { /* {{{ */ public function getCmd() { /* {{{ */
return $this->cmd; return $this->cmd;
} /* }}} */ } /* }}} */
/* Use only for setting the command if e.g. an extension takes over the
* conversion to txt (like the office extension which uses the collabora
* conversion service).
*/
public function setCmd($cmd) { /* {{{ */
$this->cmd = $cmd;
} /* }}} */
} }
?> ?>

View File

@ -123,7 +123,14 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn) if(!$this->_conn)
return false; return false;
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status, path) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".(int)$doc->getFieldValue('created').", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($doc->getFieldValue('status')).", ".$this->_conn->quote($doc->getFieldValue('path'))/*time()*/.")"; foreach(array('comment', 'keywords', 'category', 'content', 'mimetype', 'origfilename', 'status', 'created') as $kk) {
try {
${$kk} = $doc->getFieldValue($kk);
} catch (Exception $e) {
${$kk} = '';
}
}
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status, path) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($comment).", ".$this->_conn->quote($keywords).", ".$this->_conn->quote($category).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($content).", ".$this->_conn->quote($mimetype).", ".$this->_conn->quote($origfilename).", ".(int)$created.", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($status).", ".$this->_conn->quote($doc->getFieldValue('path'))/*time()*/.")";
$res = $this->_conn->exec($sql); $res = $this->_conn->exec($sql);
if($res === false) { if($res === false) {
return false; return false;
@ -243,49 +250,21 @@ class SeedDMS_SQLiteFTS_Indexer {
if($res) { if($res) {
$rec = $res->fetch(PDO::FETCH_ASSOC); $rec = $res->fetch(PDO::FETCH_ASSOC);
$doc = new SeedDMS_SQLiteFTS_Document(); $doc = new SeedDMS_SQLiteFTS_Document();
$doc->addField('docid', $rec[$this->_rawid]); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('docid', $rec[$this->_rawid]));
$doc->addField('document_id', $rec['documentid']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', $rec['documentid']));
$doc->addField('title', $rec['title']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('title', $rec['title']));
$doc->addField('comment', $rec['comment']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $rec['comment']));
$doc->addField('keywords', $rec['keywords']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $rec['keywords']));
$doc->addField('category', $rec['category']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('category', $rec['category']));
$doc->addField('mimetype', $rec['mimetype']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $rec['mimetype']));
$doc->addField('origfilename', $rec['origfilename']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $rec['origfilename']));
$doc->addField('owner', $rec['owner']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $rec['owner']));
$doc->addField('created', $rec['created']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $rec['created']));
$doc->addField('users', $rec['users']); $doc->addField(SeedDMS_SQLiteFTS_Field::Text('users', $rec['users']));
$doc->addField('status', $rec['status']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $rec['status']));
$doc->addField('path', $rec['path']); $doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', $rec['path']));
if($content) if($content)
$doc->addField('content', $rec['content']); $doc->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $rec['content']));
}
return $doc;
} /* }}} */
/**
* Get a single folder from index
*
* @param integer $id id of folder
* @return boolean false in case of an error, otherwise true
*/
public function __getFolder($id) { /* {{{ */
if(!$this->_conn)
return false;
$sql = "SELECT ".$this->_rawid.", documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path FROM docs WHERE documentid='F".$id."'";
$res = $this->_conn->query($sql);
$doc = false;
if($res) {
$rec = $res->fetch(PDO::FETCH_ASSOC);
$doc = new SeedDMS_SQLiteFTS_Document();
$doc->addField('docid', $rec[$this->_rawid]);
$doc->addField('document_id', $rec['documentid']);
$doc->addField('title', $rec['title']);
$doc->addField('comment', $rec['comment']);
$doc->addField('owner', $rec['owner']);
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('path', $rec['path']);
} }
return $doc; return $doc;
} /* }}} */ } /* }}} */

View File

@ -25,6 +25,7 @@
<notes> <notes>
- close pipes in execWithTimeout(), also return exit code of command - close pipes in execWithTimeout(), also return exit code of command
- add support for fts5 (make it the default) - add support for fts5 (make it the default)
- add class SeedDMS_SQLiteFTS_Field
</notes> </notes>
<contents> <contents>
<dir baseinstalldir="SeedDMS" name="/"> <dir baseinstalldir="SeedDMS" name="/">
@ -47,6 +48,12 @@
<file name="Term.php" role="php"> <file name="Term.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" /> <tasks:replace from="@package_version@" to="version" type="package-info" />
</file> </file>
<file name="Field.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Exception.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /SQLiteFTS --> </dir> <!-- /SQLiteFTS -->
<dir name="tests"> <dir name="tests">
</dir> <!-- /tests --> </dir> <!-- /tests -->

View File

@ -52,7 +52,7 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
$expires = $this->params['expires']; $expires = $this->params['expires'];
$oldexpires = $document->getExpires(); $oldexpires = $document->getExpires();
if ($expires != $oldexpires) { if ($expires != $oldexpires) {
if(!$this->callHook('preSetExpires', $document, $expires)) { if(false === $this->callHook('preSetExpires', $document, $expires)) {
} }
if(!$document->setExpires($expires)) { if(!$document->setExpires($expires)) {
@ -61,21 +61,21 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
$document->verifyLastestContentExpriry(); $document->verifyLastestContentExpriry();
if(!$this->callHook('postSetExpires', $document, $expires)) { if(false === $this->callHook('postSetExpires', $document, $expires)) {
} }
} }
$keywords = $this->params['keywords']; $keywords = $this->params['keywords'];
$oldkeywords = $document->getKeywords(); $oldkeywords = $document->getKeywords();
if ($oldkeywords != $keywords) { if ($oldkeywords != $keywords) {
if(!$this->callHook('preSetKeywords', $document, $keywords, $oldkeywords)) { if(false === $this->callHook('preSetKeywords', $document, $keywords, $oldkeywords)) {
} }
if(!$document->setKeywords($keywords)) { if(!$document->setKeywords($keywords)) {
return false; return false;
} }
if(!$this->callHook('postSetKeywords', $document, $keywords, $oldkeywords)) { if(false === $this->callHook('postSetKeywords', $document, $keywords, $oldkeywords)) {
} }
} }
@ -95,21 +95,21 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if (count($categoriesarr) != count($oldcategories) || if (count($categoriesarr) != count($oldcategories) ||
array_diff($categories, $oldcatsids)) { array_diff($categories, $oldcatsids)) {
if(!$this->callHook('preSetCategories', $document, $categoriesarr, $oldcategories)) { if(false === $this->callHook('preSetCategories', $document, $categoriesarr, $oldcategories)) {
} }
if(!$document->setCategories($categoriesarr)) { if(!$document->setCategories($categoriesarr)) {
return false; return false;
} }
if(!$this->callHook('postSetCategories', $document, $categoriesarr, $oldcategories)) { if(false === $this->callHook('postSetCategories', $document, $categoriesarr, $oldcategories)) {
} }
} }
} elseif($oldcategories) { } elseif($oldcategories) {
if(!$this->callHook('preSetCategories', $document, array(), $oldcategories)) { if(false === $this->callHook('preSetCategories', $document, array(), $oldcategories)) {
} }
if(!$document->setCategories(array())) { if(!$document->setCategories(array())) {
return false; return false;
} }
if(!$this->callHook('postSetCategories', $document, array(), $oldcategories)) { if(false === $this->callHook('postSetCategories', $document, array(), $oldcategories)) {
} }
} }
@ -180,7 +180,7 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
return false; return false;
} }
if(!$this->callHook('postEditDocument')) { if(false === $this->callHook('postEditDocument')) {
} }
return true; return true;

View File

@ -108,7 +108,7 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
return false; return false;
} }
if(!$this->callHook('postEditFolder')) { if(false === $this->callHook('postEditFolder')) {
} }
return true; return true;

View File

@ -68,7 +68,7 @@ class SeedDMS_Controller_EmptyFolder extends SeedDMS_Controller_Common {
return false; return false;
} }
if(!$this->callHook('postEmptyFolder')) { if(false === $this->callHook('postEmptyFolder')) {
} }
return true; return true;

View File

@ -68,7 +68,7 @@ class SeedDMS_Controller_RemoveDocument extends SeedDMS_Controller_Common {
} }
} }
if(!$this->callHook('postRemoveDocument')) { if(false === $this->callHook('postRemoveDocument')) {
} }
return true; return true;

View File

@ -91,7 +91,7 @@ class SeedDMS_Controller_RemoveFolder extends SeedDMS_Controller_Common {
return false; return false;
} }
if(!$this->callHook('postRemoveFolder')) { if(false === $this->callHook('postRemoveFolder')) {
} }
return true; return true;

View File

@ -42,7 +42,7 @@ class SeedDMS_Controller_TransferDocument extends SeedDMS_Controller_Common {
if (!$document->transferToUser($newuser)) { if (!$document->transferToUser($newuser)) {
return false; return false;
} else { } else {
if(!$this->callHook('postTransferDocument')) { if(false === $this->callHook('postTransferDocument')) {
} }
} }
} }

View File

@ -105,7 +105,7 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
} }
} }
if(!$this->callHook('postUpdateDocument', $document, $content)) { if(false === $this->callHook('postUpdateDocument', $document, $content)) {
} }
return $content; return $content;

View File

@ -158,6 +158,5 @@ if($settings->_enable2FactorAuthentication && $settings->_guestID != $user->getI
/* Update cookie lifetime */ /* Update cookie lifetime */
if($settings->_cookieLifetime) { if($settings->_cookieLifetime) {
$lifetime = time() + intval($settings->_cookieLifetime); $lifetime = time() + intval($settings->_cookieLifetime);
/* Turn off http only cookies if jumploader is enabled */ setcookie("mydms_session", $dms_session, $lifetime, $settings->_httpRoot, null, false, true);
setcookie("mydms_session", $dms_session, $lifetime, $settings->_httpRoot, null, null, !$settings->_enableLargeFileUpload);
} }

View File

@ -231,6 +231,7 @@ class SeedDMS_Controller_Common {
*/ */
function callHook($hook) { /* {{{ */ function callHook($hook) { /* {{{ */
$tmps = $this->getHookClassNames(); $tmps = $this->getHookClassNames();
$ret = null;
foreach($tmps as $tmp) foreach($tmps as $tmp)
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) { if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
$this->lasthookresult = null; $this->lasthookresult = null;
@ -238,29 +239,35 @@ class SeedDMS_Controller_Common {
if (method_exists($hookObj, $hook)) { if (method_exists($hookObj, $hook)) {
switch(func_num_args()) { switch(func_num_args()) {
case 4: case 4:
$result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3)); $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3));
break; break;
case 3: case 3:
$result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2)); $tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2));
break; break;
case 2: case 2:
$result = $hookObj->$hook($this, func_get_arg(1)); $tmpret = $hookObj->$hook($this, func_get_arg(1));
break; break;
case 1: case 1:
default: default:
$result = $hookObj->$hook($this); $tmpret = $hookObj->$hook($this);
} }
if($result === false) { if($tmpret === false) {
return $result; return $tmpret;
} }
if($result !== null) { if($tmpret !== null) {
$this->lasthookresult = $result; $this->lasthookresult = $tmpret;
if(is_string($tmpret)) {
$ret = ($ret === null) ? $tmpret : (is_string($ret) ? $ret.$tmpret : array_merge($ret, array($tmpret)));
} elseif(is_array($tmpret)) { // || is_object($tmpret)) {
$ret = ($ret === null) ? $tmpret : (is_string($ret) ? array_merge(array($ret), $tmpret) : array_merge($ret, $tmpret));
} else
$ret = $tmpret;
} }
} }
} }
return $this->lasthookresult; // return $this->lasthookresult;
} }
return null; return $ret;
} /* }}} */ } /* }}} */
/** /**
@ -273,10 +280,12 @@ class SeedDMS_Controller_Common {
*/ */
function hasHook($hook) { /* {{{ */ function hasHook($hook) { /* {{{ */
$tmps = $this->getHookClassNames(); $tmps = $this->getHookClassNames();
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])])) { foreach($tmps as $tmp) {
foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])] as $hookObj) { if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
if (method_exists($hookObj, $hook)) { foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)] as $hookObj) {
return true; if (method_exists($hookObj, $hook)) {
return true;
}
} }
} }
} }

View File

@ -109,7 +109,7 @@ class SeedDMS_SchedulerTaskBase {
$this->fulltextservice = $fulltextservice; $this->fulltextservice = $fulltextservice;
} /* }}} */ } /* }}} */
public function execute($task) { /* {{{ */ public function execute(SeedDMS_SchedulerTask $task) { /* {{{ */
return true; return true;
} /* }}} */ } /* }}} */

View File

@ -178,6 +178,8 @@ class Settings { /* {{{ */
var $_enableSelfRevApp = false; var $_enableSelfRevApp = false;
// enable/disable update of a review/approval by the reviewer/approver // enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false; var $_enableUpdateRevApp = false;
// enable/disable removal of a review/approval by the admiistrator
var $_enableRemoveRevApp = false;
// enable/disable listing logged in user as recipient // enable/disable listing logged in user as recipient
var $_enableSelfReceipt = false; var $_enableSelfReceipt = false;
// enable/disable update of a receipt by the recipient // enable/disable update of a receipt by the recipient
@ -748,6 +750,7 @@ class Settings { /* {{{ */
$this->_enableOwnerRevApp = Settings::boolval($tab["enableOwnerRevApp"]); $this->_enableOwnerRevApp = Settings::boolval($tab["enableOwnerRevApp"]);
$this->_enableSelfRevApp = Settings::boolval($tab["enableSelfRevApp"]); $this->_enableSelfRevApp = Settings::boolval($tab["enableSelfRevApp"]);
$this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]); $this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]);
$this->_enableRemoveRevApp = Settings::boolval($tab["enableRemoveRevApp"]);
$this->_enableSelfReceipt = Settings::boolval($tab["enableSelfReceipt"]); $this->_enableSelfReceipt = Settings::boolval($tab["enableSelfReceipt"]);
$this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]); $this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]);
$this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]); $this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]);
@ -1104,6 +1107,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableOwnerRevApp", $this->_enableOwnerRevApp); $this->setXMLAttributValue($node, "enableOwnerRevApp", $this->_enableOwnerRevApp);
$this->setXMLAttributValue($node, "enableSelfRevApp", $this->_enableSelfRevApp); $this->setXMLAttributValue($node, "enableSelfRevApp", $this->_enableSelfRevApp);
$this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp); $this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp);
$this->setXMLAttributValue($node, "enableRemoveRevApp", $this->_enableRemoveRevApp);
$this->setXMLAttributValue($node, "enableSelfReceipt", $this->_enableSelfReceipt); $this->setXMLAttributValue($node, "enableSelfReceipt", $this->_enableSelfReceipt);
$this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt); $this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt);
$this->setXMLAttributValue($node, "enableOwnerReceipt", $this->_enableOwnerReceipt); $this->setXMLAttributValue($node, "enableOwnerReceipt", $this->_enableOwnerReceipt);

View File

@ -117,6 +117,7 @@ class UI extends UI_Default {
/* Always include the base class which defines class SeedDMS_Theme_Style */ /* Always include the base class which defines class SeedDMS_Theme_Style */
require_once($settings->_rootDir."views/".$theme."/class.".ucfirst($theme).".php"); require_once($settings->_rootDir."views/".$theme."/class.".ucfirst($theme).".php");
require_once($filename); require_once($filename);
$params['settings'] = $settings;
$view = new $classname($params, $theme); $view = new $classname($params, $theme);
/* Set some configuration parameters */ /* Set some configuration parameters */
$view->setParam('accessobject', new SeedDMS_AccessOperation($dms, $user, $settings)); $view->setParam('accessobject', new SeedDMS_AccessOperation($dms, $user, $settings));
@ -125,7 +126,7 @@ class UI extends UI_Default {
$view->setParam('theme', $theme); $view->setParam('theme', $theme);
$view->setParam('class', $class); $view->setParam('class', $class);
$view->setParam('session', $session); $view->setParam('session', $session);
$view->setParam('settings', $settings); // $view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName); $view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID); $view->setParam('rootfolderid', $settings->_rootFolderID);
$view->setParam('disableselfedit', $settings->_disableSelfEdit); $view->setParam('disableselfedit', $settings->_disableSelfEdit);

View File

@ -39,7 +39,10 @@ class SeedDMS_View_Common {
$this->theme = $theme; $this->theme = $theme;
$this->params = $params; $this->params = $params;
$this->baseurl = ''; $this->baseurl = '';
$this->imgpath = '../views/'.$theme.'/images/'; if(isset($params['settings']))
$this->imgpath = $params['settings']->_httpRoot.'views/'.$theme.'/images/';
else
$this->imgpath = '../views/'.$theme.'/images/';
} }
public function __invoke($get=array()) { public function __invoke($get=array()) {
@ -260,7 +263,7 @@ class SeedDMS_View_Common {
* @param string|array $name name of view or list of view names * @param string|array $name name of view or list of view names
* @return boolean true if access is allowed otherwise false * @return boolean true if access is allowed otherwise false
*/ */
protected function check_access($name='') { /* {{{ */ protected function check_view_access($name='') { /* {{{ */
if(!$name) if(!$name)
$name = $this; $name = $this;
if(!isset($this->params['accessobject'])) if(!isset($this->params['accessobject']))
@ -285,8 +288,8 @@ class SeedDMS_View_Common {
* @param array $urlparams list of url parameters * @param array $urlparams list of url parameters
* @return string $url * @return string $url
*/ */
protected function html_url($view='', $urlparams) { /* {{{ */ protected function html_url($view, $urlparams=array()) { /* {{{ */
$url = "../out/out.".$view.".php"; $url = $this->params['settings']->_httpRoot."out/out.".$view.".php";
if($urlparams) if($urlparams)
$url .= "?".http_build_query($urlparams); $url .= "?".http_build_query($urlparams);
return $url; return $url;
@ -304,9 +307,9 @@ class SeedDMS_View_Common {
* @param boolean $hsc set to false if htmlspecialchars() shall not be called * @param boolean $hsc set to false if htmlspecialchars() shall not be called
* @return string link * @return string link
*/ */
protected function html_link($view='', $urlparams=array(), $linkparams=array(), $link, $hsc=true, $nocheck=false) { /* {{{ */ protected function html_link($view='', $urlparams=array(), $linkparams=array(), $link, $hsc=true, $nocheck=false, $wrap=array()) { /* {{{ */
if(!$nocheck) if(!$nocheck)
if(!$this->check_access($view)) if(!$this->check_view_access($view))
return ''; return '';
$url = $this->html_url($view, $urlparams); $url = $this->html_url($view, $urlparams);
$tag = "<a href=\"".$url."\""; $tag = "<a href=\"".$url."\"";
@ -314,6 +317,8 @@ class SeedDMS_View_Common {
foreach($linkparams as $k=>$v) foreach($linkparams as $k=>$v)
$tag .= " ".$k."=\"".$v."\""; $tag .= " ".$k."=\"".$v."\"";
$tag .= ">".($hsc ? htmlspecialchars($link) : $link)."</a>"; $tag .= ">".($hsc ? htmlspecialchars($link) : $link)."</a>";
if(is_array($wrap) && count($wrap) == 2)
return $wrap[0].$tag.$wrap[1];
return $tag; return $tag;
} /* }}} */ } /* }}} */

View File

@ -18,7 +18,7 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
* @param $dms dms * @param $dms dms
* @return boolean true if task was executed succesfully, otherwise false * @return boolean true if task was executed succesfully, otherwise false
*/ */
public function execute($task) { public function execute(SeedDMS_SchedulerTask $task) {
$dms = $this->dms; $dms = $this->dms;
$user = $this->user; $user = $this->user;
$settings = $this->settings; $settings = $this->settings;
@ -117,11 +117,14 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
* iterating over all folders recursively. * iterating over all folders recursively.
*/ */
class SeedDMS_Task_Indexer_Process_Folder { /* {{{ */ class SeedDMS_Task_Indexer_Process_Folder { /* {{{ */
protected $scheduler;
protected $forceupdate; protected $forceupdate;
protected $fulltextservice; protected $fulltextservice;
public function __construct($fulltextservice, $forceupdate) { /* {{{ */ public function __construct($scheduler, $fulltextservice, $forceupdate) { /* {{{ */
$this->scheduler = $scheduler;
$this->fulltextservice = $fulltextservice; $this->fulltextservice = $fulltextservice;
$this->forceupdate = $forceupdate; $this->forceupdate = $forceupdate;
$this->numdocs = $this->fulltextservice->Indexer()->count(); $this->numdocs = $this->fulltextservice->Indexer()->count();
@ -249,7 +252,7 @@ class SeedDMS_IndexingDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ *
* @param $dms dms * @param $dms dms
* @return boolean true if task was executed succesfully, otherwise false * @return boolean true if task was executed succesfully, otherwise false
*/ */
public function execute($task) { public function execute(SeedDMS_SchedulerTask $task) {
$dms = $this->dms; $dms = $this->dms;
$logger = $this->logger; $logger = $this->logger;
$fulltextservice = $this->fulltextservice; $fulltextservice = $this->fulltextservice;
@ -273,7 +276,7 @@ class SeedDMS_IndexingDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ *
} }
} }
$folderprocess = new SeedDMS_Task_Indexer_Process_Folder($fulltextservice, $recreate); $folderprocess = new SeedDMS_Task_Indexer_Process_Folder($this, $fulltextservice, $recreate);
call_user_func(array($folderprocess, 'process'), $folder, -1); call_user_func(array($folderprocess, 'process'), $folder, -1);
$tree = new SeedDMS_FolderTree($folder, array($folderprocess, 'process')); $tree = new SeedDMS_FolderTree($folder, array($folderprocess, 'process'));
} else { } else {
@ -345,7 +348,7 @@ class SeedDMS_CheckSumTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
* @param $dms dms * @param $dms dms
* @return boolean true if task was executed succesfully, otherwise false * @return boolean true if task was executed succesfully, otherwise false
*/ */
public function execute($task) { public function execute(SeedDMS_SchedulerTask $task) {
$dms = $this->dms; $dms = $this->dms;
$logger = $this->logger; $logger = $this->logger;
$taskparams = $task->getParameter(); $taskparams = $task->getParameter();
@ -433,7 +436,7 @@ class SeedDMS_PreviewTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
* @param $dms dms * @param $dms dms
* @return boolean true if task was executed succesfully, otherwise false * @return boolean true if task was executed succesfully, otherwise false
*/ */
public function execute($task) { public function execute(SeedDMS_SchedulerTask $task) {
$dms = $this->dms; $dms = $this->dms;
$logger = $this->logger; $logger = $this->logger;
$settings = $this->settings; $settings = $this->settings;

View File

@ -525,6 +525,7 @@ URL: [url]',
'error_add_aro' => 'خطأ في الإضافة', 'error_add_aro' => 'خطأ في الإضافة',
'error_add_permission' => 'خطأ في طلب السماح', 'error_add_permission' => 'خطأ في طلب السماح',
'error_cleared_cache' => 'خطأ في مسح المحفوظات', 'error_cleared_cache' => 'خطأ في مسح المحفوظات',
'error_document_indexed' => '',
'error_edit_task' => 'خطأ في تعديل المهمة', 'error_edit_task' => 'خطأ في تعديل المهمة',
'error_extension_getlist' => 'خطأ في أخذ الائحة', 'error_extension_getlist' => 'خطأ في أخذ الائحة',
'error_importfs' => 'خطأ في الإستيراد', 'error_importfs' => 'خطأ في الإستيراد',
@ -662,6 +663,7 @@ URL: [url]',
'group_management' => 'إدارة المجموعات', 'group_management' => 'إدارة المجموعات',
'group_members' => 'أعضاء المجموعة', 'group_members' => 'أعضاء المجموعة',
'group_receipt_summary' => 'ملخص وصل المجموعة', 'group_receipt_summary' => 'ملخص وصل المجموعة',
'group_review_removed' => '',
'group_review_summary' => 'ملخص مراجعة المجموعة', 'group_review_summary' => 'ملخص مراجعة المجموعة',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'الدخول كضيف', 'guest_login' => 'الدخول كضيف',
@ -704,6 +706,7 @@ URL: [url]',
'index_waiting' => 'الفهرسة قيد الإنتظار', 'index_waiting' => 'الفهرسة قيد الإنتظار',
'individuals' => 'افراد', 'individuals' => 'افراد',
'individuals_in_groups' => 'أفراد في المجموعات', 'individuals_in_groups' => 'أفراد في المجموعات',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'رابط معلومات المستلمين لم يصدر بعد', 'info_recipients_tab_not_released' => 'رابط معلومات المستلمين لم يصدر بعد',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'موروث', 'inherited' => 'موروث',
@ -1062,6 +1065,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند', 'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند',
'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة', 'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة',
'remove_marked_files' => 'ازالة الملفات المختارة', 'remove_marked_files' => 'ازالة الملفات المختارة',
'remove_review_log' => '',
'repaired' => 'تم اصلاحه', 'repaired' => 'تم اصلاحه',
'repairing_objects' => 'تحضير المستندات والمجلدات.', 'repairing_objects' => 'تحضير المستندات والمجلدات.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1417,6 +1421,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'تمكين استلام سير العمل', 'settings_enableReceiptWorkflow_desc' => 'تمكين استلام سير العمل',
'settings_enableRecursiveCount' => 'تمكين عدد المستندات / المجلدات العودية', 'settings_enableRecursiveCount' => 'تمكين عدد المستندات / المجلدات العودية',
'settings_enableRecursiveCount_desc' => 'تمكين عدد المستندات / المجلدات العودية', 'settings_enableRecursiveCount_desc' => 'تمكين عدد المستندات / المجلدات العودية',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => 'تمكين رفض مراجعة التصويت', 'settings_enableRevisionOnVoteReject' => 'تمكين رفض مراجعة التصويت',
@ -1966,6 +1972,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'شاهد اونلاين', 'view_online' => 'شاهد اونلاين',
'warning' => 'تحذير', 'warning' => 'تحذير',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -478,6 +478,7 @@ $text = array(
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -591,6 +592,7 @@ $text = array(
'group_management' => 'Управление на групи', 'group_management' => 'Управление на групи',
'group_members' => 'Членове на групата', 'group_members' => 'Членове на групата',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Сводка по рецензирането на групи', 'group_review_summary' => 'Сводка по рецензирането на групи',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Влез като гост', 'guest_login' => 'Влез като гост',
@ -633,6 +635,7 @@ $text = array(
'index_waiting' => '', 'index_waiting' => '',
'individuals' => 'Личности', 'individuals' => 'Личности',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'наследен', 'inherited' => 'наследен',
@ -952,6 +955,7 @@ $text = array(
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '', 'repaired' => '',
'repairing_objects' => 'Поправка на папки и документи', 'repairing_objects' => 'Поправка на папки и документи',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1280,6 +1284,8 @@ $text = array(
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '', 'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1815,6 +1821,7 @@ $text = array(
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Преглед онлайн', 'view_online' => 'Преглед онлайн',
'warning' => 'Внимание', 'warning' => 'Внимание',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -483,6 +483,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -596,6 +597,7 @@ URL: [url]',
'group_management' => 'Grups', 'group_management' => 'Grups',
'group_members' => 'Membres del grup', 'group_members' => 'Membres del grup',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resum del grup revisor', 'group_review_summary' => 'Resum del grup revisor',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Accés com a invitat', 'guest_login' => 'Accés com a invitat',
@ -638,6 +640,7 @@ URL: [url]',
'index_waiting' => '', 'index_waiting' => '',
'individuals' => 'Individuals', 'individuals' => 'Individuals',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'Heredat', 'inherited' => 'Heredat',
@ -957,6 +960,7 @@ URL: [url]',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació', 'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '', 'repaired' => '',
'repairing_objects' => '', 'repairing_objects' => '',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1285,6 +1289,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '', 'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1820,6 +1826,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Veure online', 'view_online' => 'Veure online',
'warning' => 'Advertència', 'warning' => 'Advertència',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Chyba při přidávání požadavku přístupu k objektu', 'error_add_aro' => 'Chyba při přidávání požadavku přístupu k objektu',
'error_add_permission' => 'Chyba při přidání oprávnění', 'error_add_permission' => 'Chyba při přidání oprávnění',
'error_cleared_cache' => 'Chyba při vymazání mezipaměti', 'error_cleared_cache' => 'Chyba při vymazání mezipaměti',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => 'Chyba při získání seznamu rozšíření z úložiště', 'error_extension_getlist' => 'Chyba při získání seznamu rozšíření z úložiště',
'error_importfs' => 'Chyba při importu formy souborového systému', 'error_importfs' => 'Chyba při importu formy souborového systému',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Skupiny', 'group_management' => 'Skupiny',
'group_members' => 'Členové skupiny', 'group_members' => 'Členové skupiny',
'group_receipt_summary' => 'Přehled potvrzení přijímání do skupiny', 'group_receipt_summary' => 'Přehled potvrzení přijímání do skupiny',
'group_review_removed' => '',
'group_review_summary' => 'Souhrn recenzí skupiny', 'group_review_summary' => 'Souhrn recenzí skupiny',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Přihlásit se jako host', 'guest_login' => 'Přihlásit se jako host',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Čekání', 'index_waiting' => 'Čekání',
'individuals' => 'Jednotlivci', 'individuals' => 'Jednotlivci',
'individuals_in_groups' => 'Členové skupiny', 'individuals_in_groups' => 'Členové skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potvrzení o příjmu této verze dokumentu není možné, protože verze není uvolněna.', 'info_recipients_tab_not_released' => 'Potvrzení o příjmu této verze dokumentu není možné, protože verze není uvolněna.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'Zděděno', 'inherited' => 'Zděděno',
@ -1108,6 +1111,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu', 'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu',
'removeFolderFromDropFolder' => 'Odstranit složku po nahrání', 'removeFolderFromDropFolder' => 'Odstranit složku po nahrání',
'remove_marked_files' => 'Odstranit označené soubory', 'remove_marked_files' => 'Odstranit označené soubory',
'remove_review_log' => '',
'repaired' => 'opraveno', 'repaired' => 'opraveno',
'repairing_objects' => 'Opravuji dokumenty a složky.', 'repairing_objects' => 'Opravuji dokumenty a složky.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1489,6 +1493,8 @@ Jméno: [username]
'settings_enableReceiptWorkflow_desc' => 'Povolte, pro spuštění workflow při potvrzení příjmu dokumentu.', 'settings_enableReceiptWorkflow_desc' => 'Povolte, pro spuštění workflow při potvrzení příjmu dokumentu.',
'settings_enableRecursiveCount' => 'Povolit rekurzivní počítání dokumentů / složek', 'settings_enableRecursiveCount' => 'Povolit rekurzivní počítání dokumentů / složek',
'settings_enableRecursiveCount_desc' => 'Při zapnutí je počet dokumentů a složek v zobrazení složek určen počítáním všech objektů při rekurzivním zpracování složek a počítáním těch dokumentů a složek, ke kterým má uživatel přístup.', 'settings_enableRecursiveCount_desc' => 'Při zapnutí je počet dokumentů a složek v zobrazení složek určen počítáním všech objektů při rekurzivním zpracování složek a počítáním těch dokumentů a složek, ke kterým má uživatel přístup.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Odmítnutí jedním revizorem', 'settings_enableRevisionOneVoteReject' => 'Odmítnutí jedním revizorem',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2038,6 +2044,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Zobrazit online', 'view_online' => 'Zobrazit online',
'warning' => 'Upozornění', 'warning' => 'Upozornění',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (2938), dgrutsch (22) // Translators: Admin (2948), dgrutsch (22)
$text = array( $text = array(
'2_factor_auth' => '2-Faktor Authentifizierung', '2_factor_auth' => '2-Faktor Authentifizierung',
@ -235,12 +235,12 @@ URL: [url]',
'cancel_checkout' => 'Auschecken abbrechen', 'cancel_checkout' => 'Auschecken abbrechen',
'cancel_checkout_warning' => 'Das Auschecken kann beendet werden, auch wenn bereits Änderung am ausgecheckten Dokument vorgenommen worden sind. In dem Fall wird die Datei gelöscht und die Änderungen gehen verloren.', 'cancel_checkout_warning' => 'Das Auschecken kann beendet werden, auch wenn bereits Änderung am ausgecheckten Dokument vorgenommen worden sind. In dem Fall wird die Datei gelöscht und die Änderungen gehen verloren.',
'cannot_assign_invalid_state' => 'Die Zuweisung eines neuen Prüfers zu einem Dokument, welches noch nachbearbeitet oder überprüft wird ist nicht möglich', 'cannot_assign_invalid_state' => 'Die Zuweisung eines neuen Prüfers zu einem Dokument, welches noch nachbearbeitet oder überprüft wird ist nicht möglich',
'cannot_change_final_states' => 'Warnung: Nicht imstande, Dokumentstatus für Dokumente, die zurückgewiesen worden sind, oder als abgelaufen bzw. überholt markiert wurden zu ändern', 'cannot_change_final_states' => 'Warnung: Der Dokumentstatus für Dokumente, die zurückgewiesen worden sind oder als abgelaufen bzw. veraltert markiert wurden, kann nicht geändert werden.',
'cannot_delete_user' => 'Benutzer kann nicht gelöscht werden', 'cannot_delete_user' => 'Benutzer kann nicht gelöscht werden',
'cannot_delete_yourself' => 'Sie können Ihr eigenes Login nicht löschen', 'cannot_delete_yourself' => 'Sie können Ihr eigenes Login nicht löschen',
'cannot_move_root' => 'Fehler: Verschieben des Hauptordners nicht möglich', 'cannot_move_root' => 'Fehler: Verschieben des Hauptordners nicht möglich',
'cannot_retrieve_approval_snapshot' => 'Nicht imstande, für diese Dokumentenversion die Freigabe für den Status Snapshot zurückzuholen.', 'cannot_retrieve_approval_snapshot' => 'Für diese Dokumentenversion konnte der aktuelle Freigabestatus nicht ermittelt werden.',
'cannot_retrieve_review_snapshot' => 'Nicht imstande, Berichtstatus Snapshot für diese Dokumentversion zurückzuholen', 'cannot_retrieve_review_snapshot' => 'Für diese Dokumentenversion konnte der aktuelle Prüfstatus nicht ermittelt werden.',
'cannot_revapp_expired_docs' => 'Das Dokument kann nicht mehr geprüft oder freigegeben werden, weil es bereits abgelaufen ist.', 'cannot_revapp_expired_docs' => 'Das Dokument kann nicht mehr geprüft oder freigegeben werden, weil es bereits abgelaufen ist.',
'cannot_rm_root' => 'Fehler: Löschen des Hauptordners nicht möglich', 'cannot_rm_root' => 'Fehler: Löschen des Hauptordners nicht möglich',
'cannot_transfer_your_objects' => 'Sie können Ihre eigenen Objekte nicht transferieren.', 'cannot_transfer_your_objects' => 'Sie können Ihre eigenen Objekte nicht transferieren.',
@ -551,6 +551,7 @@ URL: [url]',
'error_add_aro' => 'Fehler beim Hinzufügen des Zugriffsobjekts', 'error_add_aro' => 'Fehler beim Hinzufügen des Zugriffsobjekts',
'error_add_permission' => 'Fehler beim Hinzufügen der Berechtigung', 'error_add_permission' => 'Fehler beim Hinzufügen der Berechtigung',
'error_cleared_cache' => 'Fehler beim Löschen des Cache', 'error_cleared_cache' => 'Fehler beim Löschen des Cache',
'error_document_indexed' => 'Fehler beim Indizieren des Dokuments',
'error_edit_task' => 'Fehler beim Speichern der Task', 'error_edit_task' => 'Fehler beim Speichern der Task',
'error_extension_getlist' => 'Fehler beim Holen der Liste der Erweiterungen aus dem Repositorium', 'error_extension_getlist' => 'Fehler beim Holen der Liste der Erweiterungen aus dem Repositorium',
'error_importfs' => 'Fehler beim Importieren aus dem Dateisystem', 'error_importfs' => 'Fehler beim Importieren aus dem Dateisystem',
@ -695,6 +696,7 @@ URL: [url]',
'group_management' => 'Gruppenverwaltung', 'group_management' => 'Gruppenverwaltung',
'group_members' => 'Gruppenmitglieder', 'group_members' => 'Gruppenmitglieder',
'group_receipt_summary' => 'Übersicht Gruppenbestätigungen', 'group_receipt_summary' => 'Übersicht Gruppenbestätigungen',
'group_review_removed' => 'Statuswechsel, weil Prufung der Gruppe [name] entfernt wurde.',
'group_review_summary' => 'Übersicht Gruppenprüfungen', 'group_review_summary' => 'Übersicht Gruppenprüfungen',
'group_revision_summary' => 'Übersicht Gruppenwiederholungsprüfungen', 'group_revision_summary' => 'Übersicht Gruppenwiederholungsprüfungen',
'guest_login' => 'Als Gast anmelden', 'guest_login' => 'Als Gast anmelden',
@ -737,6 +739,7 @@ URL: [url]',
'index_waiting' => 'Warte', 'index_waiting' => 'Warte',
'individuals' => 'Einzelpersonen', 'individuals' => 'Einzelpersonen',
'individuals_in_groups' => 'Mitglieder einer Gruppe', 'individuals_in_groups' => 'Mitglieder einer Gruppe',
'ind_review_removed' => 'Statuswechsel, weil Prufung des Benutzers [name] entfernt wurde.',
'info_recipients_tab_not_released' => 'Die Bestätigung des Empfangs für diese Dokumentenversion ist nicht möglich, weil die Version nicht freigegeben ist.', 'info_recipients_tab_not_released' => 'Die Bestätigung des Empfangs für diese Dokumentenversion ist nicht möglich, weil die Version nicht freigegeben ist.',
'info_rm_user_from_processes_user' => 'Nur die noch offenen Aufgaben können auf einen anderen Benutzer übertragen werden. Bei Aufgaben, die bereits bearbeitet wurden, wird der Benutzer aus der Bearbeitungshistorie gelöscht, als würde der Benutzer selbst gelöscht.', 'info_rm_user_from_processes_user' => 'Nur die noch offenen Aufgaben können auf einen anderen Benutzer übertragen werden. Bei Aufgaben, die bereits bearbeitet wurden, wird der Benutzer aus der Bearbeitungshistorie gelöscht, als würde der Benutzer selbst gelöscht.',
'inherited' => 'geerbt', 'inherited' => 'geerbt',
@ -1113,6 +1116,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion',
'removeFolderFromDropFolder' => 'Ordner nach Import entfernen', 'removeFolderFromDropFolder' => 'Ordner nach Import entfernen',
'remove_marked_files' => 'Markierte Dateien löschen', 'remove_marked_files' => 'Markierte Dateien löschen',
'remove_review_log' => 'Einzelne Prüfung entfernen',
'repaired' => 'repariert', 'repaired' => 'repariert',
'repairing_objects' => 'Repariere Dokumente und Ordner.', 'repairing_objects' => 'Repariere Dokumente und Ordner.',
'replace_content_email_body' => 'Die letzte Version des Dokuments wurde ersetzt 'replace_content_email_body' => 'Die letzte Version des Dokuments wurde ersetzt
@ -1509,6 +1513,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_enableReceiptWorkflow_desc' => 'Anwählen, um den Workflow zur Kenntnisnahme von Dokumenten einzuschalten', 'settings_enableReceiptWorkflow_desc' => 'Anwählen, um den Workflow zur Kenntnisnahme von Dokumenten einzuschalten',
'settings_enableRecursiveCount' => 'Rekursive Dokumenten-/Ordner-Zählung', 'settings_enableRecursiveCount' => 'Rekursive Dokumenten-/Ordner-Zählung',
'settings_enableRecursiveCount_desc' => 'Wenn diese Option eingeschaltet ist, wird die Anzahl der Dokumente und Ordner in der Ordner-Ansicht rekursiv, unter Berücksichtigung der Zugriffsrechte ermittelt.', 'settings_enableRecursiveCount_desc' => 'Wenn diese Option eingeschaltet ist, wird die Anzahl der Dokumente und Ordner in der Ordner-Ansicht rekursiv, unter Berücksichtigung der Zugriffsrechte ermittelt.',
'settings_enableRemoveRevApp' => 'Erlaube dsa Löschen einer Prüfung/Freigabe',
'settings_enableRemoveRevApp_desc' => 'Anwählen, um Administratoren das Löschen einer Prüfung/Freigabe zu erlauben. Dabei wird die Prüfung/Freigabe nicht aus der Datenbank gelöscht, sondern durch einen neuen Eintrag im Prüf-/Freigabeprotokoll der Anfangszustand hergestellt.',
'settings_enableRevisionOneVoteReject' => 'Ablehnung durch einen Wiederholungsprüfer', 'settings_enableRevisionOneVoteReject' => 'Ablehnung durch einen Wiederholungsprüfer',
'settings_enableRevisionOneVoteReject_desc' => 'Diese Einstellung setzen, wenn die Ablehnung einer Wiederholungsprüfung durch einen einzelnen Prüfer den Status \'Korrektur erforderlich\' setzt und nicht erst alle Prüfungen abgewartet werden, bevor ein Statuswechsel vollzogen wird.', 'settings_enableRevisionOneVoteReject_desc' => 'Diese Einstellung setzen, wenn die Ablehnung einer Wiederholungsprüfung durch einen einzelnen Prüfer den Status \'Korrektur erforderlich\' setzt und nicht erst alle Prüfungen abgewartet werden, bevor ein Statuswechsel vollzogen wird.',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2058,6 +2064,7 @@ URL: [url]',
'view_folder' => 'Ordnerdetails anzeigen', 'view_folder' => 'Ordnerdetails anzeigen',
'view_online' => 'Online betrachten', 'view_online' => 'Online betrachten',
'warning' => 'Warnung', 'warning' => 'Warnung',
'warning_remove_review_log' => 'Das Entfernen einer bestehenden Prüfung kann nicht rückgängig gemacht werden und wird nicht protokoliert.',
'webauthn_auth' => 'WebAuthn Authentifizierung', 'webauthn_auth' => 'WebAuthn Authentifizierung',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -478,6 +478,7 @@ $text = array(
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -591,6 +592,7 @@ $text = array(
'group_management' => 'Διαχείριση ομάδων', 'group_management' => 'Διαχείριση ομάδων',
'group_members' => 'Μέλη ομάδας', 'group_members' => 'Μέλη ομάδας',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => '', 'group_review_summary' => '',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => '', 'guest_login' => '',
@ -633,6 +635,7 @@ $text = array(
'index_waiting' => 'Αναμονή', 'index_waiting' => 'Αναμονή',
'individuals' => 'Άτομα', 'individuals' => 'Άτομα',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'Κληρονομημένο', 'inherited' => 'Κληρονομημένο',
@ -963,6 +966,7 @@ URL: [url]',
'removed_workflow_email_subject' => '', 'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => '', 'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '', 'repaired' => '',
'repairing_objects' => '', 'repairing_objects' => '',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1291,6 +1295,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '', 'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1826,6 +1832,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'προβολή online', 'view_online' => 'προβολή online',
'warning' => 'Προειδοποίηση', 'warning' => 'Προειδοποίηση',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (2043), archonwang (3), dgrutsch (9), netixw (14) // Translators: Admin (2052), archonwang (3), dgrutsch (9), netixw (14)
$text = array( $text = array(
'2_factor_auth' => '2-factor authentication', '2_factor_auth' => '2-factor authentication',
@ -551,6 +551,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object', 'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission', 'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Error while clearing cache', 'error_cleared_cache' => 'Error while clearing cache',
'error_document_indexed' => 'Error indexing document',
'error_edit_task' => 'Error when saving task', 'error_edit_task' => 'Error when saving task',
'error_extension_getlist' => 'Error getting extension list from repository', 'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Error while importing form file system', 'error_importfs' => 'Error while importing form file system',
@ -695,6 +696,7 @@ URL: [url]',
'group_management' => 'Groups management', 'group_management' => 'Groups management',
'group_members' => 'Group members', 'group_members' => 'Group members',
'group_receipt_summary' => 'Group receipt summary', 'group_receipt_summary' => 'Group receipt summary',
'group_review_removed' => 'Change of status, because review of group [name] was removed.',
'group_review_summary' => 'Group review summary', 'group_review_summary' => 'Group review summary',
'group_revision_summary' => 'Group revision summary', 'group_revision_summary' => 'Group revision summary',
'guest_login' => 'Login as guest', 'guest_login' => 'Login as guest',
@ -737,6 +739,7 @@ URL: [url]',
'index_waiting' => 'Waiting', 'index_waiting' => 'Waiting',
'individuals' => 'Individuals', 'individuals' => 'Individuals',
'individuals_in_groups' => 'Members of a group', 'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => 'Change of status, because review of user [name] was removed.',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.', 'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_user' => 'Only tasks not being touched can be transfered to another user. Task which has been taken care of, will just add an item in the history, as if the user was deleted.', 'info_rm_user_from_processes_user' => 'Only tasks not being touched can be transfered to another user. Task which has been taken care of, will just add an item in the history, as if the user was deleted.',
'inherited' => 'inherited', 'inherited' => 'inherited',
@ -1114,6 +1117,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version', 'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Remove folder after import', 'removeFolderFromDropFolder' => 'Remove folder after import',
'remove_marked_files' => 'Remove marked files', 'remove_marked_files' => 'Remove marked files',
'remove_review_log' => 'Remove review',
'repaired' => 'repaired', 'repaired' => 'repaired',
'repairing_objects' => 'Repairing documents and folders.', 'repairing_objects' => 'Repairing documents and folders.',
'replace_content_email_body' => 'The last version of the document has been replaced 'replace_content_email_body' => 'The last version of the document has been replaced
@ -1503,6 +1507,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.', 'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.',
'settings_enableRecursiveCount' => 'Enable recursive document/folder count', 'settings_enableRecursiveCount' => 'Enable recursive document/folder count',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => 'Allow removal of existing review/approval',
'settings_enableRemoveRevApp_desc' => 'Enable this, if admins may remove an review/approval. This will not delete the review/approval from the database, but add a new entry in the review/approval log setting status to its initial state.',
'settings_enableRevisionOneVoteReject' => 'Reject by one revisor', 'settings_enableRevisionOneVoteReject' => 'Reject by one revisor',
'settings_enableRevisionOneVoteReject_desc' => 'If enabled, the document status will be set to \'needs correction\' once the first revisor rejects the document. If disabled, the document status will not change until all revisors have finished their revision.', 'settings_enableRevisionOneVoteReject_desc' => 'If enabled, the document status will be set to \'needs correction\' once the first revisor rejects the document. If disabled, the document status will not change until all revisors have finished their revision.',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1519,7 +1525,7 @@ If you did not receive a password, please use the password forgotten function on
'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.', 'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.',
'settings_enableUpdateReceipt' => 'Allow editing of existing reception', '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_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' => 'Allow editing of existing 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_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', 'settings_enableUserImage' => 'Enable User Image',
'settings_enableUserImage_desc' => 'Enable users images', 'settings_enableUserImage_desc' => 'Enable users images',
@ -2052,6 +2058,7 @@ URL: [url]',
'view_folder' => 'View folder details', 'view_folder' => 'View folder details',
'view_online' => 'View online', 'view_online' => 'View online',
'warning' => 'Warning', 'warning' => 'Warning',
'warning_remove_review_log' => 'Removing a single review cannot not be undone and will not be reported. The reviewer must redo the review.',
'webauthn_auth' => 'WebAuthn Authentification', 'webauthn_auth' => 'WebAuthn Authentification',
'webauthn_crossplatform_info' => 'Use cross-platform \'Yes\' when you have a removable device, like a Yubico key, which you would want to use to login on different computers; say \'No\' when your device is attached to the computer. The choice affects which device(s) are offered by the browser and/or computer security system.', 'webauthn_crossplatform_info' => 'Use cross-platform \'Yes\' when you have a removable device, like a Yubico key, which you would want to use to login on different computers; say \'No\' when your device is attached to the computer. The choice affects which device(s) are offered by the browser and/or computer security system.',
'webauthn_info' => 'WebAuthn is a password less authentification using public key cryptography. A private-public keypair (known as a credential) is created for a website. The private key is stored securely on the users device; a public key and randomly generated credential ID is sent to the server for storage. The server can then use that public key to prove the users identity. The private key is usually stored on a hardware token. The token must be registered before it can be used for authentication.', 'webauthn_info' => 'WebAuthn is a password less authentification using public key cryptography. A private-public keypair (known as a credential) is created for a website. The private key is stored securely on the users device; a public key and randomly generated credential ID is sent to the server for storage. The server can then use that public key to prove the users identity. The private key is usually stored on a hardware token. The token must be registered before it can be used for authentication.',

View File

@ -532,6 +532,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -669,6 +670,7 @@ URL: [url]',
'group_management' => 'Gestion de Grupos', 'group_management' => 'Gestion de Grupos',
'group_members' => 'Miembros de grupo', 'group_members' => 'Miembros de grupo',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resumen del grupo revisor', 'group_review_summary' => 'Resumen del grupo revisor',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Acceso como invitado', 'guest_login' => 'Acceso como invitado',
@ -711,6 +713,7 @@ URL: [url]',
'index_waiting' => 'Esperando', 'index_waiting' => 'Esperando',
'individuals' => 'Individuales', 'individuals' => 'Individuales',
'individuals_in_groups' => 'Miembros del grupo', 'individuals_in_groups' => 'Miembros del grupo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'heredado', 'inherited' => 'heredado',
@ -1077,6 +1080,7 @@ nURL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento',
'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar', 'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar',
'remove_marked_files' => 'Eliminar ficheros marcados', 'remove_marked_files' => 'Eliminar ficheros marcados',
'remove_review_log' => '',
'repaired' => 'Reparado', 'repaired' => 'Reparado',
'repairing_objects' => 'Reparando documentos y carpetas.', 'repairing_objects' => 'Reparando documentos y carpetas.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1432,6 +1436,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Habilitar cuenta de documento/carpeta recursivo', 'settings_enableRecursiveCount' => 'Habilitar cuenta de documento/carpeta recursivo',
'settings_enableRecursiveCount_desc' => 'Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.', 'settings_enableRecursiveCount_desc' => 'Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rechazado por un revisor', 'settings_enableRevisionOneVoteReject' => 'Rechazado por un revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Si está habilitado, una vez que el primer revisor rechaza el documento, el estado del documento será \'necesita corrección\'. Si se encuentra deshabilitado, el estado del docuento no cambiará hast que todos los revisores hayan concluido su revisión.', 'settings_enableRevisionOneVoteReject_desc' => 'Si está habilitado, una vez que el primer revisor rechaza el documento, el estado del documento será \'necesita corrección\'. Si se encuentra deshabilitado, el estado del docuento no cambiará hast que todos los revisores hayan concluido su revisión.',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1981,6 +1987,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Ver online', 'view_online' => 'Ver online',
'warning' => 'Advertencia', 'warning' => 'Advertencia',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => 'Erreur lors de lajout de permission', 'error_add_permission' => 'Erreur lors de lajout de permission',
'error_cleared_cache' => 'Erreur lors du vidage du cache', 'error_cleared_cache' => 'Erreur lors du vidage du cache',
'error_document_indexed' => '',
'error_edit_task' => 'Erreur lors de la modification de la tâche', 'error_edit_task' => 'Erreur lors de la modification de la tâche',
'error_extension_getlist' => 'Erreur lors de lobtention de la liste des extensions depuis le dépôt', 'error_extension_getlist' => 'Erreur lors de lobtention de la liste des extensions depuis le dépôt',
'error_importfs' => 'Erreur lors de limport depuis le système de fichiers', 'error_importfs' => 'Erreur lors de limport depuis le système de fichiers',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Gestion des groupes', 'group_management' => 'Gestion des groupes',
'group_members' => 'Membres du groupe', 'group_members' => 'Membres du groupe',
'group_receipt_summary' => 'Récapitulatif groupe réception', 'group_receipt_summary' => 'Récapitulatif groupe réception',
'group_review_removed' => '',
'group_review_summary' => 'Récapitulatif groupe vérification', 'group_review_summary' => 'Récapitulatif groupe vérification',
'group_revision_summary' => 'Récapitulatif groupe révision', 'group_revision_summary' => 'Récapitulatif groupe révision',
'guest_login' => 'Se connecter comme invité', 'guest_login' => 'Se connecter comme invité',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Chargement…', 'index_waiting' => 'Chargement…',
'individuals' => 'Individuels', 'individuals' => 'Individuels',
'individuals_in_groups' => 'Membres dun groupe', 'individuals_in_groups' => 'Membres dun groupe',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Laccusé de réception pour cette version du document nest pas possible car la version nest pas en état « publié ».', 'info_recipients_tab_not_released' => 'Laccusé de réception pour cette version du document nest pas possible car la version nest pas en état « publié ».',
'info_rm_user_from_processes_user' => 'Seules les tâches non traitées peuvent être transférées à un autre utilisateur. Pour les tâches déjà traitées, une entrée sera ajoutée dans lhistorique, comme si lutilisateur lui-même avait été supprimé.', 'info_rm_user_from_processes_user' => 'Seules les tâches non traitées peuvent être transférées à un autre utilisateur. Pour les tâches déjà traitées, une entrée sera ajoutée dans lhistorique, comme si lutilisateur lui-même avait été supprimé.',
'inherited' => 'hérité', 'inherited' => 'hérité',
@ -1109,6 +1112,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument', 'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument',
'removeFolderFromDropFolder' => 'Suppression du dossier après importation', 'removeFolderFromDropFolder' => 'Suppression du dossier après importation',
'remove_marked_files' => 'Supprimer les fichiers sélectionnés', 'remove_marked_files' => 'Supprimer les fichiers sélectionnés',
'remove_review_log' => '',
'repaired' => 'réparé', 'repaired' => 'réparé',
'repairing_objects' => 'Réparation des documents et des dossiers.', 'repairing_objects' => 'Réparation des documents et des dossiers.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1492,6 +1496,8 @@ Nom : [username]
'settings_enableReceiptWorkflow_desc' => 'Activer cette option pour permettre de confirmer la réception de document dans le workflow.', 'settings_enableReceiptWorkflow_desc' => 'Activer cette option pour permettre de confirmer la réception de document dans le workflow.',
'settings_enableRecursiveCount' => 'Décompte récursif des documents/dossiers', 'settings_enableRecursiveCount' => 'Décompte récursif des documents/dossiers',
'settings_enableRecursiveCount_desc' => 'Si activé, le nombre de documents et répertoires dans un répertoire est calculé en comptant récursivement le contenu des sous-répertoires auxquels l\'utilisateur a accès.', 'settings_enableRecursiveCount_desc' => 'Si activé, le nombre de documents et répertoires dans un répertoire est calculé en comptant récursivement le contenu des sous-répertoires auxquels l\'utilisateur a accès.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rejet par un réviseur', 'settings_enableRevisionOneVoteReject' => 'Rejet par un réviseur',
'settings_enableRevisionOneVoteReject_desc' => 'Si cette option est activée, le statut du document sera défini sur « nécessite une correction » une fois que le premier réviseur a rejeté le document. Si elle est désactivée, le statut du document ne changera pas jusquà ce que tous les réviseurs aient terminé leur révision.', 'settings_enableRevisionOneVoteReject_desc' => 'Si cette option est activée, le statut du document sera défini sur « nécessite une correction » une fois que le premier réviseur a rejeté le document. Si elle est désactivée, le statut du document ne changera pas jusquà ce que tous les réviseurs aient terminé leur révision.',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => 'Voir les détails du dossier', 'view_folder' => 'Voir les détails du dossier',
'view_online' => 'Aperçu en ligne', 'view_online' => 'Aperçu en ligne',
'warning' => 'Avertissement', 'warning' => 'Avertissement',
'warning_remove_review_log' => '',
'webauthn_auth' => 'Authentification WebAuthn', 'webauthn_auth' => 'Authentification WebAuthn',
'webauthn_crossplatform_info' => 'Choisissez « Oui » lorsque vous avez un périphérique amovible, comme une clé Yubico, que vous souhaitez utiliser pour vous connecter sur différents ordinateurs ; choisissez « Non » lorsque votre appareil est connecté à l\'ordinateur. Le choix affecte le ou les appareils proposés par le navigateur et / ou le système de sécurité informatique.', 'webauthn_crossplatform_info' => 'Choisissez « Oui » lorsque vous avez un périphérique amovible, comme une clé Yubico, que vous souhaitez utiliser pour vous connecter sur différents ordinateurs ; choisissez « Non » lorsque votre appareil est connecté à l\'ordinateur. Le choix affecte le ou les appareils proposés par le navigateur et / ou le système de sécurité informatique.',
'webauthn_info' => 'WebAuthn est une authentification sans mot de passe utilisant la cryptographie à clé publique. Une paire de clés privée-publique (connue sous le nom de certificat) est créée pour un site Web. La clé privée est stockée en toute sécurité sur lappareil de lutilisateur ; une clé publique et un identifiant généré de manière aléatoire sont envoyés au serveur pour stockage. Le serveur peut ensuite utiliser cette clé publique pour prouver lidentité de lutilisateur. La clé privée est généralement stockée sur un jeton matériel. Le jeton doit être enregistré avant de pouvoir être utilisé pour lauthentification.', 'webauthn_info' => 'WebAuthn est une authentification sans mot de passe utilisant la cryptographie à clé publique. Une paire de clés privée-publique (connue sous le nom de certificat) est créée pour un site Web. La clé privée est stockée en toute sécurité sur lappareil de lutilisateur ; une clé publique et un identifiant généré de manière aléatoire sont envoyés au serveur pour stockage. Le serveur peut ensuite utiliser cette clé publique pour prouver lidentité de lutilisateur. La clé privée est généralement stockée sur un jeton matériel. Le jeton doit être enregistré avant de pouvoir être utilisé pour lauthentification.',

View File

@ -537,6 +537,7 @@ Internet poveznica: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -674,6 +675,7 @@ Internet poveznica: [url]',
'group_management' => 'Upravljanje grupama', 'group_management' => 'Upravljanje grupama',
'group_members' => 'Članovi grupe', 'group_members' => 'Članovi grupe',
'group_receipt_summary' => 'Sažetak prijema za grupu', 'group_receipt_summary' => 'Sažetak prijema za grupu',
'group_review_removed' => '',
'group_review_summary' => 'Sažetak pregleda grupe', 'group_review_summary' => 'Sažetak pregleda grupe',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Prijavite se kao gost', 'guest_login' => 'Prijavite se kao gost',
@ -716,6 +718,7 @@ Internet poveznica: [url]',
'index_waiting' => '', 'index_waiting' => '',
'individuals' => 'Pojedinci', 'individuals' => 'Pojedinci',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'naslijeđeno', 'inherited' => 'naslijeđeno',
@ -1081,6 +1084,7 @@ Internet poveznica: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Uklonjeni tok rada iz ove verzije dokumenta', 'removed_workflow_email_subject' => '[sitename]: [name] - Uklonjeni tok rada iz ove verzije dokumenta',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Ukloni označene datoteke', 'remove_marked_files' => 'Ukloni označene datoteke',
'remove_review_log' => '',
'repaired' => 'popravljeno', 'repaired' => 'popravljeno',
'repairing_objects' => 'Popravljanje dokumenata ili mapa.', 'repairing_objects' => 'Popravljanje dokumenata ili mapa.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1453,6 +1457,8 @@ Internet poveznica: [url]',
'settings_enableReceiptWorkflow_desc' => 'Omogućite kako bi omogućili tok rada za potvrđivajne prijema dokumenta.', 'settings_enableReceiptWorkflow_desc' => 'Omogućite kako bi omogućili tok rada za potvrđivajne prijema dokumenta.',
'settings_enableRecursiveCount' => 'Omogući rekurzivno brojanje dokumenta/mape', 'settings_enableRecursiveCount' => 'Omogući rekurzivno brojanje dokumenta/mape',
'settings_enableRecursiveCount_desc' => 'Ako je uključeno, broj dokumenata i mapa u pregledu mape će biti određen brojanjem svih objekata rekurzivnom obradom mapa i brojanjem tih dokumenata i mapa kojima je korisniku omogućen pristup.', 'settings_enableRecursiveCount_desc' => 'Ako je uključeno, broj dokumenata i mapa u pregledu mape će biti određen brojanjem svih objekata rekurzivnom obradom mapa i brojanjem tih dokumenata i mapa kojima je korisniku omogućen pristup.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2002,6 +2008,7 @@ Internet poveznica: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Online pregled', 'view_online' => 'Online pregled',
'warning' => 'Upozorenje', 'warning' => 'Upozorenje',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -532,6 +532,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -669,6 +670,7 @@ URL: [url]',
'group_management' => 'Csoportok', 'group_management' => 'Csoportok',
'group_members' => 'Csoporttagok', 'group_members' => 'Csoporttagok',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Csoport felülvizsgálat összefoglaló', 'group_review_summary' => 'Csoport felülvizsgálat összefoglaló',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Bejelentkezés vendégként', 'guest_login' => 'Bejelentkezés vendégként',
@ -711,6 +713,7 @@ URL: [url]',
'index_waiting' => '', 'index_waiting' => '',
'individuals' => 'Egyedek', 'individuals' => 'Egyedek',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'örökölt', 'inherited' => 'örökölt',
@ -1077,6 +1080,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat', 'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Megjelölt állományok eltávolítása', 'remove_marked_files' => 'Megjelölt állományok eltávolítása',
'remove_review_log' => '',
'repaired' => 'javított', 'repaired' => 'javított',
'repairing_objects' => 'Dokumentumok és mappák helyreállítása', 'repairing_objects' => 'Dokumentumok és mappák helyreállítása',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1431,6 +1435,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Engedélyezi a rekurzív dokumentum/mappa számot', 'settings_enableRecursiveCount' => 'Engedélyezi a rekurzív dokumentum/mappa számot',
'settings_enableRecursiveCount_desc' => 'Ha be van kapcsolva a mappa nézetben a dokumentumok és mappák száma minden objektum rekurzív feldolgozásával kerül meghatározásra és a dokumentumok és mappák száma a felhasználó számára engedélyezett.', 'settings_enableRecursiveCount_desc' => 'Ha be van kapcsolva a mappa nézetben a dokumentumok és mappák száma minden objektum rekurzív feldolgozásával kerül meghatározásra és a dokumentumok és mappák száma a felhasználó számára engedélyezett.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1980,6 +1986,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Online megtekintés', 'view_online' => 'Online megtekintés',
'warning' => 'Figyelmeztetés', 'warning' => 'Figyelmeztetés',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -542,6 +542,7 @@ URL: [url]',
'error_add_aro' => 'Errore durante l\'accesso aggiungendo richiesta oggetto', 'error_add_aro' => 'Errore durante l\'accesso aggiungendo richiesta oggetto',
'error_add_permission' => 'Errore durante l\'aggiunta di permesso', 'error_add_permission' => 'Errore durante l\'aggiunta di permesso',
'error_cleared_cache' => 'Errore durante svuotare la cache', 'error_cleared_cache' => 'Errore durante svuotare la cache',
'error_document_indexed' => '',
'error_edit_task' => 'Modifica attività', 'error_edit_task' => 'Modifica attività',
'error_extension_getlist' => 'Errore nel recuperare l\'elenco delle estensioni dal repository', 'error_extension_getlist' => 'Errore nel recuperare l\'elenco delle estensioni dal repository',
'error_importfs' => 'Errore durante l\'importazione dal file system', 'error_importfs' => 'Errore durante l\'importazione dal file system',
@ -679,6 +680,7 @@ URL: [url]',
'group_management' => 'Amministrazione gruppi', 'group_management' => 'Amministrazione gruppi',
'group_members' => 'Membri del gruppo', 'group_members' => 'Membri del gruppo',
'group_receipt_summary' => 'Panoramica delle conferme ricevute gruppo.', 'group_receipt_summary' => 'Panoramica delle conferme ricevute gruppo.',
'group_review_removed' => '',
'group_review_summary' => 'Dettaglio revisioni di gruppo', 'group_review_summary' => 'Dettaglio revisioni di gruppo',
'group_revision_summary' => 'Riepilogo revisioni del gruppo', 'group_revision_summary' => 'Riepilogo revisioni del gruppo',
'guest_login' => 'Login come Ospite', 'guest_login' => 'Login come Ospite',
@ -721,6 +723,7 @@ URL: [url]',
'index_waiting' => 'Attendi', 'index_waiting' => 'Attendi',
'individuals' => 'Singoli', 'individuals' => 'Singoli',
'individuals_in_groups' => 'I membri de la gruppo', 'individuals_in_groups' => 'I membri de la gruppo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Non è possibile confermare la ricezione di questa versione del documento, poiché la versione non è stata rilasciata.', 'info_recipients_tab_not_released' => 'Non è possibile confermare la ricezione di questa versione del documento, poiché la versione non è stata rilasciata.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'ereditato', 'inherited' => 'ereditato',
@ -1098,6 +1101,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento',
'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione', 'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione',
'remove_marked_files' => 'Rimuovi i files contrassegnati', 'remove_marked_files' => 'Rimuovi i files contrassegnati',
'remove_review_log' => '',
'repaired' => 'riparato', 'repaired' => 'riparato',
'repairing_objects' => 'Riparazione documenti e cartelle in corso...', 'repairing_objects' => 'Riparazione documenti e cartelle in corso...',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1480,6 +1484,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Abilitare per attivare le ricevute di notifica nel flusso di lavoro.', 'settings_enableReceiptWorkflow_desc' => 'Abilitare per attivare le ricevute di notifica nel flusso di lavoro.',
'settings_enableRecursiveCount' => 'Abilita il conteggio ricursivo di documenti/cartelle', 'settings_enableRecursiveCount' => 'Abilita il conteggio ricursivo di documenti/cartelle',
'settings_enableRecursiveCount_desc' => 'Se selezionato il numero di documenti e sottocartelle accessibili all\'utente sarà calcolato con un conteggio ricursivo di tutti gli oggetti contenuti nella cartella.', 'settings_enableRecursiveCount_desc' => 'Se selezionato il numero di documenti e sottocartelle accessibili all\'utente sarà calcolato con un conteggio ricursivo di tutti gli oggetti contenuti nella cartella.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Respinto da un revisore', 'settings_enableRevisionOneVoteReject' => 'Respinto da un revisore',
'settings_enableRevisionOneVoteReject_desc' => 'Se abilitato, lo stato del documento verrà impostato su ""necessita correzione"" una volta che il primo revisore rifiuta il documento. Se disabilitato, lo stato del documento non cambierà fino a quando tutti i revisori non avranno terminato la revisione.', 'settings_enableRevisionOneVoteReject_desc' => 'Se abilitato, lo stato del documento verrà impostato su ""necessita correzione"" una volta che il primo revisore rifiuta il documento. Se disabilitato, lo stato del documento non cambierà fino a quando tutti i revisori non avranno terminato la revisione.',
'settings_enableRevisionOnVoteReject' => 'Rifiutato da un revisore', 'settings_enableRevisionOnVoteReject' => 'Rifiutato da un revisore',
@ -2029,6 +2035,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Visualizza on-line', 'view_online' => 'Visualizza on-line',
'warning' => 'Attenzione', 'warning' => 'Attenzione',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -538,6 +538,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -675,6 +676,7 @@ URL: [url]',
'group_management' => '그룹 관리', 'group_management' => '그룹 관리',
'group_members' => '카페 회원', 'group_members' => '카페 회원',
'group_receipt_summary' => '그룹 접수 요약', 'group_receipt_summary' => '그룹 접수 요약',
'group_review_removed' => '',
'group_review_summary' => '그룹 검토 요약', 'group_review_summary' => '그룹 검토 요약',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => '게스트로 로그인', 'guest_login' => '게스트로 로그인',
@ -717,6 +719,7 @@ URL: [url]',
'index_waiting' => '기다리는 중', 'index_waiting' => '기다리는 중',
'individuals' => '개인', 'individuals' => '개인',
'individuals_in_groups' => '개별 그룹', 'individuals_in_groups' => '개별 그룹',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => '상속', 'inherited' => '상속',
@ -1075,6 +1078,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우', 'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => '마크 파일을 제거', 'remove_marked_files' => '마크 파일을 제거',
'remove_review_log' => '',
'repaired' => '복구', 'repaired' => '복구',
'repairing_objects' => '문서 및 폴더 복구', 'repairing_objects' => '문서 및 폴더 복구',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1447,6 +1451,8 @@ URL : [url]',
'settings_enableReceiptWorkflow_desc' => '문서의 수신 확인을 위해 워크플로어를 선택하고 활성화 합니다.', 'settings_enableReceiptWorkflow_desc' => '문서의 수신 확인을 위해 워크플로어를 선택하고 활성화 합니다.',
'settings_enableRecursiveCount' => '재귀적 문서 / 폴더 수 사용', 'settings_enableRecursiveCount' => '재귀적 문서 / 폴더 수 사용',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1996,6 +2002,7 @@ URL : [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => '온라인으로 보기', 'view_online' => '온라인으로 보기',
'warning' => '경고', 'warning' => '경고',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -535,6 +535,7 @@ URL: [url]',
'error_add_aro' => 'ເກີດຂໍຜິດພາດຂະນະເພີ່ມການເພີ່ມຄຳຂໍການເຂົາເຖິງ', 'error_add_aro' => 'ເກີດຂໍຜິດພາດຂະນະເພີ່ມການເພີ່ມຄຳຂໍການເຂົາເຖິງ',
'error_add_permission' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເພີ່ມສິດ', 'error_add_permission' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເພີ່ມສິດ',
'error_cleared_cache' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະລ້າງແຄຣ', 'error_cleared_cache' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະລ້າງແຄຣ',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເຂົ້າລະບົບໄຟລຟອມ', 'error_importfs' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເຂົ້າລະບົບໄຟລຟອມ',
@ -672,6 +673,7 @@ URL: [url]',
'group_management' => 'ການຈັດການກຸ່ມ', 'group_management' => 'ການຈັດການກຸ່ມ',
'group_members' => 'ສະມາຊິກກຸ່ມ', 'group_members' => 'ສະມາຊິກກຸ່ມ',
'group_receipt_summary' => 'ພາບລວມການຢືນຢັນເນື້ອຫາຂອງກຸ່ມ', 'group_receipt_summary' => 'ພາບລວມການຢືນຢັນເນື້ອຫາຂອງກຸ່ມ',
'group_review_removed' => '',
'group_review_summary' => 'ສະຫຼຸບບົດວິຈານຂອງກຸ່ມ', 'group_review_summary' => 'ສະຫຼຸບບົດວິຈານຂອງກຸ່ມ',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'ເຂົ້າສູ້ລະບົບໃນຖານະແຂກ', 'guest_login' => 'ເຂົ້າສູ້ລະບົບໃນຖານະແຂກ',
@ -714,6 +716,7 @@ URL: [url]',
'index_waiting' => 'ຖ້າ', 'index_waiting' => 'ຖ້າ',
'individuals' => 'ບຸກຄົນ', 'individuals' => 'ບຸກຄົນ',
'individuals_in_groups' => 'ສະມາຊິກຂອງກຸ່ມ', 'individuals_in_groups' => 'ສະມາຊິກຂອງກຸ່ມ',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'ຮັບການຖ່າຍທອດ', 'inherited' => 'ຮັບການຖ່າຍທອດ',
@ -1091,6 +1094,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ', 'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ',
'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ', 'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ',
'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້', 'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້',
'remove_review_log' => '',
'repaired' => 'ການສ້ອມແປງ', 'repaired' => 'ການສ້ອມແປງ',
'repairing_objects' => 'ການສ້ອມແປງເອກະສານແລະໂຟລເດີ', 'repairing_objects' => 'ການສ້ອມແປງເອກະສານແລະໂຟລເດີ',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1473,6 +1477,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'ເປີດໄຊ້ງານການນັບເອກະສານ/ໂຟລເດີນັບຊໍ້າ', 'settings_enableRecursiveCount' => 'ເປີດໄຊ້ງານການນັບເອກະສານ/ໂຟລເດີນັບຊໍ້າ',
'settings_enableRecursiveCount_desc' => 'ຫາກເປີດໄຊ້ງານຈຳນວນເອກະສານແລະໂຟລເດີໃນມຸມມອງຂອງໂຟລເດີຈະຖືກກຳນົດໂດຍນັບວັດຖຸທັງໝົດໂດຍປະມວນຜົນໂຟລເດີໂຟລເດີຊຳ, ນັບເກະສານ ແລະໂຟລເດີທີຜູ້ໄຊ້ສາມາດເຂົ້າເຖິງໄດ້', 'settings_enableRecursiveCount_desc' => 'ຫາກເປີດໄຊ້ງານຈຳນວນເອກະສານແລະໂຟລເດີໃນມຸມມອງຂອງໂຟລເດີຈະຖືກກຳນົດໂດຍນັບວັດຖຸທັງໝົດໂດຍປະມວນຜົນໂຟລເດີໂຟລເດີຊຳ, ນັບເກະສານ ແລະໂຟລເດີທີຜູ້ໄຊ້ສາມາດເຂົ້າເຖິງໄດ້',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2022,6 +2028,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'ດູອອນລາຍ', 'view_online' => 'ດູອອນລາຍ',
'warning' => 'ການເຕືອນ', 'warning' => 'ການເຕືອນ',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Feil under tilføyelse av adgangsforespørselsobjekt', 'error_add_aro' => 'Feil under tilføyelse av adgangsforespørselsobjekt',
'error_add_permission' => 'Feil under tilføyelse av tillatelse', 'error_add_permission' => 'Feil under tilføyelse av tillatelse',
'error_cleared_cache' => 'Feil ved rensning av hurtig-minne', 'error_cleared_cache' => 'Feil ved rensning av hurtig-minne',
'error_document_indexed' => '',
'error_edit_task' => 'Feil ved lagring av oppgave', 'error_edit_task' => 'Feil ved lagring av oppgave',
'error_extension_getlist' => 'Feil under mottak av utvidelsesliste fra depotet', 'error_extension_getlist' => 'Feil under mottak av utvidelsesliste fra depotet',
'error_importfs' => 'Feil under import av skjemafilsystem', 'error_importfs' => 'Feil under import av skjemafilsystem',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Gruppe ledelse', 'group_management' => 'Gruppe ledelse',
'group_members' => 'Gruppemedlemmer', 'group_members' => 'Gruppemedlemmer',
'group_receipt_summary' => 'Gruppe kvitterings sammendrag', 'group_receipt_summary' => 'Gruppe kvitterings sammendrag',
'group_review_removed' => '',
'group_review_summary' => 'Sammendrag av gruppevisning', 'group_review_summary' => 'Sammendrag av gruppevisning',
'group_revision_summary' => 'Sammendrag av grupperevisjon', 'group_revision_summary' => 'Sammendrag av grupperevisjon',
'guest_login' => 'Logg inn som gjest', 'guest_login' => 'Logg inn som gjest',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Venter', 'index_waiting' => 'Venter',
'individuals' => 'Personer', 'individuals' => 'Personer',
'individuals_in_groups' => 'Medlemmer i en gruppe', 'individuals_in_groups' => 'Medlemmer i en gruppe',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Bekreftelse av mottak for denne dokumentversjonen er ikke mulig fordi versjonen ikke er utgitt.', 'info_recipients_tab_not_released' => 'Bekreftelse av mottak for denne dokumentversjonen er ikke mulig fordi versjonen ikke er utgitt.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'arvet', 'inherited' => 'arvet',
@ -1106,6 +1109,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen', 'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen',
'removeFolderFromDropFolder' => 'Fjern mappe etter import', 'removeFolderFromDropFolder' => 'Fjern mappe etter import',
'remove_marked_files' => 'Fjern markerte filer', 'remove_marked_files' => 'Fjern markerte filer',
'remove_review_log' => '',
'repaired' => 'reparert', 'repaired' => 'reparert',
'repairing_objects' => 'Reparere dokumenter og mapper.', 'repairing_objects' => 'Reparere dokumenter og mapper.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1486,6 +1490,8 @@ Bruker: [username]
'settings_enableReceiptWorkflow_desc' => 'Aktiver for å slå på arbeidsflyten for å bekrefte dokumentmottak.', 'settings_enableReceiptWorkflow_desc' => 'Aktiver for å slå på arbeidsflyten for å bekrefte dokumentmottak.',
'settings_enableRecursiveCount' => 'Aktiver rekursivt antall dokumenter / mapper', 'settings_enableRecursiveCount' => 'Aktiver rekursivt antall dokumenter / mapper',
'settings_enableRecursiveCount_desc' => 'Hvis det er slått på, vil antall dokumenter og mapper i mappevisningen bestemmes ved å telle alle objekter ved rekursivt å behandle mappene og telle de dokumentene og mappene brukeren har lov til å få tilgang til.', 'settings_enableRecursiveCount_desc' => 'Hvis det er slått på, vil antall dokumenter og mapper i mappevisningen bestemmes ved å telle alle objekter ved rekursivt å behandle mappene og telle de dokumentene og mappene brukeren har lov til å få tilgang til.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Avvist av en rådgiver', 'settings_enableRevisionOneVoteReject' => 'Avvist av en rådgiver',
'settings_enableRevisionOneVoteReject_desc' => 'Hvis dette er aktivert, vil dokumentstatusen settes til \'trenger korrigering \' når den første rådgiveren avviser dokumentet. Hvis den er deaktivert, vil dokumentstatus ikke endres før alle revisorer er ferdige med revisjonen.', 'settings_enableRevisionOneVoteReject_desc' => 'Hvis dette er aktivert, vil dokumentstatusen settes til \'trenger korrigering \' når den første rådgiveren avviser dokumentet. Hvis den er deaktivert, vil dokumentstatus ikke endres før alle revisorer er ferdige med revisjonen.',
'settings_enableRevisionOnVoteReject' => 'Aktiver revisjon av kvote avvist', 'settings_enableRevisionOnVoteReject' => 'Aktiver revisjon av kvote avvist',
@ -2035,6 +2041,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Vis på nett', 'view_online' => 'Vis på nett',
'warning' => 'Advarsel', 'warning' => 'Advarsel',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -542,6 +542,7 @@ URL: [url]',
'error_add_aro' => 'Verzoek om toegang toegevoegd', 'error_add_aro' => 'Verzoek om toegang toegevoegd',
'error_add_permission' => 'Voeg permissie toe', 'error_add_permission' => 'Voeg permissie toe',
'error_cleared_cache' => 'Fout bij het leegmaken van de cache', 'error_cleared_cache' => 'Fout bij het leegmaken van de cache',
'error_document_indexed' => '',
'error_edit_task' => 'Fout bij het opslaan van de taak', 'error_edit_task' => 'Fout bij het opslaan van de taak',
'error_extension_getlist' => 'Fout bij het ophalen van de lijst met extensies uit het repository', 'error_extension_getlist' => 'Fout bij het ophalen van de lijst met extensies uit het repository',
'error_importfs' => 'Fout bij het importeren van form file systeem', 'error_importfs' => 'Fout bij het importeren van form file systeem',
@ -686,6 +687,7 @@ URL: [url]',
'group_management' => 'Groepenbeheer', 'group_management' => 'Groepenbeheer',
'group_members' => 'Groepsleden', 'group_members' => 'Groepsleden',
'group_receipt_summary' => 'Overzicht van ontvangst per groep', 'group_receipt_summary' => 'Overzicht van ontvangst per groep',
'group_review_removed' => '',
'group_review_summary' => 'Samenvatting beoordeling per groep', 'group_review_summary' => 'Samenvatting beoordeling per groep',
'group_revision_summary' => 'Samenvatting van de beoordelingen', 'group_revision_summary' => 'Samenvatting van de beoordelingen',
'guest_login' => 'Login als Gast', 'guest_login' => 'Login als Gast',
@ -728,6 +730,7 @@ URL: [url]',
'index_waiting' => 'Indexering wacht', 'index_waiting' => 'Indexering wacht',
'individuals' => 'Individuen', 'individuals' => 'Individuen',
'individuals_in_groups' => 'Individuen in groepen', 'individuals_in_groups' => 'Individuen in groepen',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Ontvangstbevestiging van deze versie van het document is niet mogelijk omdat de versie nog niet is vrijgegeven.', 'info_recipients_tab_not_released' => 'Ontvangstbevestiging van deze versie van het document is niet mogelijk omdat de versie nog niet is vrijgegeven.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'overgeërfd', 'inherited' => 'overgeërfd',
@ -1104,6 +1107,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie',
'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder', 'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder',
'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd', 'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd',
'remove_review_log' => '',
'repaired' => 'Gerepareerd', 'repaired' => 'Gerepareerd',
'repairing_objects' => 'Documenten en mappen repareren.', 'repairing_objects' => 'Documenten en mappen repareren.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1485,6 +1489,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Aanzetten workflow-stappen', 'settings_enableReceiptWorkflow_desc' => 'Aanzetten workflow-stappen',
'settings_enableRecursiveCount' => 'Document/ map teller herhalen toestaan', 'settings_enableRecursiveCount' => 'Document/ map teller herhalen toestaan',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Afwijzen door één revisor', 'settings_enableRevisionOneVoteReject' => 'Afwijzen door één revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Als dit aan staat, wordt de status van het document \'correctie nodig\' zodra de eerste revisor het document afwijst. Als deze optie uit staat, verandert de status van het document niet voordat alle revisors hun bijdrage hebben geleverd.', 'settings_enableRevisionOneVoteReject_desc' => 'Als dit aan staat, wordt de status van het document \'correctie nodig\' zodra de eerste revisor het document afwijst. Als deze optie uit staat, verandert de status van het document niet voordat alle revisors hun bijdrage hebben geleverd.',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2034,6 +2040,7 @@ URL: [url]',
'view_folder' => 'Map bekijken', 'view_folder' => 'Map bekijken',
'view_online' => 'Bekijk online', 'view_online' => 'Bekijk online',
'warning' => 'Waarschuwing', 'warning' => 'Waarschuwing',
'warning_remove_review_log' => '',
'webauthn_auth' => 'WebAuthn Authentificatie', 'webauthn_auth' => 'WebAuthn Authentificatie',
'webauthn_crossplatform_info' => 'Gebruik cross-platform: kies \'Ja\' als u een verwijderbaar device hebt (bijv. een Yubico key), dat u gebruikt om verschillende computers in te loggen. Kies \'Nee\' als uw device verbonden is met de computer. De keuze bepaalt welk(e) device(s) worden aangeboden door de browser en/of het security-system van de computer.', 'webauthn_crossplatform_info' => 'Gebruik cross-platform: kies \'Ja\' als u een verwijderbaar device hebt (bijv. een Yubico key), dat u gebruikt om verschillende computers in te loggen. Kies \'Nee\' als uw device verbonden is met de computer. De keuze bepaalt welk(e) device(s) worden aangeboden door de browser en/of het security-system van de computer.',
'webauthn_info' => 'WebAuthn is passwordless authentification met public key cryptography. Een private-public sleutelpaar (known as a credential) wordt gecreëerd voor een website. De private key wordt veilig opgeslagen op het device van de gebruiker; een public key en een random gegenereerd credential ID wordt naar de server verzonden. De server kan die dan gebruken om de identiteit van de gebruiker vast te stellen. De private key wordt meestal opgeslagen op een hardware-token. Het token moet geregistreerd worden voordat het kan worden gebruikt voor authenticatie.', 'webauthn_info' => 'WebAuthn is passwordless authentification met public key cryptography. Een private-public sleutelpaar (known as a credential) wordt gecreëerd voor een website. De private key wordt veilig opgeslagen op het device van de gebruiker; een public key en een random gegenereerd credential ID wordt naar de server verzonden. De server kan die dan gebruken om de identiteit van de gebruiker vast te stellen. De private key wordt meestal opgeslagen op een hardware-token. Het token moet geregistreerd worden voordat het kan worden gebruikt voor authenticatie.',

View File

@ -525,6 +525,7 @@ URL: [url]',
'error_add_aro' => 'Błąd podczas dodawania obiektu żądania dostępu', 'error_add_aro' => 'Błąd podczas dodawania obiektu żądania dostępu',
'error_add_permission' => 'Błąd podczas dodawania uprawnienia', 'error_add_permission' => 'Błąd podczas dodawania uprawnienia',
'error_cleared_cache' => 'Błąd podczas czyszczenia pamięci podręcznej', 'error_cleared_cache' => 'Błąd podczas czyszczenia pamięci podręcznej',
'error_document_indexed' => '',
'error_edit_task' => 'Błąd podczas zapisywania zadania', 'error_edit_task' => 'Błąd podczas zapisywania zadania',
'error_extension_getlist' => 'Błąd podczas pobierania listy rozszerzeń z repozytorium', 'error_extension_getlist' => 'Błąd podczas pobierania listy rozszerzeń z repozytorium',
'error_importfs' => 'Błąd podczas importowania systemu plików formularza', 'error_importfs' => 'Błąd podczas importowania systemu plików formularza',
@ -662,6 +663,7 @@ URL: [url]',
'group_management' => 'Zarządzanie grupami', 'group_management' => 'Zarządzanie grupami',
'group_members' => 'Członkowie grupy', 'group_members' => 'Członkowie grupy',
'group_receipt_summary' => 'Podsumowanie potwierdzienia dla grupy', 'group_receipt_summary' => 'Podsumowanie potwierdzienia dla grupy',
'group_review_removed' => '',
'group_review_summary' => 'Podsumowanie opiniowania dla grupy', 'group_review_summary' => 'Podsumowanie opiniowania dla grupy',
'group_revision_summary' => 'Podsumowanie korekty dla grupy', 'group_revision_summary' => 'Podsumowanie korekty dla grupy',
'guest_login' => 'Zalogowany jako gość', 'guest_login' => 'Zalogowany jako gość',
@ -704,6 +706,7 @@ URL: [url]',
'index_waiting' => 'Oczekiwanie', 'index_waiting' => 'Oczekiwanie',
'individuals' => 'Indywidualni', 'individuals' => 'Indywidualni',
'individuals_in_groups' => 'Członkowie grupy', 'individuals_in_groups' => 'Członkowie grupy',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potwierdzenie odbioru dla tej wersji dokumentu nie jest możliwe, ponieważ wersja nie została wydana.', 'info_recipients_tab_not_released' => 'Potwierdzenie odbioru dla tej wersji dokumentu nie jest możliwe, ponieważ wersja nie została wydana.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'dziedziczony', 'inherited' => 'dziedziczony',
@ -1070,6 +1073,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty workflow z wersji dokumentu', 'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty workflow z wersji dokumentu',
'removeFolderFromDropFolder' => 'Usuń folder po imporcie', 'removeFolderFromDropFolder' => 'Usuń folder po imporcie',
'remove_marked_files' => 'Usuń zaznaczone pliki', 'remove_marked_files' => 'Usuń zaznaczone pliki',
'remove_review_log' => '',
'repaired' => 'naprawiony', 'repaired' => 'naprawiony',
'repairing_objects' => 'Naprawa dokumentów i katalogów.', 'repairing_objects' => 'Naprawa dokumentów i katalogów.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1416,6 +1420,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Włącz, aby włączyć przepływ pracy, aby potwierdzić odbiór dokumentu.', 'settings_enableReceiptWorkflow_desc' => 'Włącz, aby włączyć przepływ pracy, aby potwierdzić odbiór dokumentu.',
'settings_enableRecursiveCount' => 'Włącz licznik rekurencji dokumentu/folderu', 'settings_enableRecursiveCount' => 'Włącz licznik rekurencji dokumentu/folderu',
'settings_enableRecursiveCount_desc' => 'Jeżeli jest włączone, to liczba dokumentów i folderów w widoku będzie ustalona poprzez zliczenie wszystkich obiektów przez rekurencyjnie przetwarzane foldery i policzenia tych dokumentów i folderów do których użytkownik ma dostęp', 'settings_enableRecursiveCount_desc' => 'Jeżeli jest włączone, to liczba dokumentów i folderów w widoku będzie ustalona poprzez zliczenie wszystkich obiektów przez rekurencyjnie przetwarzane foldery i policzenia tych dokumentów i folderów do których użytkownik ma dostęp',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Odrzuć przez jedną korektę', 'settings_enableRevisionOneVoteReject' => 'Odrzuć przez jedną korektę',
'settings_enableRevisionOneVoteReject_desc' => 'Jeśli ta opcja jest włączona, stan dokumentu zostanie ustawiony na "wymaga korekty", gdy pierwsza korekta odrzuci dokument. Jeśli jest wyłączona, stan dokumentu nie ulegnie zmianie, dopóki wszystkie zmiany nie zakończą ich rewizji.', 'settings_enableRevisionOneVoteReject_desc' => 'Jeśli ta opcja jest włączona, stan dokumentu zostanie ustawiony na "wymaga korekty", gdy pierwsza korekta odrzuci dokument. Jeśli jest wyłączona, stan dokumentu nie ulegnie zmianie, dopóki wszystkie zmiany nie zakończą ich rewizji.',
'settings_enableRevisionOnVoteReject' => 'Odrzuć przez korektę', 'settings_enableRevisionOnVoteReject' => 'Odrzuć przez korektę',
@ -1965,6 +1971,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Obejrzyj online', 'view_online' => 'Obejrzyj online',
'warning' => 'Ostrzeżenie', 'warning' => 'Ostrzeżenie',
'warning_remove_review_log' => '',
'webauthn_auth' => 'Uwierzytelnianie WebAuthn', 'webauthn_auth' => 'Uwierzytelnianie WebAuthn',
'webauthn_crossplatform_info' => 'Używaj wieloplatformowego „Tak”, gdy masz urządzenie wymienne, takie jak klucz Yubico, którego chcesz użyć do logowania na różnych komputerach; Powiedz „Nie”, gdy urządzenie jest podłączone do komputera. Wybór wpływa na to, które urządzenia są oferowane przez przeglądarkę i / lub system bezpieczeństwa komputera.', 'webauthn_crossplatform_info' => 'Używaj wieloplatformowego „Tak”, gdy masz urządzenie wymienne, takie jak klucz Yubico, którego chcesz użyć do logowania na różnych komputerach; Powiedz „Nie”, gdy urządzenie jest podłączone do komputera. Wybór wpływa na to, które urządzenia są oferowane przez przeglądarkę i / lub system bezpieczeństwa komputera.',
'webauthn_info' => 'WebAuthn to uwierzytelnianie bez hasła, które wykorzystuje kryptografię klucza publicznego. Dla strony internetowej tworzony jest klucz prywatny-publiczny (znany jako poświadczenie). Klucz prywatny jest bezpiecznie przechowywany na urządzeniu użytkownika; Klucz publiczny i losowo wygenerowany identyfikator poświadczenia są wysyłane do serwera w celu przechowywania. Serwer może następnie użyć tego klucza publicznego do udowodnienia tożsamości użytkownika. Klucz prywatny jest zwykle przechowywany na tokenie sprzętowym. Token musi zostać zarejestrowany, zanim będzie można go użyć do uwierzytelnienia.', 'webauthn_info' => 'WebAuthn to uwierzytelnianie bez hasła, które wykorzystuje kryptografię klucza publicznego. Dla strony internetowej tworzony jest klucz prywatny-publiczny (znany jako poświadczenie). Klucz prywatny jest bezpiecznie przechowywany na urządzeniu użytkownika; Klucz publiczny i losowo wygenerowany identyfikator poświadczenia są wysyłane do serwera w celu przechowywania. Serwer może następnie użyć tego klucza publicznego do udowodnienia tożsamości użytkownika. Klucz prywatny jest zwykle przechowywany na tokenie sprzętowym. Token musi zostać zarejestrowany, zanim będzie można go użyć do uwierzytelnienia.',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'erro ao adicionar o objeto de solicitação de acesso', 'error_add_aro' => 'erro ao adicionar o objeto de solicitação de acesso',
'error_add_permission' => 'Erro ao adicionar permissão', 'error_add_permission' => 'Erro ao adicionar permissão',
'error_cleared_cache' => 'Erro ao limpar o cache', 'error_cleared_cache' => 'Erro ao limpar o cache',
'error_document_indexed' => '',
'error_edit_task' => 'Erro ao salvar tarefa', 'error_edit_task' => 'Erro ao salvar tarefa',
'error_extension_getlist' => 'Erro ao obter lista de extensões do repositório', 'error_extension_getlist' => 'Erro ao obter lista de extensões do repositório',
'error_importfs' => 'Erro ao importar do sistema de arquivos', 'error_importfs' => 'Erro ao importar do sistema de arquivos',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Grupos', 'group_management' => 'Grupos',
'group_members' => 'Membros do Grupo', 'group_members' => 'Membros do Grupo',
'group_receipt_summary' => 'Resumo de recebimento de grupo', 'group_receipt_summary' => 'Resumo de recebimento de grupo',
'group_review_removed' => '',
'group_review_summary' => 'Resumo da avaliação do grupo', 'group_review_summary' => 'Resumo da avaliação do grupo',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Entre como convidado', 'guest_login' => 'Entre como convidado',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Aguarde...', 'index_waiting' => 'Aguarde...',
'individuals' => 'Indivíduos', 'individuals' => 'Indivíduos',
'individuals_in_groups' => 'Members of a group', 'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Confirmação de recebimento para esta versão do documento não é possível, porque a versão não é liberada.', 'info_recipients_tab_not_released' => 'Confirmação de recebimento para esta versão do documento não é possível, porque a versão não é liberada.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'herdado', 'inherited' => 'herdado',
@ -1111,6 +1114,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento', 'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento',
'removeFolderFromDropFolder' => 'Remover pasta após a importação', 'removeFolderFromDropFolder' => 'Remover pasta após a importação',
'remove_marked_files' => 'Remover arquivos marcados', 'remove_marked_files' => 'Remover arquivos marcados',
'remove_review_log' => '',
'repaired' => 'reparado', 'repaired' => 'reparado',
'repairing_objects' => 'Reparando documentos e pastas', 'repairing_objects' => 'Reparando documentos e pastas',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1492,6 +1496,8 @@ Nome: [username]
'settings_enableReceiptWorkflow_desc' => 'Habilitar para ativar o fluxo de trabalho para confirmar a entrada do documento.', 'settings_enableReceiptWorkflow_desc' => 'Habilitar para ativar o fluxo de trabalho para confirmar a entrada do documento.',
'settings_enableRecursiveCount' => 'Ativar contagem de documentos/pasta recursiva', 'settings_enableRecursiveCount' => 'Ativar contagem de documentos/pasta recursiva',
'settings_enableRecursiveCount_desc' => 'Se estiver ativado, o número de documentos e pastas na exibição de pasta será determinada pela contagem de todos os objetos de forma recursiva proceáando as pastas e contando eáes documentos e pastas que o usuário tem permissão de acesso.', 'settings_enableRecursiveCount_desc' => 'Se estiver ativado, o número de documentos e pastas na exibição de pasta será determinada pela contagem de todos os objetos de forma recursiva proceáando as pastas e contando eáes documentos e pastas que o usuário tem permissão de acesso.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rejeitar por um revisor', 'settings_enableRevisionOneVoteReject' => 'Rejeitar por um revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Configurações ativam Revisão um voto rejeitar desc', 'settings_enableRevisionOneVoteReject_desc' => 'Configurações ativam Revisão um voto rejeitar desc',
'settings_enableRevisionOnVoteReject' => 'Configurações ativam Revisão na rejeição de votação', 'settings_enableRevisionOnVoteReject' => 'Configurações ativam Revisão na rejeição de votação',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => 'Ver detalhes da pasta', 'view_folder' => 'Ver detalhes da pasta',
'view_online' => 'Ver online', 'view_online' => 'Ver online',
'warning' => 'Aviso', 'warning' => 'Aviso',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -537,6 +537,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -674,6 +675,7 @@ URL: [url]',
'group_management' => 'Management grupuri', 'group_management' => 'Management grupuri',
'group_members' => 'Membrii grupului', 'group_members' => 'Membrii grupului',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Sumar revizuiri grup', 'group_review_summary' => 'Sumar revizuiri grup',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Login ca oaspete', 'guest_login' => 'Login ca oaspete',
@ -716,6 +718,7 @@ URL: [url]',
'index_waiting' => 'Așteptare', 'index_waiting' => 'Așteptare',
'individuals' => 'Individuals', 'individuals' => 'Individuals',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'moștenit', 'inherited' => 'moștenit',
@ -1082,6 +1085,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului', 'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Eliminați fișierele marcate', 'remove_marked_files' => 'Eliminați fișierele marcate',
'remove_review_log' => '',
'repaired' => 'reparat', 'repaired' => 'reparat',
'repairing_objects' => 'Reparare documente și foldere.', 'repairing_objects' => 'Reparare documente și foldere.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1454,6 +1458,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Activați numararea recursiva pentru documente/foldere', 'settings_enableRecursiveCount' => 'Activați numararea recursiva pentru documente/foldere',
'settings_enableRecursiveCount_desc' => 'Dacă este activată, numărul de documente și foldere din vizualizarea unui director va fi determinat prin numărarea tuturor obiectelor recursiv din folderele unde accesul utilizatorului este permis.', 'settings_enableRecursiveCount_desc' => 'Dacă este activată, numărul de documente și foldere din vizualizarea unui director va fi determinat prin numărarea tuturor obiectelor recursiv din folderele unde accesul utilizatorului este permis.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2003,6 +2009,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Vizualizare online', 'view_online' => 'Vizualizare online',
'warning' => 'Avertisment', 'warning' => 'Avertisment',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -537,6 +537,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => 'Ошибка добавления разрешения', 'error_add_permission' => 'Ошибка добавления разрешения',
'error_cleared_cache' => 'Ошибка очиски кеша', 'error_cleared_cache' => 'Ошибка очиски кеша',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => 'Ошибка импорта из файловой системы', 'error_importfs' => 'Ошибка импорта из файловой системы',
@ -674,6 +675,7 @@ URL: [url]',
'group_management' => 'Управление группами', 'group_management' => 'Управление группами',
'group_members' => 'Члены группы', 'group_members' => 'Члены группы',
'group_receipt_summary' => 'Обзор подтверждений получения группой', 'group_receipt_summary' => 'Обзор подтверждений получения группой',
'group_review_removed' => '',
'group_review_summary' => 'Сводка по рецензированию группы', 'group_review_summary' => 'Сводка по рецензированию группы',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Войти как гость', 'guest_login' => 'Войти как гость',
@ -716,6 +718,7 @@ URL: [url]',
'index_waiting' => 'Ожидание', 'index_waiting' => 'Ожидание',
'individuals' => 'Пользователи', 'individuals' => 'Пользователи',
'individuals_in_groups' => 'Пользователи группы', 'individuals_in_groups' => 'Пользователи группы',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'унаследованный', 'inherited' => 'унаследованный',
@ -1084,6 +1087,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»', 'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Удалить выбранные файлы', 'remove_marked_files' => 'Удалить выбранные файлы',
'remove_review_log' => '',
'repaired' => 'исправлено', 'repaired' => 'исправлено',
'repairing_objects' => 'Восстановление каталогов и документов', 'repairing_objects' => 'Восстановление каталогов и документов',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1461,6 +1465,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'Включить для активации функции подтверждения получения документа', 'settings_enableReceiptWorkflow_desc' => 'Включить для активации функции подтверждения получения документа',
'settings_enableRecursiveCount' => 'Рекурсивно подсчитывать<br/>документы и каталоги', 'settings_enableRecursiveCount' => 'Рекурсивно подсчитывать<br/>документы и каталоги',
'settings_enableRecursiveCount_desc' => 'Если включено, количество документов и каталогов в виде каталога будет определятся рекурсивным подсчётом всех документов и каталогов разрешённых для доступа пользователя.', 'settings_enableRecursiveCount_desc' => 'Если включено, количество документов и каталогов в виде каталога будет определятся рекурсивным подсчётом всех документов и каталогов разрешённых для доступа пользователя.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2010,6 +2016,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Просмотреть', 'view_online' => 'Просмотреть',
'warning' => 'Внимание', 'warning' => 'Внимание',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object', 'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission', 'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Chyba pri vymazaní vyrovnávacej pamäte', 'error_cleared_cache' => 'Chyba pri vymazaní vyrovnávacej pamäte',
'error_document_indexed' => '',
'error_edit_task' => 'Chyba pri ukladaní úlohy', 'error_edit_task' => 'Chyba pri ukladaní úlohy',
'error_extension_getlist' => 'Error getting extension list from repository', 'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Chyba pri importe zo súborového systému', 'error_importfs' => 'Chyba pri importe zo súborového systému',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Skupiny', 'group_management' => 'Skupiny',
'group_members' => 'Členovia skupiny', 'group_members' => 'Členovia skupiny',
'group_receipt_summary' => 'Group receipt summary', 'group_receipt_summary' => 'Group receipt summary',
'group_review_removed' => '',
'group_review_summary' => 'Zhrnutie skupinovej recenzie', 'group_review_summary' => 'Zhrnutie skupinovej recenzie',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Prihlásiť sa ako hosť', 'guest_login' => 'Prihlásiť sa ako hosť',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Čakajte', 'index_waiting' => 'Čakajte',
'individuals' => 'Jednotlivci', 'individuals' => 'Jednotlivci',
'individuals_in_groups' => 'Členovia skupiny', 'individuals_in_groups' => 'Členovia skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.', 'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'zdedené', 'inherited' => 'zdedené',
@ -1112,6 +1115,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version', 'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Po importe odstrániť zložku', 'removeFolderFromDropFolder' => 'Po importe odstrániť zložku',
'remove_marked_files' => 'Odstrániť označené súbory', 'remove_marked_files' => 'Odstrániť označené súbory',
'remove_review_log' => '',
'repaired' => 'opravené', 'repaired' => 'opravené',
'repairing_objects' => 'Oprava dokumentov a zložiek.', 'repairing_objects' => 'Oprava dokumentov a zložiek.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1494,6 +1498,8 @@ Meno: [username]
'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.', 'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.',
'settings_enableRecursiveCount' => 'Enable recursive document/folder count', 'settings_enableRecursiveCount' => 'Enable recursive document/folder count',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Reject by one revisor', 'settings_enableRevisionOneVoteReject' => 'Reject by one revisor',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2043,6 +2049,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Zobraziť online', 'view_online' => 'Zobraziť online',
'warning' => 'Upozornenie', 'warning' => 'Upozornenie',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -543,6 +543,7 @@ URL: [url]',
'error_add_aro' => 'Fel vid begärd åtkomst till objekt', 'error_add_aro' => 'Fel vid begärd åtkomst till objekt',
'error_add_permission' => 'Fel vid tilldelning av behörighet', 'error_add_permission' => 'Fel vid tilldelning av behörighet',
'error_cleared_cache' => 'Fel vid rensning av cache', 'error_cleared_cache' => 'Fel vid rensning av cache',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => 'Fel vid import från filsystem', 'error_importfs' => 'Fel vid import från filsystem',
@ -680,6 +681,7 @@ URL: [url]',
'group_management' => 'Grupphantering', 'group_management' => 'Grupphantering',
'group_members' => 'Gruppmedlemmar', 'group_members' => 'Gruppmedlemmar',
'group_receipt_summary' => 'Sammanfattning av mottagningsbevis för grupp', 'group_receipt_summary' => 'Sammanfattning av mottagningsbevis för grupp',
'group_review_removed' => '',
'group_review_summary' => 'Sammanfattning av gruppgranskning', 'group_review_summary' => 'Sammanfattning av gruppgranskning',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Gästinloggning', 'guest_login' => 'Gästinloggning',
@ -722,6 +724,7 @@ URL: [url]',
'index_waiting' => 'Väntar', 'index_waiting' => 'Väntar',
'individuals' => 'Personer', 'individuals' => 'Personer',
'individuals_in_groups' => 'Medlemmar i en grupp', 'individuals_in_groups' => 'Medlemmar i en grupp',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'ärvd', 'inherited' => 'ärvd',
@ -1085,6 +1088,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion', 'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion',
'removeFolderFromDropFolder' => 'Radera katalog efter import', 'removeFolderFromDropFolder' => 'Radera katalog efter import',
'remove_marked_files' => 'Ta bort markerade filer', 'remove_marked_files' => 'Ta bort markerade filer',
'remove_review_log' => '',
'repaired' => 'reparerat', 'repaired' => 'reparerat',
'repairing_objects' => 'Reparerar dokument och kataloger.', 'repairing_objects' => 'Reparerar dokument och kataloger.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1467,6 +1471,8 @@ Kommentar: [comment]',
'settings_enableReceiptWorkflow_desc' => 'Aktivera notifiering av meddelanden i arbetsflödet.', 'settings_enableReceiptWorkflow_desc' => 'Aktivera notifiering av meddelanden i arbetsflödet.',
'settings_enableRecursiveCount' => 'Aktivera rekursiv räkning av dokument/katalog', 'settings_enableRecursiveCount' => 'Aktivera rekursiv räkning av dokument/katalog',
'settings_enableRecursiveCount_desc' => 'Om detta sätts på, kommer antal dokument och kataloger i katalogvyn fastställas genom att räkna alla objekter via rekursiv hantering av alla kataloger och räkna dessa dokument och kataloger som användaren har rättigheter till.', 'settings_enableRecursiveCount_desc' => 'Om detta sätts på, kommer antal dokument och kataloger i katalogvyn fastställas genom att räkna alla objekter via rekursiv hantering av alla kataloger och räkna dessa dokument och kataloger som användaren har rättigheter till.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2016,6 +2022,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Visa online', 'view_online' => 'Visa online',
'warning' => 'Varning', 'warning' => 'Varning',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -531,6 +531,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -668,6 +669,7 @@ URL: [url]',
'group_management' => 'Grup yönetimi', 'group_management' => 'Grup yönetimi',
'group_members' => 'Grup üyeleri', 'group_members' => 'Grup üyeleri',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Grup gözden geçirme özeti', 'group_review_summary' => 'Grup gözden geçirme özeti',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Misafir olarak giriş yap', 'guest_login' => 'Misafir olarak giriş yap',
@ -710,6 +712,7 @@ URL: [url]',
'index_waiting' => 'Bekliyor', 'index_waiting' => 'Bekliyor',
'individuals' => 'Bireysel', 'individuals' => 'Bireysel',
'individuals_in_groups' => '', 'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'devralındı', 'inherited' => 'devralındı',
@ -1078,6 +1081,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi', 'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'İşaretli dosyaları sil', 'remove_marked_files' => 'İşaretli dosyaları sil',
'remove_review_log' => '',
'repaired' => 'onarıldı', 'repaired' => 'onarıldı',
'repairing_objects' => 'Doküman ve klasörler onarılıyor.', 'repairing_objects' => 'Doküman ve klasörler onarılıyor.',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1433,6 +1437,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Özyinelenen doküman/klasör sayımını etkinleştir', 'settings_enableRecursiveCount' => 'Özyinelenen doküman/klasör sayımını etkinleştir',
'settings_enableRecursiveCount_desc' => 'Aktif hale getirildiğinde, klasör içindeki dokümanlar ve diğer klasörlerin sayısı kullanıcının erişim hakkı olan tüm nesnelerin özyinelemeli olarak sayılması yolu ile bulunur.', 'settings_enableRecursiveCount_desc' => 'Aktif hale getirildiğinde, klasör içindeki dokümanlar ve diğer klasörlerin sayısı kullanıcının erişim hakkı olan tüm nesnelerin özyinelemeli olarak sayılması yolu ile bulunur.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1982,6 +1988,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Online görüntüle', 'view_online' => 'Online görüntüle',
'warning' => 'Dikkat', 'warning' => 'Dikkat',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -537,6 +537,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => '',
'error_cleared_cache' => '', 'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '', 'error_importfs' => '',
@ -674,6 +675,7 @@ URL: [url]',
'group_management' => 'Керування групами', 'group_management' => 'Керування групами',
'group_members' => 'Члени групи', 'group_members' => 'Члени групи',
'group_receipt_summary' => 'Підсумки отримання групи', 'group_receipt_summary' => 'Підсумки отримання групи',
'group_review_removed' => '',
'group_review_summary' => 'Підсумки рецензування групи', 'group_review_summary' => 'Підсумки рецензування групи',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => 'Увійти як гість', 'guest_login' => 'Увійти як гість',
@ -716,6 +718,7 @@ URL: [url]',
'index_waiting' => '', 'index_waiting' => '',
'individuals' => 'Користувачі', 'individuals' => 'Користувачі',
'individuals_in_groups' => 'Користувачі групи', 'individuals_in_groups' => 'Користувачі групи',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => 'успадкований', 'inherited' => 'успадкований',
@ -1084,6 +1087,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»', 'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»',
'removeFolderFromDropFolder' => '', 'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Видалити обрані файли', 'remove_marked_files' => 'Видалити обрані файли',
'remove_review_log' => '',
'repaired' => 'виправлено', 'repaired' => 'виправлено',
'repairing_objects' => 'Відновлення каталогів і документів', 'repairing_objects' => 'Відновлення каталогів і документів',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1454,6 +1458,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'Включіть для активації функції підтвердження отримання документу', 'settings_enableReceiptWorkflow_desc' => 'Включіть для активації функції підтвердження отримання документу',
'settings_enableRecursiveCount' => 'Рекурсивно підраховувати<br/>документи і каталоги', 'settings_enableRecursiveCount' => 'Рекурсивно підраховувати<br/>документи і каталоги',
'settings_enableRecursiveCount_desc' => 'Якщо увімкнено, кількість документів і каталогів при перегляді каталогу буде підраховано рекурсивно для всіх документів до яких користувач має доступ.', 'settings_enableRecursiveCount_desc' => 'Якщо увімкнено, кількість документів і каталогів при перегляді каталогу буде підраховано рекурсивно для всіх документів до яких користувач має доступ.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2003,6 +2009,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => 'Переглянути', 'view_online' => 'Переглянути',
'warning' => 'Увага', 'warning' => 'Увага',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -531,6 +531,7 @@ URL: [url]',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '添加权限时出错', 'error_add_permission' => '添加权限时出错',
'error_cleared_cache' => '清理缓存时出错', 'error_cleared_cache' => '清理缓存时出错',
'error_document_indexed' => '',
'error_edit_task' => '', 'error_edit_task' => '',
'error_extension_getlist' => '', 'error_extension_getlist' => '',
'error_importfs' => '从文件系统导入时出错', 'error_importfs' => '从文件系统导入时出错',
@ -664,6 +665,7 @@ URL: [url]',
'group_management' => '组管理', 'group_management' => '组管理',
'group_members' => '组成员', 'group_members' => '组成员',
'group_receipt_summary' => '', 'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => '校对组汇总', 'group_review_summary' => '校对组汇总',
'group_revision_summary' => '', 'group_revision_summary' => '',
'guest_login' => '来宾登录', 'guest_login' => '来宾登录',
@ -706,6 +708,7 @@ URL: [url]',
'index_waiting' => '', 'index_waiting' => '',
'individuals' => '个人', 'individuals' => '个人',
'individuals_in_groups' => '组成员', 'individuals_in_groups' => '组成员',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '', 'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => '继承', 'inherited' => '继承',
@ -1077,6 +1080,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流', 'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流',
'removeFolderFromDropFolder' => '导入后删除文件夹', 'removeFolderFromDropFolder' => '导入后删除文件夹',
'remove_marked_files' => '删除选中的文件', 'remove_marked_files' => '删除选中的文件',
'remove_review_log' => '',
'repaired' => '已修复', 'repaired' => '已修复',
'repairing_objects' => '', 'repairing_objects' => '',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1429,6 +1433,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '', 'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '', 'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '', 'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -1969,6 +1975,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => '在线浏览', 'view_online' => '在线浏览',
'warning' => '警告', 'warning' => '警告',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => '新增訪問請求對象時出錯', 'error_add_aro' => '新增訪問請求對象時出錯',
'error_add_permission' => '新增權限時出錯', 'error_add_permission' => '新增權限時出錯',
'error_cleared_cache' => '清除緩存時出錯', 'error_cleared_cache' => '清除緩存時出錯',
'error_document_indexed' => '',
'error_edit_task' => '保存任務時出錯', 'error_edit_task' => '保存任務時出錯',
'error_extension_getlist' => '從存儲庫獲取擴展列表時出錯', 'error_extension_getlist' => '從存儲庫獲取擴展列表時出錯',
'error_importfs' => '導入表單文件系統時出錯', 'error_importfs' => '導入表單文件系統時出錯',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => '組管理', 'group_management' => '組管理',
'group_members' => '組成員', 'group_members' => '組成員',
'group_receipt_summary' => '群組回覆匯總', 'group_receipt_summary' => '群組回覆匯總',
'group_review_removed' => '',
'group_review_summary' => '校對組匯總', 'group_review_summary' => '校對組匯總',
'group_revision_summary' => '群組修訂匯總', 'group_revision_summary' => '群組修訂匯總',
'guest_login' => '來賓登錄', 'guest_login' => '來賓登錄',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => '請稍後', 'index_waiting' => '請稍後',
'individuals' => '個人', 'individuals' => '個人',
'individuals_in_groups' => '小組成員', 'individuals_in_groups' => '小組成員',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。', 'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。',
'info_rm_user_from_processes_user' => '', 'info_rm_user_from_processes_user' => '',
'inherited' => '繼承', 'inherited' => '繼承',
@ -1110,6 +1113,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程', 'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程',
'removeFolderFromDropFolder' => '導入後刪除文件夾', 'removeFolderFromDropFolder' => '導入後刪除文件夾',
'remove_marked_files' => '刪除勾選的檔案', 'remove_marked_files' => '刪除勾選的檔案',
'remove_review_log' => '',
'repaired' => '修復', 'repaired' => '修復',
'repairing_objects' => '修復文檔和文件夾。', 'repairing_objects' => '修復文檔和文件夾。',
'replace_content_email_body' => '', 'replace_content_email_body' => '',
@ -1492,6 +1496,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '啟用,打開工作流程以確認文檔接收。', 'settings_enableReceiptWorkflow_desc' => '啟用,打開工作流程以確認文檔接收。',
'settings_enableRecursiveCount' => '啟用遞歸文檔/文件夾計數', 'settings_enableRecursiveCount' => '啟用遞歸文檔/文件夾計數',
'settings_enableRecursiveCount_desc' => '如果啟用,將通過遞歸處理文件夾併計數允許用戶訪問的那些文件和文件夾來計算所有對象,從而確定文件夾視圖中的文件和文件夾的數量。', 'settings_enableRecursiveCount_desc' => '如果啟用,將通過遞歸處理文件夾併計數允許用戶訪問的那些文件和文件夾來計算所有對象,從而確定文件夾視圖中的文件和文件夾的數量。',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '被一名審查員拒絕', 'settings_enableRevisionOneVoteReject' => '被一名審查員拒絕',
'settings_enableRevisionOneVoteReject_desc' => '如果啟用,則在第一個修訂者拒絕文檔後,文檔狀態將設置為“需要更正”。如果禁用,則在所有修訂者完成修訂之前,文檔狀態不會更改。', 'settings_enableRevisionOneVoteReject_desc' => '如果啟用,則在第一個修訂者拒絕文檔後,文檔狀態將設置為“需要更正”。如果禁用,則在所有修訂者完成修訂之前,文檔狀態不會更改。',
'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject' => '',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => '', 'view_folder' => '',
'view_online' => '線上流覽', 'view_online' => '線上流覽',
'warning' => '警告', 'warning' => '警告',
'warning_remove_review_log' => '',
'webauthn_auth' => '', 'webauthn_auth' => '',
'webauthn_crossplatform_info' => '', 'webauthn_crossplatform_info' => '',
'webauthn_info' => '', 'webauthn_info' => '',

View File

@ -291,25 +291,43 @@ if (isset($_POST["grpIndRecipients"])) {
} }
} }
$docsource = 'upload'; function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
if($file_post['error'][$i] != 4) { // no file uploaded
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
$file_ary[$i]['source'] = 'upload';
}
}
return $file_ary;
}
if ($_FILES['userfile']) {
$file_ary = reArrayFiles($_FILES['userfile']);
} else {
$file_ary = array();
}
if($settings->_dropFolderDir) { if($settings->_dropFolderDir) {
if(isset($_POST["dropfolderfileadddocform"]) && $_POST["dropfolderfileadddocform"]) { if(isset($_POST["dropfolderfileadddocform"]) && $_POST["dropfolderfileadddocform"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileadddocform"]; $fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileadddocform"];
if(file_exists($fullfile)) { if(file_exists($fullfile)) {
$docsource = 'dropfolder';
/* Check if a local file is uploaded as well */
if(isset($_FILES["userfile"]['error'][0])) {
if($_FILES["userfile"]['error'][0] != 0)
$_FILES["userfile"] = array();
}
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile); $mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile; $file_ary[] = array(
$_FILES["userfile"]['type'][] = $mimetype; 'tmp_name' => $fullfile,
$_FILES["userfile"]['name'][] = $_POST["dropfolderfileadddocform"]; 'type' => $mimetype,
$_FILES["userfile"]['size'][] = filesize($fullfile); 'name' => $_POST["dropfolderfileadddocform"],
$_FILES["userfile"]['error'][] = 0; 'size' => filesize($fullfile),
'error' => 0,
'source' => 'dropfolder'
);
} }
} }
} }
@ -323,11 +341,14 @@ if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-upload
if(file_exists($fullfile)) { if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile); $mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile; $file_ary[] = array(
$_FILES["userfile"]['type'][] = $mimetype; 'tmp_name' => $fullfile,
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid; 'type' => $mimetype,
$_FILES["userfile"]['size'][] = filesize($fullfile); 'name' => isset($names[$i]) ? $names[$i] : $uuid,
$_FILES["userfile"]['error'][] = 0; 'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
} }
} }
} }
@ -339,21 +360,26 @@ if($settings->_libraryFolder) {
$docsource = 'library'; $docsource = 'library';
$fullfile = tempnam(sys_get_temp_dir(), ''); $fullfile = tempnam(sys_get_temp_dir(), '');
if(SeedDMS_Core_File::copyFile($dms->contentDir . $content->getPath(), $fullfile)) { if(SeedDMS_Core_File::copyFile($dms->contentDir . $content->getPath(), $fullfile)) {
/* Check if a local file is uploaded as well */ $file_ary[] = array(
if(isset($_FILES["userfile"]['error'][0])) { 'tmp_name' => $fullfile,
if($_FILES["userfile"]['error'][0] != 0) 'type' => $content->getMimeType(),
$_FILES["userfile"] = array(); 'name' => $content->getOriginalFileName(),
} 'size' => $content->getFileSize(),
$_FILES["userfile"]['tmp_name'][] = $fullfile; 'error' => 0,
$_FILES["userfile"]['type'][] = $content->getMimeType(); 'source' => 'library',
$_FILES["userfile"]['name'][] = $content->getOriginalFileName(); );
$_FILES["userfile"]['size'][] = $content->getFileSize();
$_FILES["userfile"]['error'][] = 0;
} }
} }
} }
} }
} }
if($controller->hasHook('getDocument')) {
$file_ary = array_merge($file_ary, $controller->callHook('getDocument', $_POST));
}
if(!$file_ary) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed"));
}
/* Check if additional notification shall be added */ /* Check if additional notification shall be added */
$notusers = array(); $notusers = array();
@ -377,22 +403,22 @@ if(!empty($_POST['notification_groups'])) {
/* Check files for Errors first */ /* Check files for Errors first */
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize); $maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){ foreach($file_ary as $file) {
if ($_FILES["userfile"]["size"][$file_num]==0) { if ($file["size"]==0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_zerosize")); UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_zerosize"));
} }
if ($maxuploadsize && $_FILES["userfile"]["size"][$file_num] > $maxuploadsize) { if ($maxuploadsize && $file["size"] > $maxuploadsize) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_maxsize")); UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_maxsize"));
} }
if (/* is_uploaded_file($_FILES["userfile"]["tmp_name"][$file_num]) && */$_FILES['userfile']['error'][$file_num]!=0){ if($file['error']!=0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed")); UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed"));
} }
} }
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){ foreach($file_ary as $file) {
$userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num]; $userfiletmp = $file["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"][$file_num]; $userfiletype = $file["type"];
$userfilename = $_FILES["userfile"]["name"][$file_num]; $userfilename = $file["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
@ -403,7 +429,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletype = $tmpfiletype; $userfiletype = $tmpfiletype;
} }
if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!="")) if (!$file["tmp_name"] && ($_POST["name"]!=""))
$name = trim($_POST["name"]); $name = trim($_POST["name"]);
else $name = utf8_basename($userfilename); else $name = utf8_basename($userfilename);
@ -414,7 +440,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
} }
} }
$controller->setParam('documentsource', $docsource); $controller->setParam('documentsource', $file['source']);
$controller->setParam('folder', $folder); $controller->setParam('folder', $folder);
$controller->setParam('fulltextservice', $fulltextservice); $controller->setParam('fulltextservice', $fulltextservice);
$controller->setParam('name', $name); $controller->setParam('name', $name);

View File

@ -934,7 +934,7 @@ switch($command) {
if(isset($GLOBALS['SEEDDMS_HOOKS'][$hook])) { if(isset($GLOBALS['SEEDDMS_HOOKS'][$hook])) {
foreach($GLOBALS['SEEDDMS_HOOKS'][$hook] as $hookObj) { foreach($GLOBALS['SEEDDMS_HOOKS'][$hook] as $hookObj) {
if (method_exists($hookObj, 'pre'.ucfirst($hook))) { if (method_exists($hookObj, 'pre'.ucfirst($hook))) {
$ires = $hookObj->preIndexDocument(null, $object, $idoc); $ires = $hookObj->{'pre'.ucfirst($hook)}(null, $object, $idoc);
} }
} }
} }

View File

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

View File

@ -29,6 +29,11 @@ require_once("inc/inc.DBInit.php");
require_once("inc/inc.ClassUI.php"); require_once("inc/inc.ClassUI.php");
require_once("inc/inc.Authentication.php"); require_once("inc/inc.Authentication.php");
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_controller_access('LockDocument', $_POST)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */ /* Check if the form data comes from a trusted request */
if(!checkFormKey('lockdocument', 'GET')) { if(!checkFormKey('lockdocument', 'GET')) {
UI::exitError(getMLText("document_title"), getMLText("invalid_request_token")); UI::exitError(getMLText("document_title"), getMLText("invalid_request_token"));

View File

@ -33,6 +33,11 @@ if(!checkFormKey('movedocument', 'GET')) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
} }
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_controller_access('MoveDocument', $_POST)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
} }

View File

@ -0,0 +1,99 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2021 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
include("../inc/inc.ClassUI.php");
/* Check if the form data comes from a trusted request */
if(!checkFormKey('removeapprovallog')) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if (!$user->isAdmin() || $document->getAccessMode($user) < M_ALL) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!isset($_POST["version"]) || !is_numeric($_POST["version"]) || intval($_POST["version"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
$version = $_POST["version"];
$content = $document->getContentByVersion($version);
if (!is_object($content)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
// operation is only allowed for the last document version
$latestContent = $document->getLatestContent();
if ($latestContent->getVersion()!=$version) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
if (!isset($_POST["approveid"]) || !is_numeric($_POST["approveid"]) || intval($_POST["approveid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_approveid"));
}
$approveid = $_POST['approveid'];
$approves = $latestContent->getApprovalStatus();
$approveStatus = null;
foreach($approves as $approve) {
if($approve['approveID'] == $approveid) {
$approveStatus = $approve;
break;
}
}
if(!$approveStatus) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_approveid"));
}
if($approveStatus['type'] == 0) {
$ruser = $dms->getUser($approveStatus['required']);
$msg = getMLText('ind_approval_removed', array('name'=>$ruser->getFullName()));
} elseif($approveStatus['type'] == 1) {
$rgroup = $dms->getGroup($approveStatus['required']);
$msg = getMLText('group_approval_removed', array('name'=>$rgroup->getName()));
} else
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_approveid"));
$comment = $_POST["comment"];
if(0 == $latestContent->removeApproval($approveid, $user, $comment)) {
$latestContent->verifyStatus(true, $user, $msg);
}
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=revapp");

View File

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

99
op/op.RemoveReviewLog.php Normal file
View File

@ -0,0 +1,99 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2010-2021 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
include("../inc/inc.ClassUI.php");
/* Check if the form data comes from a trusted request */
if(!checkFormKey('removereviewlog')) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_request_token"))),getMLText("invalid_request_token"));
}
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
if (!$user->isAdmin() || $document->getAccessMode($user) < M_ALL) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!isset($_POST["version"]) || !is_numeric($_POST["version"]) || intval($_POST["version"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
$version = $_POST["version"];
$content = $document->getContentByVersion($version);
if (!is_object($content)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
// operation is only allowed for the last document version
$latestContent = $document->getLatestContent();
if ($latestContent->getVersion()!=$version) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
if (!isset($_POST["reviewid"]) || !is_numeric($_POST["reviewid"]) || intval($_POST["reviewid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_reviewid"));
}
$reviewid = $_POST['reviewid'];
$reviews = $latestContent->getReviewStatus();
$reviewStatus = null;
foreach($reviews as $review) {
if($review['reviewID'] == $reviewid) {
$reviewStatus = $review;
break;
}
}
if(!$reviewStatus) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_reviewid"));
}
if($reviewStatus['type'] == 0) {
$ruser = $dms->getUser($reviewStatus['required']);
$msg = getMLText('ind_review_removed', array('name'=>$ruser->getFullName()));
} elseif($reviewStatus['type'] == 1) {
$rgroup = $dms->getGroup($reviewStatus['required']);
$msg = getMLText('group_review_removed', array('name'=>$rgroup->getName()));
} else
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("invalid_reviewid"));
$comment = $_POST["comment"];
if(0 == $latestContent->removeReview($reviewid, $user, $comment)) {
$latestContent->verifyStatus(true, $user, $msg);
}
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=revapp");

View File

@ -67,8 +67,8 @@ if ($action == "saveSettings")
} }
function setBoolValue($name) { function setBoolValue($name) {
global $_POST, $settings; global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) { if(!in_array($name, $settings->_hiddenConfFields)) {
if ($_POST[$name]=="on") if (isset($_POST[$name]) && $_POST[$name]=="on")
$settings->{"_".$name} = true; $settings->{"_".$name} = true;
else else
$settings->{"_".$name} = false; $settings->{"_".$name} = false;
@ -81,8 +81,8 @@ if ($action == "saveSettings")
} }
function setArrayValue($name) { function setArrayValue($name) {
global $_POST, $settings; global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) { if(!in_array($name, $settings->_hiddenConfFields)) {
if($_POST[$name]) if(isset($_POST[$name]) && $_POST[$name])
$settings->{"_".$name} = $_POST[$name]; $settings->{"_".$name} = $_POST[$name];
else else
$settings->{"_".$name} = array(); $settings->{"_".$name} = array();
@ -250,6 +250,7 @@ if ($action == "saveSettings")
setBoolValue("enableSelfRevApp"); setBoolValue("enableSelfRevApp");
setBoolValue("enableSelfReceipt"); setBoolValue("enableSelfReceipt");
setBoolValue("enableUpdateRevApp"); setBoolValue("enableUpdateRevApp");
setBoolValue("enableRemoveRevApp");
setBoolValue("enableAdminReceipt"); setBoolValue("enableAdminReceipt");
setBoolValue("enableOwnerReceipt"); setBoolValue("enableOwnerReceipt");
setBoolValue("enableUpdateReceipt"); setBoolValue("enableUpdateReceipt");

View File

@ -18,15 +18,21 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); if(!isset($settings))
include("../inc/inc.LogInit.php"); require_once("../inc/inc.Settings.php");
include("../inc/inc.Utils.php"); require_once("inc/inc.LogInit.php");
include("../inc/inc.Language.php"); require_once("inc/inc.Utils.php");
include("../inc/inc.Init.php"); require_once("inc/inc.Language.php");
include("../inc/inc.Extension.php"); require_once("inc/inc.Init.php");
include("../inc/inc.DBInit.php"); require_once("inc/inc.Extension.php");
include("../inc/inc.ClassUI.php"); require_once("inc/inc.DBInit.php");
include("../inc/inc.Authentication.php"); require_once("inc/inc.ClassUI.php");
require_once("inc/inc.Authentication.php");
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_controller_access('UnlockDocument', $_POST)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */ /* Check if the form data comes from a trusted request */
if(!checkFormKey('unlockdocument', 'GET')) { if(!checkFormKey('unlockdocument', 'GET')) {

View File

@ -30,6 +30,10 @@ include("../inc/inc.ClassController.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user)); $controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$accessop->check_controller_access($controller, $_POST)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("access_denied"));
}
/* Check if the form data comes from a trusted request */ /* Check if the form data comes from a trusted request */
if(!checkFormKey('updatedocument')) { if(!checkFormKey('updatedocument')) {
@ -67,6 +71,38 @@ if ($document->isLocked()) {
else $document->setLocked(false); else $document->setLocked(false);
} }
function reArrayFiles(&$file_post) {
$file_post['source'] = 'upload';
if($file_post['error'] != 4) // no file uploaded
return array($file_post);
else
return array();
}
if ($_FILES['userfile']) {
$file_ary = reArrayFiles($_FILES['userfile']);
} else {
$file_ary = array();
}
if($settings->_dropFolderDir) {
if(isset($_POST["dropfolderfileform1"]) && $_POST["dropfolderfileform1"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"];
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => $_POST["dropfolderfileform1"],
'size' => filesize($fullfile),
'error' => 0,
'source' => 'dropfolder'
);
}
}
}
$prefix = 'userfile'; $prefix = 'userfile';
if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) { if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) {
$uuids = explode(';', $_POST[$prefix.'-fine-uploader-uuids']); $uuids = explode(';', $_POST[$prefix.'-fine-uploader-uuids']);
@ -76,29 +112,38 @@ if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-upload
if(file_exists($fullfile)) { if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile); $mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'] = $fullfile; $file_ary[] = array(
$_FILES["userfile"]['type'] = $mimetype; 'tmp_name' => $fullfile,
$_FILES["userfile"]['name'] = isset($names[0]) ? $names[0] : $uuid; 'type' => $mimetype,
$_FILES["userfile"]['size'] = filesize($fullfile); 'name' => isset($names[0]) ? $names[0] : $uuid,
$_FILES["userfile"]['error'] = 0; 'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
} }
} }
if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) { if($controller->hasHook('getDocument')) {
// if(!is_uploaded_file($_FILES["userfile"]["tmp_name"])) $file_ary = array_merge($file_ary, $controller->callHook('getDocument', $_POST));
// UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")."lsajdflk"); }
if($_FILES["userfile"]["size"] == 0) if(!$file_ary) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed"));
}
$file = $file_ary[0];
if ($file['error'] == 0) {
if ($file["size"]==0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize"));
}
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize); $maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
if ($maxuploadsize && $_FILES["userfile"]["size"] > $maxuploadsize) { if ($maxuploadsize && $file["size"] > $maxuploadsize) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_maxsize"));
} }
$userfiletmp = $_FILES["userfile"]["tmp_name"]; $userfiletmp = $file["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"]; $userfiletype = $file["type"];
$userfilename = $_FILES["userfile"]["name"]; $userfilename = $file["name"];
if($settings->_overrideMimeType) { if($settings->_overrideMimeType) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_open(FILEINFO_MIME_TYPE);
@ -106,32 +151,15 @@ if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) {
if($tmpfiletype != 'application/octet-stream') if($tmpfiletype != 'application/octet-stream')
$userfiletype = $tmpfiletype; $userfiletype = $tmpfiletype;
} }
} elseif($settings->_dropFolderDir) {
if($_POST['dropfolderfileform1']) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"];
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$userfiletmp = $fullfile;
$userfiletype = $mimetype;
$userfilename= $_POST["dropfolderfileform1"];
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_failed"));
} }
/* Check if the uploaded file is identical to last version */ /* Check if the uploaded file is identical to last version */
$lc = $document->getLatestContent(); $lc = $document->getLatestContent();
if($lc->getChecksum() == SeedDMS_Core_File::checksum($userfiletmp)) { if($lc->getChecksum() == SeedDMS_Core_File::checksum($userfiletmp)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("identical_version")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("identical_version"));
} }
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION); $fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if(isset($_POST["comment"])) if(isset($_POST["comment"]))
$comment = $_POST["comment"]; $comment = $_POST["comment"];

View File

@ -31,7 +31,7 @@ require_once("inc/inc.ClassUI.php");
include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc"; include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc";
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1]); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (isset($_REQUEST["referuri"]) && strlen($_REQUEST["referuri"])>0) { if (isset($_REQUEST["referuri"]) && strlen($_REQUEST["referuri"])>0) {

View File

@ -32,7 +32,7 @@ require_once("inc/inc.ClassUI.php");
include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc"; include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc";
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1]); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (isset($_REQUEST["referuri"]) && strlen($_REQUEST["referuri"])>0) { if (isset($_REQUEST["referuri"]) && strlen($_REQUEST["referuri"])>0) {

View File

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

View File

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

View File

@ -80,6 +80,7 @@ if($view) {
$view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow); $view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow);
$view->setParam('enablerevisionworkflow', $settings->_enableRevisionWorkflow); $view->setParam('enablerevisionworkflow', $settings->_enableRevisionWorkflow);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableremoverevapp', $settings->_enableRemoveRevApp);
$view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt); $view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt);
$view->setParam('enablereceiptreject', $settings->_enableReceiptReject); $view->setParam('enablereceiptreject', $settings->_enableReceiptReject);
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);

View File

@ -84,6 +84,7 @@ foreach($tasks as $task) {
if(method_exists($taskobj, 'execute')) { if(method_exists($taskobj, 'execute')) {
if(!$task->getDisabled() && $task->isDue()) { if(!$task->getDisabled() && $task->isDue()) {
if($mode == 'run') { if($mode == 'run') {
echo get_class($task);
if($taskobj->execute($task)) { if($taskobj->execute($task)) {
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful."); add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful.");
$task->updateLastNextRun(); $task->updateLastNextRun();

View File

@ -64,9 +64,11 @@ $(document).ready(function() {
/* The fineuploader validation is actually checking all fields that can contain /* The fineuploader validation is actually checking all fields that can contain
* a file to be uploaded. First checks if an alternative input field is set, * a file to be uploaded. First checks if an alternative input field is set,
* second loops through the list of scheduled uploads, checking if at least one * second loops through the list of scheduled uploads, checking if at least one
* file will be submitted. * file will be submitted. param[0] is the fineuploader, param[1] is the
* field from the dropfolder
*/ */
jQuery.validator.addMethod("fineuploader", function(value, element, params) { jQuery.validator.addMethod("fineuploader", function(value, element, params) {
console.log(params);
if(params[1].val() != '') if(params[1].val() != '')
return true; return true;
uploader = params[0]; uploader = params[0];
@ -104,10 +106,12 @@ $(document).ready(function() {
} else { } else {
?> ?>
'userfile[]': { 'userfile[]': {
alternatives: [$('#dropfolderfileadddocform'), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')] require_from_group: [1, ".fileupload-group"]
// alternatives: [$('#dropfolderfileadddocform'), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
}, },
dropfolderfileadddocform: { dropfolderfileadddocform: {
alternatives: [$("#userfile"), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')] require_from_group: [1, ".fileupload-group"]
// alternatives: [$("#userfile"), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
} }
<?php <?php
} }
@ -170,6 +174,7 @@ $(document).ready(function() {
$accessop = $this->params['accessobject']; $accessop = $this->params['accessobject'];
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/additional-methods.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
if($enablelargefileupload) { if($enablelargefileupload) {
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js');
@ -412,6 +417,13 @@ $(document).ready(function() {
$this->getDocumentChooserHtml("adddocform", M_READ, -1, null, 'librarydoc', $libraryfolder, 1) $this->getDocumentChooserHtml("adddocform", M_READ, -1, null, 'librarydoc', $libraryfolder, 1)
); );
} }
if($arr = $this->callHook('addDocumentContentFile')) {
if(is_array($arr)) {
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
} elseif(is_string($arr)) {
echo $arr;
}
}
if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) { if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) {
$this->formField( $this->formField(
getMLText("comment_for_current_version"), getMLText("comment_for_current_version"),

View File

@ -38,7 +38,7 @@ class SeedDMS_View_AddFile extends SeedDMS_Theme_Style {
header('Content-Type: application/javascript; charset=UTF-8'); header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('js_form_error', 'js_form_errors')); parent::jsTranslations(array('js_form_error', 'js_form_errors'));
if($enablelargefileupload) if($enablelargefileupload)
$this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize); $this->printFineUploaderJs($this->params['settings']->_httpRoot.'op/op.UploadChunks.php', $partitionsize, $maxuploadsize);
$this->printFileChooserJs(); $this->printFileChooserJs();
?> ?>
@ -113,10 +113,10 @@ $(document).ready( function() {
$enablelargefileupload = $this->params['enablelargefileupload']; $enablelargefileupload = $this->params['enablelargefileupload'];
$maxuploadsize = $this->params['maxuploadsize']; $maxuploadsize = $this->params['maxuploadsize'];
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
if($enablelargefileupload) { if($enablelargefileupload) {
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js');
$this->htmlAddHeader($this->getFineUploaderTemplate(), 'js'); $this->htmlAddHeader($this->getFineUploaderTemplate(), 'js');
} }

View File

@ -58,6 +58,7 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
function show() { /* {{{ */ function show() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$settings = $this->params['settings'];
$logfileenable = $this->params['logfileenable']; $logfileenable = $this->params['logfileenable'];
$enablefullsearch = $this->params['enablefullsearch']; $enablefullsearch = $this->params['enablefullsearch'];
$accessop = $this->params['accessobject']; $accessop = $this->params['accessobject'];
@ -74,38 +75,38 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 1); ?> <?php echo $this->callHook('startOfRow', 1); ?>
<?php if($accessop->check_view_access('UsrMgr')) { ?> <?php if($accessop->check_view_access('UsrMgr')) { ?>
<?= self::rowButton("../out/out.UsrMgr.php", "user", "user_management"); ?> <?= self::rowButton($settings->_httpRoot."out/out.UsrMgr.php", "user", "user_management"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('GroupMgr')) { ?> <?php if($accessop->check_view_access('GroupMgr')) { ?>
<?= self::rowButton("../out/out.GroupMgr.php", "group", "group_management"); ?> <?= self::rowButton($settings->_httpRoot."out/out.GroupMgr.php", "group", "group_management"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('RoleMgr')) { ?> <?php if($accessop->check_view_access('RoleMgr')) { ?>
<?= self::rowButton("../out/out.RoleMgr.php", "bullseye", "role_management"); ?> <?= self::rowButton($settings->_httpRoot."out/out.RoleMgr.php", "bullseye", "role_management"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 1); ?> <?php echo $this->callHook('endOfRow', 1); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 2); ?> <?php echo $this->callHook('startOfRow', 2); ?>
<?php if($accessop->check_view_access('BackupTools')) { ?> <?php if($accessop->check_view_access('BackupTools')) { ?>
<?= self::rowButton("../out/out.BackupTools.php", "life-saver", "backup_tools"); ?> <?= self::rowButton($settings->_httpRoot."out/out.BackupTools.php", "life-saver", "backup_tools"); ?>
<?php } ?> <?php } ?>
<?php <?php
if ($logfileenable && ($accessop->check_view_access('LogManagement'))) if ($logfileenable && ($accessop->check_view_access('LogManagement')))
echo self::rowButton("../out/out.LogManagement.php", "list", "log_management"); echo self::rowButton($settings->_httpRoot."out/out.LogManagement.php", "list", "log_management");
?> ?>
<?php echo $this->callHook('endOfRow', 2); ?> <?php echo $this->callHook('endOfRow', 2); ?>
</div> </div>
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 3); ?> <?php echo $this->callHook('startOfRow', 3); ?>
<?php if($accessop->check_view_access('DefaultKeywords')) { ?> <?php if($accessop->check_view_access('DefaultKeywords')) { ?>
<?= self::rowButton("../out/out.DefaultKeywords.php", "reorder", "global_default_keywords"); ?> <?= self::rowButton($settings->_httpRoot."out/out.DefaultKeywords.php", "reorder", "global_default_keywords"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('Categories')) { ?> <?php if($accessop->check_view_access('Categories')) { ?>
<?= self::rowButton("../out/out.Categories.php", "columns", "global_document_categories"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Categories.php", "columns", "global_document_categories"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('AttributeMgr')) { ?> <?php if($accessop->check_view_access('AttributeMgr')) { ?>
<?= self::rowButton("../out/out.AttributeMgr.php", "tags", "global_attributedefinitions"); ?> <?= self::rowButton($settings->_httpRoot."out/out.AttributeMgr.php", "tags", "global_attributedefinitions"); ?>
<?= self::rowButton("../out/out.AttributeGroupMgr.php", "tags", "global_attributedefinitiongroups"); ?> <?= self::rowButton($settings->_httpRoot."out/out.AttributeGroupMgr.php", "tags", "global_attributedefinitiongroups"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 3); ?> <?php echo $this->callHook('endOfRow', 3); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>
@ -115,13 +116,13 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 4); ?> <?php echo $this->callHook('startOfRow', 4); ?>
<?php if($accessop->check_view_access('WorkflowMgr')) { ?> <?php if($accessop->check_view_access('WorkflowMgr')) { ?>
<?= self::rowButton("../out/out.WorkflowMgr.php", "sitemap", "global_workflows"); ?> <?= self::rowButton($settings->_httpRoot."out/out.WorkflowMgr.php", "sitemap", "global_workflows"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('WorkflowStatesMgr')) { ?> <?php if($accessop->check_view_access('WorkflowStatesMgr')) { ?>
<?= self::rowButton("../out/out.WorkflowStatesMgr.php", "star", "global_workflow_states"); ?> <?= self::rowButton($settings->_httpRoot."out/out.WorkflowStatesMgr.php", "star", "global_workflow_states"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('WorkflowActionsMgr')) { ?> <?php if($accessop->check_view_access('WorkflowActionsMgr')) { ?>
<?= self::rowButton("../out/out.WorkflowActionsMgr.php", "bolt", "global_workflow_actions"); ?> <?= self::rowButton($settings->_httpRoot."out/out.WorkflowActionsMgr.php", "bolt", "global_workflow_actions"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 4); ?> <?php echo $this->callHook('endOfRow', 4); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>
@ -132,13 +133,13 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 5); ?> <?php echo $this->callHook('startOfRow', 5); ?>
<?php if($accessop->check_view_access('Indexer')) { ?> <?php if($accessop->check_view_access('Indexer')) { ?>
<?= self::rowButton("../out/out.Indexer.php", "refresh", "update_fulltext_index"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Indexer.php", "refresh", "update_fulltext_index"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('CreateIndex')) { ?> <?php if($accessop->check_view_access('CreateIndex')) { ?>
<?= self::rowButton("../out/out.CreateIndex.php", "search", "create_fulltext_index"); ?> <?= self::rowButton($settings->_httpRoot."out/out.CreateIndex.php", "search", "create_fulltext_index"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('IndexInfo')) { ?> <?php if($accessop->check_view_access('IndexInfo')) { ?>
<?= self::rowButton("../out/out.IndexInfo.php", "info-circle", "fulltext_info"); ?> <?= self::rowButton($settings->_httpRoot."out/out.IndexInfo.php", "info-circle", "fulltext_info"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 5); ?> <?php echo $this->callHook('endOfRow', 5); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>
@ -148,32 +149,32 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 6); ?> <?php echo $this->callHook('startOfRow', 6); ?>
<?php if($accessop->check_view_access('Statistic')) { ?> <?php if($accessop->check_view_access('Statistic')) { ?>
<?= self::rowButton("../out/out.Statistic.php", "sitemap", "folders_and_documents_statistic"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Statistic.php", "sitemap", "folders_and_documents_statistic"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('Charts')) { ?> <?php if($accessop->check_view_access('Charts')) { ?>
<?= self::rowButton("../out/out.Charts.php", "bar-chart", "charts"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Charts.php", "bar-chart", "charts"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('ObjectCheck')) { ?> <?php if($accessop->check_view_access('ObjectCheck')) { ?>
<?= self::rowButton("../out/out.ObjectCheck.php", "check", "objectcheck"); ?> <?= self::rowButton($settings->_httpRoot."out/out.ObjectCheck.php", "check", "objectcheck"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('Timeline')) { ?> <?php if($accessop->check_view_access('Timeline')) { ?>
<?= self::rowButton("../out/out.Timeline.php", "signal", "timeline"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Timeline.php", "signal", "timeline"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 6); ?> <?php echo $this->callHook('endOfRow', 6); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>
<?= self::startRow(); ?> <?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 7); ?> <?php echo $this->callHook('startOfRow', 7); ?>
<?php if($accessop->check_view_access('Settings')) { ?> <?php if($accessop->check_view_access('Settings')) { ?>
<?= self::rowButton("../out/out.Settings.php", "wrench", "settings"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Settings.php", "wrench", "settings"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('ExtensionMgr')) { ?> <?php if($accessop->check_view_access('ExtensionMgr')) { ?>
<?= self::rowButton("../out/out.ExtensionMgr.php", "cogs", "extension_manager"); ?> <?= self::rowButton($settings->_httpRoot."out/out.ExtensionMgr.php", "cogs", "extension_manager"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('SchedulerTaskMgr')) { ?> <?php if($accessop->check_view_access('SchedulerTaskMgr')) { ?>
<?= self::rowButton("../out/out.SchedulerTaskMgr.php", "clock-o", "scheduler_task_mgr"); ?> <?= self::rowButton($settings->_httpRoot."out/out.SchedulerTaskMgr.php", "clock-o", "scheduler_task_mgr"); ?>
<?php } ?> <?php } ?>
<?php if($accessop->check_view_access('Info')) { ?> <?php if($accessop->check_view_access('Info')) { ?>
<?= self::rowButton("../out/out.Info.php", "info-circle", "version_info"); ?> <?= self::rowButton($settings->_httpRoot."out/out.Info.php", "info-circle", "version_info"); ?>
<?php } ?> <?php } ?>
<?php echo $this->callHook('endOfRow', 7); ?> <?php echo $this->callHook('endOfRow', 7); ?>
<?= self::endRow(); ?> <?= self::endRow(); ?>

View File

@ -98,7 +98,7 @@ $(document).ready(function() {
$approvaltype = ($approvalStatus['type'] == 0) ? 'ind' : 'grp'; $approvaltype = ($approvalStatus['type'] == 0) ? 'ind' : 'grp';
if($approvalStatus["status"]!=0) { if($approvalStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"table table-condensed table-sm\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
print "<th>".getMLText("comment")."</th>"; print "<th>".getMLText("comment")."</th>";
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";

View File

@ -91,38 +91,38 @@ class SeedDMS_Theme_Style extends SeedDMS_View_Common {
echo '<base href="'.$this->baseurl.'">'."\n"; echo '<base href="'.$this->baseurl.'">'."\n";
$sitename = trim(strip_tags($this->params['sitename'])); $sitename = trim(strip_tags($this->params['sitename']));
if($this->params['session']) if($this->params['session'])
echo '<link rel="search" type="application/opensearchdescription+xml" href="../out/out.OpensearchDesc.php" title="'.(strlen($sitename)>0 ? $sitename : "SeedDMS").'"/>'."\n"; echo '<link rel="search" type="application/opensearchdescription+xml" href="'.$this->params['settings']->_httpRoot.'out/out.OpensearchDesc.php" title="'.(strlen($sitename)>0 ? $sitename : "SeedDMS").'"/>'."\n";
echo '<link href="../styles/'.$this->theme.'/bootstrap/css/bootstrap.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/css/bootstrap.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/chosen/css/chosen.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/chosen/css/chosen.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/select2/css/select2.min.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/select2/css/select2.min.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/select2/css/select2-bootstrap.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/select2/css/select2-bootstrap.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/jqtree/jqtree.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/jqtree.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n";
if($this->extraheader['css']) if($this->extraheader['css'])
echo $this->extraheader['css']; echo $this->extraheader['css'];
if(method_exists($this, 'css')) if(method_exists($this, 'css'))
echo '<link href="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?action=css'.(!empty($_SERVER['QUERY_STRING']) ? '&'.$_SERVER['QUERY_STRING'] : '').'" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?action=css'.(!empty($_SERVER['QUERY_STRING']) ? '&'.$_SERVER['QUERY_STRING'] : '').'" rel="stylesheet">'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery/jquery.min.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jquery/jquery.min.js"></script>'."\n";
if($this->extraheader['js']) if($this->extraheader['js'])
echo $this->extraheader['js']; echo $this->extraheader['js'];
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/passwordstrength/jquery.passwordstrength.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/passwordstrength/jquery.passwordstrength.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/jquery.noty.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/jquery.noty.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/layouts/topRight.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/layouts/topRight.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/layouts/topCenter.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/layouts/topCenter.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/themes/default.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/themes/default.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jqtree/tree.jquery.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/tree.jquery.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n";
// echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n"; // echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n";
// echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/bootbox/bootbox.locales.js"></script>'."\n"; // echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.locales.js"></script>'."\n";
if(!empty($this->extraheader['favicon'])) if(!empty($this->extraheader['favicon']))
echo $this->extraheader['favicon']; echo $this->extraheader['favicon'];
else { else {
echo '<link rel="icon" href="../views/'.$this->theme.'/images/favicon.svg" type="image/svg+xml"/>'."\n"; echo '<link rel="icon" href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/favicon.svg" type="image/svg+xml"/>'."\n";
echo '<link rel="apple-touch-icon" sizes="180x180" href="../views/'.$this->theme.'/images/apple-touch-icon.png">'."\n"; echo '<link rel="apple-touch-icon" sizes="180x180" href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/apple-touch-icon.png">'."\n";
} }
if($this->params['session'] && $this->params['session']->getSu()) { if($this->params['session'] && $this->params['session']->getSu()) {
?> ?>
@ -167,19 +167,19 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$this->missingLanguageKeys(); $this->missingLanguageKeys();
} }
} }
echo '<script src="../styles/'.$this->theme.'/bootstrap/js/bootstrap.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/js/bootstrap.min.js"></script>'."\n";
echo '<script src="../styles/'.$this->theme.'/bootstrap/js/bootstrap-typeahead.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/js/bootstrap-typeahead.js"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n";
foreach(array('de', 'es', 'ar', 'el', 'bg', 'ru', 'hr', 'hu', 'ko', 'pl', 'ro', 'sk', 'tr', 'uk', 'ca', 'nl', 'fi', 'cs', 'it', 'fr', 'sv', 'sl', 'pt-BR', 'zh-CN', 'zh-TW') as $lang) foreach(array('de', 'es', 'ar', 'el', 'bg', 'ru', 'hr', 'hu', 'ko', 'pl', 'ro', 'sk', 'tr', 'uk', 'ca', 'nl', 'fi', 'cs', 'it', 'fr', 'sv', 'sl', 'pt-BR', 'zh-CN', 'zh-TW') as $lang)
echo '<script src="../views/'.$this->theme.'/vendors/bootstrap-datepicker/locales/bootstrap-datepicker.'.$lang.'.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/locales/bootstrap-datepicker.'.$lang.'.min.js"></script>'."\n";
echo '<script src="../styles/'.$this->theme.'/chosen/js/chosen.jquery.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/chosen/js/chosen.jquery.min.js"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/vendors/select2/js/select2.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/select2/js/select2.min.js"></script>'."\n";
parse_str($_SERVER['QUERY_STRING'], $tmp); parse_str($_SERVER['QUERY_STRING'], $tmp);
$tmp['action'] = 'webrootjs'; $tmp['action'] = 'webrootjs';
if(isset($tmp['formtoken'])) if(isset($tmp['formtoken']))
unset($tmp['formtoken']); unset($tmp['formtoken']);
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n"; echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/styles/application.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.js"></script>'."\n";
if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) { if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) {
$this->addFooterJS('SeedDMSTask.run();'); $this->addFooterJS('SeedDMSTask.run();');
} }
@ -285,8 +285,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "<div class=\"navbar navbar-inverse navbar-fixed-top\">\n"; echo "<div class=\"navbar navbar-inverse navbar-fixed-top\">\n";
echo " <div class=\"navbar-inner\">\n"; echo " <div class=\"navbar-inner\">\n";
echo " <div class=\"container-fluid\">\n"; echo " <div class=\"container-fluid\">\n";
echo " <a href=\"../out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="../views/bootstrap/images/seeddms-logo.svg">')."</a>"; echo " <a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap/images/seeddms-logo.svg">')."</a>";
echo " <a class=\"brand\" href=\"../out/out.ViewFolder.php\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</a>\n"; echo " <a class=\"brand\" href=\"".$this->params['settings']->_httpRoot."/out/out.ViewFolder.php\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</a>\n";
echo " </div>\n"; echo " </div>\n";
echo " </div>\n"; echo " </div>\n";
echo "</div>\n"; echo "</div>\n";
@ -373,16 +373,16 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-col1\">\n"; echo " <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-col1\">\n";
echo " <span class=\"fa fa-bars\"></span>\n"; echo " <span class=\"fa fa-bars\"></span>\n";
echo " </a>\n"; echo " </a>\n";
echo " <a class=\"btn btn-navbar\" href=\"../op/op.Logout.php\">\n"; echo " <a class=\"btn btn-navbar\" href=\"".$this->params['settings']->_httpRoot."op/op.Logout.php\">\n";
echo " <span class=\"fa fa-sign-out\"></span>\n"; echo " <span class=\"fa fa-sign-out\"></span>\n";
echo " </a>\n"; echo " </a>\n";
echo " <a href=\"../out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="../views/bootstrap/images/seeddms-logo.svg">')."</a>"; echo " <a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap/images/seeddms-logo.svg">')."</a>";
echo " <a class=\"brand\" href=\"../out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\"><span class=\"hidden-phone\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n"; echo " <a class=\"brand\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\"><span class=\"hidden-phone\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n";
/* user profile menu {{{ */ /* user profile menu {{{ */
if(isset($this->params['session']) && isset($this->params['user']) && $this->params['user']) { if(isset($this->params['session']) && isset($this->params['user']) && $this->params['user']) {
/* search form {{{ */ /* search form {{{ */
echo " <form action=\"../out/out.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">"; echo " <form action=\"".$this->params['settings']->_httpRoot."out/out.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">";
if ($folder!=null && is_object($folder) && $folder->isType('folder')) { if ($folder!=null && is_object($folder) && $folder->isType('folder')) {
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />"; echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
} }
@ -405,11 +405,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
// if (!$this->params['user']->isGuest()) { // if (!$this->params['user']->isGuest()) {
$menuitems = array(); $menuitems = array();
if ($accessobject->check_view_access('MyDocuments')) if ($accessobject->check_view_access('MyDocuments'))
$menuitems['my_documents'] = array('link'=>"../out/out.MyDocuments.php", 'label'=>'my_documents'); $menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php", 'label'=>'my_documents');
if ($accessobject->check_view_access('MyAccount')) if ($accessobject->check_view_access('MyAccount'))
$menuitems['my_account'] = array('link'=>"../out/out.MyAccount.php", 'label'=>'my_account'); $menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>'my_account');
if ($accessobject->check_view_access('TransmittalMgr')) if ($accessobject->check_view_access('TransmittalMgr'))
$menuitems['my_transmittals'] = array('link'=>"../out/out.TransmittalMgr.php", 'label'=>'my_transmittals'); $menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>'my_transmittals');
if($this->hasHook('userMenuItems')) if($this->hasHook('userMenuItems'))
$menuitems = $this->callHook('userMenuItems', $menuitems); $menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) { if($menuitems) {
@ -431,7 +431,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "<li class=\"active\">"; echo "<li class=\"active\">";
else else
echo "<li>"; echo "<li>";
echo "<a href=\"../op/op.SetLanguage.php?lang=".$currLang."&referer=".$_SERVER["REQUEST_URI"]."\">"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.SetLanguage.php?lang=".$currLang."&referer=".$_SERVER["REQUEST_URI"]."\">";
echo getMLText($currLang)."</a></li>\n"; echo getMLText($currLang)."</a></li>\n";
} }
echo " </ul>\n"; echo " </ul>\n";
@ -440,21 +440,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if(!$this->params['session']->getSu()) { if(!$this->params['session']->getSu()) {
if($this->params['user']->isAdmin()) { if($this->params['user']->isAdmin()) {
$showdivider = true; $showdivider = true;
echo " <li><a href=\"../out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a></li>\n"; echo " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a></li>\n";
} elseif($substitutes = $this->params['user']->getReverseSubstitutes()) { } elseif($substitutes = $this->params['user']->getReverseSubstitutes()) {
if(count($substitutes) == 1) { if(count($substitutes) == 1) {
echo " <li><a href=\"../op/op.SubstituteUser.php?userid=".$substitutes[0]->getID()."&formtoken=".createFormKey('substituteuser')."\">".getMLText("substitute_to_user", array('username'=>$substitutes[0]->getFullName()))."</a></li>\n"; echo " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.SubstituteUser.php?userid=".$substitutes[0]->getID()."&formtoken=".createFormKey('substituteuser')."\">".getMLText("substitute_to_user", array('username'=>$substitutes[0]->getFullName()))."</a></li>\n";
} else { } else {
echo " <li><a href=\"../out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a></li>\n"; echo " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a></li>\n";
} }
} }
} }
if($showdivider) if($showdivider)
echo " <li class=\"divider\"></li>\n"; echo " <li class=\"divider\"></li>\n";
if($this->params['session']->getSu()) { if($this->params['session']->getSu()) {
echo " <li><a href=\"../op/op.ResetSu.php\">".getMLText("sign_out_user")."</a></li>\n"; echo " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.ResetSu.php\">".getMLText("sign_out_user")."</a></li>\n";
} else { } else {
echo " <li><a href=\"../op/op.Logout.php\">".getMLText("sign_out")."</a></li>\n"; echo " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.Logout.php\">".getMLText("sign_out")."</a></li>\n";
} }
echo " </ul>\n"; echo " </ul>\n";
echo " </li>\n"; echo " </li>\n";
@ -507,11 +507,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <ul class=\"nav\">\n"; echo " <ul class=\"nav\">\n";
$menuitems = array(); $menuitems = array();
/* calendar {{{ */ /* calendar {{{ */
if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>'../out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar"); if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar");
if ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>'../out/out.AdminTools.php', 'label'=>"admin_tools"); if ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools");
if($this->params['enablehelp']) { if($this->params['enablehelp']) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$menuitems['help'] = array('link'=>'../out/out.Help.php?context='.$tmp[1], 'label'=>"help"); $menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>"help");
} }
/* }}} End of calendar */ /* }}} End of calendar */
@ -546,17 +546,17 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
for ($i = 0; $i < count($path); $i++) { for ($i = 0; $i < count($path); $i++) {
$txtpath .= "<li>"; $txtpath .= "<li>";
if ($i +1 < count($path)) { if ($i +1 < count($path)) {
$txtpath .= "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\" data-droptarget=\"folder_".$path[$i]->getID()."\" rel=\"folder_".$path[$i]->getID()."\" class=\"table-row-folder droptarget\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\">". $txtpath .= "<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\" data-droptarget=\"folder_".$path[$i]->getID()."\" rel=\"folder_".$path[$i]->getID()."\" class=\"table-row-folder droptarget\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\">".
htmlspecialchars($path[$i]->getName())."</a>"; htmlspecialchars($path[$i]->getName())."</a>";
} }
else { else {
$txtpath .= ($tagAll ? "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">". $txtpath .= ($tagAll ? "<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName())); htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName()));
} }
$txtpath .= " <span class=\"divider\">/</span></li>"; $txtpath .= " <span class=\"divider\">/</span></li>";
} }
if($document) if($document)
$txtpath .= "<li><a href=\"../out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a></li>"; $txtpath .= "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a></li>";
return '<ul class="breadcrumb">'.$txtpath.'</ul>'; return '<ul class="breadcrumb">'.$txtpath.'</ul>';
} /* }}} */ } /* }}} */
@ -736,46 +736,46 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} }
$accessMode = $folder->getAccessMode($this->params['user']); $accessMode = $folder->getAccessMode($this->params['user']);
$folderID = $folder->getID(); $folderID = $folder->getID();
echo "<id=\"first\"><a href=\"../out/out.ViewFolder.php?folderid=". $folderID ."&showtree=".showtree()."\" class=\"brand\">".getMLText("folder")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderID ."&showtree=".showtree()."\" class=\"brand\">".getMLText("folder")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
if ($accessMode == M_READ && !$this->params['user']->isGuest()) { if ($accessMode == M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('FolderNotify')) if ($accessobject->check_controller_access('FolderNotify'))
$menuitems['edit_folder_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify')); $menuitems['edit_folder_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify'));
} }
else if ($accessMode >= M_READWRITE) { else if ($accessMode >= M_READWRITE) {
if ($accessobject->check_view_access('AddSubFolder')) if ($accessobject->check_controller_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>"../out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder')); $menuitems['add_subfolder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_view_access('AddDocument')) if ($accessobject->check_controller_access('AddDocument'))
$menuitems['add_document'] = array('link'=>"../out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document')); $menuitems['add_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document'));
if(0 && $this->params['enablelargefileupload']) if(0 && $this->params['enablelargefileupload'])
$menuitems['add_multiple_documents'] = array('link'=>"../out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents')); $menuitems['add_multiple_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents'));
if ($accessobject->check_view_access('EditFolder')) { if ($accessobject->check_controller_access('EditFolder')) {
$menuitems['edit_folder_props'] = array('link'=>"../out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props')); $menuitems['edit_folder_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props'));
} }
if ($accessobject->check_view_access('MoveFolder')) { if ($accessobject->check_controller_access('MoveFolder')) {
if ($folderID != $this->params['rootfolderid'] && $folder->getParent()) if ($folderID != $this->params['rootfolderid'] && $folder->getParent())
$menuitems['move_folder'] = array('link'=>"../out/out.MoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('move_folder')); $menuitems['move_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('move_folder'));
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($folderID != $this->params['rootfolderid'] && $folder->getParent()) if ($folderID != $this->params['rootfolderid'] && $folder->getParent())
if ($accessobject->check_view_access('RemoveFolder')) if ($accessobject->check_view_access('RemoveFolder'))
$menuitems['rm_folder'] = array('link'=>"../out/out.RemoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('rm_folder')); $menuitems['rm_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RemoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('rm_folder'));
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($accessobject->check_view_access('FolderAccess')) if ($accessobject->check_view_access('FolderAccess'))
$menuitems['edit_folder_access'] = array('link'=>"../out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access')); $menuitems['edit_folder_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access'));
} }
if ($accessobject->check_view_access('FolderNotify')) if ($accessobject->check_view_access('FolderNotify'))
$menuitems['edit_existing_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify')); $menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify'));
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
$menuitems['edit_folder_attrdefgrp'] = array('link'=>"../out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>'edit_folder_attrdefgrp'); $menuitems['edit_folder_attrdefgrp'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>'edit_folder_attrdefgrp');
} }
} }
if ($accessobject->check_view_access('Indexer') && $this->params['enablefullsearch']) { if ($accessobject->check_view_access('Indexer') && $this->params['enablefullsearch']) {
$menuitems['index_folder'] = array('link'=>"../out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder')); $menuitems['index_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -791,49 +791,58 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$accessMode = $document->getAccessMode($this->params['user']); $accessMode = $document->getAccessMode($this->params['user']);
$docid=".php?documentid=" . $document->getID(); $docid=".php?documentid=" . $document->getID();
echo "<id=\"first\"><a href=\"../out/out.ViewDocument". $docid ."\" class=\"brand\">".getMLText("document")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument". $docid ."\" class=\"brand\">".getMLText("document")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
if ($accessMode >= M_READWRITE) { if ($accessMode >= M_READWRITE) {
if (!$document->isLocked()) { if (!$document->isLocked()) {
if($accessobject->check_controller_access('UpdateDocument')) if($accessobject->check_controller_access('UpdateDocument'))
$menuitems['update_document'] = array('link'=>"../out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document')); $menuitems['update_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document'));
if($accessobject->check_controller_access('LockDocument')) if($accessobject->check_controller_access('LockDocument'))
$menuitems['lock_document'] = array('link'=>"../op/op.LockDocument".$docid."&formtoken=".createFormKey('lockdocument'), 'label'=>getMLText('lock_document')); $menuitems['lock_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.LockDocument".$docid."&formtoken=".createFormKey('lockdocument'), 'label'=>getMLText('lock_document'));
if($document->isCheckedOut())
$menuitems['checkin_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.CheckInDocument".$docid, 'label'=>getMLText('checkin_document'));
else {
if($this->params['checkoutdir']) {
$menuitems['checkout_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.CheckOutDocument".$docid, 'label'=>getMLText('checkout_document'));
}
}
if($accessobject->check_controller_access('EditDocument')) if($accessobject->check_controller_access('EditDocument'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props')); $menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document')); if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
} }
else { else {
$lockingUser = $document->getLockingUser(); $lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) { if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) {
if($accessobject->check_controller_access('UpdateDocument')) if($accessobject->check_controller_access('UpdateDocument'))
$menuitems['update_document'] = array('link'=>"../out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document')); $menuitems['update_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document'));
if($accessobject->check_controller_access('UnlockDocument')) if($accessobject->check_controller_access('UnlockDocument'))
$menuitems['unlock_document'] = array('link'=>"../op/op.UnlockDocument".$docid."&formtoken=".createFormKey('unlockdocument'), 'label'=>getMLText('unlock_document')); $menuitems['unlock_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.UnlockDocument".$docid."&formtoken=".createFormKey('unlockdocument'), 'label'=>getMLText('unlock_document'));
if($accessobject->check_controller_access('EditDocument')) if($accessobject->check_controller_access('EditDocument'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props')); $menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document')); if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
} }
} }
if($accessobject->maySetExpires($document)) { if($accessobject->maySetExpires($document)) {
if ($accessobject->check_view_access('SetExpires')) if ($accessobject->check_view_access('SetExpires'))
$menuitems['expires'] = array('link'=>"../out/out.SetExpires".$docid, 'label'=>getMLText('expires')); $menuitems['expires'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SetExpires".$docid, 'label'=>getMLText('expires'));
} }
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($accessobject->check_view_access('RemoveDocument')) if ($accessobject->check_view_access('RemoveDocument'))
$menuitems['rm_document'] = array('link'=>"../out/out.RemoveDocument".$docid, 'label'=>getMLText('rm_document')); $menuitems['rm_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RemoveDocument".$docid, 'label'=>getMLText('rm_document'));
if ($accessobject->check_view_access('DocumentAccess')) if ($accessobject->check_view_access('DocumentAccess'))
$menuitems['edit_document_access'] = array('link'=>"../out/out.DocumentAccess". $docid, 'label'=>getMLText('edit_document_access')); $menuitems['edit_document_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentAccess". $docid, 'label'=>getMLText('edit_document_access'));
} }
if ($accessMode >= M_READ) { if ($accessMode >= M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('DocumentNotify')) if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>"../out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify')); $menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
} }
if ($accessobject->check_view_access('TransferDocument')) { if ($accessobject->check_view_access('TransferDocument')) {
$menuitems['transfer_document'] = array('link'=>"../out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document')); $menuitems['transfer_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -859,17 +868,18 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function accountNavigationBar() { /* {{{ */ private function accountNavigationBar() { /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
echo "<id=\"first\"><a href=\"../out/out.MyAccount.php\" class=\"brand\">".getMLText("my_account")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.MyAccount.php\" class=\"brand\">".getMLText("my_account")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
if ($accessobject->check_view_access('EditUserData') || !$this->params['disableselfedit']) if ($accessobject->check_view_access('EditUserData') || !$this->params['disableselfedit'])
$menuitems['edit_user_details'] = array('link'=>"../out/out.EditUserData.php", 'label'=>getMLText('edit_user_details')); $menuitems['edit_user_details'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditUserData.php", 'label'=>getMLText('edit_user_details'));
if (!$this->params['user']->isAdmin()) if (!$this->params['user']->isAdmin())
$menuitems['edit_default_keywords'] = array('link'=>"../out/out.UserDefaultKeywords.php", 'label'=>getMLText('edit_default_keywords')); $menuitems['edit_default_keywords'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UserDefaultKeywords.php", 'label'=>getMLText('edit_default_keywords'));
$menuitems['edit_notify'] = array('link'=>"../out/out.ManageNotify.php", 'label'=>getMLText('edit_existing_notify')); if ($accessobject->check_view_access('ManageNotify'))
$menuitems['edit_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ManageNotify.php", 'label'=>getMLText('edit_existing_notify'));
$menuitems['2_factor_auth'] = array('link'=>"../out/out.Setup2Factor.php", 'label'=>'2_factor_auth'); $menuitems['2_factor_auth'] = array('link'=>"../out/out.Setup2Factor.php", 'label'=>'2_factor_auth');
@ -877,9 +887,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($this->params['enableusersview']){ if ($this->params['enableusersview']){
if ($accessobject->check_view_access('UsrView')) if ($accessobject->check_view_access('UsrView'))
$menuitems['users'] = array('link'=>"../out/out.UsrView.php", 'label'=>getMLText('users')); $menuitems['users'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UsrView.php", 'label'=>getMLText('users'));
if ($accessobject->check_view_access('GroupView')) if ($accessobject->check_view_access('GroupView'))
$menuitems['groups'] = array('link'=>"../out/out.GroupView.php", 'label'=>getMLText('groups')); $menuitems['groups'] = array('link'=>$this->params['settings']->_httpRoot."out/out.GroupView.php", 'label'=>getMLText('groups'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -894,20 +904,22 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function myDocumentsNavigationBar() { /* {{{ */ private function myDocumentsNavigationBar() { /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
echo "<id=\"first\"><a href=\"../out/out.MyDocuments.php\" class=\"brand\">".getMLText("my_documents")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.MyDocuments.php\" class=\"brand\">".getMLText("my_documents")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
$menuitems['inprocess'] = array('link'=>"../out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process')); if ($accessobject->check_view_access('MyDocuments')) {
$menuitems['all_documents'] = array('link'=>"../out/out.MyDocuments.php", 'label'=>getMLText('all_documents')); $menuitems['inprocess'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process'));
$menuitems['all_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php", 'label'=>getMLText('all_documents'));
}
if($this->params['workflowmode'] == 'traditional' || $this->params['workflowmode'] == 'traditional_only_approval') { if($this->params['workflowmode'] == 'traditional' || $this->params['workflowmode'] == 'traditional_only_approval') {
if ($accessobject->check_view_access('ReviewSummary')) if ($accessobject->check_view_access('ReviewSummary'))
$menuitems['review_summary'] = array('link'=>"../out/out.ReviewSummary.php", 'label'=>getMLText('review_summary')); $menuitems['review_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ReviewSummary.php", 'label'=>getMLText('review_summary'));
if ($accessobject->check_view_access('ApprovalSummary')) if ($accessobject->check_view_access('ApprovalSummary'))
$menuitems['approval_summary'] = array('link'=>"../out/out.ApprovalSummary.php", 'label'=>getMLText('approval_summary')); $menuitems['approval_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ApprovalSummary.php", 'label'=>getMLText('approval_summary'));
} else { } else {
if ($accessobject->check_view_access('WorkflowSummary')) if ($accessobject->check_view_access('WorkflowSummary'))
$menuitems['workflow_summary'] = array('link'=>"../out/out.WorkflowSummary.php", 'label'=>getMLText('workflow_summary')); $menuitems['workflow_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowSummary.php", 'label'=>getMLText('workflow_summary'));
} }
if ($accessobject->check_view_access('ReceiptSummary')) if ($accessobject->check_view_access('ReceiptSummary'))
$menuitems['receipt_summary'] = array('link'=>"../out/out.ReceiptSummary.php", 'label'=>getMLText('receipt_summary')); $menuitems['receipt_summary'] = array('link'=>"../out/out.ReceiptSummary.php", 'label'=>getMLText('receipt_summary'));
@ -926,41 +938,41 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function adminToolsNavigationBar() { /* {{{ */ private function adminToolsNavigationBar() { /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$settings = $this->params['settings']; $settings = $this->params['settings'];
echo " <id=\"first\"><a href=\"../out/out.AdminTools.php\" class=\"brand\">".getMLText("admin_tools")."</a>\n"; echo " <id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.AdminTools.php\" class=\"brand\">".getMLText("admin_tools")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
if($accessobject->check_view_access(array('UsrMgr', 'RoleMgr', 'GroupMgr', 'UserList', 'Acl'))) { if($accessobject->check_view_access(array('UsrMgr', 'RoleMgr', 'GroupMgr', 'UserList', 'Acl'))) {
$menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management')); $menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management'));
if ($accessobject->check_view_access('UsrMgr')) if ($accessobject->check_view_access('UsrMgr'))
$menuitems['user_group_management']['children']['user_management'] = array('link'=>"../out/out.UsrMgr.php", 'label'=>getMLText('user_management')); $menuitems['user_group_management']['children']['user_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UsrMgr.php", 'label'=>getMLText('user_management'));
if ($accessobject->check_view_access('RoleMgr')) if ($accessobject->check_view_access('RoleMgr'))
$menuitems['user_group_management']['children']['role_management'] = array('link'=>"../out/out.RoleMgr.php", 'label'=>getMLText('role_management')); $menuitems['user_group_management']['children']['role_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RoleMgr.php", 'label'=>getMLText('role_management'));
if ($accessobject->check_view_access('GroupMgr')) if ($accessobject->check_view_access('GroupMgr'))
$menuitems['user_group_management']['children']['group_management'] = array('link'=>"../out/out.GroupMgr.php", 'label'=>getMLText('group_management')); $menuitems['user_group_management']['children']['group_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.GroupMgr.php", 'label'=>getMLText('group_management'));
if ($accessobject->check_view_access('UserList')) if ($accessobject->check_view_access('UserList'))
$menuitems['user_group_management']['children']['user_list'] = array('link'=>"../out/out.UserList.php", 'label'=>getMLText('user_list')); $menuitems['user_group_management']['children']['user_list'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UserList.php", 'label'=>getMLText('user_list'));
if ($accessobject->check_view_access('Acl')) if ($accessobject->check_view_access('Acl'))
$menuitems['user_group_management']['children']['access_control'] = array('link'=>"../out/out.Acl.php", 'label'=>getMLText('access_control')); $menuitems['user_group_management']['children']['access_control'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Acl.php", 'label'=>getMLText('access_control'));
} }
if($accessobject->check_view_access(array('DefaultKeywords', 'Categories', 'AttributeMgr', 'WorkflowMgr', 'WorkflowStatesMgr', 'WorkflowActionsMgr'))) { if($accessobject->check_view_access(array('DefaultKeywords', 'Categories', 'AttributeMgr', 'WorkflowMgr', 'WorkflowStatesMgr', 'WorkflowActionsMgr'))) {
$menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions')); $menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions'));
if ($accessobject->check_view_access('DefaultKeywords')) if ($accessobject->check_view_access('DefaultKeywords'))
$menuitems['definitions']['children']['default_keywords'] = array('link'=>"../out/out.DefaultKeywords.php", 'label'=>getMLText('global_default_keywords')); $menuitems['definitions']['children']['default_keywords'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DefaultKeywords.php", 'label'=>getMLText('global_default_keywords'));
if ($accessobject->check_view_access('Categories')) if ($accessobject->check_view_access('Categories'))
$menuitems['definitions']['children']['document_categories'] = array('link'=>"../out/out.Categories.php", 'label'=>getMLText('global_document_categories')); $menuitems['definitions']['children']['document_categories'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Categories.php", 'label'=>getMLText('global_document_categories'));
if ($accessobject->check_view_access('AttributeMgr')) if ($accessobject->check_view_access('AttributeMgr'))
$menuitems['definitions']['children']['attribute_definitions'] = array('link'=>"../out/out.AttributeMgr.php", 'label'=>getMLText('global_attributedefinitions')); $menuitems['definitions']['children']['attribute_definitions'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AttributeMgr.php", 'label'=>getMLText('global_attributedefinitions'));
if ($accessobject->check_view_access('AttributeGroupMgr')) if ($accessobject->check_view_access('AttributeGroupMgr'))
$menuitems['definitions']['children']['attribute_definitiongroupss'] = array('link'=>"../out/out.AttributeGroupMgr.php", 'label'=>getMLText('global_attributedefinitiongroups')); $menuitems['definitions']['children']['attribute_definitiongroupss'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AttributeGroupMgr.php", 'label'=>getMLText('global_attributedefinitiongroups'));
if($this->params['workflowmode'] == 'advanced') { if($this->params['workflowmode'] == 'advanced') {
if ($accessobject->check_view_access('WorkflowMgr')) if ($accessobject->check_view_access('WorkflowMgr'))
$menuitems['definitions']['children']['workflows'] = array('link'=>"../out/out.WorkflowMgr.php", 'label'=>getMLText('global_workflows')); $menuitems['definitions']['children']['workflows'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowMgr.php", 'label'=>getMLText('global_workflows'));
if ($accessobject->check_view_access('WorkflowStatesMgr')) if ($accessobject->check_view_access('WorkflowStatesMgr'))
$menuitems['definitions']['children']['workflow_states'] = array('link'=>"../out/out.WorkflowStatesMgr.php", 'label'=>getMLText('global_workflow_states')); $menuitems['definitions']['children']['workflow_states'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowStatesMgr.php", 'label'=>getMLText('global_workflow_states'));
if ($accessobject->check_view_access('WorkflowActionsMgr')) if ($accessobject->check_view_access('WorkflowActionsMgr'))
$menuitems['definitions']['children']['workflow_actions'] = array('link'=>"../out/out.WorkflowActionsMgr.php", 'label'=>getMLText('global_workflow_actions')); $menuitems['definitions']['children']['workflow_actions'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowActionsMgr.php", 'label'=>getMLText('global_workflow_actions'));
} }
} }
@ -968,47 +980,47 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if($accessobject->check_view_access(array('Indexer', 'CreateIndex', 'IndexInfo'))) { if($accessobject->check_view_access(array('Indexer', 'CreateIndex', 'IndexInfo'))) {
$menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch')); $menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch'));
if ($accessobject->check_view_access('Indexer')) if ($accessobject->check_view_access('Indexer'))
$menuitems['fulltext']['children']['update_fulltext_index'] = array('link'=>"../out/out.Indexer.php", 'label'=>getMLText('update_fulltext_index')); $menuitems['fulltext']['children']['update_fulltext_index'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php", 'label'=>getMLText('update_fulltext_index'));
if ($accessobject->check_view_access('CreateIndex')) if ($accessobject->check_view_access('CreateIndex'))
$menuitems['fulltext']['children']['create_fulltext_index'] = array('link'=>"../out/out.CreateIndex.php", 'label'=>getMLText('create_fulltext_index')); $menuitems['fulltext']['children']['create_fulltext_index'] = array('link'=>$this->params['settings']->_httpRoot."out/out.CreateIndex.php", 'label'=>getMLText('create_fulltext_index'));
if ($accessobject->check_view_access('IndexInfo')) if ($accessobject->check_view_access('IndexInfo'))
$menuitems['fulltext']['children']['fulltext_info'] = array('link'=>"../out/out.IndexInfo.php", 'label'=>getMLText('fulltext_info')); $menuitems['fulltext']['children']['fulltext_info'] = array('link'=>$this->params['settings']->_httpRoot."out/out.IndexInfo.php", 'label'=>getMLText('fulltext_info'));
} }
} }
if($accessobject->check_view_access(array('BackupTools', 'LogManagement'))) { if($accessobject->check_view_access(array('BackupTools', 'LogManagement'))) {
$menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management')); $menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management'));
if ($accessobject->check_view_access('BackupTools')) if ($accessobject->check_view_access('BackupTools'))
$menuitems['backup_log_management']['children'][] = array('link'=>"../out/out.BackupTools.php", 'label'=>getMLText('backup_tools')); $menuitems['backup_log_management']['children'][] = array('link'=>$this->params['settings']->_httpRoot."out/out.BackupTools.php", 'label'=>getMLText('backup_tools'));
if ($this->params['logfileenable']) if ($this->params['logfileenable'])
if ($accessobject->check_view_access('LogManagement')) if ($accessobject->check_view_access('LogManagement'))
$menuitems['backup_log_management']['children'][] = array('link'=>"../out/out.LogManagement.php", 'label'=>getMLText('log_management')); $menuitems['backup_log_management']['children'][] = array('link'=>$this->params['settings']->_httpRoot."out/out.LogManagement.php", 'label'=>getMLText('log_management'));
} }
if($accessobject->check_view_access(array('ImportFS', 'ImportUsers', 'Statistic', 'Charts', 'Timeline', 'ObjectCheck', 'ExtensionMgr', 'Info'))) { if($accessobject->check_view_access(array('ImportFS', 'ImportUsers', 'Statistic', 'Charts', 'Timeline', 'ObjectCheck', 'ExtensionMgr', 'Info'))) {
$menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc')); $menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc'));
if ($accessobject->check_view_access('ImportFS')) if ($accessobject->check_view_access('ImportFS'))
$menuitems['misc']['children']['import_fs'] = array('link'=>"../out/out.ImportFS.php", 'label'=>getMLText('import_fs')); $menuitems['misc']['children']['import_fs'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ImportFS.php", 'label'=>getMLText('import_fs'));
if ($accessobject->check_view_access('ImportUsers')) if ($accessobject->check_view_access('ImportUsers'))
$menuitems['misc']['children']['import_users'] = array('link'=>"../out/out.ImportUsers.php", 'label'=>getMLText('import_users')); $menuitems['misc']['children']['import_users'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ImportUsers.php", 'label'=>getMLText('import_users'));
if ($accessobject->check_view_access('Statistic')) if ($accessobject->check_view_access('Statistic'))
$menuitems['misc']['children']['folders_and_documents_statistic'] = array('link'=>"../out/out.Statistic.php", 'label'=>getMLText('folders_and_documents_statistic')); $menuitems['misc']['children']['folders_and_documents_statistic'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Statistic.php", 'label'=>getMLText('folders_and_documents_statistic'));
if ($accessobject->check_view_access('Charts')) if ($accessobject->check_view_access('Charts'))
$menuitems['misc']['children']['charts'] = array('link'=>"../out/out.Charts.php", 'label'=>getMLText('charts')); $menuitems['misc']['children']['charts'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Charts.php", 'label'=>getMLText('charts'));
if ($accessobject->check_view_access('Timeline')) if ($accessobject->check_view_access('Timeline'))
$menuitems['misc']['children']['timeline'] = array('link'=>"../out/out.Timeline.php", 'label'=>getMLText('timeline')); $menuitems['misc']['children']['timeline'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Timeline.php", 'label'=>getMLText('timeline'));
if ($accessobject->check_view_access('SchedulerTaskMgr')) if ($accessobject->check_view_access('SchedulerTaskMgr'))
$menuitems['misc']['children']['schedulertaskmgr'] = array('link'=>"../out/out.SchedulerTaskMgr.php", 'label'=>getMLText('scheduler_task_mgr')); $menuitems['misc']['children']['schedulertaskmgr'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SchedulerTaskMgr.php", 'label'=>getMLText('scheduler_task_mgr'));
if ($accessobject->check_view_access('ObjectCheck')) if ($accessobject->check_view_access('ObjectCheck'))
$menuitems['misc']['children']['objectcheck'] = array('link'=>"../out/out.ObjectCheck.php", 'label'=>getMLText('objectcheck')); $menuitems['misc']['children']['objectcheck'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ObjectCheck.php", 'label'=>getMLText('objectcheck'));
if ($accessobject->check_view_access('ExpiredDocuments')) if ($accessobject->check_view_access('ExpiredDocuments'))
$menuitems['misc']['children']['documents_expired'] = array('link'=>"../out/out.ExpiredDocuments.php", 'label'=>getMLText('documents_expired')); $menuitems['misc']['children']['documents_expired'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ExpiredDocuments.php", 'label'=>getMLText('documents_expired'));
if ($accessobject->check_view_access('ExtensionMgr')) if ($accessobject->check_view_access('ExtensionMgr'))
$menuitems['misc']['children']['extension_manager'] = array('link'=>"../out/out.ExtensionMgr.php", 'label'=>getMLText('extension_manager')); $menuitems['misc']['children']['extension_manager'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ExtensionMgr.php", 'label'=>getMLText('extension_manager'));
if ($accessobject->check_view_access('ClearCache')) if ($accessobject->check_view_access('ClearCache'))
$menuitems['misc']['children']['clear_cache'] = array('link'=>"../out/out.ClearCache.php", 'label'=>getMLText('clear_cache')); $menuitems['misc']['children']['clear_cache'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ClearCache.php", 'label'=>getMLText('clear_cache'));
if ($accessobject->check_view_access('Info')) if ($accessobject->check_view_access('Info'))
$menuitems['misc']['children']['version_info'] = array('link'=>"../out/out.Info.php", 'label'=>getMLText('version_info')); $menuitems['misc']['children']['version_info'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Info.php", 'label'=>getMLText('version_info'));
} }
if ($settings->_enableDebugMode) { if ($settings->_enableDebugMode) {
@ -1029,15 +1041,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarOldNavigationBar($d){ /* {{{ */ private function calendarOldNavigationBar($d){ /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$ds="&day=".$d[0]."&month=".$d[1]."&year=".$d[2]; $ds="&day=".$d[0]."&month=".$d[1]."&year=".$d[2];
echo "<id=\"first\"><a href=\"../out/out.CalendarOld.php?mode=y\" class=\"brand\">".getMLText("calendar")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=y\" class=\"brand\">".getMLText("calendar")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
echo "<ul class=\"nav\">\n"; echo "<ul class=\"nav\">\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=w".$ds."\">".getMLText("week_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=w".$ds."\">".getMLText("week_view")."</a></li>\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=m".$ds."\">".getMLText("month_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=m".$ds."\">".getMLText("month_view")."</a></li>\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=y".$ds."\">".getMLText("year_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=y".$ds."\">".getMLText("year_view")."</a></li>\n";
if($accessobject->check_view_access(array('AddEvent'))) if($accessobject->check_view_access(array('AddEvent')))
echo "<li><a href=\"../out/out.AddEvent.php\">".getMLText("add_event")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.AddEvent.php\">".getMLText("add_event")."</a></li>\n";
echo "</ul>\n"; echo "</ul>\n";
echo "</div>\n"; echo "</div>\n";
return; return;
@ -1046,12 +1058,12 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarNavigationBar($d){ /* {{{ */ private function calendarNavigationBar($d){ /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
echo "<id=\"first\"><a href=\"../out/out.Calendar.php\" class=\"brand\">".getMLText("calendar")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.Calendar.php\" class=\"brand\">".getMLText("calendar")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
$menuitems = array(); $menuitems = array();
if($accessobject->check_view_access(array('AddEvent'))) if($accessobject->check_view_access(array('AddEvent')))
$menuitems['addevent'] = array('link'=>"../out/out.AddEvent.php", 'label'=>getMLText('add_event')); $menuitems['addevent'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddEvent.php", 'label'=>getMLText('add_event'));
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
if($this->hasHook('calendarNavigationBar')) if($this->hasHook('calendarNavigationBar'))
@ -1492,7 +1504,7 @@ $(document).ready(function() {
<div id="'.$id.'-upload-files"> <div id="'.$id.'-upload-files">
<div id="'.$id.'-upload-file" class="upload-file"> <div id="'.$id.'-upload-file" class="upload-file">
<div class="input-append"> <div class="input-append">
<input type="text" class="form-control" id="kkll'.$id.'" readonly> <input type="text" class="form-control fileupload-group" id="kkll'.$id.'" readonly>
<span class="btn btn-secondary btn-file"> <span class="btn btn-secondary btn-file">
'.getMLText("browse").'&hellip; <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").' data-target-highlight="kkll'.$id.'"> '.getMLText("browse").'&hellip; <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").' data-target-highlight="kkll'.$id.'">
</span> </span>
@ -1610,7 +1622,8 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'docChooser'.$formid, 'target' => 'docChooser'.$formid,
'remote' => "../out/out.DocumentChooser.php?form=".$formid."&folderid=".$folderid."&partialtree=".$partialtree, 'remote' => $this->params['settings']->_httpRoot."out/out.DocumentChooser.php?form=".$formid."&folderid=".$folderid."&partialtree=".$partialtree,
'class' => 'btn btn-secondary',
'title' => getMLText('document').'…' 'title' => getMLText('document').'…'
)); ));
$content .= "</div>\n"; $content .= "</div>\n";
@ -1674,7 +1687,8 @@ function folderSelected<?php echo $formid ?>(id, name) {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'folderChooser'.$formid, 'target' => 'folderChooser'.$formid,
'remote' => "../out/out.FolderChooser.php?form=".$formid."&mode=".$accessMode."&exclude=".$exclude, 'remote' => $this->params['settings']->_httpRoot."out/out.FolderChooser.php?form=".$formid."&mode=".$accessMode."&exclude=".$exclude,
'class' => 'btn btn-secondary',
'title' => getMLText('folder').'…' 'title' => getMLText('folder').'…'
)); ));
} }
@ -1746,7 +1760,8 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'keywordChooser', 'target' => 'keywordChooser',
'remote' => "../out/out.KeywordChooser.php?target=".$formName, 'remote' => $this->params['settings']->_httpRoot."out/out.KeywordChooser.php?target=".$formName,
'class' => 'btn btn-secondary',
'title' => getMLText('keywords').'…' 'title' => getMLText('keywords').'…'
)); ));
$content .= ' $content .= '
@ -1819,7 +1834,7 @@ $(document).ready(function() {
$tmp = array(); $tmp = array();
foreach($attrs as $attr) { foreach($attrs as $attr) {
if($targetfolder = $dms->getFolder(intval($attr))) if($targetfolder = $dms->getFolder(intval($attr)))
$tmp[] = '<a href="../out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>'; $tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
} }
return implode('<br />', $tmp); return implode('<br />', $tmp);
break; break;
@ -1828,7 +1843,7 @@ $(document).ready(function() {
$tmp = array(); $tmp = array();
foreach($attrs as $attr) { foreach($attrs as $attr) {
if($targetdoc = $dms->getDocument(intval($attr))) if($targetdoc = $dms->getDocument(intval($attr)))
$tmp[] = '<a href="../out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>'; $tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
} }
return implode('<br />', $tmp); return implode('<br />', $tmp);
break; break;
@ -1992,12 +2007,13 @@ $(document).ready(function() {
function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */ function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */
$content = "<div class=\"input-append\">\n"; $content = "<div class=\"input-append\">\n";
$content .= "<input readonly type=\"text\" id=\"dropfolderfile".$formName."\" name=\"dropfolderfile".$formName."\" value=\"".htmlspecialchars($dropfolderfile)."\">"; $content .= "<input readonly type=\"text\" class=\"fileupload-group\" id=\"dropfolderfile".$formName."\" name=\"dropfolderfile".$formName."\" value=\"".htmlspecialchars($dropfolderfile)."\">";
$content .= "<button type=\"button\" class=\"btn\" id=\"clearfilename".$formName."\"><i class=\"fa fa-remove\"></i></button>"; $content .= "<button type=\"button\" class=\"btn\" id=\"clearfilename".$formName."\"><i class=\"fa fa-remove\"></i></button>";
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'dropfolderChooser', 'target' => 'dropfolderChooser',
'remote' => "../out/out.DropFolderChooser.php?form=".$formName."&dropfolderfile=".urlencode($dropfolderfile)."&showfolders=".$showfolders, 'remote' => $this->params['settings']->_httpRoot."out/out.DropFolderChooser.php?form=".$formName."&dropfolderfile=".urlencode($dropfolderfile)."&showfolders=".$showfolders,
'class' => 'btn btn-secondary',
'title' => ($showfolders ? getMLText("choose_target_folder"): getMLText("choose_target_file")).'…' 'title' => ($showfolders ? getMLText("choose_target_folder"): getMLText("choose_target_file")).'…'
)); ));
$content .= "</div>\n"; $content .= "</div>\n";
@ -2384,19 +2400,19 @@ $(function() {
*/ */
function __printTreeNavigation($folderid, $showtree){ /* {{{ */ function __printTreeNavigation($folderid, $showtree){ /* {{{ */
if ($showtree==1){ if ($showtree==1){
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true);
$this->contentContainerStart(); $this->contentContainerStart();
?> ?>
<script language="JavaScript"> <script language="JavaScript">
function folderSelected(id, name) { function folderSelected(id, name) {
window.location = '../out/out.ViewFolder.php?folderid=' + id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewFolder.php?folderid=' + id;
} }
</script> </script>
<?php <?php
$this->printNewTreeNavigation($folderid, M_READ, 0, ''); $this->printNewTreeNavigation($folderid, M_READ, 0, '');
$this->contentContainerEnd(); $this->contentContainerEnd();
} else { } else {
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true);
} }
} /* }}} */ } /* }}} */
@ -2475,7 +2491,7 @@ $(function() {
\"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_document")."\", \"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_document")."\",
\"class\" : \"btn-danger\", \"class\" : \"btn-danger\",
\"callback\": function() { \"callback\": function() {
$.get('../op/op.Ajax.php', $.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: formtoken }, { command: 'deletedocument', id: id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2549,7 +2565,7 @@ $(function() {
\"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_folder")."\", \"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_folder")."\",
\"class\" : \"btn-danger\", \"class\" : \"btn-danger\",
\"callback\": function() { \"callback\": function() {
$.get('../op/op.Ajax.php', $.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: formtoken }, { command: 'deletefolder', id: id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2616,9 +2632,9 @@ $(function() {
$content = ''; $content = '';
$objid = $object->getId(); $objid = $object->getId();
if($object->isType('document')) { if($object->isType('document')) {
$content .= '<a class="access-document-btn" href="../out/out.DocumentAccess.php?documentid='.$objid.'" title="'.getMLText('edit_document_access').'"><i class="fa fa-bolt"></i></a>'; $content .= '<a class="access-document-btn" href="'.$this->params['settings']->_httpRoot.'out/out.DocumentAccess.php?documentid='.$objid.'" title="'.getMLText('edit_document_access').'"><i class="fa fa-bolt"></i></a>';
} elseif($object->isType('folder')) { } elseif($object->isType('folder')) {
$content .= '<a class="access-folder-btn" href="../out/out.FolderAccess.php?folderid='.$objid.'" title="'.getMLText('edit_folder_access').'"><i class="fa fa-bolt"></i></a>'; $content .= '<a class="access-folder-btn" href="'.$this->params['settings']->_httpRoot.'out/out.FolderAccess.php?folderid='.$objid.'" title="'.getMLText('edit_folder_access').'"><i class="fa fa-bolt"></i></a>';
} }
if($return) if($return)
return $content; return $content;
@ -2830,7 +2846,7 @@ $(document).ready( function() {
\"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_attr_value")."\", \"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_attr_value")."\",
\"class\" : \"btn-danger\", \"class\" : \"btn-danger\",
\"callback\": function() { \"callback\": function() {
$.post('../op/op.AttributeMgr.php', $.post('".$this->params['settings']->_httpRoot."op/op.AttributeMgr.php',
{ action: 'removeattrvalue', attrdefid: id, attrvalue: attrvalue, formtoken: formtoken }, { action: 'removeattrvalue', attrdefid: id, attrvalue: attrvalue, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2878,7 +2894,7 @@ $('body').on('click', '[id^=\"table-row-document\"] td:nth-child(2)', function(e
$(ev.currentTarget).parent().toggleClass('selected'); $(ev.currentTarget).parent().toggleClass('selected');
} else { } else {
attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3];
window.location = '../out/out.ViewDocument.php?documentid=' + attr_id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewDocument.php?documentid=' + attr_id;
} }
}); });
<?php <?php
@ -2905,7 +2921,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
attr_id = $(ev.currentTarget).parent().data('target-id'); attr_id = $(ev.currentTarget).parent().data('target-id');
if(typeof attr_id == 'undefined') if(typeof attr_id == 'undefined')
attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3];
window.location = '../out/out.ViewFolder.php?folderid=' + attr_id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewFolder.php?folderid=' + attr_id;
} }
}); });
<?php <?php
@ -3021,9 +3037,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<td>"; $content .= "<td>";
if (file_exists($dms->contentDir . $latestContent->getPath())) { if (file_exists($dms->contentDir . $latestContent->getPath())) {
if($accessop->check_controller_access('Download', array('action'=>'version'))) if($accessop->check_controller_access('Download', array('action'=>'version')))
$content .= "<a draggable=\"false\" href=\"../op/op.Download.php?documentid=".$docID."&version=".$version."\">"; $content .= "<a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$docID."&version=".$version."\">";
if($previewer->hasPreview($latestContent)) { if($previewer->hasPreview($latestContent)) {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else { } else {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} }
@ -3037,7 +3053,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
if($onepage) if($onepage)
$content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>"; $content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>";
else else
$content .= "<a draggable=\"false\" href=\"../out/out.ViewDocument.php?documentid=".$docID."&showtree=".$showtree."\">" . htmlspecialchars($document->getName()) . "</a>"; $content .= "<a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$docID."&showtree=".$showtree."\">" . htmlspecialchars($document->getName()) . "</a>";
if(isset($extracontent['below_title'])) if(isset($extracontent['below_title']))
$content .= $extracontent['below_title']; $content .= $extracontent['below_title'];
$content .= "<br />"; $content .= "<br />";
@ -3142,7 +3158,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
} }
} }
if($document->getAccessMode($user) >= M_READWRITE) { if($document->getAccessMode($user) >= M_READWRITE) {
$content .= '<a href="../out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
} else { } else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>'; $content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
} }
@ -3156,7 +3172,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)
$content .= '<a href="../out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
if(!empty($extracontent['end_action_list'])) if(!empty($extracontent['end_action_list']))
$content .= $extracontent['end_action_list']; $content .= $extracontent['end_action_list'];
$content .= "</div>"; $content .= "</div>";
@ -3225,11 +3241,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content = ''; $content = '';
if(!$skipcont) if(!$skipcont)
$content .= $this->folderListRowStart($subFolder); $content .= $this->folderListRowStart($subFolder);
$content .= "<td><a draggable=\"false\" href=\"../out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\"><img draggable=\"false\" src=\"".$this->getMimeIcon(".folder")."\" width=\"24\" height=\"24\" border=0></a></td>\n"; $content .= "<td><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\"><img draggable=\"false\" src=\"".$this->getMimeIcon(".folder")."\" width=\"24\" height=\"24\" border=0></a></td>\n";
if($onepage) if($onepage)
$content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>"; $content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>";
else else
$content .= "<td class=\"wordbreak\"><a draggable=\"false\" href=\"../out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . "</a>"; $content .= "<td class=\"wordbreak\"><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . "</a>";
if(isset($extracontent['below_title'])) if(isset($extracontent['below_title']))
$content .= $extracontent['below_title']; $content .= $extracontent['below_title'];
$content .= "<br /><span style=\"font-size: 85%; font-style: italic; color: #666;\">".getMLText('owner').": <b>".htmlspecialchars($owner->getFullName())."</b>, ".getMLText('creation_date').": <b>".date('Y-m-d', $subFolder->getDate())."</b></span>"; $content .= "<br /><span style=\"font-size: 85%; font-style: italic; color: #666;\">".getMLText('owner').": <b>".htmlspecialchars($owner->getFullName())."</b>, ".getMLText('creation_date').": <b>".date('Y-m-d', $subFolder->getDate())."</b></span>";
@ -3309,7 +3325,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
} }
if ($accessop->check_view_access('EditFolder')) { if ($accessop->check_view_access('EditFolder')) {
if($subFolderAccessMode >= M_READWRITE) { if($subFolderAccessMode >= M_READWRITE) {
$content .= '<a class_="btn btn-mini" href="../out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>'; $content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
} else { } else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>'; $content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
} }
@ -3321,7 +3337,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)
$content .= '<a href="../out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
if(!empty($extracontent['end_action_list'])) if(!empty($extracontent['end_action_list']))
$content .= $extracontent['end_action_list']; $content .= $extracontent['end_action_list'];
$content .= "</div>"; $content .= "</div>";
@ -3593,14 +3609,14 @@ $(document).ready(function() {
if($accessop->check_controller_access('Download', array('action'=>'review'))) if($accessop->check_controller_access('Download', array('action'=>'review')))
if($rec['file']) { if($rec['file']) {
echo "<br />"; echo "<br />";
echo "<a href=\"../op/op.Download.php?documentid=".$document->getID()."&reviewlogid=".$rec['reviewLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$document->getID()."&reviewlogid=".$rec['reviewLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
break; break;
case "approval": case "approval":
if($accessop->check_controller_access('Download', array('action'=>'approval'))) if($accessop->check_controller_access('Download', array('action'=>'approval')))
if($rec['file']) { if($rec['file']) {
echo "<br />"; echo "<br />";
echo "<a href=\"../op/op.Download.php?documentid=".$document->getID()."&approvelogid=".$rec['approveLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$document->getID()."&approvelogid=".$rec['approveLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
break; break;
} }

View File

@ -208,7 +208,7 @@ $(document).ready( function() {
$this->columnStart(3); $this->columnStart(3);
$this->contentHeading(getMLText("chart_selection")); $this->contentHeading(getMLText("chart_selection"));
$this->contentContainerStart(); $this->contentContainerStart();
foreach(array('docsperuser', 'sizeperuser', 'docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) { foreach(array('docsperuser', 'foldersperuser', 'sizeperuser', 'docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n"; echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
} }
$this->contentContainerEnd(); $this->contentContainerEnd();
@ -235,6 +235,7 @@ $(document).ready( function() {
switch($type) { switch($type) {
case 'docspermonth': case 'docspermonth':
case 'docsperuser': case 'docsperuser':
case 'foldersperuser':
case 'docspermimetype': case 'docspermimetype':
case 'docspercategory': case 'docspercategory':
case 'docsperstatus': case 'docsperstatus':

View File

@ -61,24 +61,24 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($clipboard['folders'] as $folderid) { foreach($clipboard['folders'] as $folderid) {
if($folder = $this->params['dms']->getFolder($folderid)) { if($folder = $this->params['dms']->getFolder($folderid)) {
$content .= " <li><a href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\" class=\"table-row-folder droptarget\" data-droptarget=\"folder_".$folder->getID()."\" rel=\"folder_".$folder->getID()."\" data-name=\"".htmlspecialchars($folder->getName(), ENT_QUOTES)."\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\"><i class=\"fa fa-folder-o\"></i> ".htmlspecialchars($folder->getName())."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID()."\" class=\"table-row-folder droptarget\" data-droptarget=\"folder_".$folder->getID()."\" rel=\"folder_".$folder->getID()."\" data-name=\"".htmlspecialchars($folder->getName(), ENT_QUOTES)."\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\"><i class=\"fa fa-folder-o\"></i> ".htmlspecialchars($folder->getName())."</a></li>\n";
$subitems[] = array('label'=>'<i class="fa fa-folder-o"></i> '.$folder->getName(), 'link'=>"../out/out.ViewFolder.php?folderid=".$folder->getID(), 'class'=>"table-row-folder droptarget", 'rel'=>"folder_".$folder->getID(), 'attributes'=>array(array('data-droptarget', "folder_".$folder->getID()), array('data-name', htmlspecialchars($folder->getName(), ENT_QUOTES)))); $subitems[] = array('label'=>'<i class="fa fa-folder-o"></i> '.$folder->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(), 'class'=>"table-row-folder droptarget", 'rel'=>"folder_".$folder->getID(), 'attributes'=>array(array('data-droptarget', "folder_".$folder->getID()), array('data-name', htmlspecialchars($folder->getName(), ENT_QUOTES))));
} }
} }
foreach($clipboard['docs'] as $docid) { foreach($clipboard['docs'] as $docid) {
if($document = $this->params['dms']->getDocument($docid)) if($document = $this->params['dms']->getDocument($docid))
$content .= " <li><a href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\" class=\"table-row-document droptarget\" data-droptarget=\"document_".$document->getID()."\" rel=\"document_".$document->getID()."\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\" formtoken=\"".createFormKey('')."\"><i class=\"fa fa-file\"></i> ".htmlspecialchars($document->getName())."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."\" class=\"table-row-document droptarget\" data-droptarget=\"document_".$document->getID()."\" rel=\"document_".$document->getID()."\" data-name=\"".htmlspecialchars($document->getName(), ENT_QUOTES)."\" formtoken=\"".createFormKey('')."\"><i class=\"fa fa-file\"></i> ".htmlspecialchars($document->getName())."</a></li>\n";
$subitems[] = array('label'=>'<i class="fa fa-file"></i> '.$document->getName(), 'link'=>"../out/out.ViewDocument.php?documentid=".$document->getID(), 'class'=>"table-row-document droptarget", 'rel'=>"document_".$document->getID(), 'attributes'=>array(array('data-droptarget', "document_".$document->getID()), array('data-name', htmlspecialchars($document->getName(), ENT_QUOTES)))); $subitems[] = array('label'=>'<i class="fa fa-file"></i> '.$document->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(), 'class'=>"table-row-document droptarget", 'rel'=>"document_".$document->getID(), 'attributes'=>array(array('data-droptarget', "document_".$document->getID()), array('data-name', htmlspecialchars($document->getName(), ENT_QUOTES))));
} }
$content .= " <li class=\"divider\"></li>\n"; $content .= " <li class=\"divider\"></li>\n";
$subitems[] = array('divider'=>true); $subitems[] = array('divider'=>true);
if(isset($this->params['folder']) && $this->params['folder']->getAccessMode($this->params['user']) >= M_READWRITE) { if(isset($this->params['folder']) && $this->params['folder']->getAccessMode($this->params['user']) >= M_READWRITE) {
$content .= " <li><a href=\"../op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode('../out/out.ViewFolder.php?folderid='.$this->params['folder']->getID())."\">".getMLText("move_clipboard")."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode($this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$this->params['folder']->getID())."\">".getMLText("move_clipboard")."</a></li>\n";
$subitems[] = array('label'=>getMLText("move_clipboard"), 'link'=>"../op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode('../out/out.ViewFolder.php?folderid='.$this->params['folder']->getID())); $subitems[] = array('label'=>getMLText("move_clipboard"), 'link'=>$this->params['settings']->_httpRoot."op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode($this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$this->params['folder']->getID()));
} }
// $content .= " <li><a href=\"../op/op.ClearClipboard.php?refferer=".urlencode($this->params['refferer'])."\">".getMLText("clear_clipboard")."</a><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">kkk</a> </li>\n"; // $content .= " <li><a href=\"../op/op.ClearClipboard.php?refferer=".urlencode($this->params['refferer'])."\">".getMLText("clear_clipboard")."</a><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">kkk</a> </li>\n";
// $content .= " <li><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</a></li>\n"; // $content .= " <li><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</a></li>\n";
$subitems[] = array('label'=>getMLText('clear_clipboard'), 'attributes'=>array(array('class', 'ajax-click'), array('data-href', '../op/op.Ajax.php'), array('data-param1', 'command=clearclipboard'))); $subitems[] = array('label'=>getMLText('clear_clipboard'), 'attributes'=>array(array('class', 'ajax-click'), array('data-href', $this->params['settings']->_httpRoot.'op/op.Ajax.php'), array('data-param1', 'command=clearclipboard')));
if($this->hasHook('clipboardMenuItems')) if($this->hasHook('clipboardMenuItems'))
$subitems = $this->callHook('clipboardMenuItems', $clipboard, $subitems); $subitems = $this->callHook('clipboardMenuItems', $clipboard, $subitems);
/* /*
@ -157,9 +157,9 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$content .= $this->documentListRowStart($document); $content .= $this->documentListRowStart($document);
if (file_exists($dms->contentDir . $latestContent->getPath())) { if (file_exists($dms->contentDir . $latestContent->getPath())) {
$content .= "<td><a draggable=\"false\" href=\"../op/op.Download.php?documentid=".$document->getID()."&version=".$version."\">"; $content .= "<td><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$document->getID()."&version=".$version."\">";
if($previewer->hasPreview($latestContent)) { if($previewer->hasPreview($latestContent)) {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"40\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"40\"src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else { } else {
$content .= "<img draggable=\"false\" class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} }
@ -176,7 +176,7 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$content .= $this->getListRowPath($document); $content .= $this->getListRowPath($document);
$content .= "</td>\n"; $content .= "</td>\n";
$content .= "<td>\n"; $content .= "<td>\n";
$content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"D".$document->getID()."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"../op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$document->getID()."&type=document\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>"; $content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"D".$document->getID()."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"".$this->params['settings']->_httpRoot."op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$document->getID()."&type=document\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>";
$content .= "</td>\n"; $content .= "</td>\n";
$content .= "</tr>"; $content .= "</tr>";
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/** /**
* Implementation of CategoryChooser view * Implementation of DropFolderChooser view
* *
* @category DMS * @category DMS
* @package SeedDMS * @package SeedDMS
@ -24,7 +24,7 @@
require_once("SeedDMS/Preview.php"); require_once("SeedDMS/Preview.php");
/** /**
* Class which outputs the html page for CategoryChooser view * Class which outputs the html page for DropFolderChooser view
* *
* @category DMS * @category DMS
* @package SeedDMS * @package SeedDMS
@ -55,6 +55,7 @@ $('.folderselect').click(function(ev) {
public function menuList() { /* {{{ */ public function menuList() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$user = $this->params['user']; $user = $this->params['user'];
$settings = $this->params['settings'];
$dropfolderdir = $this->params['dropfolderdir']; $dropfolderdir = $this->params['dropfolderdir'];
$showfolders = $this->params['showfolders']; $showfolders = $this->params['showfolders'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
@ -82,13 +83,13 @@ $('.folderselect').click(function(ev) {
$c++; $c++;
$subitem = array('label'=>'', 'attributes'=>array(array('title', getMLText('menu_upload_from_dropfolder')))); $subitem = array('label'=>'', 'attributes'=>array(array('title', getMLText('menu_upload_from_dropfolder'))));
if($folder) if($folder)
$subitem['link'] = '../out/out.AddDocument.php?folderid='.$folder->getId()."&dropfolderfileform1=".urldecode($entry); $subitem['link'] = $settings->_httpRoot.'out/out.AddDocument.php?folderid='.$folder->getId()."&dropfolderfileform1=".urldecode($entry);
$mimetype = finfo_file($finfo, $dir.'/'.$entry); $mimetype = finfo_file($finfo, $dir.'/'.$entry);
if(file_exists($dir.'/'.$entry)) { if(file_exists($dir.'/'.$entry)) {
if($previewwidth) { if($previewwidth) {
$previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); $previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype);
if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) {
$subitem['label'] .= "<div class=\"dropfolder-menu-img\" style=\"display: none; overflow:hidden; position: absolute; left:-".($previewwidth+10)."px; border: 1px solid #888;background: white;\"><img filename=\"".$entry."\" width=\"".$previewwidth."\" src=\"../op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\"></div>"; $subitem['label'] .= "<div class=\"dropfolder-menu-img\" style=\"display: none; overflow:hidden; position: absolute; left:-".($previewwidth+10)."px; border: 1px solid #888;background: white;\"><img filename=\"".$entry."\" width=\"".$previewwidth."\" src=\"".$settings->_httpRoot."op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\"></div>";
} }
} }
$subitem['label'] .= "<div class=\"dropfolder-menu-text\" style=\"margin-left:10px; margin-right: 10px; display:inline-block;\">".$entry."<br /><span style=\"font-size: 85%;\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</span></div>"; $subitem['label'] .= "<div class=\"dropfolder-menu-text\" style=\"margin-left:10px; margin-right: 10px; display:inline-block;\">".$entry."<br /><span style=\"font-size: 85%;\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</span></div>";
@ -157,7 +158,7 @@ $('.folderselect').click(function(ev) {
echo "</table>\n"; echo "</table>\n";
echo '<script src="../out/out.DropFolderChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n"; echo '<script src="../out/out.DropFolderChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
} else { } else {
echo "<div class=\"alert alert-danger\">".getMLText('invalid_dropfolder_folder')."</div>"; echo $this->errorMsg(getMLText('invalid_dropfolder_folder'));
} }
} }
} /* }}} */ } /* }}} */

View File

@ -0,0 +1,126 @@
<?php
/**
* Implementation of RemoveApprovalLog view
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Include parent class
*/
//require_once("class.Bootstrap.php");
/**
* Class which outputs the html page for RemoveApprovalLog view
*
* @category DMS
* @package SeedDMS
* @author Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_View_RemoveApprovalLog extends SeedDMS_Theme_Style {
function js() { /* {{{ */
header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('js_form_error', 'js_form_errors'));
?>
$(document).ready(function() {
$("#form1").validate({
rules: {
comment: {
required: true
},
},
messages: {
comment: "<?php printMLText("js_no_comment");?>",
},
});
});
<?php
$this->printFileChooserJs();
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$content = $this->params['version'];
$approveid = $this->params['approveid'];
$approves = $content->getApprovalStatus();
foreach($approves as $approve) {
if($approve['approveID'] == $approveid) {
$approveStatus = $approve;
break;
}
}
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("remove_approval_log"));
$this->warningMsg(getMLText('warning_remove_approval_log'));
// Display the Approval form.
if($approveStatus["status"]!=0) {
print "<table class=\"table table-content table-sm\"><thead><tr>";
print "<th>".getMLText("status")."</th>";
print "<th>".getMLText("comment")."</th>";
print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>";
print "<td>";
printApprovalStatusText($approveStatus["status"]);
print "</td>";
print "<td>".htmlspecialchars($approveStatus["comment"])."</td>";
$indUser = $dms->getUser($approveStatus["userID"]);
print "<td>".$approveStatus["date"]." - ". htmlspecialchars($indUser->getFullname()) ."</td>";
print "</tr></tbody></table><br>\n";
}
?>
<form method="post" action="../op/op.RemoveApprovalLog.php" id="form1" name="form1">
<?php echo createHiddenFieldWithKey('removeapprovallog'); ?>
<?php
$this->contentContainerStart();
$this->formField(
getMLText("comment"),
array(
'element'=>'textarea',
'name'=>'comment',
'required'=>true,
'rows'=>4,
'cols'=>80
)
);
$this->contentContainerEnd();
$this->formSubmit('<i class="fa fa-remove"></i> '.getMLText('remove_approval_log'));
?>
<input type='hidden' name='approveid' value='<?= $approveid ?>'/>
<input type='hidden' name='documentid' value='<?= $document->getID() ?>'/>
<input type='hidden' name='version' value='<?= $content->getVersion() ?>'/>
</form>
<?php
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -0,0 +1,126 @@
<?php
/**
* Implementation of RemoveReviewLog view
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Include parent class
*/
//require_once("class.Bootstrap.php");
/**
* Class which outputs the html page for RemoveReviewLog view
*
* @category DMS
* @package SeedDMS
* @author Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_View_RemoveReviewLog extends SeedDMS_Theme_Style {
function js() { /* {{{ */
header('Content-Type: application/javascript; charset=UTF-8');
parent::jsTranslations(array('js_form_error', 'js_form_errors'));
?>
$(document).ready(function() {
$("#form1").validate({
rules: {
comment: {
required: true
},
},
messages: {
comment: "<?php printMLText("js_no_comment");?>",
},
});
});
<?php
$this->printFileChooserJs();
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$content = $this->params['version'];
$reviewid = $this->params['reviewid'];
$reviews = $content->getReviewStatus();
foreach($reviews as $review) {
if($review['reviewID'] == $reviewid) {
$reviewStatus = $review;
break;
}
}
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("remove_review_log"));
$this->warningMsg(getMLText('warning_remove_review_log'));
// Display the Review form.
if($reviewStatus["status"]!=0) {
print "<table class=\"table table-content table-sm\"><thead><tr>";
print "<th>".getMLText("status")."</th>";
print "<th>".getMLText("comment")."</th>";
print "<th>".getMLText("last_update")."</th>";
print "</tr></thead><tbody><tr>";
print "<td>";
printReviewStatusText($reviewStatus["status"]);
print "</td>";
print "<td>".htmlspecialchars($reviewStatus["comment"])."</td>";
$indUser = $dms->getUser($reviewStatus["userID"]);
print "<td>".$reviewStatus["date"]." - ". htmlspecialchars($indUser->getFullname()) ."</td>";
print "</tr></tbody></table><br>\n";
}
?>
<form method="post" action="../op/op.RemoveReviewLog.php" id="form1" name="form1">
<?php echo createHiddenFieldWithKey('removereviewlog'); ?>
<?php
$this->contentContainerStart();
$this->formField(
getMLText("comment"),
array(
'element'=>'textarea',
'name'=>'comment',
'required'=>true,
'rows'=>4,
'cols'=>80
)
);
$this->contentContainerEnd();
$this->formSubmit('<i class="fa fa-remove"></i> '.getMLText('remove_review_log'));
?>
<input type='hidden' name='reviewid' value='<?= $reviewid ?>'/>
<input type='hidden' name='documentid' value='<?= $document->getID() ?>'/>
<input type='hidden' name='version' value='<?= $content->getVersion() ?>'/>
</form>
<?php
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -97,7 +97,7 @@ $(document).ready(function() {
$reviewtype = ($reviewStatus['type'] == 0) ? 'ind' : 'grp'; $reviewtype = ($reviewStatus['type'] == 0) ? 'ind' : 'grp';
if($reviewStatus["status"]!=0) { if($reviewStatus["status"]!=0) {
print "<table class=\"folderView\"><thead><tr>"; print "<table class=\"table table-condensed table-sm\"><thead><tr>";
print "<th>".getMLText("status")."</th>"; print "<th>".getMLText("status")."</th>";
print "<th>".getMLText("comment")."</th>"; print "<th>".getMLText("comment")."</th>";
print "<th>".getMLText("last_update")."</th>"; print "<th>".getMLText("last_update")."</th>";

View File

@ -444,7 +444,8 @@ $(document).ready( function() {
echo getLongReadableDate(makeTsFromDate($task->getNextRun())); echo getLongReadableDate(makeTsFromDate($task->getNextRun()));
echo "</td>"; echo "</td>";
echo "<td>"; echo "<td>";
echo getLongReadableDate(makeTsFromDate($task->getLastRun())); if($task->getLastRun())
echo getLongReadableDate(makeTsFromDate($task->getLastRun()));
echo "</td>"; echo "</td>";
echo "<td nowrap>"; echo "<td nowrap>";
print "<div class=\"list-action\">"; print "<div class=\"list-action\">";

View File

@ -265,7 +265,7 @@ function typeahead() { /* {{{ */
// Database search Form {{{ // Database search Form {{{
?> ?>
<div class="tab-pane <?php echo ($fullsearch == false) ? 'active' : ''; ?>" id="database"> <div class="tab-pane <?php echo ($fullsearch == false) ? 'active' : ''; ?>" id="database">
<form class="form-horizontal" action="../out/out.Search.php" name="form1"> <form class="form-horizontal" action="<?= $this->params['settings']->_httpRoot ?>out/out.Search.php" name="form1">
<input type="hidden" name="fullsearch" value="0" /> <input type="hidden" name="fullsearch" value="0" />
<?php <?php
// General search options {{{ // General search options {{{
@ -605,7 +605,7 @@ function typeahead() { /* {{{ */
if($enablefullsearch) { if($enablefullsearch) {
echo "<div class=\"tab-pane ".(($fullsearch == true) ? 'active' : '')."\" id=\"fulltext\">\n"; echo "<div class=\"tab-pane ".(($fullsearch == true) ? 'active' : '')."\" id=\"fulltext\">\n";
?> ?>
<form action="../out/out.Search.php" name="form2" style="min-height: 330px;"> <form action="<?= $this->params['settings']->_httpRoot ?>out/out.Search.php" name="form2" style="min-height: 330px;">
<input type="hidden" name="fullsearch" value="1" /> <input type="hidden" name="fullsearch" value="1" />
<?php <?php
$this->contentContainerStart(); $this->contentContainerStart();

View File

@ -225,6 +225,19 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
<?php <?php
} /* }}} */ } /* }}} */
protected function showConfigFolder($title, $name, $allowempty=false, $multiple=false, $size=0) { /* {{{ */
$settings = $this->params['settings'];
$dms = $this->params['dms'];
?>
<tr title="<?= getMLText($title."_desc") ?>">
<td><?= getMLText($title) ?>:</td>
<td>
<?php $this->printFolderChooserHtml($name, M_READWRITE, -1, $dms->getFolder($settings->{"_".$name}), $name);?>
</td>
</tr>
<?php
} /* }}} */
function js() { /* {{{ */ function js() { /* {{{ */
$extmgr = $this->params['extmgr']; $extmgr = $this->params['extmgr'];
@ -360,10 +373,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigOption('settings_sortUsersInList', 'sortUsersInList', array(' '=>'settings_sortUsersInList_val_login', 'fullname'=>'settings_sortUsersInList_val_fullname'), false, true); ?> <?php $this->showConfigOption('settings_sortUsersInList', 'sortUsersInList', array(' '=>'settings_sortUsersInList_val_login', 'fullname'=>'settings_sortUsersInList_val_fullname'), false, true); ?>
<?php $this->showConfigOption('settings_sortFoldersDefault', 'sortFoldersDefault', array('u'=>'settings_sortFoldersDefault_val_unsorted', 's'=>'settings_sortFoldersDefault_val_sequence', 'n'=>'settings_sortFoldersDefault_val_name'), false, true); ?> <?php $this->showConfigOption('settings_sortFoldersDefault', 'sortFoldersDefault', array('u'=>'settings_sortFoldersDefault_val_unsorted', 's'=>'settings_sortFoldersDefault_val_sequence', 'n'=>'settings_sortFoldersDefault_val_name'), false, true); ?>
<?php $this->showConfigOption('settings_defaultDocPosition', 'defaultDocPosition', array('end'=>'settings_defaultDocPosition_val_end', 'start'=>'settings_defaultDocPosition_val_start'), false, true); ?> <?php $this->showConfigOption('settings_defaultDocPosition', 'defaultDocPosition', array('end'=>'settings_defaultDocPosition_val_end', 'start'=>'settings_defaultDocPosition_val_start'), false, true); ?>
<tr title="<?php printMLText("settings_libraryFolder_desc");?>"> <?php $this->showConfigFolder('settings_libraryFolder', 'libraryFolder'); ?>
<td><?php printMLText("settings_libraryFolder");?>:</td>
<td><?php $this->printFolderChooserHtml("form1", M_READWRITE, -1, $dms->getFolder($settings->_libraryFolder), 'libraryFolder');?></td>
</tr>
<!-- <!--
-- SETTINGS - SITE - WEBDAV -- SETTINGS - SITE - WEBDAV
@ -497,6 +507,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigCheckbox('settings_enableOwnerRevApp', 'enableOwnerRevApp'); ?> <?php $this->showConfigCheckbox('settings_enableOwnerRevApp', 'enableOwnerRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableSelfRevApp', 'enableSelfRevApp'); ?> <?php $this->showConfigCheckbox('settings_enableSelfRevApp', 'enableSelfRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableUpdateRevApp', 'enableUpdateRevApp'); ?> <?php $this->showConfigCheckbox('settings_enableUpdateRevApp', 'enableUpdateRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableRemoveRevApp', 'enableRemoveRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableSelfReceipt', 'enableSelfReceipt'); ?> <?php $this->showConfigCheckbox('settings_enableSelfReceipt', 'enableSelfReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableAdminReceipt', 'enableAdminReceipt'); ?> <?php $this->showConfigCheckbox('settings_enableAdminReceipt', 'enableAdminReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableOwnerReceipt', 'enableOwnerReceipt'); ?> <?php $this->showConfigCheckbox('settings_enableOwnerReceipt', 'enableOwnerReceipt'); ?>

View File

@ -307,7 +307,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($tasks['review'] as $t) { foreach($tasks['review'] as $t) {
$doc = $dms->getDocument($t['id']); $doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>$doc->getName(), 'link'=>"../out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID()); $subitems[] = array('label'=>$doc->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
} }
$menuitems['tasks']['children']['review'] = array('label'=>getMLText('documents_to_review'), 'children'=>$subitems); $menuitems['tasks']['children']['review'] = array('label'=>getMLText('documents_to_review'), 'children'=>$subitems);
@ -316,7 +316,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($tasks['approval'] as $t) { foreach($tasks['approval'] as $t) {
$doc = $dms->getDocument($t['id']); $doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>$doc->getName(), 'link'=>"../out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID()); $subitems[] = array('label'=>$doc->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
} }
$menuitems['tasks']['children']['approval'] = array('label'=>getMLText('documents_to_approve'), 'children'=>$subitems); $menuitems['tasks']['children']['approval'] = array('label'=>getMLText('documents_to_approve'), 'children'=>$subitems);
} }
@ -324,7 +324,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($tasks['workflow'] as $t) { foreach($tasks['workflow'] as $t) {
$doc = $dms->getDocument($t['id']); $doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>$doc->getName(), 'link'=>"../out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=workflow", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID()); $subitems[] = array('label'=>$doc->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=workflow", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
} }
$menuitems['tasks']['children']['workflow'] = array('label'=>getMLText('documents_to_trigger_workflow'), 'children'=>$subitems); $menuitems['tasks']['children']['workflow'] = array('label'=>getMLText('documents_to_trigger_workflow'), 'children'=>$subitems);
} }
@ -356,7 +356,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = []; $subitems = [];
foreach($tasks['rejected'] as $t) { foreach($tasks['rejected'] as $t) {
$doc = $dms->getDocument($t['id']); $doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>$doc->getName(), 'link'=>"../out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=docinfo", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID()); $subitems[] = array('label'=>$doc->getName(), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=docinfo", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
} }
$menuitems['tasks']['children']['rejected'] = array('label'=>getMLText('documents_rejected'), 'children'=>$subitems); $menuitems['tasks']['children']['rejected'] = array('label'=>getMLText('documents_rejected'), 'children'=>$subitems);
} }
@ -370,7 +370,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
} }
if ($accessobject->check_view_access('MyDocuments')) { if ($accessobject->check_view_access('MyDocuments')) {
$menuitems['tasks']['children']['divider'] = array('divider'=>true); $menuitems['tasks']['children']['divider'] = array('divider'=>true);
$menuitems['tasks']['children']['mydocuments'] = array('label'=>getMLText('my_documents'), 'link'=>'../out/out.MyDocuments.php'); $menuitems['tasks']['children']['mydocuments'] = array('label'=>getMLText('my_documents'), 'link'=>$this->params['settings']->_httpRoot.'out/out.MyDocuments.php');
} }
self::showNavigationBar($menuitems, array('right'=>true)); self::showNavigationBar($menuitems, array('right'=>true));
} }
@ -398,18 +398,18 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n"; $content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n";
foreach($clipboard['folders'] as $folderid) { foreach($clipboard['folders'] as $folderid) {
if($folder = $this->params['dms']->getFolder($folderid)) if($folder = $this->params['dms']->getFolder($folderid))
$content .= " <li><a href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\"><i class=\"fa fa-folder-o\"></i> ".htmlspecialchars($folder->getName())."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID()."\"><i class=\"fa fa-folder-o\"></i> ".htmlspecialchars($folder->getName())."</a></li>\n";
} }
foreach($clipboard['docs'] as $docid) { foreach($clipboard['docs'] as $docid) {
if($document = $this->params['dms']->getDocument($docid)) if($document = $this->params['dms']->getDocument($docid))
$content .= " <li><a href=\"../out/out.ViewDocument.php?documentid=".$document->getID()."\"><i class=\"fa fa-file\"></i> ".htmlspecialchars($document->getName())."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."\"><i class=\"fa fa-file\"></i> ".htmlspecialchars($document->getName())."</a></li>\n";
} }
$content .= " <li class=\"divider\"></li>\n"; $content .= " <li class=\"divider\"></li>\n";
if(isset($this->params['folder']) && $this->params['folder']->getAccessMode($this->params['user']) >= M_READWRITE) { if(isset($this->params['folder']) && $this->params['folder']->getAccessMode($this->params['user']) >= M_READWRITE) {
$content .= " <li><a href=\"../op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode($this->params['refferer'])."\">".getMLText("move_clipboard")."</a></li>\n"; $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.MoveClipboard.php?targetid=".$this->params['folder']->getID()."&refferer=".urlencode($this->params['refferer'])."\">".getMLText("move_clipboard")."</a></li>\n";
} }
// $content .= " <li><a href=\"../op/op.ClearClipboard.php?refferer=".urlencode($this->params['refferer'])."\">".getMLText("clear_clipboard")."</a><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">kkk</a> </li>\n"; // $content .= " <li><a href=\"".$this->params['settings']->_httpRoot."op/op.ClearClipboard.php?refferer=".urlencode($this->params['refferer'])."\">".getMLText("clear_clipboard")."</a><a class=\"ajax-click\" data-href=\"".$this->params['settings']->_httpRoot."op/op.Ajax.php\" data-param1=\"command=clearclipboard\">kkk</a> </li>\n";
$content .= " <li><a class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</a></li>\n"; $content .= " <li><a class=\"ajax-click\" data-href=\"".$this->params['settings']->_httpRoot."op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</a></li>\n";
$content .= " </ul>\n"; $content .= " </ul>\n";
$content .= " </li>\n"; $content .= " </li>\n";
$content .= " </ul>\n"; $content .= " </ul>\n";
@ -448,7 +448,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
} }
$content .= "</td>\n"; $content .= "</td>\n";
$content .= "<td>\n"; $content .= "<td>\n";
$content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"F".$folderid."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"../op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$folderid."&type=folder\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>"; $content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"F".$folderid."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"".$this->params['settings']->_httpRoot."op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$folderid."&type=folder\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>";
$content .= "</td>\n"; $content .= "</td>\n";
//$content .= "</tr>\n"; //$content .= "</tr>\n";
$content .= $this->folderListRowEnd($folder); $content .= $this->folderListRowEnd($folder);
@ -470,9 +470,9 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$content .= "<tr draggable=\"true\" rel=\"document_".$docid."\" class=\"table-row-document\" formtoken=\"".createFormKey('movedocument')."\">"; $content .= "<tr draggable=\"true\" rel=\"document_".$docid."\" class=\"table-row-document\" formtoken=\"".createFormKey('movedocument')."\">";
if (file_exists($dms->contentDir . $latestContent->getPath())) { if (file_exists($dms->contentDir . $latestContent->getPath())) {
$content .= "<td><a draggable=\"false\" href=\"../op/op.Download.php?documentid=".$docid."&version=".$version."\">"; $content .= "<td><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$docid."&version=".$version."\">";
if($previewer->hasPreview($latestContent)) { if($previewer->hasPreview($latestContent)) {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"40\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"40\"src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=40\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else { } else {
$content .= "<img draggable=\"false\" class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} }
@ -486,7 +486,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
} }
$content .= "</td>\n"; $content .= "</td>\n";
$content .= "<td>\n"; $content .= "<td>\n";
$content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"D".$docid."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"../op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$docid."&type=document\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>"; $content .= "<div class=\"list-action\"><a class=\"removefromclipboard\" rel=\"D".$docid."\" msg=\"".getMLText('splash_removed_from_clipboard')."\" _href=\"".$this->params['settings']->_httpRoot."op/op.RemoveFromClipboard.php?folderid=".(isset($this->params['folder']) ? $this->params['folder']->getID() : '')."&id=".$docid."&type=document\" title=\"".getMLText('rm_from_clipboard')."\"><i class=\"fa fa-remove\"></i></a></div>";
$content .= "</td>\n"; $content .= "</td>\n";
$content .= "</tr>"; $content .= "</tr>";
$doccount++; $doccount++;

View File

@ -96,10 +96,12 @@ $(document).ready( function() {
} else { } else {
?> ?>
userfile: { userfile: {
alternatives: $('#dropfolderfileform1') require_from_group: [1, ".fileupload-group"]
// alternatives: $('#dropfolderfileform1')
}, },
dropfolderfileform1: { dropfolderfileform1: {
alternatives: $('#userfile') require_from_group: [1, ".fileupload-group"]
// alternatives: $('#userfile')
} }
<?php <?php
} }
@ -147,6 +149,7 @@ console.log(element);
$documentid = $document->getId(); $documentid = $document->getId();
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/additional-methods.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
if($enablelargefileupload) { if($enablelargefileupload) {
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/fine-uploader/jquery.fine-uploader.min.js"></script>'."\n", 'js');
@ -238,6 +241,13 @@ console.log(element);
$this->getDropFolderChooserHtml("form1") $this->getDropFolderChooserHtml("form1")
); );
} }
if($arr = $this->callHook('addDocumentContentFile')) {
if(is_array($arr)) {
$this->formField($arr[0], $arr[1], isset($arr[2]) ? $arr[2] : null);
} elseif(is_string($arr)) {
echo $arr;
}
}
if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) { if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) {
$this->formField( $this->formField(
getMLText("comment"), getMLText("comment"),

View File

@ -116,8 +116,16 @@ $(document).ready( function() {
echo "</td></tr>\n"; echo "</td></tr>\n";
$documents = $seluser->getDocuments(); $documents = $seluser->getDocuments();
echo "<tr><td>".getMLText('documents')."</td><td>".count($documents)."</td></tr>\n"; echo "<tr><td>".getMLText('documents')."</td><td>".count($documents)."</td></tr>\n";
$contents = $seluser->getDocumentContents();
echo "<tr><td>".getMLText('document_versions')."</td><td>".count($contents)."</td></tr>\n";
$documents = $seluser->getDocumentsLocked(); $documents = $seluser->getDocumentsLocked();
echo "<tr><td>".getMLText('documents_locked')."</td><td>".count($documents)."</td></tr>\n"; echo "<tr><td>".getMLText('documents_locked')."</td><td>".count($documents)."</td></tr>\n";
$links = $seluser->getDocumentLinks();
echo "<tr><td>".getMLText('document_links')."</td><td>".count($links)."</td></tr>\n";
$files = $seluser->getDocumentFiles();
echo "<tr><td>".getMLText('document_files')."</td><td>".count($files)."</td></tr>\n";
$folders = $seluser->getFolders();
echo "<tr><td>".getMLText('folders')."</td><td>".count($folders)."</td></tr>\n";
$categories = $seluser->getKeywordCategories(); $categories = $seluser->getKeywordCategories();
echo "<tr><td>".getMLText('personal_default_keywords')."</td><td>".count($categories)."</td></tr>\n"; echo "<tr><td>".getMLText('personal_default_keywords')."</td><td>".count($categories)."</td></tr>\n";
$dnot = $seluser->getNotifications(T_DOCUMENT); $dnot = $seluser->getNotifications(T_DOCUMENT);

View File

@ -443,6 +443,7 @@ $(document).ready( function() {
function preview() { /* {{{ */ function preview() { /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$settings = $this->params['settings'];
$document = $this->params['document']; $document = $this->params['document'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
@ -473,7 +474,7 @@ $(document).ready( function() {
$this->contentHeading(getMLText("preview")); $this->contentHeading(getMLText("preview"));
?> ?>
<audio controls style="width: 100%;" preload="false"> <audio controls style="width: 100%;" preload="false">
<source src="../op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg"> <source src="<?= $settings->_httpRoot ?>op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg">
</audio> </audio>
<?php <?php
break; break;
@ -486,14 +487,14 @@ $(document).ready( function() {
$this->contentHeading(getMLText("preview")); $this->contentHeading(getMLText("preview"));
?> ?>
<video controls style="width: 100%;"> <video controls style="width: 100%;">
<source src="../op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="video/mp4"> <source src="<?= $settings->_httpRoot ?>op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="video/mp4">
</video> </video>
<?php <?php
break; break;
case 'application/pdf': case 'application/pdf':
$this->contentHeading(getMLText("preview")); $this->contentHeading(getMLText("preview"));
?> ?>
<iframe src="../pdfviewer/web/viewer.html?file=<?php echo urlencode('../../op/op.ViewOnline.php?documentid='.$latestContent->getDocument()->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe> <iframe src="<?= $settings->_httpRoot ?>pdfviewer/web/viewer.html?file=<?php echo urlencode($settings->_httpRoot.'op/op.ViewOnline.php?documentid='.$latestContent->getDocument()->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe>
<?php <?php
break; break;
case 'image/svg+xml': case 'image/svg+xml':
@ -503,7 +504,7 @@ $(document).ready( function() {
case 'image/gif': case 'image/gif':
$this->contentHeading(getMLText("preview")); $this->contentHeading(getMLText("preview"));
?> ?>
<img src="../op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%"> <img src="<?= $settings->_httpRoot ?>op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%">
<?php <?php
break; break;
default: default:
@ -523,7 +524,7 @@ $(document).ready( function() {
if($pdfpreviewer->hasConverter($latestContent->getMimeType())) { if($pdfpreviewer->hasConverter($latestContent->getMimeType())) {
$this->contentHeading(getMLText("preview_pdf")); $this->contentHeading(getMLText("preview_pdf"));
?> ?>
<iframe src="../pdfviewer/web/viewer.html?file=<?php echo urlencode('../../op/op.PdfPreview.php?documentid='.$latestContent->getDocument()->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe> <iframe src="<?= $settings->_httpRoot ?>pdfviewer/web/viewer.html?file=<?php echo urlencode($settings->_httpRoot.'op/op.PdfPreview.php?documentid='.$latestContent->getDocument()->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe>
<?php <?php
} }
} }
@ -594,15 +595,15 @@ $(document).ready( function() {
if ($file_exists) { if ($file_exists) {
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) { if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) {
if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) if($accessobject->check_controller_access('ViewOnline', array('action'=>'run')))
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion()."\">"; print "<a target=\"_blank\" href=\"".$this->params['settings']->_httpRoot."op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion()."\">";
} else { } else {
if($accessobject->check_controller_access('Download', array('action'=>'version'))) if($accessobject->check_controller_access('Download', array('action'=>'version')))
print "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion()."\">"; print "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion()."\">";
} }
} }
$previewer->createPreview($latestContent); $previewer->createPreview($latestContent);
if($previewer->hasPreview($latestContent)) { if($previewer->hasPreview($latestContent)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$latestContent->getDocument()->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"); print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$latestContent->getDocument()->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">");
} else { } else {
print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} }
@ -651,10 +652,10 @@ $(document).ready( function() {
if ($file_exists){ if ($file_exists){
$items = array(); $items = array();
if($accessobject->check_controller_access('Download', array('action'=>'version'))) if($accessobject->check_controller_access('Download', array('action'=>'version')))
$items[] = array('link'=>"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'download', 'label'=>'download'); $items[] = array('link'=>$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'download', 'label'=>'download');
if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) if($accessobject->check_controller_access('ViewOnline', array('action'=>'run')))
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes)))
$items[] = array('link'=>"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion(), 'icon'=>'eye', 'label'=>'view_online', 'target'=>'_blank'); $items[] = array('link'=>$this->params['settings']->_httpRoot."op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion(), 'icon'=>'eye', 'label'=>'view_online', 'target'=>'_blank');
if($newitems = $this->callHook('extraVersionViews', $latestContent)) if($newitems = $this->callHook('extraVersionViews', $latestContent))
$items = array_merge($items, $newitems); $items = array_merge($items, $newitems);
if($items) { if($items) {
@ -665,17 +666,17 @@ $(document).ready( function() {
$items = array(); $items = array();
if ($file_exists){ if ($file_exists){
if($islatest && $accessobject->mayEditVersion($latestContent->getDocument())) { if($islatest && $accessobject->mayEditVersion($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.EditOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_version'); $items[] = array('link'=>$this->html_url('EditOnline', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion())), 'icon'=>'edit', 'label'=>'edit_version');
} }
} }
/* Only admin has the right to remove version in any case or a regular /* Only admin has the right to remove version in any case or a regular
* user if enableVersionDeletion is on * user if enableVersionDeletion is on
*/ */
if($accessobject->mayRemoveVersion($latestContent->getDocument())) { if($accessobject->mayRemoveVersion($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.RemoveVersion.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'remove', 'label'=>'rm_version'); $items[] = array('link'=>$this->html_url('RemoveVersion', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'remove', 'label'=>'rm_version');
} }
if($islatest && $accessobject->mayOverrideStatus($latestContent->getDocument())) { if($islatest && $accessobject->mayOverrideStatus($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.OverrideContentStatus.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'align-justify', 'label'=>'change_status'); $items[] = array('link'=>$this->html_url('OverrideContentStatus', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'align-justify', 'label'=>'change_status');
} }
if($islatest && $enablereceiptworkflow && $accessobject->check_controller_access('SetRecipients')) if($islatest && $enablereceiptworkflow && $accessobject->check_controller_access('SetRecipients'))
if($accessobject->maySetRecipients($latestContent->getDocument())) { if($accessobject->maySetRecipients($latestContent->getDocument())) {
@ -683,18 +684,18 @@ $(document).ready( function() {
} }
if($islatest && $enablerevisionworkflow && $accessobject->check_controller_access('SetRevisors')) if($islatest && $enablerevisionworkflow && $accessobject->check_controller_access('SetRevisors'))
if($accessobject->maySetRevisors($latestContent->getDocument())) { if($accessobject->maySetRevisors($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.SetRevisors.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'refresh', 'label'=>'change_revisors'); $items[] = array('link'=>$this->params['settings']->_httpRoot."out/out.SetRevisors.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'refresh', 'label'=>'change_revisors');
} }
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
// Allow changing reviewers/approvals only if not reviewed // Allow changing reviewers/approvals only if not reviewed
if($accessobject->maySetReviewersApprovers($latestContent->getDocument())) { if($accessobject->maySetReviewersApprovers($latestContent->getDocument())) {
$items[] = array('link'=>"../out/out.SetReviewersApprovers.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'change_assignments'); $items[] = array('link'=>$this->html_url('SetReviewersApprovers', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'edit', 'label'=>'change_assignments');
} }
} elseif($workflowmode == 'advanced') { } elseif($workflowmode == 'advanced') {
if($accessobject->maySetWorkflow($latestContent->getDocument())) { if($accessobject->maySetWorkflow($latestContent->getDocument())) {
$workflow = $latestContent->getWorkflow(); $workflow = $latestContent->getWorkflow();
if(!$workflow) { if(!$workflow) {
$items[] = array('link'=>"../out/out.SetWorkflow.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'random', 'label'=>'set_workflow'); $items[] = array('link'=>$this->html_url('SetWorkflow', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'random', 'label'=>'set_workflow');
} }
} }
} }
@ -705,14 +706,14 @@ $(document).ready( function() {
} }
if($accessobject->check_view_access('EditComment')) if($accessobject->check_view_access('EditComment'))
if($accessobject->mayEditComment($latestContent->getDocument())) { if($accessobject->mayEditComment($latestContent->getDocument())) {
$items[] = array('link'=>"out.EditComment.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'comment', 'label'=>'edit_comment'); $items[] = array('link'=>$this->html_url('EditComment', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'comment', 'label'=>'edit_comment');
} }
if($accessobject->check_view_access('EditAttributes')) if($accessobject->check_view_access('EditAttributes'))
if($accessobject->mayEditAttributes($latestContent->getDocument())) { if($accessobject->mayEditAttributes($latestContent->getDocument())) {
$items[] = array('link'=>"out.EditAttributes.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_attributes'); $items[] = array('link'=>$this->html_url('EditAttributes', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'edit', 'label'=>'edit_attributes');
} }
if(!$islatest) if(!$islatest)
$items[] = array('link'=>"out.DocumentVersionDetail.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'info', 'label'=>'details'); $items[] = array('link'=>$this->html_url('DocumentVersionDetail', array('documentid'=>$latestContent->getDocument()->getId(),'version'=>$latestContent->getVersion())), 'icon'=>'info', 'label'=>'details');
if($newitems = $this->callHook('extraVersionActions', $latestContent)) if($newitems = $this->callHook('extraVersionActions', $latestContent))
$items = array_merge($items, $newitems); $items = array_merge($items, $newitems);
@ -738,6 +739,7 @@ $(document).ready( function() {
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$viewonlinefiletypes = $this->params['viewonlinefiletypes']; $viewonlinefiletypes = $this->params['viewonlinefiletypes'];
$enableownerrevapp = $this->params['enableownerrevapp']; $enableownerrevapp = $this->params['enableownerrevapp'];
$enableremoverevapp = $this->params['enableremoverevapp'];
$enableownerreceipt = $this->params['enableownerreceipt']; $enableownerreceipt = $this->params['enableownerreceipt'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow']; $enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enablereceiptreject = $this->params['enablereceiptreject']; $enablereceiptreject = $this->params['enablereceiptreject'];
@ -757,11 +759,11 @@ $(document).ready( function() {
if($versions === null) if($versions === null)
$versions = $document->getContent(); $versions = $document->getContent();
$this->htmlAddHeader('<link href="../styles/bootstrap/timeline/timeline.css" rel="stylesheet">'."\n", 'css'); $this->htmlAddHeader('<link href="'.$this->params['settings']->_httpRoot.'styles/bootstrap/timeline/timeline.css" rel="stylesheet">'."\n", 'css');
$this->htmlAddHeader('<script type="text/javascript" src="../styles/bootstrap/timeline/timeline-min.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'styles/bootstrap/timeline/timeline-min.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../styles/bootstrap/timeline/timeline-locales.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'styles/bootstrap/timeline/timeline-locales.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js'); $this->htmlAddHeader('<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName())))); $this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder); $this->globalNavigation($folder);
@ -1037,7 +1039,7 @@ $(document).ready( function() {
if($r['file']) { if($r['file']) {
echo "<br />"; echo "<br />";
if($accessobject->check_controller_access('Download', array('action'=>'run'))) { if($accessobject->check_controller_access('Download', array('action'=>'run'))) {
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&reviewlogid=".$r['reviewLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&reviewlogid=".$r['reviewLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
} }
print "</td>\n"; print "</td>\n";
@ -1052,13 +1054,15 @@ $(document).ready( function() {
if($accessobject->mayReview($latestContent->getDocument())) { if($accessobject->mayReview($latestContent->getDocument())) {
if ($is_reviewer) { if ($is_reviewer) {
if ($r["status"]==0) { if ($r["status"]==0) {
print "<li>".$this->html_link('ReviewDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_review"), false, true)."</li>"; print $this->html_link('ReviewDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_review"), false, true, array('<li>', '</li>'));
} elseif ($accessobject->mayUpdateReview($latestContent->getDocument(), $updateUser) && (($r["status"]==1)||($r["status"]==-1))){ } elseif ($accessobject->mayUpdateReview($latestContent->getDocument(), $updateUser) && (($r["status"]==1)||($r["status"]==-1))){
print "<li>".$this->html_link('ReviewDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true)."</li>"; print $this->html_link('ReviewDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true, array('<li>', '</li>'));
} }
} }
} }
if($enableremoverevapp && $user->isAdmin() && ($r['status'] == 1 || $r['status'] == -1))
echo '<li><a href="'.$this->html_url('RemoveReviewLog', array('documentid'=>$document->getID(), 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID'])).'" title="'.getMLText('remove_review_log').'"><i class="fa fa-remove"></i></a></li>';
print "</ul></td>\n"; print "</ul></td>\n";
print "</tr>\n"; print "</tr>\n";
} }
@ -1141,7 +1145,7 @@ $(document).ready( function() {
if($a['file']) { if($a['file']) {
echo "<br />"; echo "<br />";
if($accessobject->check_controller_access('Download', array('action'=>'run'))) { if($accessobject->check_controller_access('Download', array('action'=>'run'))) {
echo "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&approvelogid=".$a['approveLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&approvelogid=".$a['approveLogID']."\" class=\"btn btn-secondary btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
} }
echo "</td>\n"; echo "</td>\n";
@ -1156,12 +1160,14 @@ $(document).ready( function() {
if($accessobject->mayApprove($latestContent->getDocument())) { if($accessobject->mayApprove($latestContent->getDocument())) {
if ($is_approver) { if ($is_approver) {
if ($a['status'] == 0) { if ($a['status'] == 0) {
print "<li>".$this->html_link('ApproveDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_approval"), false, true)."</li>"; print $this->html_link('ApproveDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_approval"), false, true, array('<li>', '</li>'));
} elseif ($accessobject->mayUpdateApproval($latestContent->getDocument(), $updateUser) && (($a["status"]==1)||($a["status"]==-1))){ } elseif ($accessobject->mayUpdateApproval($latestContent->getDocument(), $updateUser) && (($a["status"]==1)||($a["status"]==-1))){
print "<li>".$this->html_link('ApproveDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true)."</li>"; print $this->html_link('ApproveDocument', array('documentid'=>$latestContent->getDocument()->getId(), 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true, array('<li>', '</li>'));
} }
} }
} }
if($enableremoverevapp && $user->isAdmin() && ($a['status'] == 1 || $a['status'] == -1))
echo '<li><a href="'.$this->html_url('RemoveApprovalLog', array('documentid'=>$document->getID(), 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID'])).'" title="'.getMLText('remove_approval_log').'"><i class="fa fa-remove"></i></a></li>';
print "</ul>"; print "</ul>";
print "</td>\n"; print "</td>\n";
@ -1216,9 +1222,9 @@ $(document).ready( function() {
$this->contentContainerStart(); $this->contentContainerStart();
if($user->isAdmin()) { if($user->isAdmin()) {
if(!$workflowstate || SeedDMS_Core_DMS::checkIfEqual($workflow->getInitState(), $workflowstate)) { if(!$workflowstate || SeedDMS_Core_DMS::checkIfEqual($workflow->getInitState(), $workflowstate)) {
print "<form action=\"../out/out.RemoveWorkflowFromDocument.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-remove\"></i> ".getMLText('rm_workflow')."</button></form>"; print "<form action=\"".$this->html_url("RemoveWorkflowFromDocument")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-remove\"></i> ".getMLText('rm_workflow')."</button></form>";
} else { } else {
print "<form action=\"../out/out.RewindWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-refresh\"></i> ".getMLText('rewind_workflow')."</button></form>"; print "<form action=\"".$this->html_url("RewindWorkflow")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn btn-danger\"><i class=\"fa fa-refresh\"></i> ".getMLText('rewind_workflow')."</button></form>";
} }
} }
@ -1318,7 +1324,7 @@ $(document).ready( function() {
echo "<td>"; echo "<td>";
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) { if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
$action = $transition->getAction(); $action = $transition->getAction();
print "<form action=\"../out/out.TriggerWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), htmlspecialchars($action->getName()))."\" /></form>"; print "<form action=\"".$this->html_url("TriggerWorkflow")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), htmlspecialchars($action->getName()))."\" /></form>";
$allowedtransitions[] = $transition; $allowedtransitions[] = $transition;
} }
echo "</td>"; echo "</td>";
@ -1337,7 +1343,7 @@ $(document).ready( function() {
} }
} }
if($subworkflows) { if($subworkflows) {
echo "<form class=\"form-inline\" action=\"../out/out.RunSubWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" />"; echo "<form class=\"form-inline\" action=\"".$this->html_url("RunSubWorkflow")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" />";
echo "<select name=\"subworkflow\" class=\"form-control\">"; echo "<select name=\"subworkflow\" class=\"form-control\">";
foreach($subworkflows as $subworkflow) { foreach($subworkflows as $subworkflow) {
echo "<option value=\"".$subworkflow->getID()."\">".htmlspecialchars($subworkflow->getName())."</option>"; echo "<option value=\"".$subworkflow->getID()."\">".htmlspecialchars($subworkflow->getName())."</option>";
@ -1369,7 +1375,7 @@ $(document).ready( function() {
/* If the init state has not been left, return is always possible */ /* If the init state has not been left, return is always possible */
if($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()) { if($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()) {
echo "Initial state of sub workflow has not been left. Return to parent workflow is possible<br />"; echo "Initial state of sub workflow has not been left. Return to parent workflow is possible<br />";
echo "<form action=\"../out/out.ReturnFromSubWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" />"; echo "<form action=\"".$this->html_url("ReturnFromSubWorkflow")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" />";
echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />"; echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />";
echo "</form>"; echo "</form>";
} else { } else {
@ -1384,7 +1390,7 @@ $(document).ready( function() {
foreach($transitions as $transition) { foreach($transitions as $transition) {
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) { if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
echo "Triggering transition is allowed<br />"; echo "Triggering transition is allowed<br />";
echo "<form action=\"../out/out.ReturnFromSubWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" />"; echo "<form action=\"".$this->html_url("ReturnFromSubWorkflow")."\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$latestContent->getDocument()->getId()."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" />";
echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />"; echo "<input type=\"submit\" class=\"btn btn-primary\" value=\"".getMLText('return_from_subworkflow')."\" />";
echo "</form>"; echo "</form>";
@ -1506,9 +1512,9 @@ $(document).ready( function() {
if($accessobject->mayReceipt($document)) { if($accessobject->mayReceipt($document)) {
if ($is_recipient) { if ($is_recipient) {
if($r["status"]==0) { if($r["status"]==0) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_receipt"), false, true)."</li>"; print $this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_receipt"), false, true, array('<li>', '</li>'));
} elseif ($accessobject->mayUpdateReceipt($document, $updateUser) && (($r["status"]==1 && $enablereceiptreject)||($r["status"]==-1))) { } elseif ($accessobject->mayUpdateReceipt($document, $updateUser) && (($r["status"]==1 && $enablereceiptreject)||($r["status"]==-1))) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true)."</li>"; print $this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true, array('<li>', '</li>'));
} }
} }
} }
@ -1642,9 +1648,9 @@ $(document).ready( function() {
echo "<li><span class=\"text-error\">".$accesserr."</span></li>"; echo "<li><span class=\"text-error\">".$accesserr."</span></li>";
if($accessobject->mayRevise($document)) { if($accessobject->mayRevise($document)) {
if ($is_recipient && $r["status"]==0) { if ($is_recipient && $r["status"]==0) {
print "<li>".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_revision"), false, true)."</li>"; print $this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini btn-primary'), getMLText("add_revision"), false, true, array('<li>', '</li>'));
} elseif (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ } elseif (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){
print "<li>".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true)."</li>"; print $this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini btn-primary'), getMLText("edit"), false, true, array('<li>', '</li>'));
} }
} }
@ -1715,16 +1721,16 @@ $(document).ready( function() {
if($file_exists) { if($file_exists) {
if ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) { if ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) {
if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) { if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) {
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\">"; print "<a target=\"_blank\" href=\"".$this->params['settings']->_httpRoot."op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\">";
} }
} else { } else {
if($accessobject->check_controller_access('Download', array('action'=>'file'))) { if($accessobject->check_controller_access('Download', array('action'=>'file'))) {
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\">"; print "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\">";
} }
} }
} }
if($previewer->hasPreview($file)) { if($previewer->hasPreview($file)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&file=".$file->getID()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($file->getMimeType())."\">"); print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&file=".$file->getID()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($file->getMimeType())."\">");
} else { } else {
print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">"; print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">";
} }
@ -1754,18 +1760,18 @@ $(document).ready( function() {
print "<td><ul class=\"unstyled actions\">"; print "<td><ul class=\"unstyled actions\">";
if ($file_exists) { if ($file_exists) {
if($accessobject->check_controller_access('Download', array('action'=>'file'))) { if($accessobject->check_controller_access('Download', array('action'=>'file'))) {
print "<li><a href=\"../op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\"><i class=\"fa fa-download\"></i>".getMLText('download')."</a></li>"; print "<li><a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\"><i class=\"fa fa-download\"></i>".getMLText('download')."</a></li>";
} }
if ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) { if ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) {
if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) { if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) {
print "<li><a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\"><i class=\"fa fa-star\"></i>" . getMLText("view_online") . "</a></li>"; print "<li><a target=\"_blank\" href=\"".$this->params['settings']->_httpRoot."op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\"><i class=\"fa fa-star\"></i>" . getMLText("view_online") . "</a></li>";
} }
} }
} else print "<li><img class=\"mimeicon\" src=\"images/icons/".$this->getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">"; } else print "<li><img class=\"mimeicon\" src=\"images/icons/".$this->getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">";
echo "</ul><ul class=\"unstyled actions\">"; echo "</ul><ul class=\"unstyled actions\">";
if (($document->getAccessMode($user) == M_ALL)||($file->getUserID()==$user->getID())) { if (($document->getAccessMode($user) == M_ALL)||($file->getUserID()==$user->getID())) {
print "<li><a href=\"out.RemoveDocumentFile.php?documentid=".$documentid."&fileid=".$file->getID()."\"><i class=\"fa fa-remove\"></i>".getMLText("delete")."</a></li>"; print $this->html_link('RemoveDocumentFile', array('documentid'=>$document->getID(), 'fileid'=>$file->getID()), array(), '<i class="fa fa-remove"></i>'.getMLText("delete"), false, true, array('<li>', '</li>'));
print "<li><a href=\"out.EditDocumentFile.php?documentid=".$documentid."&fileid=".$file->getID()."\"><i class=\"fa fa-edit\"></i>".getMLText("edit")."</a></li>"; print $this->html_link('EditDocumentFile', array('documentid'=>$document->getID(), 'fileid'=>$file->getID()), array(), '<i class="fa fa-edit"></i>'.getMLText("edit"), false, true, array('<li>', '</li>'));
} }
print "</ul></td>"; print "</ul></td>";
@ -1780,7 +1786,7 @@ $(document).ready( function() {
if ($document->getAccessMode($user) >= M_READWRITE){ if ($document->getAccessMode($user) >= M_READWRITE){
if(0){ if(0){
?> ?>
<div id="_draganddrophandler" class="droptarget well alert" data-droptarget="attachment_<?= $document->getID(); ?>" data-target="<?= $document->getID(); ?>" data-uploadformtoken="<?= createFormKey(''); ?>"><?php printMLText('drop_files_here'); ?><a href="../out/out.AddFile.php?documentid=<?= $documentid ?>"> <?= getMLText("add") ?></a></div> <div id="_draganddrophandler" class="droptarget well alert" data-droptarget="attachment_<?= $document->getID(); ?>" data-target="<?= $document->getID(); ?>" data-uploadformtoken="<?= createFormKey(''); ?>"><?php printMLText('drop_files_here'); echo $this->html_link("AddFile", array('documentid'=>$document->getID()), array(), getMLText('add')); ?></div>
<?php <?php
} }
print $this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn btn-primary'), getMLText("add"), false, true)."\n"; print $this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn btn-primary'), getMLText("add"), false, true)."\n";
@ -1815,10 +1821,10 @@ $(document).ready( function() {
} }
print "<td><span class=\"actions\">"; print "<td><span class=\"actions\">";
print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName()); print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName());
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) {
print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no")); print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no"));
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) print "<form action=\"".$this->params['settings']->_httpRoot."op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>"; }
print "</span></td>"; print "</span></td>";
echo $this->documentListRowEnd($targetDoc); echo $this->documentListRowEnd($targetDoc);
} }
@ -1829,7 +1835,7 @@ $(document).ready( function() {
if ($accessobject->check_view_access('AddDocumentLink')){ if ($accessobject->check_view_access('AddDocumentLink')){
?> ?>
<br> <br>
<form action="../op/op.AddDocumentLink.php" id="form1" name="form1" class="form-horizontal"> <form action="<?= $this->params['settings']->_httpRoot ?>op/op.AddDocumentLink.php" id="form1" name="form1" class="form-horizontal">
<input type="hidden" name="documentid" value="<?php print $documentid;?>"> <input type="hidden" name="documentid" value="<?php print $documentid;?>">
<?php echo createHiddenFieldWithKey('adddocumentlink'); ?> <?php echo createHiddenFieldWithKey('adddocumentlink'); ?>
<?php $this->contentContainerStart(); ?> <?php $this->contentContainerStart(); ?>
@ -1882,9 +1888,10 @@ $(document).ready( function() {
print "<td><span class=\"actions\">"; print "<td><span class=\"actions\">";
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName()); print getMLText("document_link_by")." ".htmlspecialchars($responsibleUser->getFullName());
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) {
print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no")); print "<br />".getMLText("document_link_public").": ".(($link->isPublic()) ? getMLText("yes") : getMLText("no"));
print "<form action=\"../op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$sourceDoc->getId()."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>"; print "<form action=\"".$this->params['settings']->_httpRoot."op/op.RemoveDocumentLink.php\" method=\"post\">".createHiddenFieldWithKey('removedocumentlink')."<input type=\"hidden\" name=\"documentid\" value=\"".$sourceDoc->getId()."\" /><input type=\"hidden\" name=\"linkid\" value=\"".$link->getID()."\" /><button type=\"submit\" class=\"btn btn-danger btn-mini\"><i class=\"fa fa-remove\"></i> ".getMLText("delete")."</button></form>";
}
print "</span></td>"; print "</span></td>";
echo $this->documentListRowEnd($sourceDoc); echo $this->documentListRowEnd($sourceDoc);
} }

View File

@ -221,7 +221,7 @@ $('body').on('click', '.order-btn', function(ev) {
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, 'maintree', ($expandFolderTree == 1) ? -1 : 3, $orderby); $this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, 'maintree', ($expandFolderTree == 1) ? -1 : 3, $orderby);
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) { if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
echo "SeedDMSUpload.setUrl('../op/op.Ajax.php');"; echo "SeedDMSUpload.setUrl('".$this->params['settings']->_httpRoot."op/op.Ajax.php');";
echo "SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');"; echo "SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');";
echo "SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');"; echo "SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');";
$mus2 = SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")); $mus2 = SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize"));
@ -414,9 +414,9 @@ $('body').on('click', '.order-btn', function(ev) {
print "<thead>\n<tr>\n"; print "<thead>\n<tr>\n";
print "<th>".($parent ? '<button class="btn btn-mini btn-secondary btn-sm" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n"; print "<th>".($parent ? '<button class="btn btn-mini btn-secondary btn-sm" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n";
print "<th>".getMLText("name"); print "<th>".getMLText("name");
print " <a class=\"order-btn\" href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" data-orderby=\"".($orderby=="n"||$orderby=="na"?"nd":"n")."\"title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($orderby=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>"; print " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" data-orderby=\"".($orderby=="n"||$orderby=="na"?"nd":"n")."\"title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($orderby=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
print " <a class=\"order-btn\" href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" data-orderby=\"".($orderby=="s"||$orderby=="sa"?"sd":"s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="fa fa-sort-numeric-asc selected"></i>':($orderby=="sd"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>"; print " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" data-orderby=\"".($orderby=="s"||$orderby=="sa"?"sd":"s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="fa fa-sort-numeric-asc selected"></i>':($orderby=="sd"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
print " <a class=\"order-btn\" href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" data-orderby=\"".($orderby=="d"||$orderby=="da"?"dd":"d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="fa fa-sort-amount-asc selected"></i>':($orderby=="dd"?' <i class="fa fa-sort-amount-desc selected"></i>':' <i class="fa fa-sort-amount-asc"></i>'))."</a>"; print " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" data-orderby=\"".($orderby=="d"||$orderby=="da"?"dd":"d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="fa fa-sort-amount-asc selected"></i>':($orderby=="dd"?' <i class="fa fa-sort-amount-desc selected"></i>':' <i class="fa fa-sort-amount-asc"></i>'))."</a>";
print "</th>\n"; print "</th>\n";
// print "<th>".getMLText("owner")."</th>\n"; // print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("status")."</th>\n"; print "<th>".getMLText("status")."</th>\n";
@ -628,7 +628,7 @@ $('body').on('click', '.order-btn', function(ev) {
if ($enableFolderTree) { if ($enableFolderTree) {
if ($showtree==1){ if ($showtree==1){
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true);
$this->contentContainerStart(); $this->contentContainerStart();
/* /*
* access expandFolderTree with $this->params because it can * access expandFolderTree with $this->params because it can
@ -637,7 +637,7 @@ $('body').on('click', '.order-btn', function(ev) {
$this->printNewTreeNavigationHtml($folderid, M_READ, 0, 'maintree', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby); $this->printNewTreeNavigationHtml($folderid, M_READ, 0, 'maintree', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby);
$this->contentContainerEnd(); $this->contentContainerEnd();
} else { } else {
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true);
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="46.396889mm"
height="46.396889mm"
viewBox="0 0 46.396889 46.396888"
version="1.1"
id="svg2387">
<defs
id="defs2381" />
<metadata
id="metadata2384">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
transform="translate(-48.520586,-109.36103)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000e7c;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect1143-3-6-4"
width="17.821022"
height="17.821022"
x="50.185322"
y="110.70477"
ry="3.1053059" />
<rect
ry="3.1053059"
y="127.37463"
x="67.362831"
height="17.821022"
width="17.821022"
id="use2251"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7)" />
<rect
ry="3.1053059"
y="105.35081"
x="82.280334"
height="17.821022"
width="17.821022"
id="use2255"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(3.5)" />
<rect
ry="3.1053059"
y="117.91738"
x="100.07223"
height="17.821022"
width="17.821022"
id="use2257"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(10.5)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="46.396889mm"
height="46.396889mm"
viewBox="0 0 46.396889 46.396888"
version="1.1"
id="svg2387"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="seeddms-favicon-final.svg"
inkscape:export-filename="/tmp/favicon.png"
inkscape:export-xdpi="17.640476"
inkscape:export-ydpi="17.640476">
<defs
id="defs2381" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.2215976"
inkscape:cx="-19.788292"
inkscape:cy="24.95827"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="1"
fit-margin-left="1"
fit-margin-right="1"
fit-margin-bottom="1"
inkscape:window-width="1920"
inkscape:window-height="1023"
inkscape:window-x="0"
inkscape:window-y="33"
inkscape:window-maximized="1"
inkscape:document-rotation="0" />
<metadata
id="metadata2384">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-48.520586,-109.36103)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000e7c;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect1143-3-6-4"
width="17.821022"
height="17.821022"
x="50.185322"
y="110.70477"
inkscape:tile-cx="-545.75183"
inkscape:tile-cy="425.55311"
inkscape:tile-w="17.821023"
inkscape:tile-h="17.821023"
inkscape:tile-x0="-554.66234"
inkscape:tile-y0="416.6426"
ry="3.1053059" />
<rect
ry="3.1053059"
inkscape:tile-y0="416.6426"
inkscape:tile-x0="-554.66234"
y="127.37463"
x="67.362831"
height="17.821022"
width="17.821022"
id="use2251"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7)" />
<rect
ry="3.1053059"
inkscape:tile-y0="416.6426"
inkscape:tile-x0="-554.66234"
y="105.35081"
x="82.280334"
height="17.821022"
width="17.821022"
id="use2255"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(3.5)" />
<rect
ry="3.1053059"
inkscape:tile-y0="416.6426"
inkscape:tile-x0="-554.66234"
y="117.91738"
x="100.07223"
height="17.821022"
width="17.821022"
id="use2257"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#f57800;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(10.5)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,467 @@
@media (min-width: 980px) {
body { /* Add top padding for full-width layout */
padding-top: 60px;
}
}
#login_wrapper {
margin: auto auto;
width: 460px;
}
.navbar img {
height: 1.93rem;
float: left;
padding-top: 5px;
padding-right: 5px;
}
@media (max-width: 767px) {
.navbar img {
padding-left: 10px;
}
#login_wrapper {
width: 100%;
}
}
img.mimeicon {
-moz-border-bottom-colors: none;
-moz-border-image: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
border-color: #CCCCCC #AAAAAA #999999 #CCCCCC;
border-style: solid;
border-width: 1px 2px 2px 1px;
background-color: white;
max-width: 100%;
min-width: 60px;
}
span.list-details {
font-size: 85%;
font-style: italic;
color: #666;
}
.list-action a {
text-decoration: none;
color: #333;
padding: 2px;
cursor: pointer;
font-size: 110%;
}
ul.action-list li a {
padding-top: 4px;
padding-bottom: 4px;
}
#admin-tools i {
font-size: 300%;
line-height: 110%;
/* min-height: 100px; */
}
#admin-tools a {
margin-bottom: 10px;
}
ul.unstyled li a:hover > i {
text-decoration: none;
padding-left: 0px;
}
ul.unstyled li a > i {
color: #000;
margin-right: 5px;
}
ul.unstyled li a.btn > i {
font-size: 200%;
}
ul.tree, ul.tree ul {
margin-left: 20px;
}
ul.jqtree-tree li.jqtree-selected > .jqtree-element,
ul.jqtree-tree li.jqtree-selected > .jqtree-element:hover {
background-color: #fff;
background: none;
text-shadow: none;
font-weight: bold;
}
legend > span {
float: right;
}
td.today {
background-color: rgb(255, 200, 0);
}
td.event {
background-color: rgb(0, 200, 255);
}
.wordbreak {
word-break: break-word;
}
.btn-file {
position: relative;
overflow: hidden;
}
.btn-file input[type=file] {
position: absolute;
top: 0;
right: 0;
min-width: 100%;
min-height: 100%;
font-size: 999px;
text-align: right;
filter: alpha(opacity=0);
opacity: 0;
background: red;
cursor: inherit;
display: block;
}
input[readonly] {
background-color: white !important;
cursor: text !important;
}
div.mandatories {
font-size: 90%;
font-style: italic;
color: #888;
}
div.mandatories span {
font-weight: bold;
}
div.statusbar {
font-size: 80%;
}
div.statusbar div.filename {
display: inline-block;
}
div.statusbar div.filesize {
display: inline-block;
float: right;
}
div.statusbar div.progress {
margin-bottom: 10px;
}
div.statusbar a.btn {
margin-bottom: 10px;
}
#database .chosen-container,
#fulltext .chosen-container {
width: 95% !important;
}
.chosen-container-multi .chosen-choices {
border: 1px solid #cccccc;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
transition: border linear 0.2s, box-shadow linear 0.2s;
padding: 2px 6px;
height: 20px;
}
div.help h1 {
font-size: 24px;
}
div.help h2 {
font-size: 18px;
}
div.help h3 {
font-size: 16px;
}
#dropfolderChooser {
width: 60%;
left: 20%;
margin-left: auto;
margin-right: auto;
}
div.splash {
display: none;
}
div.clipboard-container {
position: fixed;
left: 10px;
top: 40px;
width: 29.8%;
min-width: 200px;
background: white;
border: 1px solid #d4d4d4;
border-radius: 5px;
padding: 10px;
max-height: 400px;
margin: 10px;
overflow-y: auto;
overflow-x: hidden;
z-index: 1;
}
div.clipboard-container legend {
display: none;
}
div.statusbar-container {
display: none;
position: fixed;
right:10px;
top:60px;
width:300px;
padding:10px;
background-color: white;
border: 1px solid #E0E0E0;
border-radius: 4px;
z-index: 10;
overflow-y: scroll;
max-height: calc(100% - 100px);
}
div.statusbar-container::-webkit-scrollbar {
width: 5px;
}
div.statusbar-container::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
div.statusbar-container::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
div.statusbar-container h1 {
font-size: 21px;
line-height: 40px;
color: #333333;
font-weight: normal;
}
ul.jqtree-tree li.jqtree_common > .jqtree-element:hover {
background-color: #E0E0E0;
}
span.datepicker {
padding: 0px;
}
span.datepicker input {
max-width: 100px;
}
/* Sidenav for Docs
* -------------------------------------------------- */
.bs-docs-sidenav {
width: 100%;
margin: 0px 0 30px 0;
padding: 0;
background-color: #fff;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
box-shadow: 0 1px 4px rgba(0,0,0,.065);
}
.bs-docs-sidenav > li > a {
display: block;
width: 190px \9;
margin: 0 0 -1px;
padding: 8px 14px;
border: 1px solid #e5e5e5;
}
.bs-docs-sidenav > li:first-child > a {
-webkit-border-radius: 6px 6px 0 0;
-moz-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
}
.bs-docs-sidenav > li:last-child > a {
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
}
.bs-docs-sidenav > .active > a {
position: relative;
z-index: 2;
padding: 9px 15px;
border: 0;
text-shadow: 0 1px 0 rgba(0,0,0,.15);
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
}
/* Chevrons */
.bs-docs-sidenav .badge-right {
float: right;
margin-top: 2px;
margin-right: -6px;
}
.bs-docs-sidenav > li > a:hover {
background-color: #f5f5f5;
}
.bs-docs-sidenav a:hover .icon-chevron-right {
opacity: .5;
}
.bs-docs-sidenav .active .icon-chevron-right,
.bs-docs-sidenav .active a:hover .icon-chevron-right {
background-image: url(../img/glyphicons-halflings-white.png);
opacity: 1;
}
.bs-docs-sidenav.affix {
top: 100px;
}
.bs-docs-sidenav.affix-bottom {
position: absolute;
top: auto;
bottom: 270px;
}
i.success {color: #00b000;}
i.enabled {color: #00b000;}
i.error {color: #b00000;}
i.disabled {color: #b00000;}
i.warning {color: #ff9900;}
i.initstate {color: #ff9900;}
i.released {color: #00b000;}
i.rejected {color: #b00000;}
i.in-workflow {color: #11479e;}
i.workflow-action {color: #91479e;}
i.selected {border: 1px solid #d4d4d4;padding:3px;border-radius:3px;background-color:#fafafa;background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);}
span.editable:after {
font: normal normal normal 14px/1 FontAwesome;
content: " \f044";
}
span.openpopupbox {
cursor: pointer;
}
div.popupbox {
margin-top: 5px;
background-color: #fff;
border-radius: 4px;
color: black;
text-align: left;
text-shadow: none;
border: 1px solid #ccc;
padding: 25px 15px 15px 15px;
display: none;
position: absolute;
min-width: 230px;
z-index: 10;
}
div.popupbox dt {
font-weight: normal;
font-size: 80%;
}
div.popupbox dd {
margin-left: 0px;
margin-bottom: 5px;
}
div.popupbox span.closepopupbox {
position: absolute;
right: 5px;
top: 0px;
}
ul.qq-upload-list {
/*
background-color: #fff;
border-radius: 4px;
border: 1px solid #cccccc;
*/
}
ul.qq-upload-list li {
display: inline-block;
margin: 5px 5px 5px 0;
padding: 5px;
background-color: #fff;
border: 1px solid #cccccc;
border-radius: 4px;
}
ul.qq-upload-list li img {
display: block;
}
ul.qq-upload-list li span {
display: block;
}
.qq-upload-button {
display: inline-block;
}
.qq-upload-drop-area {
display: inline-block;
width: 200px;
height: 22px;
padding: 3px;
background-color: #fff;
border: 1px solid #cccccc;
border-radius: 4px;
}
.qq-hide, .qq-uploader dialog {
display: none;
}
@media (min-width: 1200px) {
.modal-wide {
width: 800px;
margin-left: -400px;
}
}
@media (max-width: 480px) {
.nav-tabs > li {
float:none;
}
.nav-tabs > li > a {
margin-right: 0;
}
.nav-tabs {
border-bottom: 0;
}
.nav-tabs > li > a {
border: 1px solid #ddd;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.nav-tabs > li:first-child > a {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-topleft: 4px;
}
.nav-tabs > li:last-child > a {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomright: 4px;
-moz-border-radius-bottomleft: 4px;
}
.nav-tabs > li > a:hover {
z-index: 2;
border-color: #ddd;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -91,38 +91,38 @@ class SeedDMS_Theme_Style extends SeedDMS_View_Common {
echo '<base href="'.$this->baseurl.'">'."\n"; echo '<base href="'.$this->baseurl.'">'."\n";
$sitename = trim(strip_tags($this->params['sitename'])); $sitename = trim(strip_tags($this->params['sitename']));
if($this->params['session']) if($this->params['session'])
echo '<link rel="search" type="application/opensearchdescription+xml" href="../out/out.OpensearchDesc.php" title="'.(strlen($sitename)>0 ? $sitename : "SeedDMS").'"/>'."\n"; echo '<link rel="search" type="application/opensearchdescription+xml" href="'.$this->params['settings']->_httpRoot.'out/out.OpensearchDesc.php" title="'.(strlen($sitename)>0 ? $sitename : "SeedDMS").'"/>'."\n";
$parenttheme = 'bootstrap'; $parenttheme = 'bootstrap';
echo '<link href="../views/'.$this->theme.'/styles/seeddms.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/seeddms.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$parenttheme.'/chosen/css/chosen.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/chosen/css/chosen.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/select2/css/select2.min.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/select2/css/select2.min.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/select2-bootstrap4-theme/select2-bootstrap4.min.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/select2-bootstrap4-theme/select2-bootstrap4.min.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/vendors/jqtree/jqtree.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/jqtree.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n";
echo '<link href="../views/'.$this->theme.'/styles/styles.css" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/styles.css" rel="stylesheet">'."\n";
if($this->extraheader['css']) if($this->extraheader['css'])
echo $this->extraheader['css']; echo $this->extraheader['css'];
if(method_exists($this, 'css')) if(method_exists($this, 'css'))
echo '<link href="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?action=css'.(!empty($_SERVER['QUERY_STRING']) ? '&'.$_SERVER['QUERY_STRING'] : '').'" rel="stylesheet">'."\n"; echo '<link href="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?action=css'.(!empty($_SERVER['QUERY_STRING']) ? '&'.$_SERVER['QUERY_STRING'] : '').'" rel="stylesheet">'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery/jquery.min.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jquery/jquery.min.js"></script>'."\n";
if($this->extraheader['js']) if($this->extraheader['js'])
echo $this->extraheader['js']; echo $this->extraheader['js'];
echo '<script type="text/javascript" src="../styles/'.$parenttheme.'/passwordstrength/jquery.passwordstrength.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/passwordstrength/jquery.passwordstrength.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/jquery.noty.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/jquery.noty.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/layouts/topRight.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/layouts/topRight.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/layouts/topCenter.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/layouts/topCenter.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/noty/themes/default.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/noty/themes/default.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jqtree/tree.jquery.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/tree.jquery.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.min.js"></script>'."\n";
echo '<script type="text/javascript" src="../views/'.$this->theme.'/vendors/bootbox/bootbox.locales.min.js"></script>'."\n"; echo '<script type="text/javascript" src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.locales.min.js"></script>'."\n";
if(!empty($this->extraheader['favicon'])) if(!empty($this->extraheader['favicon']))
echo $this->extraheader['favicon']; echo $this->extraheader['favicon'];
else { else {
echo '<link rel="icon" href="../views/'.$this->theme.'/images/favicon.svg" type="image/svg+xml"/>'."\n"; echo '<link rel="icon" href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/favicon.svg" type="image/svg+xml"/>'."\n";
echo '<link rel="apple-touch-icon" sizes="180x180" href="../views/'.$this->theme.'/images/apple-touch-icon.png">'."\n"; echo '<link rel="apple-touch-icon" sizes="180x180" href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/apple-touch-icon.png">'."\n";
} }
if($this->params['session'] && $this->params['session']->getSu()) { if($this->params['session'] && $this->params['session']->getSu()) {
?> ?>
@ -168,21 +168,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} }
} }
$parenttheme = 'bootstrap'; $parenttheme = 'bootstrap';
echo '<script src="../views/'.$this->theme.'/vendors/popper/popper.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/popper/popper.min.js"></script>'."\n";
//echo '<script src="../styles/bootstrap/popper.js-1.14.3/dist/umd/popper.js"></script>'."\n"; //echo '<script src="'.$this->params['settings']->_httpRoot.'styles/bootstrap/popper.js-1.14.3/dist/umd/popper.js"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/vendors/bootstrap/bootstrap.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap/bootstrap.min.js"></script>'."\n";
echo '<script src="../styles/'.$parenttheme.'/bootstrap/js/bootstrap-typeahead.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/bootstrap/js/bootstrap-typeahead.js"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n";
foreach(array('de', 'es', 'ar', 'el', 'bg', 'ru', 'hr', 'hu', 'ko', 'pl', 'ro', 'sk', 'tr', 'uk', 'ca', 'nl', 'fi', 'cs', 'it', 'fr', 'sv', 'sl', 'pt-BR', 'zh-CN', 'zh-TW') as $lang) foreach(array('de', 'es', 'ar', 'el', 'bg', 'ru', 'hr', 'hu', 'ko', 'pl', 'ro', 'sk', 'tr', 'uk', 'ca', 'nl', 'fi', 'cs', 'it', 'fr', 'sv', 'sl', 'pt-BR', 'zh-CN', 'zh-TW') as $lang)
echo '<script src="../views/'.$this->theme.'/vendors/bootstrap-datepicker/locales/bootstrap-datepicker.'.$lang.'.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/locales/bootstrap-datepicker.'.$lang.'.min.js"></script>'."\n";
echo '<script src="../styles/'.$parenttheme.'/chosen/js/chosen.jquery.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/chosen/js/chosen.jquery.min.js"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/vendors/select2/js/select2.min.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/select2/js/select2.min.js"></script>'."\n";
parse_str($_SERVER['QUERY_STRING'], $tmp); parse_str($_SERVER['QUERY_STRING'], $tmp);
$tmp['action'] = 'webrootjs'; $tmp['action'] = 'webrootjs';
if(isset($tmp['formtoken'])) if(isset($tmp['formtoken']))
unset($tmp['formtoken']); unset($tmp['formtoken']);
echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n"; echo '<script src="'.$this->params['absbaseprefix'].'out/out.'.$this->params['class'].'.php?'.http_build_query($tmp).'"></script>'."\n";
echo '<script src="../views/'.$this->theme.'/styles/application.js"></script>'."\n"; echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.js"></script>'."\n";
if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) { if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) {
$this->addFooterJS('SeedDMSTask.run();'); $this->addFooterJS('SeedDMSTask.run();');
} }
@ -297,7 +297,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
function globalBanner() { /* {{{ */ function globalBanner() { /* {{{ */
echo "<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">\n"; echo "<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">\n";
echo " <a class=\"navbar-brand\" href=\"../out/out.ViewFolder.php\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="../views/bootstrap4/images/seeddms-logo.svg">')." <span class=\"d-none d-md-inline-block ml-4\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n"; echo " <a class=\"navbar-brand\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap4/images/seeddms-logo.svg">')." <span class=\"d-none d-md-inline-block ml-4\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n";
echo "</nav>\n"; echo "</nav>\n";
} /* }}} */ } /* }}} */
@ -305,11 +305,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$dms = $this->params['dms']; $dms = $this->params['dms'];
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
echo "<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark border-bottom fixed-top\">\n"; echo "<nav class=\"navbar navbar-expand-lg navbar-dark bg-dark border-bottom fixed-top\">\n";
echo " <a class=\"navbar-brand\" href=\"../out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="../views/bootstrap4/images/seeddms-logo.svg">')." <span class=\"d-none d-md-inline-block ml-4\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n"; echo " <a class=\"navbar-brand\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$this->params['dms']->getRootFolder()->getId()."\">".(!empty($this->extraheader['logo']) ? '<img src="'.$this->extraheader['logo'].'">' : '<img src="'.$this->params['settings']->_httpRoot.'views/bootstrap4/images/seeddms-logo.svg">')." <span class=\"d-none d-md-inline-block ml-4\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</span></a>\n";
if(isset($this->params['user']) && $this->params['user']) { if(isset($this->params['user']) && $this->params['user']) {
/* search form {{{ */ /* search form {{{ */
echo " <form action=\"../out/out.Search.php\" class=\"form-inline ml-4 mr-auto\" autocomplete=\"off\">"; echo " <form action=\"".$this->params['settings']->_httpRoot."out/out.Search.php\" class=\"form-inline ml-4 mr-auto\" autocomplete=\"off\">";
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) { if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) {
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />"; echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
} }
@ -327,11 +327,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <div class=\"collapse navbar-collapse\" id=\"navbarMain\">\n"; echo " <div class=\"collapse navbar-collapse\" id=\"navbarMain\">\n";
echo " <ul class=\"navbar-nav\">\n"; echo " <ul class=\"navbar-nav\">\n";
$menuitems = array(); $menuitems = array();
if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>'../out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar"); if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar");
if ($this->params['user']->isAdmin()) $menuitems['admintools'] = array('link'=>'../out/out.AdminTools.php', 'label'=>"admin_tools"); if ($this->params['user']->isAdmin()) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools");
if($this->params['enablehelp']) { if($this->params['enablehelp']) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$menuitems['help'] = array('link'=>'../out/out.Help.php?context='.$tmp[1], 'label'=>"help"); $menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>"help");
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
if($this->hasHook('globalNavigationBar')) if($this->hasHook('globalNavigationBar'))
@ -402,11 +402,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if (!$this->params['user']->isGuest()) { if (!$this->params['user']->isGuest()) {
$menuitems = array(); $menuitems = array();
if ($accessobject->check_view_access('MyDocuments')) if ($accessobject->check_view_access('MyDocuments'))
$menuitems['my_documents'] = array('link'=>"../out/out.MyDocuments.php?inProcess=1", 'label'=>'my_documents'); $menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php?inProcess=1", 'label'=>'my_documents');
if ($accessobject->check_view_access('MyAccount')) if ($accessobject->check_view_access('MyAccount'))
$menuitems['my_account'] = array('link'=>"../out/out.MyAccount.php", 'label'=>'my_account'); $menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>'my_account');
if ($accessobject->check_view_access('TransmittalMgr')) if ($accessobject->check_view_access('TransmittalMgr'))
$menuitems['my_transmittals'] = array('link'=>"../out/out.TransmittalMgr.php", 'label'=>'my_transmittals'); $menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>'my_transmittals');
if($this->hasHook('userMenuItems')) if($this->hasHook('userMenuItems'))
$menuitems = $this->callHook('userMenuItems', $menuitems); $menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) { if($menuitems) {
@ -428,7 +428,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <a class=\"dropdown-item active\""; echo " <a class=\"dropdown-item active\"";
else else
echo " <a class=\"dropdown-item\""; echo " <a class=\"dropdown-item\"";
echo " href=\"../op/op.SetLanguage.php?lang=".$currLang."&referer=".$_SERVER["REQUEST_URI"]."\">"; echo " href=\"".$this->params['settings']->_httpRoot."op/op.SetLanguage.php?lang=".$currLang."&referer=".$_SERVER["REQUEST_URI"]."\">";
echo getMLText($currLang)."</a>\n"; echo getMLText($currLang)."</a>\n";
} }
echo " </div>\n"; echo " </div>\n";
@ -437,15 +437,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if(!$this->params['session']->getSu()) { if(!$this->params['session']->getSu()) {
if($this->params['user']->isAdmin()) { if($this->params['user']->isAdmin()) {
$showdivider = true; $showdivider = true;
echo " <a class=\"dropdown-item\" href=\"../out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a>\n"; echo " <a class=\"dropdown-item\" href=\"".$this->params['settings']->_httpRoot."out/out.SubstituteUser.php\">".getMLText("substitute_user")."</a>\n";
} }
} }
if($showdivider) if($showdivider)
echo " <div class=\"dropdown-divider\"></div>\n"; echo " <div class=\"dropdown-divider\"></div>\n";
if($this->params['session']->getSu()) { if($this->params['session']->getSu()) {
echo " <a class=\"dropdown-item\" href=\"../op/op.ResetSu.php\">".getMLText("sign_out_user")."</a>\n"; echo " <a class=\"dropdown-item\" href=\"".$this->params['settings']->_httpRoot."op/op.ResetSu.php\">".getMLText("sign_out_user")."</a>\n";
} else { } else {
echo " <a class=\"dropdown-item\" href=\"../op/op.Logout.php\">".getMLText("sign_out")."</a>\n"; echo " <a class=\"dropdown-item\" href=\"".$this->params['settings']->_httpRoot."op/op.Logout.php\">".getMLText("sign_out")."</a>\n";
} }
echo " </div>\n"; echo " </div>\n";
echo " </li>\n"; echo " </li>\n";
@ -466,16 +466,16 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
for ($i = 0; $i < count($path); $i++) { for ($i = 0; $i < count($path); $i++) {
$txtpath .= "<li class=\"breadcrumb-item\">"; $txtpath .= "<li class=\"breadcrumb-item\">";
if ($i +1 < count($path)) { if ($i +1 < count($path)) {
$txtpath .= "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\" data-droptarget=\"folder_".$path[$i]->getID()."\" rel=\"folder_".$path[$i]->getID()."\" class=\"table-row-folder droptarget\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\">". $txtpath .= "<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\" data-droptarget=\"folder_".$path[$i]->getID()."\" rel=\"folder_".$path[$i]->getID()."\" class=\"table-row-folder droptarget\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\">".
htmlspecialchars($path[$i]->getName())."</a>"; htmlspecialchars($path[$i]->getName())."</a>";
} }
else { else {
$txtpath .= ($tagAll ? "<a href=\"../out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">". $txtpath .= ($tagAll ? "<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$path[$i]->getID()."&showtree=".showtree()."\">".
htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName())); htmlspecialchars($path[$i]->getName())."</a>" : htmlspecialchars($path[$i]->getName()));
} }
} }
if($document) if($document)
$txtpath .= "<li class=\"breadcrumb-item active\" aria-current=\"page\"><a href=\"../out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a></li>"; $txtpath .= "<li class=\"breadcrumb-item active\" aria-current=\"page\"><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getId()."\">".htmlspecialchars($document->getName())."</a></li>";
return '<nav aria-label="breadcrumb"><ol class="breadcrumb">'.$txtpath.'</ol></nav>'; return '<nav aria-label="breadcrumb"><ol class="breadcrumb">'.$txtpath.'</ol></nav>';
} /* }}} */ } /* }}} */
@ -659,38 +659,38 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems = array(); $menuitems = array();
if ($accessMode == M_READ && !$this->params['user']->isGuest()) { if ($accessMode == M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('FolderNotify')) if ($accessobject->check_controller_access('FolderNotify'))
$menuitems['edit_folder_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify')); $menuitems['edit_folder_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify'));
} }
else if ($accessMode >= M_READWRITE) { else if ($accessMode >= M_READWRITE) {
if ($accessobject->check_view_access('AddSubFolder')) if ($accessobject->check_controller_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>"../out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder')); $menuitems['add_subfolder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_view_access('AddDocument')) if ($accessobject->check_controller_access('AddDocument'))
$menuitems['add_document'] = array('link'=>"../out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document')); $menuitems['add_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document'));
if(0 && $this->params['enablelargefileupload']) if(0 && $this->params['enablelargefileupload'])
$menuitems['add_multiple_documents'] = array('link'=>"../out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents')); $menuitems['add_multiple_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents'));
if ($accessobject->check_view_access('EditFolder')) { if ($accessobject->check_controller_access('EditFolder')) {
$menuitems['edit_folder_props'] = array('link'=>"../out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props')); $menuitems['edit_folder_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props'));
} }
if ($accessobject->check_view_access('MoveFolder')) { if ($accessobject->check_controller_access('MoveFolder')) {
if ($folderID != $this->params['rootfolderid'] && $folder->getParent()) if ($folderID != $this->params['rootfolderid'] && $folder->getParent())
$menuitems['move_folder'] = array('link'=>"../out/out.MoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('move_folder')); $menuitems['move_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('move_folder'));
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($folderID != $this->params['rootfolderid'] && $folder->getParent()) if ($folderID != $this->params['rootfolderid'] && $folder->getParent())
if ($accessobject->check_view_access('RemoveFolder')) if ($accessobject->check_view_access('RemoveFolder'))
$menuitems['rm_folder'] = array('link'=>"../out/out.RemoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('rm_folder')); $menuitems['rm_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RemoveFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('rm_folder'));
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($accessobject->check_view_access('FolderAccess')) if ($accessobject->check_view_access('FolderAccess'))
$menuitems['edit_folder_access'] = array('link'=>"../out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access')); $menuitems['edit_folder_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAccess.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_access'));
} }
if ($accessobject->check_view_access('FolderNotify')) if ($accessobject->check_controller_access('FolderNotify'))
$menuitems['edit_existing_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify')); $menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify'));
} }
if ($this->params['user']->isAdmin() && $this->params['enablefullsearch']) { if ($this->params['user']->isAdmin() && $this->params['enablefullsearch']) {
$menuitems['index_folder'] = array('link'=>"../out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder')); $menuitems['index_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -709,49 +709,51 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessMode >= M_READWRITE) { if ($accessMode >= M_READWRITE) {
if (!$document->isLocked()) { if (!$document->isLocked()) {
if($accessobject->check_controller_access('UpdateDocument')) if($accessobject->check_controller_access('UpdateDocument'))
$menuitems['update_document'] = array('link'=>"../out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document')); $menuitems['update_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document'));
if($accessobject->check_controller_access('LockDocument')) if($accessobject->check_controller_access('LockDocument'))
$menuitems['lock_document'] = array('link'=>"../op/op.LockDocument".$docid."&formtoken=".createFormKey('lockdocument'), 'label'=>getMLText('lock_document')); $menuitems['lock_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.LockDocument".$docid."&formtoken=".createFormKey('lockdocument'), 'label'=>getMLText('lock_document'));
if($document->isCheckedOut()) if($document->isCheckedOut())
$menuitems['checkin_document'] = array('link'=>"../out/out.CheckInDocument".$docid, 'label'=>getMLText('checkin_document')); $menuitems['checkin_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.CheckInDocument".$docid, 'label'=>getMLText('checkin_document'));
else { else {
if($this->params['checkoutdir']) { if($this->params['checkoutdir']) {
$menuitems['checkout_document'] = array('link'=>"../op/op.CheckOutDocument".$docid, 'label'=>getMLText('checkout_document')); $menuitems['checkout_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.CheckOutDocument".$docid, 'label'=>getMLText('checkout_document'));
} }
} }
if($accessobject->check_controller_access('EditDocument')) if($accessobject->check_controller_access('EditDocument'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props')); $menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document')); if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
} }
else { else {
$lockingUser = $document->getLockingUser(); $lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) { if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) {
if($accessobject->check_controller_access('UpdateDocument')) if($accessobject->check_controller_access('UpdateDocument'))
$menuitems['update_document'] = array('link'=>"../out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document')); $menuitems['update_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UpdateDocument".$docid, 'label'=>getMLText('update_document'));
if($accessobject->check_controller_access('UnlockDocument')) if($accessobject->check_controller_access('UnlockDocument'))
$menuitems['unlock_document'] = array('link'=>"../op/op.UnlockDocument".$docid."&formtoken=".createFormKey('unlockdocument'), 'label'=>getMLText('unlock_document')); $menuitems['unlock_document'] = array('link'=>$this->params['settings']->_httpRoot."op/op.UnlockDocument".$docid."&formtoken=".createFormKey('unlockdocument'), 'label'=>getMLText('unlock_document'));
if($accessobject->check_controller_access('EditDocument')) if($accessobject->check_controller_access('EditDocument'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props')); $menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document')); if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
} }
} }
if($accessobject->maySetExpires($document)) { if($accessobject->maySetExpires($document)) {
if ($accessobject->check_view_access('SetExpires')) if ($accessobject->check_view_access('SetExpires'))
$menuitems['expires'] = array('link'=>"../out/out.SetExpires".$docid, 'label'=>getMLText('expires')); $menuitems['expires'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SetExpires".$docid, 'label'=>getMLText('expires'));
} }
} }
if ($accessMode == M_ALL) { if ($accessMode == M_ALL) {
if ($accessobject->check_view_access('RemoveDocument')) if ($accessobject->check_view_access('RemoveDocument'))
$menuitems['rm_document'] = array('link'=>"../out/out.RemoveDocument".$docid, 'label'=>getMLText('rm_document')); $menuitems['rm_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RemoveDocument".$docid, 'label'=>getMLText('rm_document'));
if ($accessobject->check_view_access('DocumentAccess')) if ($accessobject->check_view_access('DocumentAccess'))
$menuitems['edit_document_access'] = array('link'=>"../out/out.DocumentAccess". $docid, 'label'=>getMLText('edit_document_access')); $menuitems['edit_document_access'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentAccess". $docid, 'label'=>getMLText('edit_document_access'));
} }
if ($accessMode >= M_READ && !$this->params['user']->isGuest()) { if ($accessMode >= M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('DocumentNotify')) if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>"../out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify')); $menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
} }
if ($this->params['user']->isAdmin()) { if ($accessobject->check_view_access('TransferDocument')) {
$menuitems['transfer_document'] = array('link'=>"../out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document')); $menuitems['transfer_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -777,21 +779,22 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$menuitems = array(); $menuitems = array();
if ($this->params['user']->isAdmin() || !$this->params['disableselfedit']) if ($accessobject->check_view_access('EditUserData') || !$this->params['disableselfedit'])
$menuitems['edit_user_details'] = array('link'=>"../out/out.EditUserData.php", 'label'=>getMLText('edit_user_details')); $menuitems['edit_user_details'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditUserData.php", 'label'=>getMLText('edit_user_details'));
if (!$this->params['user']->isAdmin()) if (!$this->params['user']->isAdmin())
$menuitems['edit_default_keywords'] = array('link'=>"../out/out.UserDefaultKeywords.php", 'label'=>getMLText('edit_default_keywords')); $menuitems['edit_default_keywords'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UserDefaultKeywords.php", 'label'=>getMLText('edit_default_keywords'));
$menuitems['edit_notify'] = array('link'=>"../out/out.ManageNotify.php", 'label'=>getMLText('edit_existing_notify')); if ($accessobject->check_view_access('ManageNotify'))
$menuitems['edit_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ManageNotify.php", 'label'=>getMLText('edit_existing_notify'));
$menuitems['2_factor_auth'] = array('link'=>"../out/out.Setup2Factor.php", 'label'=>'2_factor_auth'); $menuitems['2_factor_auth'] = array('link'=>"../out/out.Setup2Factor.php", 'label'=>'2_factor_auth');
if ($this->params['enableusersview']){ if ($this->params['enableusersview']){
if ($accessobject->check_view_access('UsrView')) if ($accessobject->check_view_access('UsrView'))
$menuitems['users'] = array('link'=>"../out/out.UsrView.php", 'label'=>getMLText('users')); $menuitems['users'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UsrView.php", 'label'=>getMLText('users'));
if ($accessobject->check_view_access('GroupView')) if ($accessobject->check_view_access('GroupView'))
$menuitems['groups'] = array('link'=>"../out/out.GroupView.php", 'label'=>getMLText('groups')); $menuitems['groups'] = array('link'=>$this->params['settings']->_httpRoot."out/out.GroupView.php", 'label'=>getMLText('groups'));
} }
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
@ -806,16 +809,18 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$menuitems = array(); $menuitems = array();
$menuitems['inprocess'] = array('link'=>"../out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process')); if ($accessobject->check_view_access('MyDocuments')) {
$menuitems['all_documents'] = array('link'=>"../out/out.MyDocuments.php", 'label'=>getMLText('all_documents')); $menuitems['inprocess'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process'));
$menuitems['all_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php", 'label'=>getMLText('all_documents'));
}
if($this->params['workflowmode'] == 'traditional' || $this->params['workflowmode'] == 'traditional_only_approval') { if($this->params['workflowmode'] == 'traditional' || $this->params['workflowmode'] == 'traditional_only_approval') {
if ($accessobject->check_view_access('ReviewSummary')) if ($accessobject->check_view_access('ReviewSummary'))
$menuitems['review_summary'] = array('link'=>"../out/out.ReviewSummary.php", 'label'=>getMLText('review_summary')); $menuitems['review_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ReviewSummary.php", 'label'=>getMLText('review_summary'));
if ($accessobject->check_view_access('ApprovalSummary')) if ($accessobject->check_view_access('ApprovalSummary'))
$menuitems['approval_summary'] = array('link'=>"../out/out.ApprovalSummary.php", 'label'=>getMLText('approval_summary')); $menuitems['approval_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ApprovalSummary.php", 'label'=>getMLText('approval_summary'));
} else { } else {
if ($accessobject->check_view_access('WorkflowSummary')) if ($accessobject->check_view_access('WorkflowSummary'))
$menuitems['workflow_summary'] = array('link'=>"../out/out.WorkflowSummary.php", 'label'=>getMLText('workflow_summary')); $menuitems['workflow_summary'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowSummary.php", 'label'=>getMLText('workflow_summary'));
} }
if ($accessobject->check_view_access('ReceiptSummary')) if ($accessobject->check_view_access('ReceiptSummary'))
$menuitems['receipt_summary'] = array('link'=>"../out/out.ReceiptSummary.php", 'label'=>getMLText('receipt_summary')); $menuitems['receipt_summary'] = array('link'=>"../out/out.ReceiptSummary.php", 'label'=>getMLText('receipt_summary'));
@ -838,32 +843,32 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if($accessobject->check_view_access(array('UsrMgr', 'RoleMgr', 'GroupMgr', 'UserList', 'Acl'))) { if($accessobject->check_view_access(array('UsrMgr', 'RoleMgr', 'GroupMgr', 'UserList', 'Acl'))) {
$menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management')); $menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management'));
if ($accessobject->check_view_access('UsrMgr')) if ($accessobject->check_view_access('UsrMgr'))
$menuitems['user_group_management']['children']['user_management'] = array('link'=>"../out/out.UsrMgr.php", 'label'=>getMLText('user_management')); $menuitems['user_group_management']['children']['user_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UsrMgr.php", 'label'=>getMLText('user_management'));
if ($accessobject->check_view_access('RoleMgr')) if ($accessobject->check_view_access('RoleMgr'))
$menuitems['user_group_management']['children']['role_management'] = array('link'=>"../out/out.RoleMgr.php", 'label'=>getMLText('role_management')); $menuitems['user_group_management']['children']['role_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.RoleMgr.php", 'label'=>getMLText('role_management'));
if ($accessobject->check_view_access('GroupMgr')) if ($accessobject->check_view_access('GroupMgr'))
$menuitems['user_group_management']['children']['group_management'] = array('link'=>"../out/out.GroupMgr.php", 'label'=>getMLText('group_management')); $menuitems['user_group_management']['children']['group_management'] = array('link'=>$this->params['settings']->_httpRoot."out/out.GroupMgr.php", 'label'=>getMLText('group_management'));
if ($accessobject->check_view_access('UserList')) if ($accessobject->check_view_access('UserList'))
$menuitems['user_group_management']['children']['user_list'] = array('link'=>"../out/out.UserList.php", 'label'=>getMLText('user_list')); $menuitems['user_group_management']['children']['user_list'] = array('link'=>$this->params['settings']->_httpRoot."out/out.UserList.php", 'label'=>getMLText('user_list'));
if ($accessobject->check_view_access('Acl')) if ($accessobject->check_view_access('Acl'))
$menuitems['user_group_management']['children']['access_control'] = array('link'=>"../out/out.Acl.php", 'label'=>getMLText('access_control')); $menuitems['user_group_management']['children']['access_control'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Acl.php", 'label'=>getMLText('access_control'));
} }
if($accessobject->check_view_access(array('DefaultKeywords', 'Categories', 'AttributeMgr', 'WorkflowMgr', 'WorkflowStatesMgr', 'WorkflowActionsMgr'))) { if($accessobject->check_view_access(array('DefaultKeywords', 'Categories', 'AttributeMgr', 'WorkflowMgr', 'WorkflowStatesMgr', 'WorkflowActionsMgr'))) {
$menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions')); $menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions'));
if ($accessobject->check_view_access('DefaultKeywords')) if ($accessobject->check_view_access('DefaultKeywords'))
$menuitems['definitions']['children']['default_keywords'] = array('link'=>"../out/out.DefaultKeywords.php", 'label'=>getMLText('global_default_keywords')); $menuitems['definitions']['children']['default_keywords'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DefaultKeywords.php", 'label'=>getMLText('global_default_keywords'));
if ($accessobject->check_view_access('Categories')) if ($accessobject->check_view_access('Categories'))
$menuitems['definitions']['children']['document_categories'] = array('link'=>"../out/out.Categories.php", 'label'=>getMLText('global_document_categories')); $menuitems['definitions']['children']['document_categories'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Categories.php", 'label'=>getMLText('global_document_categories'));
if ($accessobject->check_view_access('AttributeMgr')) if ($accessobject->check_view_access('AttributeMgr'))
$menuitems['definitions']['children']['attribute_definitions'] = array('link'=>"../out/out.AttributeMgr.php", 'label'=>getMLText('global_attributedefinitions')); $menuitems['definitions']['children']['attribute_definitions'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AttributeMgr.php", 'label'=>getMLText('global_attributedefinitions'));
if($this->params['workflowmode'] == 'advanced') { if($this->params['workflowmode'] == 'advanced') {
if ($accessobject->check_view_access('WorkflowMgr')) if ($accessobject->check_view_access('WorkflowMgr'))
$menuitems['definitions']['children']['workflows'] = array('link'=>"../out/out.WorkflowMgr.php", 'label'=>getMLText('global_workflows')); $menuitems['definitions']['children']['workflows'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowMgr.php", 'label'=>getMLText('global_workflows'));
if ($accessobject->check_view_access('WorkflowStatesMgr')) if ($accessobject->check_view_access('WorkflowStatesMgr'))
$menuitems['definitions']['children']['workflow_states'] = array('link'=>"../out/out.WorkflowStatesMgr.php", 'label'=>getMLText('global_workflow_states')); $menuitems['definitions']['children']['workflow_states'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowStatesMgr.php", 'label'=>getMLText('global_workflow_states'));
if ($accessobject->check_view_access('WorkflowActionsMgr')) if ($accessobject->check_view_access('WorkflowActionsMgr'))
$menuitems['definitions']['children']['workflow_actions'] = array('link'=>"../out/out.WorkflowActionsMgr.php", 'label'=>getMLText('global_workflow_actions')); $menuitems['definitions']['children']['workflow_actions'] = array('link'=>$this->params['settings']->_httpRoot."out/out.WorkflowActionsMgr.php", 'label'=>getMLText('global_workflow_actions'));
} }
} }
@ -871,47 +876,47 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if($accessobject->check_view_access(array('Indexer', 'CreateIndex', 'IndexInfo'))) { if($accessobject->check_view_access(array('Indexer', 'CreateIndex', 'IndexInfo'))) {
$menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch')); $menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch'));
if ($accessobject->check_view_access('Indexer')) if ($accessobject->check_view_access('Indexer'))
$menuitems['fulltext']['children']['update_fulltext_index'] = array('link'=>"../out/out.Indexer.php", 'label'=>getMLText('update_fulltext_index')); $menuitems['fulltext']['children']['update_fulltext_index'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php", 'label'=>getMLText('update_fulltext_index'));
if ($accessobject->check_view_access('CreateIndex')) if ($accessobject->check_view_access('CreateIndex'))
$menuitems['fulltext']['children']['create_fulltext_index'] = array('link'=>"../out/out.CreateIndex.php", 'label'=>getMLText('create_fulltext_index')); $menuitems['fulltext']['children']['create_fulltext_index'] = array('link'=>$this->params['settings']->_httpRoot."out/out.CreateIndex.php", 'label'=>getMLText('create_fulltext_index'));
if ($accessobject->check_view_access('IndexInfo')) if ($accessobject->check_view_access('IndexInfo'))
$menuitems['fulltext']['children']['fulltext_info'] = array('link'=>"../out/out.IndexInfo.php", 'label'=>getMLText('fulltext_info')); $menuitems['fulltext']['children']['fulltext_info'] = array('link'=>$this->params['settings']->_httpRoot."out/out.IndexInfo.php", 'label'=>getMLText('fulltext_info'));
} }
} }
if($accessobject->check_view_access(array('BackupTools', 'LogManagement'))) { if($accessobject->check_view_access(array('BackupTools', 'LogManagement'))) {
$menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management')); $menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management'));
if ($accessobject->check_view_access('BackupTools')) if ($accessobject->check_view_access('BackupTools'))
$menuitems['backup_log_management']['children'][] = array('link'=>"../out/out.BackupTools.php", 'label'=>getMLText('backup_tools')); $menuitems['backup_log_management']['children'][] = array('link'=>$this->params['settings']->_httpRoot."out/out.BackupTools.php", 'label'=>getMLText('backup_tools'));
if ($this->params['logfileenable']) if ($this->params['logfileenable'])
if ($accessobject->check_view_access('LogManagement')) if ($accessobject->check_view_access('LogManagement'))
$menuitems['backup_log_management']['children'][] = array('link'=>"../out/out.LogManagement.php", 'label'=>getMLText('log_management')); $menuitems['backup_log_management']['children'][] = array('link'=>$this->params['settings']->_httpRoot."out/out.LogManagement.php", 'label'=>getMLText('log_management'));
} }
if($accessobject->check_view_access(array('ImportFS', 'ImportUsers', 'Statistic', 'Charts', 'Timeline', 'ObjectCheck', 'ExtensionMgr', 'Info'))) { if($accessobject->check_view_access(array('ImportFS', 'ImportUsers', 'Statistic', 'Charts', 'Timeline', 'ObjectCheck', 'ExtensionMgr', 'Info'))) {
$menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc')); $menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc'));
if ($accessobject->check_view_access('ImportFS')) if ($accessobject->check_view_access('ImportFS'))
$menuitems['misc']['children']['import_fs'] = array('link'=>"../out/out.ImportFS.php", 'label'=>getMLText('import_fs')); $menuitems['misc']['children']['import_fs'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ImportFS.php", 'label'=>getMLText('import_fs'));
if ($accessobject->check_view_access('ImportUsers')) if ($accessobject->check_view_access('ImportUsers'))
$menuitems['misc']['children']['import_users'] = array('link'=>"../out/out.ImportUsers.php", 'label'=>getMLText('import_users')); $menuitems['misc']['children']['import_users'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ImportUsers.php", 'label'=>getMLText('import_users'));
if ($accessobject->check_view_access('Statistic')) if ($accessobject->check_view_access('Statistic'))
$menuitems['misc']['children']['folders_and_documents_statistic'] = array('link'=>"../out/out.Statistic.php", 'label'=>getMLText('folders_and_documents_statistic')); $menuitems['misc']['children']['folders_and_documents_statistic'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Statistic.php", 'label'=>getMLText('folders_and_documents_statistic'));
if ($accessobject->check_view_access('Charts')) if ($accessobject->check_view_access('Charts'))
$menuitems['misc']['children']['charts'] = array('link'=>"../out/out.Charts.php", 'label'=>getMLText('charts')); $menuitems['misc']['children']['charts'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Charts.php", 'label'=>getMLText('charts'));
if ($accessobject->check_view_access('Timeline')) if ($accessobject->check_view_access('Timeline'))
$menuitems['misc']['children']['timeline'] = array('link'=>"../out/out.Timeline.php", 'label'=>getMLText('timeline')); $menuitems['misc']['children']['timeline'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Timeline.php", 'label'=>getMLText('timeline'));
if ($accessobject->check_view_access('SchedulerTaskMgr')) if ($accessobject->check_view_access('SchedulerTaskMgr'))
$menuitems['misc']['children']['schedulertaskmgr'] = array('link'=>"../out/out.SchedulerTaskMgr.php", 'label'=>getMLText('scheduler_task_mgr')); $menuitems['misc']['children']['schedulertaskmgr'] = array('link'=>$this->params['settings']->_httpRoot."out/out.SchedulerTaskMgr.php", 'label'=>getMLText('scheduler_task_mgr'));
if ($accessobject->check_view_access('ObjectCheck')) if ($accessobject->check_view_access('ObjectCheck'))
$menuitems['misc']['children']['objectcheck'] = array('link'=>"../out/out.ObjectCheck.php", 'label'=>getMLText('objectcheck')); $menuitems['misc']['children']['objectcheck'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ObjectCheck.php", 'label'=>getMLText('objectcheck'));
if ($accessobject->check_view_access('ExpiredDocuments')) if ($accessobject->check_view_access('ExpiredDocuments'))
$menuitems['misc']['children']['documents_expired'] = array('link'=>"../out/out.ExpiredDocuments.php", 'label'=>getMLText('documents_expired')); $menuitems['misc']['children']['documents_expired'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ExpiredDocuments.php", 'label'=>getMLText('documents_expired'));
if ($accessobject->check_view_access('ExtensionMgr')) if ($accessobject->check_view_access('ExtensionMgr'))
$menuitems['misc']['children']['extension_manager'] = array('link'=>"../out/out.ExtensionMgr.php", 'label'=>getMLText('extension_manager')); $menuitems['misc']['children']['extension_manager'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ExtensionMgr.php", 'label'=>getMLText('extension_manager'));
if ($accessobject->check_view_access('ClearCache')) if ($accessobject->check_view_access('ClearCache'))
$menuitems['misc']['children']['clear_cache'] = array('link'=>"../out/out.ClearCache.php", 'label'=>getMLText('clear_cache')); $menuitems['misc']['children']['clear_cache'] = array('link'=>$this->params['settings']->_httpRoot."out/out.ClearCache.php", 'label'=>getMLText('clear_cache'));
if ($accessobject->check_view_access('Info')) if ($accessobject->check_view_access('Info'))
$menuitems['misc']['children']['version_info'] = array('link'=>"../out/out.Info.php", 'label'=>getMLText('version_info')); $menuitems['misc']['children']['version_info'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Info.php", 'label'=>getMLText('version_info'));
} }
if ($settings->_enableDebugMode) { if ($settings->_enableDebugMode) {
@ -931,15 +936,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarOldNavigationBar($d){ /* {{{ */ private function calendarOldNavigationBar($d){ /* {{{ */
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$ds="&day=".$d[0]."&month=".$d[1]."&year=".$d[2]; $ds="&day=".$d[0]."&month=".$d[1]."&year=".$d[2];
echo "<id=\"first\"><a href=\"../out/out.CalendarOld.php?mode=y\" class=\"brand\">".getMLText("calendar")."</a>\n"; echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=y\" class=\"brand\">".getMLText("calendar")."</a>\n";
echo "<div class=\"nav-collapse col2\">\n"; echo "<div class=\"nav-collapse col2\">\n";
echo "<ul class=\"nav\">\n"; echo "<ul class=\"nav\">\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=w".$ds."\">".getMLText("week_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=w".$ds."\">".getMLText("week_view")."</a></li>\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=m".$ds."\">".getMLText("month_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=m".$ds."\">".getMLText("month_view")."</a></li>\n";
echo "<li><a href=\"../out/out.CalendarOld.php?mode=y".$ds."\">".getMLText("year_view")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=y".$ds."\">".getMLText("year_view")."</a></li>\n";
if (!$this->params['user']->isGuest()) if($accessobject->check_view_access(array('AddEvent')))
echo "<li><a href=\"../out/out.AddEvent.php\">".getMLText("add_event")."</a></li>\n"; echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.AddEvent.php\">".getMLText("add_event")."</a></li>\n";
echo "</ul>\n"; echo "</ul>\n";
echo "</div>\n"; echo "</div>\n";
return; return;
@ -950,8 +955,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject']; $accessobject = $this->params['accessobject'];
$menuitems = array(); $menuitems = array();
if (!$this->params['user']->isGuest()) if($accessobject->check_view_access(array('AddEvent')))
$menuitems['addevent'] = array('link'=>"../out/out.AddEvent.php", 'label'=>getMLText('add_event')); $menuitems['addevent'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddEvent.php", 'label'=>getMLText('add_event'));
/* Check if hook exists because otherwise callHook() will override $menuitems */ /* Check if hook exists because otherwise callHook() will override $menuitems */
if($this->hasHook('calendarNavigationBar')) if($this->hasHook('calendarNavigationBar'))
@ -1431,7 +1436,7 @@ $(document).ready(function() {
<div id="'.$id.'-upload-files"> <div id="'.$id.'-upload-files">
<div id="'.$id.'-upload-file" class="upload-file"> <div id="'.$id.'-upload-file" class="upload-file">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control" id="kkll'.$id.'" readonly> <input type="text" class="form-control fileupload-group" id="kkll'.$id.'" readonly>
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-secondary btn-file"> <button class="btn btn-secondary btn-file">
'.getMLText("browse").'&hellip; <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").' data-target-highlight="kkll'.$id.'"> '.getMLText("browse").'&hellip; <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").' data-target-highlight="kkll'.$id.'">
@ -1555,7 +1560,7 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'docChooser'.$formid, 'target' => 'docChooser'.$formid,
'remote' => "../out/out.DocumentChooser.php?form=".$formid."&folderid=".$folderid."&partialtree=".$partialtree, 'remote' => $this->params['settings']->_httpRoot."out/out.DocumentChooser.php?form=".$formid."&folderid=".$folderid."&partialtree=".$partialtree,
'class' => 'btn btn-secondary', 'class' => 'btn btn-secondary',
'title' => getMLText('document').'…' 'title' => getMLText('document').'…'
)); ));
@ -1622,7 +1627,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'folderChooser'.$formid, 'target' => 'folderChooser'.$formid,
'remote' => "../out/out.FolderChooser.php?form=".$formid."&mode=".$accessMode."&exclude=".$exclude, 'remote' => $this->params['settings']->_httpRoot."out/out.FolderChooser.php?form=".$formid."&mode=".$accessMode."&exclude=".$exclude,
'class' => 'btn btn-secondary', 'class' => 'btn btn-secondary',
'title' => getMLText('folder').'…' 'title' => getMLText('folder').'…'
)); ));
@ -1697,7 +1702,7 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'keywordChooser', 'target' => 'keywordChooser',
'remote' => "../out/out.KeywordChooser.php?target=".$formName, 'remote' => $this->params['settings']->_httpRoot."out/out.KeywordChooser.php?target=".$formName,
'class' => 'btn btn-secondary', 'class' => 'btn btn-secondary',
'title' => getMLText('keywords').'…' 'title' => getMLText('keywords').'…'
)); ));
@ -1772,7 +1777,7 @@ $(document).ready(function() {
$tmp = array(); $tmp = array();
foreach($attrs as $attr) { foreach($attrs as $attr) {
if($targetfolder = $dms->getFolder(intval($attr))) if($targetfolder = $dms->getFolder(intval($attr)))
$tmp[] = '<a href="../out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>'; $tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$targetfolder->getId().'">'.htmlspecialchars($targetfolder->getName()).'</a>';
} }
return implode('<br />', $tmp); return implode('<br />', $tmp);
break; break;
@ -1781,7 +1786,7 @@ $(document).ready(function() {
$tmp = array(); $tmp = array();
foreach($attrs as $attr) { foreach($attrs as $attr) {
if($targetdoc = $dms->getDocument(intval($attr))) if($targetdoc = $dms->getDocument(intval($attr)))
$tmp[] = '<a href="../out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>'; $tmp[] = '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$targetdoc->getId().'">'.htmlspecialchars($targetdoc->getName()).'</a>';
} }
return implode('<br />', $tmp); return implode('<br />', $tmp);
break; break;
@ -1955,13 +1960,13 @@ $(document).ready(function() {
function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */ function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */
$content = "<div class=\"input-group\">\n"; $content = "<div class=\"input-group\">\n";
$content .= "<input class=\"form-control\" readonly type=\"text\" id=\"dropfolderfile".$formName."\" name=\"dropfolderfile".$formName."\" value=\"".htmlspecialchars($dropfolderfile)."\">"; $content .= "<input class=\"form-control fileupload-group\" readonly type=\"text\" id=\"dropfolderfile".$formName."\" name=\"dropfolderfile".$formName."\" value=\"".htmlspecialchars($dropfolderfile)."\">";
$content .= '<div class="input-group-append">'; $content .= '<div class="input-group-append">';
$content .= "<button type=\"button\" class=\"btn btn-secondary\" id=\"clearfilename".$formName."\"><i class=\"fa fa-remove\"></i></button>"; $content .= "<button type=\"button\" class=\"btn btn-secondary\" id=\"clearfilename".$formName."\"><i class=\"fa fa-remove\"></i></button>";
$content .= $this->getModalBoxLink( $content .= $this->getModalBoxLink(
array( array(
'target' => 'dropfolderChooser', 'target' => 'dropfolderChooser',
'remote' => "../out/out.DropFolderChooser.php?form=".$formName."&dropfolderfile=".urlencode($dropfolderfile)."&showfolders=".$showfolders, 'remote' => $this->params['settings']->_httpRoot."out/out.DropFolderChooser.php?form=".$formName."&dropfolderfile=".urlencode($dropfolderfile)."&showfolders=".$showfolders,
'class' => 'btn btn-secondary', 'class' => 'btn btn-secondary',
'title' => ($showfolders ? getMLText("choose_target_folder"): getMLText("choose_target_file")).'…' 'title' => ($showfolders ? getMLText("choose_target_folder"): getMLText("choose_target_file")).'…'
)); ));
@ -2350,19 +2355,19 @@ $(function() {
*/ */
function __printTreeNavigation($folderid, $showtree){ /* {{{ */ function __printTreeNavigation($folderid, $showtree){ /* {{{ */
if ($showtree==1){ if ($showtree==1){
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"fa fa-minus-circle\"></i></a>", true);
$this->contentContainerStart(); $this->contentContainerStart();
?> ?>
<script language="JavaScript"> <script language="JavaScript">
function folderSelected(id, name) { function folderSelected(id, name) {
window.location = '../out/out.ViewFolder.php?folderid=' + id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewFolder.php?folderid=' + id;
} }
</script> </script>
<?php <?php
$this->printNewTreeNavigation($folderid, M_READ, 0, ''); $this->printNewTreeNavigation($folderid, M_READ, 0, '');
$this->contentContainerEnd(); $this->contentContainerEnd();
} else { } else {
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true); $this->contentHeading("<a href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"fa fa-plus-circle\"></i></a>", true);
} }
} /* }}} */ } /* }}} */
@ -2451,7 +2456,7 @@ $(function() {
}, },
\"callback\": function(result) { \"callback\": function(result) {
if(result) { if(result) {
$.get('../op/op.Ajax.php', $.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: formtoken }, { command: 'deletedocument', id: id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2531,7 +2536,7 @@ $(function() {
}, },
\"callback\": function(result) { \"callback\": function(result) {
if(result) { if(result) {
$.get('../op/op.Ajax.php', $.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: formtoken }, { command: 'deletefolder', id: id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2594,9 +2599,9 @@ $(function() {
$content = ''; $content = '';
$objid = $object->getId(); $objid = $object->getId();
if($object->isType('document')) { if($object->isType('document')) {
$content .= '<a class="access-document-btn" href="../out/out.DocumentAccess.php?documentid='.$objid.'" title="'.getMLText('edit_document_access').'"><i class="fa fa-bolt"></i></a>'; $content .= '<a class="access-document-btn" href="'.$this->params['settings']->_httpRoot.'out/out.DocumentAccess.php?documentid='.$objid.'" title="'.getMLText('edit_document_access').'"><i class="fa fa-bolt"></i></a>';
} elseif($object->isType('folder')) { } elseif($object->isType('folder')) {
$content .= '<a class="access-folder-btn" href="../out/out.FolderAccess.php?folderid='.$objid.'" title="'.getMLText('edit_folder_access').'"><i class="fa fa-bolt"></i></a>'; $content .= '<a class="access-folder-btn" href="'.$this->params['settings']->_httpRoot.'out/out.FolderAccess.php?folderid='.$objid.'" title="'.getMLText('edit_folder_access').'"><i class="fa fa-bolt"></i></a>';
} }
if($return) if($return)
return $content; return $content;
@ -2818,7 +2823,7 @@ $(document).ready( function() {
}, },
\"callback\": function(result) { \"callback\": function(result) {
if(result) { if(result) {
$.post('../op/op.AttributeMgr.php', $.post('".$this->params['settings']->_httpRoot."op/op.AttributeMgr.php',
{ action: 'removeattrvalue', attrdefid: id, attrvalue: attrvalue, formtoken: formtoken }, { action: 'removeattrvalue', attrdefid: id, attrvalue: attrvalue, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -2862,7 +2867,7 @@ $('body').on('click', '[id^=\"table-row-document\"] td:nth-child(2)', function(e
$(ev.currentTarget).parent().toggleClass('selected'); $(ev.currentTarget).parent().toggleClass('selected');
} else { } else {
attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3];
window.location = '../out/out.ViewDocument.php?documentid=' + attr_id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewDocument.php?documentid=' + attr_id;
} }
}); });
<?php <?php
@ -2889,7 +2894,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
attr_id = $(ev.currentTarget).parent().data('target-id'); attr_id = $(ev.currentTarget).parent().data('target-id');
if(typeof attr_id == 'undefined') if(typeof attr_id == 'undefined')
attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3];
window.location = '../out/out.ViewFolder.php?folderid=' + attr_id; window.location = '<?= $this->params['settings']->_httpRoot ?>out/out.ViewFolder.php?folderid=' + attr_id;
} }
}); });
<?php <?php
@ -3004,9 +3009,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<td>"; $content .= "<td>";
if (file_exists($dms->contentDir . $latestContent->getPath())) { if (file_exists($dms->contentDir . $latestContent->getPath())) {
if($accessop->check_controller_access('Download', array('action'=>'version'))) if($accessop->check_controller_access('Download', array('action'=>'version')))
$content .= "<a draggable=\"false\" href=\"../op/op.Download.php?documentid=".$docID."&version=".$version."\">"; $content .= "<a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$docID."&version=".$version."\">";
if($previewer->hasPreview($latestContent)) { if($previewer->hasPreview($latestContent)) {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else { } else {
$content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= "<img draggable=\"false\" class=\"mimeicon\" width=\"".$previewwidth."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} }
@ -3020,7 +3025,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
if($onepage) if($onepage)
$content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>"; $content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>";
else else
$content .= "<a draggable=\"false\" href=\"../out/out.ViewDocument.php?documentid=".$docID."&showtree=".$showtree."\">" . htmlspecialchars($document->getName()) . "</a>"; $content .= "<a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$docID."&showtree=".$showtree."\">" . htmlspecialchars($document->getName()) . "</a>";
if(isset($extracontent['below_title'])) if(isset($extracontent['below_title']))
$content .= $extracontent['below_title']; $content .= $extracontent['below_title'];
$content .= "<br />"; $content .= "<br />";
@ -3098,7 +3103,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
} }
} }
if($document->getAccessMode($user) >= M_READWRITE) { if($document->getAccessMode($user) >= M_READWRITE) {
$content .= '<a href="../out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
} else { } else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>'; $content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
} }
@ -3112,7 +3117,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)
$content .= '<a href="../out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
if(!empty($extracontent['end_action_list'])) if(!empty($extracontent['end_action_list']))
$content .= $extracontent['end_action_list']; $content .= $extracontent['end_action_list'];
$content .= "</div>"; $content .= "</div>";
@ -3181,11 +3186,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content = ''; $content = '';
if(!$skipcont) if(!$skipcont)
$content .= $this->folderListRowStart($subFolder); $content .= $this->folderListRowStart($subFolder);
$content .= "<td><a draggable=\"false\" href=\"../out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\"><img draggable=\"false\" src=\"".$this->getMimeIcon(".folder")."\" width=\"24\" height=\"24\" border=0></a></td>\n"; $content .= "<td><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\"><img draggable=\"false\" src=\"".$this->getMimeIcon(".folder")."\" width=\"24\" height=\"24\" border=0></a></td>\n";
if($onepage) if($onepage)
$content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>"; $content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>";
else else
$content .= "<td class=\"wordbreak\"><a draggable=\"false\" href=\"../out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . "</a>"; $content .= "<td class=\"wordbreak\"><a draggable=\"false\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . "</a>";
if(isset($extracontent['below_title'])) if(isset($extracontent['below_title']))
$content .= $extracontent['below_title']; $content .= $extracontent['below_title'];
$content .= "<br /><span style=\"font-size: 85%; font-style: italic; color: #666;\">".getMLText('owner').": <b>".htmlspecialchars($owner->getFullName())."</b>, ".getMLText('creation_date').": <b>".date('Y-m-d', $subFolder->getDate())."</b></span>"; $content .= "<br /><span style=\"font-size: 85%; font-style: italic; color: #666;\">".getMLText('owner').": <b>".htmlspecialchars($owner->getFullName())."</b>, ".getMLText('creation_date').": <b>".date('Y-m-d', $subFolder->getDate())."</b></span>";
@ -3239,7 +3244,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
} }
if ($accessop->check_view_access('EditFolder')) { if ($accessop->check_view_access('EditFolder')) {
if($subFolderAccessMode >= M_READWRITE) { if($subFolderAccessMode >= M_READWRITE) {
$content .= '<a class_="btn btn-mini" href="../out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>'; $content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
} else { } else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>'; $content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
} }
@ -3251,7 +3256,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>'; $content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
} }
if($onepage) if($onepage)
$content .= '<a href="../out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>'; $content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
if(!empty($extracontent['end_action_list'])) if(!empty($extracontent['end_action_list']))
$content .= $extracontent['end_action_list']; $content .= $extracontent['end_action_list'];
$content .= "</div>"; $content .= "</div>";
@ -3523,14 +3528,14 @@ $(document).ready(function() {
if($accessop->check_controller_access('Download', array('action'=>'review'))) if($accessop->check_controller_access('Download', array('action'=>'review')))
if($rec['file']) { if($rec['file']) {
echo "<br />"; echo "<br />";
echo "<a href=\"../op/op.Download.php?documentid=".$document->getID()."&reviewlogid=".$rec['reviewLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$document->getID()."&reviewlogid=".$rec['reviewLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
break; break;
case "approval": case "approval":
if($accessop->check_controller_access('Download', array('action'=>'approval'))) if($accessop->check_controller_access('Download', array('action'=>'approval')))
if($rec['file']) { if($rec['file']) {
echo "<br />"; echo "<br />";
echo "<a href=\"../op/op.Download.php?documentid=".$document->getID()."&approvelogid=".$rec['approveLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>"; echo "<a href=\"".$this->params['settings']->_httpRoot."op/op.Download.php?documentid=".$document->getID()."&approvelogid=".$rec['approveLogID']."\" class=\"btn btn-mini\"><i class=\"fa fa-download\"></i> ".getMLText('download')."</a>";
} }
break; break;
} }

View File

@ -71,7 +71,7 @@ function initMost() {
* strength on each change to the passwod field. * strength on each change to the passwod field.
*/ */
$(".pwd").passStrength({ /* {{{ */ $(".pwd").passStrength({ /* {{{ */
url: "../op/op.Ajax.php", url: seeddms_webroot+"op/op.Ajax.php",
onChange: function(data, target) { onChange: function(data, target) {
pwsp = 100*data.score; pwsp = 100*data.score;
$('#'+target+' div.bar').width(pwsp+'%'); $('#'+target+' div.bar').width(pwsp+'%');
@ -114,7 +114,7 @@ function initMost() {
* type: type of object (D=doc, F=folder, S=searchterm) * type: type of object (D=doc, F=folder, S=searchterm)
* name: name of object * name: name of object
*/ */
$.get('../out/out.Search.php', data, function(data) { $.get(seeddms_webroot+'out/out.Search.php', data, function(data) {
process(data); process(data);
}); });
}, },
@ -131,11 +131,11 @@ function initMost() {
updater: function (item) { updater: function (item) {
if(item.id) { if(item.id) {
if(item.type == 'D') if(item.type == 'D')
document.location = "../out/out.ViewDocument.php?documentid=" + item.id; document.location = seeddms_webroot+"out/out.ViewDocument.php?documentid=" + item.id;
else else
document.location = "../out/out.ViewFolder.php?folderid=" + item.id; document.location = seeddms_webroot+"out/out.ViewFolder.php?folderid=" + item.id;
} else } else
document.location = "../out/out.Search.php?query=" + encodeURIComponent(item.value); document.location = seeddms_webroot+"out/out.Search.php?query=" + encodeURIComponent(item.value);
return item.value; return item.value;
}, },
sorter: function(items) { sorter: function(items) {
@ -190,7 +190,7 @@ function initMost() {
minLength: 3, minLength: 3,
source: function(query, process) { source: function(query, process) {
// console.log(this.options); // console.log(this.options);
$.get('../op/op.Ajax.php', { command: 'searchdocument', query: query, limit: 8 }, function(data) { $.get(seeddms_webroot+'op/op.Ajax.php', { command: 'searchdocument', query: query, limit: 8 }, function(data) {
process(data); process(data);
}); });
}, },
@ -220,7 +220,7 @@ function initMost() {
minLength: 3, minLength: 3,
source: function(query, process) { source: function(query, process) {
// console.log(this.options); // console.log(this.options);
$.get('../op/op.Ajax.php', { command: 'searchfolder', query: query, limit: 8 }, function(data) { $.get(seeddms_webroot+'op/op.Ajax.php', { command: 'searchfolder', query: query, limit: 8 }, function(data) {
process(data); process(data);
}); });
}, },
@ -319,12 +319,12 @@ $(document).ready( function() {
attr_msg = $(ev.currentTarget).attr('msg'); attr_msg = $(ev.currentTarget).attr('msg');
type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document'; type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document';
id = attr_rel.substring(1); id = attr_rel.substring(1);
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'addtoclipboard', type: type, id: id }, { command: 'addtoclipboard', type: type, id: id },
function(data) { function(data) {
if(data.success) { if(data.success) {
$("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') $("#main-clipboard").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=mainclipboard')
$("#menu-clipboard div").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') $("#menu-clipboard div").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=menuclipboard')
noty({ noty({
text: attr_msg, text: attr_msg,
type: 'success', type: 'success',
@ -354,12 +354,12 @@ $(document).ready( function() {
attr_msg = $(ev.currentTarget).attr('msg'); attr_msg = $(ev.currentTarget).attr('msg');
type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document'; type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document';
id = attr_rel.substring(1); id = attr_rel.substring(1);
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'removefromclipboard', type: type, id: id }, { command: 'removefromclipboard', type: type, id: id },
function(data) { function(data) {
if(data.success) { if(data.success) {
$("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') $("#main-clipboard").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=mainclipboard')
$("#menu-clipboard div").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') $("#menu-clipboard div").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=menuclipboard')
noty({ noty({
text: attr_msg, text: attr_msg,
type: 'success', type: 'success',
@ -388,12 +388,12 @@ $(document).ready( function() {
attr_rel = $(ev.currentTarget).attr('rel'); attr_rel = $(ev.currentTarget).attr('rel');
attr_msg = $(ev.currentTarget).attr('msg'); attr_msg = $(ev.currentTarget).attr('msg');
id = attr_rel; id = attr_rel;
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'tooglelockdocument', formtoken: $(ev.currentTarget).data('formtoken'), id: id }, { command: 'tooglelockdocument', formtoken: $(ev.currentTarget).data('formtoken'), id: id },
function(data) { function(data) {
if(data.success) { if(data.success) {
//$("#table-row-document-"+id).html('Loading').load('../op/op.Ajax.php?command=view&view=documentlistrow&id='+id) //$("#table-row-document-"+id).html('Loading').load('../op/op.Ajax.php?command=view&view=documentlistrow&id='+id)
$("#table-row-document-"+id).html('Loading').load('../out/out.ViewDocument.php?action=documentlistitem&documentid='+id) $("#table-row-document-"+id).html('Loading').load(seeddms_webroot+'out/out.ViewDocument.php?action=documentlistitem&documentid='+id)
noty({ noty({
text: attr_msg, text: attr_msg,
type: 'success', type: 'success',
@ -423,7 +423,7 @@ $(document).ready( function() {
attr_dest = $(ev.currentTarget).attr('dest'); attr_dest = $(ev.currentTarget).attr('dest');
attr_msg = $(ev.currentTarget).attr('msg'); attr_msg = $(ev.currentTarget).attr('msg');
attr_formtoken = $(ev.currentTarget).attr('formtoken'); attr_formtoken = $(ev.currentTarget).attr('formtoken');
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movefolder', folderid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken }, { command: 'movefolder', folderid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -448,7 +448,7 @@ $(document).ready( function() {
attr_dest = $(ev.currentTarget).attr('dest'); attr_dest = $(ev.currentTarget).attr('dest');
attr_msg = $(ev.currentTarget).attr('msg'); attr_msg = $(ev.currentTarget).attr('msg');
attr_formtoken = $(ev.currentTarget).attr('formtoken'); attr_formtoken = $(ev.currentTarget).attr('formtoken');
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movedocument', docid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken }, { command: 'movedocument', docid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -471,7 +471,7 @@ $(document).ready( function() {
// console.log($(ev.target).parent().children('[name=missing-lang-key]').val()); // console.log($(ev.target).parent().children('[name=missing-lang-key]').val());
// console.log($(ev.target).parent().children('[name=missing-lang-lang]').val()); // console.log($(ev.target).parent().children('[name=missing-lang-lang]').val());
// console.log($(ev.target).parent().children('[name=missing-lang-translation]').val()); // console.log($(ev.target).parent().children('[name=missing-lang-translation]').val());
$.ajax('../op/op.Ajax.php', { $.ajax(seeddms_webroot+'op/op.Ajax.php', {
type:"POST", type:"POST",
async:true, async:true,
dataType:"json", dataType:"json",
@ -586,8 +586,8 @@ $(document).ready( function() {
success: function(data){ success: function(data){
if(data.success) { if(data.success) {
if(element.data('param1') == 'command=clearclipboard') { if(element.data('param1') == 'command=clearclipboard') {
$("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') $("#main-clipboard").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=mainclipboard')
$("#menu-clipboard div").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') $("#menu-clipboard div").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=menuclipboard')
} }
noty({ noty({
text: data.message, text: data.message,
@ -618,7 +618,7 @@ $(document).ready( function() {
$("body").on("blur", "span.editable", function(e) { /* {{{ */ $("body").on("blur", "span.editable", function(e) { /* {{{ */
console.log($(this).data('document')); console.log($(this).data('document'));
e.preventDefault(); e.preventDefault();
$.post( "../op/op.Ajax.php", { command: "setdocumentname", id: $(this).data('document'), formtoken: $(this).data('formtoken'), name: $(this).text() }) $.post(seeddms_webroot+"op/op.Ajax.php", { command: "setdocumentname", id: $(this).data('document'), formtoken: $(this).data('formtoken'), name: $(this).text() })
.done(function( data ) { .done(function( data ) {
noty({ noty({
text: data.message, text: data.message,
@ -646,12 +646,12 @@ function onAddClipboard(ev) { /* {{{ */
source_id = source_info.id; source_id = source_info.id;
formtoken = source_info.formtoken; formtoken = source_info.formtoken;
if(source_type == 'document' || source_type == 'folder') { if(source_type == 'document' || source_type == 'folder') {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'addtoclipboard', type: source_type, id: source_id }, { command: 'addtoclipboard', type: source_type, id: source_id },
function(data) { function(data) {
if(data.success) { if(data.success) {
$("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') $("#main-clipboard").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=mainclipboard')
$("#menu-clipboard div").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') $("#menu-clipboard div").html('Loading').load(seeddms_webroot+'out/out.Clipboard.php?action=menuclipboard')
noty({ noty({
text: data.message, text: data.message,
type: 'success', type: 'success',
@ -679,7 +679,7 @@ function onAddClipboard(ev) { /* {{{ */
} /* }}} */ } /* }}} */
(function( SeedDMSUpload, $, undefined ) { /* {{{ */ (function( SeedDMSUpload, $, undefined ) { /* {{{ */
var ajaxurl = "../op/op.Ajax.php"; var ajaxurl = seeddms_webroot+"op/op.Ajax.php";
var editBtnLabel = "Edit"; var editBtnLabel = "Edit";
var abortBtnLabel = "Abort"; var abortBtnLabel = "Abort";
var maxFileSize = 100000; var maxFileSize = 100000;
@ -744,7 +744,7 @@ function onAddClipboard(ev) { /* {{{ */
theme: 'defaultTheme', theme: 'defaultTheme',
timeout: 1500 timeout: 1500
}); });
status.statusbar.after($('<a href="../out/out.EditDocument.php?documentid=' + data.data + '" class="btn btn-mini btn-primary">' + editBtnLabel + '</a>')); status.statusbar.after($('<a href="'+seeddms_webroot+'out/out.EditDocument.php?documentid=' + data.data + '" class="btn btn-mini btn-primary">' + editBtnLabel + '</a>'));
if(callback) { if(callback) {
callback(); callback();
} }
@ -946,7 +946,7 @@ $(document).ready(function() { /* {{{ */
"label" : "<i class='fa fa-remove'></i> "+trans.move_document, "label" : "<i class='fa fa-remove'></i> "+trans.move_document,
"className" : "btn-danger", "className" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken }, { command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -977,7 +977,7 @@ $(document).ready(function() { /* {{{ */
} }
}); });
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; url = seeddms_webroot+"out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
// document.location = url; // document.location = url;
} else if(source_type == 'folder' && source_id != target_id) { } else if(source_type == 'folder' && source_id != target_id) {
var bootbox_message = trans.confirm_move_folder; var bootbox_message = trans.confirm_move_folder;
@ -996,7 +996,7 @@ $(document).ready(function() { /* {{{ */
"label" : "<i class='fa fa-remove'></i> "+trans.move_folder, "label" : "<i class='fa fa-remove'></i> "+trans.move_folder,
"className" : "btn-danger", "className" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken }, { command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -1027,7 +1027,7 @@ $(document).ready(function() { /* {{{ */
} }
}); });
url = "../out/out.MoveFolder.php?folderid="+source_id+"&targetid="+target_id; url = seeddms_webroot+"out/out.MoveFolder.php?folderid="+source_id+"&targetid="+target_id;
// document.location = url; // document.location = url;
} }
} }
@ -1057,7 +1057,7 @@ $(document).ready(function() { /* {{{ */
"label" : "<i class='fa fa-remove'></i> "+trans.transfer_content, "label" : "<i class='fa fa-remove'></i> "+trans.transfer_content,
"className" : "btn-danger", "className" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'transfercontent', docid: source_id, targetdocumentid: target_id, formtoken: formtoken }, { command: 'transfercontent', docid: source_id, targetdocumentid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -1089,7 +1089,7 @@ $(document).ready(function() { /* {{{ */
"label" : trans.link_document, "label" : trans.link_document,
"className" : "btn-danger", "className" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'linkdocument', docid: source_id, targetdocumentid: target_id, formtoken: formtoken }, { command: 'linkdocument', docid: source_id, targetdocumentid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -1119,7 +1119,7 @@ $(document).ready(function() { /* {{{ */
} }
}); });
} }
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; url = seeddms_webroot+"out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
// document.location = url; // document.location = url;
} }
} }
@ -1224,7 +1224,7 @@ $(document).ready(function() { /* {{{ */
"label" : "<i class='fa fa-remove'></i> "+trans.move_document, "label" : "<i class='fa fa-remove'></i> "+trans.move_document,
"class" : "btn-danger", "class" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken }, { command: 'movedocument', docid: source_id, targetfolderid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -1258,14 +1258,14 @@ $(document).ready(function() { /* {{{ */
} }
}]); }]);
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; url = seeddms_webroot+"out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
// document.location = url; // document.location = url;
} else if(source_type == 'folder' && source_id != target_id) { } else if(source_type == 'folder' && source_id != target_id) {
bootbox.dialog(trans.confirm_move_folder, [{ bootbox.dialog(trans.confirm_move_folder, [{
"label" : "<i class='fa fa-remove'></i> "+trans.move_folder, "label" : "<i class='fa fa-remove'></i> "+trans.move_folder,
"class" : "btn-danger", "class" : "btn-danger",
"callback": function() { "callback": function() {
$.get('../op/op.Ajax.php', $.get(seeddms_webroot+'op/op.Ajax.php',
{ command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken }, { command: 'movefolder', folderid: source_id, targetfolderid: target_id, formtoken: formtoken },
function(data) { function(data) {
if(data.success) { if(data.success) {
@ -1299,7 +1299,7 @@ $(document).ready(function() { /* {{{ */
} }
}]); }]);
url = "../out/out.MoveFolder.php?folderid="+source_id+"&targetid="+target_id; url = seeddms_webroot+"out/out.MoveFolder.php?folderid="+source_id+"&targetid="+target_id;
// document.location = url; // document.location = url;
} }
}); });
@ -1356,7 +1356,7 @@ $(document).ready(function() { /* {{{ */
var tasks = Array( var tasks = Array(
{name: 'checktasks', interval: 15, func: {name: 'checktasks', interval: 15, func:
checkTasks = function() { checkTasks = function() {
$.ajax({url: '../out/out.Tasks.php', $.ajax({url: seeddms_webroot+'out/out.Tasks.php',
type: 'GET', type: 'GET',
dataType: "json", dataType: "json",
data: {action: 'mytasks'}, data: {action: 'mytasks'},