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
SeedDMS_*/*.tgz
ext/*
webapp/*

View File

@ -234,6 +234,13 @@
- comment of document version may not be modified when document has expired
- attributes of document version may be edited if enableVersionModification is true
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

View File

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

View File

@ -4122,7 +4122,14 @@ class SeedDMS_Core_DMS {
function getStatisticalData($type='') { /* {{{ */
switch($type) {
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);
if (!$resArr)
return false;

View File

@ -4806,6 +4806,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
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
*
@ -5028,6 +5075,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
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
* The functions behaves like

View File

@ -1836,6 +1836,106 @@ class SeedDMS_Core_User { /* {{{ */
$documents[] = $document;
}
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 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
*

View File

@ -1906,6 +1906,13 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp()
- 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()
</notes>
</release>
<release>
@ -2224,8 +2231,19 @@ better error checking in SeedDMS_Core_Document::cancelCheckOut()
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- removeFromProcesses() documents in comment of log when a user was replaced
- move SeedDMS_Core_Document::checkForDueRevisionWorkflow() into SeedDMS_Core_DocumentContent
- SeedDMS_Core_DMS::getTimeline() uses status log instead of document content
- 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
</notes>
</release>

View File

@ -220,8 +220,20 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
return $this->mimetype;
} /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $data, 'utf-8'));
} /* }}} */
public function getCmd() { /* {{{ */
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;
public function __get($key) { /* {{{ */
public function ___get($key) { /* {{{ */
if(isset($this->fields[$key]))
return $this->fields[$key];
else
return false;
} /* }}} */
public function addField($key, $value) { /* {{{ */
public function _addField($key, $value) { /* {{{ */
//if($key == 'document_id') {
if($key == 'docid') {
$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]))
return $this->fields[$key];
else
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
*/
require_once('Document.php');
require_once('Field.php');
/**
@ -111,50 +112,50 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
$this->cmd = '';
$this->mimetype = '';
$this->addField('title', $document->getName());
$this->addField(SeedDMS_SQLiteFTS_Field::Text('title', $document->getName()));
if($acllist = $document->getReadAccessList(1, 1, 1)) {
$allu = [];
foreach($acllist['users'] as $u)
$allu[] = $u->getLogin();
$this->addField('users', implode(' ', $allu));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('users', implode(' ', $allu)));
/*
$allg = [];
foreach($acllist['groups'] as $g)
$allg[] = $g->getName();
$this->addField('groups', implode(' ', $allg));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('groups', implode(' ', $allg)));
*/
}
if($attributes = $document->getAttributes()) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
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
$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();
$this->addField('owner', $owner->getLogin());
$this->addField('path', str_replace(':', 'x', $document->getFolderList()));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $owner->getLogin()));
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', str_replace(':', 'x', $document->getFolderList())));
if($comment = $document->getComment()) {
$this->addField('comment', $comment);
$this->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $comment));
}
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();
if($version) {
$this->addField('mimetype', $version->getMimeType());
$this->addField('origfilename', $version->getOriginalFileName());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $version->getMimeType()));
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $version->getOriginalFileName()));
if(!$nocontent)
$this->addField('created', $version->getDate(), 'unindexed');
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $version->getDate(), 'unindexed'));
if($attributes = $version->getAttributes()) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
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
$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) {
$names[] = $cat->getName();
}
$this->addField('category', implode(' ', $names));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('category', implode(' ', $names)));
}
if($keywords = $document->getKeywords()) {
$this->addField('keywords', $keywords);
$this->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $keywords));
}
if($version) {
$status = $version->getStatus();
$this->addField('status', $status['status']+10);
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $status['status']+10));
}
if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath();
@ -192,7 +193,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
try {
$content = self::execWithTimeout($cmd, $timeout);
if($content['stdout']) {
$this->addField('content', $content['stdout'], 'unstored');
$this->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $content['stdout']));
}
if($content['stderr']) {
$this->errormsg = $content['stderr'];
@ -203,8 +204,8 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
}
}
} elseif($document->isType('folder')) {
$this->addField('document_id', 'F'.$document->getID());
$this->addField('created', $document->getDate(), 'unindexed');
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', 'F'.$document->getID()));
$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;
} /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(SeedDMS_SQLiteFTS_Field::Text('content', $data));
} /* }}} */
public function getCmd() { /* {{{ */
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)
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);
if($res === false) {
return false;
@ -243,49 +250,21 @@ class SeedDMS_SQLiteFTS_Indexer {
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('keywords', $rec['keywords']);
$doc->addField('category', $rec['category']);
$doc->addField('mimetype', $rec['mimetype']);
$doc->addField('origfilename', $rec['origfilename']);
$doc->addField('owner', $rec['owner']);
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('status', $rec['status']);
$doc->addField('path', $rec['path']);
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('docid', $rec[$this->_rawid]));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', $rec['documentid']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('title', $rec['title']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $rec['comment']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $rec['keywords']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('category', $rec['category']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $rec['mimetype']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $rec['origfilename']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $rec['owner']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $rec['created']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('users', $rec['users']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $rec['status']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', $rec['path']));
if($content)
$doc->addField('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']);
$doc->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $rec['content']));
}
return $doc;
} /* }}} */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -42,7 +42,7 @@ class SeedDMS_Controller_TransferDocument extends SeedDMS_Controller_Common {
if (!$document->transferToUser($newuser)) {
return false;
} 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;

View File

@ -158,6 +158,5 @@ if($settings->_enable2FactorAuthentication && $settings->_guestID != $user->getI
/* Update cookie lifetime */
if($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, null, !$settings->_enableLargeFileUpload);
setcookie("mydms_session", $dms_session, $lifetime, $settings->_httpRoot, null, false, true);
}

View File

@ -231,6 +231,7 @@ class SeedDMS_Controller_Common {
*/
function callHook($hook) { /* {{{ */
$tmps = $this->getHookClassNames();
$ret = null;
foreach($tmps as $tmp)
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
$this->lasthookresult = null;
@ -238,29 +239,35 @@ class SeedDMS_Controller_Common {
if (method_exists($hookObj, $hook)) {
switch(func_num_args()) {
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;
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;
case 2:
$result = $hookObj->$hook($this, func_get_arg(1));
$tmpret = $hookObj->$hook($this, func_get_arg(1));
break;
case 1:
default:
$result = $hookObj->$hook($this);
$tmpret = $hookObj->$hook($this);
}
if($result === false) {
return $result;
if($tmpret === false) {
return $tmpret;
}
if($result !== null) {
$this->lasthookresult = $result;
if($tmpret !== null) {
$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) { /* {{{ */
$tmps = $this->getHookClassNames();
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])] as $hookObj) {
if (method_exists($hookObj, $hook)) {
return true;
foreach($tmps as $tmp) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)] as $hookObj) {
if (method_exists($hookObj, $hook)) {
return true;
}
}
}
}

View File

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

View File

@ -178,6 +178,8 @@ class Settings { /* {{{ */
var $_enableSelfRevApp = false;
// enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false;
// enable/disable removal of a review/approval by the admiistrator
var $_enableRemoveRevApp = false;
// enable/disable listing logged in user as recipient
var $_enableSelfReceipt = false;
// enable/disable update of a receipt by the recipient
@ -748,6 +750,7 @@ class Settings { /* {{{ */
$this->_enableOwnerRevApp = Settings::boolval($tab["enableOwnerRevApp"]);
$this->_enableSelfRevApp = Settings::boolval($tab["enableSelfRevApp"]);
$this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]);
$this->_enableRemoveRevApp = Settings::boolval($tab["enableRemoveRevApp"]);
$this->_enableSelfReceipt = Settings::boolval($tab["enableSelfReceipt"]);
$this->_enableAdminReceipt = Settings::boolval($tab["enableAdminReceipt"]);
$this->_enableOwnerReceipt = Settings::boolval($tab["enableOwnerReceipt"]);
@ -1104,6 +1107,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableOwnerRevApp", $this->_enableOwnerRevApp);
$this->setXMLAttributValue($node, "enableSelfRevApp", $this->_enableSelfRevApp);
$this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp);
$this->setXMLAttributValue($node, "enableRemoveRevApp", $this->_enableRemoveRevApp);
$this->setXMLAttributValue($node, "enableSelfReceipt", $this->_enableSelfReceipt);
$this->setXMLAttributValue($node, "enableAdminReceipt", $this->_enableAdminReceipt);
$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 */
require_once($settings->_rootDir."views/".$theme."/class.".ucfirst($theme).".php");
require_once($filename);
$params['settings'] = $settings;
$view = new $classname($params, $theme);
/* Set some configuration parameters */
$view->setParam('accessobject', new SeedDMS_AccessOperation($dms, $user, $settings));
@ -125,7 +126,7 @@ class UI extends UI_Default {
$view->setParam('theme', $theme);
$view->setParam('class', $class);
$view->setParam('session', $session);
$view->setParam('settings', $settings);
// $view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID);
$view->setParam('disableselfedit', $settings->_disableSelfEdit);

View File

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

View File

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

View File

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

View File

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

View File

@ -483,6 +483,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -596,6 +597,7 @@ URL: [url]',
'group_management' => 'Grups',
'group_members' => 'Membres del grup',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resum del grup revisor',
'group_revision_summary' => '',
'guest_login' => 'Accés com a invitat',
@ -638,6 +640,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Individuals',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Heredat',
@ -957,6 +960,7 @@ URL: [url]',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '',
'repairing_objects' => '',
'replace_content_email_body' => '',
@ -1285,6 +1289,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1820,6 +1826,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Veure online',
'warning' => 'Advertència',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_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_permission' => 'Chyba při přidání oprávnění',
'error_cleared_cache' => 'Chyba při vymazání mezipaměti',
'error_document_indexed' => '',
'error_edit_task' => '',
'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',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Skupiny',
'group_members' => 'Členové skupiny',
'group_receipt_summary' => 'Přehled potvrzení přijímání do skupiny',
'group_review_removed' => '',
'group_review_summary' => 'Souhrn recenzí skupiny',
'group_revision_summary' => '',
'guest_login' => 'Přihlásit se jako host',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Čekání',
'individuals' => 'Jednotlivci',
'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_rm_user_from_processes_user' => '',
'inherited' => 'Zděděno',
@ -1108,6 +1111,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu',
'removeFolderFromDropFolder' => 'Odstranit složku po nahrání',
'remove_marked_files' => 'Odstranit označené soubory',
'remove_review_log' => '',
'repaired' => 'opraveno',
'repairing_objects' => 'Opravuji dokumenty a složky.',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Odmítnutí jedním revizorem',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -2038,6 +2044,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Zobrazit online',
'warning' => 'Upozornění',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2938), dgrutsch (22)
// Translators: Admin (2948), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -235,12 +235,12 @@ URL: [url]',
'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.',
'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_yourself' => 'Sie können Ihr eigenes Login nicht löschen',
'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_review_snapshot' => 'Nicht imstande, Berichtstatus Snapshot für diese Dokumentversion zurückzuholen',
'cannot_retrieve_approval_snapshot' => 'Für diese Dokumentenversion konnte der aktuelle Freigabestatus nicht ermittelt werden.',
'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_rm_root' => 'Fehler: Löschen des Hauptordners nicht möglich',
'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_permission' => 'Fehler beim Hinzufügen der Berechtigung',
'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_extension_getlist' => 'Fehler beim Holen der Liste der Erweiterungen aus dem Repositorium',
'error_importfs' => 'Fehler beim Importieren aus dem Dateisystem',
@ -695,6 +696,7 @@ URL: [url]',
'group_management' => 'Gruppenverwaltung',
'group_members' => 'Gruppenmitglieder',
'group_receipt_summary' => 'Übersicht Gruppenbestätigungen',
'group_review_removed' => 'Statuswechsel, weil Prufung der Gruppe [name] entfernt wurde.',
'group_review_summary' => 'Übersicht Gruppenprüfungen',
'group_revision_summary' => 'Übersicht Gruppenwiederholungsprüfungen',
'guest_login' => 'Als Gast anmelden',
@ -737,6 +739,7 @@ URL: [url]',
'index_waiting' => 'Warte',
'individuals' => 'Einzelpersonen',
'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_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',
@ -1113,6 +1116,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion',
'removeFolderFromDropFolder' => 'Ordner nach Import entfernen',
'remove_marked_files' => 'Markierte Dateien löschen',
'remove_review_log' => 'Einzelne Prüfung entfernen',
'repaired' => 'repariert',
'repairing_objects' => 'Repariere Dokumente und Ordner.',
'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_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_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_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' => '',
@ -2058,6 +2064,7 @@ URL: [url]',
'view_folder' => 'Ordnerdetails anzeigen',
'view_online' => 'Online betrachten',
'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_crossplatform_info' => '',
'webauthn_info' => '',

View File

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

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2043), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2052), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -551,6 +551,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Error while clearing cache',
'error_document_indexed' => 'Error indexing document',
'error_edit_task' => 'Error when saving task',
'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Error while importing form file system',
@ -695,6 +696,7 @@ URL: [url]',
'group_management' => 'Groups management',
'group_members' => 'Group members',
'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_revision_summary' => 'Group revision summary',
'guest_login' => 'Login as guest',
@ -737,6 +739,7 @@ URL: [url]',
'index_waiting' => 'Waiting',
'individuals' => 'Individuals',
'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_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',
@ -1114,6 +1117,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Remove folder after import',
'remove_marked_files' => 'Remove marked files',
'remove_review_log' => 'Remove review',
'repaired' => 'repaired',
'repairing_objects' => 'Repairing documents and folders.',
'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_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_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_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' => '',
@ -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_enableUpdateReceipt' => 'Allow editing of existing reception',
'settings_enableUpdateReceipt_desc' => 'Enable this, if the user who has made a reception may change the decission.',
'settings_enableUpdateRevApp' => 'Allow editing of exting review/approval',
'settings_enableUpdateRevApp' => '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_enableUserImage' => 'Enable User Image',
'settings_enableUserImage_desc' => 'Enable users images',
@ -2052,6 +2058,7 @@ URL: [url]',
'view_folder' => 'View folder details',
'view_online' => 'View online',
'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_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.',

View File

@ -532,6 +532,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -669,6 +670,7 @@ URL: [url]',
'group_management' => 'Gestion de Grupos',
'group_members' => 'Miembros de grupo',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resumen del grupo revisor',
'group_revision_summary' => '',
'guest_login' => 'Acceso como invitado',
@ -711,6 +713,7 @@ URL: [url]',
'index_waiting' => 'Esperando',
'individuals' => 'Individuales',
'individuals_in_groups' => 'Miembros del grupo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'heredado',
@ -1077,6 +1080,7 @@ nURL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento',
'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar',
'remove_marked_files' => 'Eliminar ficheros marcados',
'remove_review_log' => '',
'repaired' => 'Reparado',
'repairing_objects' => 'Reparando documentos y carpetas.',
'replace_content_email_body' => '',
@ -1432,6 +1436,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => '',
@ -1981,6 +1987,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Ver online',
'warning' => 'Advertencia',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => 'Erreur lors de lajout de permission',
'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_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',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Gestion des groupes',
'group_members' => 'Membres du groupe',
'group_receipt_summary' => 'Récapitulatif groupe réception',
'group_review_removed' => '',
'group_review_summary' => 'Récapitulatif groupe vérification',
'group_revision_summary' => 'Récapitulatif groupe révision',
'guest_login' => 'Se connecter comme invité',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Chargement…',
'individuals' => 'Individuels',
'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_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é',
@ -1109,6 +1112,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument',
'removeFolderFromDropFolder' => 'Suppression du dossier après importation',
'remove_marked_files' => 'Supprimer les fichiers sélectionnés',
'remove_review_log' => '',
'repaired' => 'réparé',
'repairing_objects' => 'Réparation des documents et des dossiers.',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => '',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => 'Voir les détails du dossier',
'view_online' => 'Aperçu en ligne',
'warning' => 'Avertissement',
'warning_remove_review_log' => '',
'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_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_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -674,6 +675,7 @@ Internet poveznica: [url]',
'group_management' => 'Upravljanje grupama',
'group_members' => 'Članovi grupe',
'group_receipt_summary' => 'Sažetak prijema za grupu',
'group_review_removed' => '',
'group_review_summary' => 'Sažetak pregleda grupe',
'group_revision_summary' => '',
'guest_login' => 'Prijavite se kao gost',
@ -716,6 +718,7 @@ Internet poveznica: [url]',
'index_waiting' => '',
'individuals' => 'Pojedinci',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'naslijeđeno',
@ -1081,6 +1084,7 @@ Internet poveznica: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Uklonjeni tok rada iz ove verzije dokumenta',
'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Ukloni označene datoteke',
'remove_review_log' => '',
'repaired' => 'popravljeno',
'repairing_objects' => 'Popravljanje dokumenata ili mapa.',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -2002,6 +2008,7 @@ Internet poveznica: [url]',
'view_folder' => '',
'view_online' => 'Online pregled',
'warning' => 'Upozorenje',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -532,6 +532,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -669,6 +670,7 @@ URL: [url]',
'group_management' => 'Csoportok',
'group_members' => 'Csoporttagok',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Csoport felülvizsgálat összefoglaló',
'group_revision_summary' => '',
'guest_login' => 'Bejelentkezés vendégként',
@ -711,6 +713,7 @@ URL: [url]',
'index_waiting' => '',
'individuals' => 'Egyedek',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'örökölt',
@ -1077,6 +1080,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat',
'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Megjelölt állományok eltávolítása',
'remove_review_log' => '',
'repaired' => 'javított',
'repairing_objects' => 'Dokumentumok és mappák helyreállítása',
'replace_content_email_body' => '',
@ -1431,6 +1435,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1980,6 +1986,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Online megtekintés',
'warning' => 'Figyelmeztetés',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -542,6 +542,7 @@ URL: [url]',
'error_add_aro' => 'Errore durante l\'accesso aggiungendo richiesta oggetto',
'error_add_permission' => 'Errore durante l\'aggiunta di permesso',
'error_cleared_cache' => 'Errore durante svuotare la cache',
'error_document_indexed' => '',
'error_edit_task' => 'Modifica attività',
'error_extension_getlist' => 'Errore nel recuperare l\'elenco delle estensioni dal repository',
'error_importfs' => 'Errore durante l\'importazione dal file system',
@ -679,6 +680,7 @@ URL: [url]',
'group_management' => 'Amministrazione gruppi',
'group_members' => 'Membri del gruppo',
'group_receipt_summary' => 'Panoramica delle conferme ricevute gruppo.',
'group_review_removed' => '',
'group_review_summary' => 'Dettaglio revisioni di gruppo',
'group_revision_summary' => 'Riepilogo revisioni del gruppo',
'guest_login' => 'Login come Ospite',
@ -721,6 +723,7 @@ URL: [url]',
'index_waiting' => 'Attendi',
'individuals' => 'Singoli',
'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_rm_user_from_processes_user' => '',
'inherited' => 'ereditato',
@ -1098,6 +1101,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento',
'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione',
'remove_marked_files' => 'Rimuovi i files contrassegnati',
'remove_review_log' => '',
'repaired' => 'riparato',
'repairing_objects' => 'Riparazione documenti e cartelle in corso...',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => 'Rifiutato da un revisore',
@ -2029,6 +2035,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Visualizza on-line',
'warning' => 'Attenzione',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -538,6 +538,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -675,6 +676,7 @@ URL: [url]',
'group_management' => '그룹 관리',
'group_members' => '카페 회원',
'group_receipt_summary' => '그룹 접수 요약',
'group_review_removed' => '',
'group_review_summary' => '그룹 검토 요약',
'group_revision_summary' => '',
'guest_login' => '게스트로 로그인',
@ -717,6 +719,7 @@ URL: [url]',
'index_waiting' => '기다리는 중',
'individuals' => '개인',
'individuals_in_groups' => '개별 그룹',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '상속',
@ -1075,6 +1078,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우',
'removeFolderFromDropFolder' => '',
'remove_marked_files' => '마크 파일을 제거',
'remove_review_log' => '',
'repaired' => '복구',
'repairing_objects' => '문서 및 폴더 복구',
'replace_content_email_body' => '',
@ -1447,6 +1451,8 @@ URL : [url]',
'settings_enableReceiptWorkflow_desc' => '문서의 수신 확인을 위해 워크플로어를 선택하고 활성화 합니다.',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1996,6 +2002,7 @@ URL : [url]',
'view_folder' => '',
'view_online' => '온라인으로 보기',
'warning' => '경고',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

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

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Feil under tilføyelse av adgangsforespørselsobjekt',
'error_add_permission' => 'Feil under tilføyelse av tillatelse',
'error_cleared_cache' => 'Feil ved rensning av hurtig-minne',
'error_document_indexed' => '',
'error_edit_task' => 'Feil ved lagring av oppgave',
'error_extension_getlist' => 'Feil under mottak av utvidelsesliste fra depotet',
'error_importfs' => 'Feil under import av skjemafilsystem',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Gruppe ledelse',
'group_members' => 'Gruppemedlemmer',
'group_receipt_summary' => 'Gruppe kvitterings sammendrag',
'group_review_removed' => '',
'group_review_summary' => 'Sammendrag av gruppevisning',
'group_revision_summary' => 'Sammendrag av grupperevisjon',
'guest_login' => 'Logg inn som gjest',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Venter',
'individuals' => 'Personer',
'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_rm_user_from_processes_user' => '',
'inherited' => 'arvet',
@ -1106,6 +1109,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen',
'removeFolderFromDropFolder' => 'Fjern mappe etter import',
'remove_marked_files' => 'Fjern markerte filer',
'remove_review_log' => '',
'repaired' => 'reparert',
'repairing_objects' => 'Reparere dokumenter og mapper.',
'replace_content_email_body' => '',
@ -1486,6 +1490,8 @@ Bruker: [username]
'settings_enableReceiptWorkflow_desc' => 'Aktiver for å slå på arbeidsflyten for å bekrefte dokumentmottak.',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => 'Aktiver revisjon av kvote avvist',
@ -2035,6 +2041,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Vis på nett',
'warning' => 'Advarsel',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -542,6 +542,7 @@ URL: [url]',
'error_add_aro' => 'Verzoek om toegang toegevoegd',
'error_add_permission' => 'Voeg permissie toe',
'error_cleared_cache' => 'Fout bij het leegmaken van de cache',
'error_document_indexed' => '',
'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_importfs' => 'Fout bij het importeren van form file systeem',
@ -686,6 +687,7 @@ URL: [url]',
'group_management' => 'Groepenbeheer',
'group_members' => 'Groepsleden',
'group_receipt_summary' => 'Overzicht van ontvangst per groep',
'group_review_removed' => '',
'group_review_summary' => 'Samenvatting beoordeling per groep',
'group_revision_summary' => 'Samenvatting van de beoordelingen',
'guest_login' => 'Login als Gast',
@ -728,6 +730,7 @@ URL: [url]',
'index_waiting' => 'Indexering wacht',
'individuals' => 'Individuen',
'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_rm_user_from_processes_user' => '',
'inherited' => 'overgeërfd',
@ -1104,6 +1107,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie',
'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder',
'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd',
'remove_review_log' => '',
'repaired' => 'Gerepareerd',
'repairing_objects' => 'Documenten en mappen repareren.',
'replace_content_email_body' => '',
@ -1485,6 +1489,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Aanzetten workflow-stappen',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => '',
@ -2034,6 +2040,7 @@ URL: [url]',
'view_folder' => 'Map bekijken',
'view_online' => 'Bekijk online',
'warning' => 'Waarschuwing',
'warning_remove_review_log' => '',
'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_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_permission' => 'Błąd podczas dodawania uprawnienia',
'error_cleared_cache' => 'Błąd podczas czyszczenia pamięci podręcznej',
'error_document_indexed' => '',
'error_edit_task' => 'Błąd podczas zapisywania zadania',
'error_extension_getlist' => 'Błąd podczas pobierania listy rozszerzeń z repozytorium',
'error_importfs' => 'Błąd podczas importowania systemu plików formularza',
@ -662,6 +663,7 @@ URL: [url]',
'group_management' => 'Zarządzanie grupami',
'group_members' => 'Członkowie grupy',
'group_receipt_summary' => 'Podsumowanie potwierdzienia dla grupy',
'group_review_removed' => '',
'group_review_summary' => 'Podsumowanie opiniowania dla grupy',
'group_revision_summary' => 'Podsumowanie korekty dla grupy',
'guest_login' => 'Zalogowany jako gość',
@ -704,6 +706,7 @@ URL: [url]',
'index_waiting' => 'Oczekiwanie',
'individuals' => 'Indywidualni',
'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_rm_user_from_processes_user' => '',
'inherited' => 'dziedziczony',
@ -1070,6 +1073,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty workflow z wersji dokumentu',
'removeFolderFromDropFolder' => 'Usuń folder po imporcie',
'remove_marked_files' => 'Usuń zaznaczone pliki',
'remove_review_log' => '',
'repaired' => 'naprawiony',
'repairing_objects' => 'Naprawa dokumentów i katalogów.',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'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_enableRevisionOnVoteReject' => 'Odrzuć przez korektę',
@ -1965,6 +1971,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Obejrzyj online',
'warning' => 'Ostrzeżenie',
'warning_remove_review_log' => '',
'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_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_permission' => 'Erro ao adicionar permissão',
'error_cleared_cache' => 'Erro ao limpar o cache',
'error_document_indexed' => '',
'error_edit_task' => 'Erro ao salvar tarefa',
'error_extension_getlist' => 'Erro ao obter lista de extensões do repositório',
'error_importfs' => 'Erro ao importar do sistema de arquivos',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Grupos',
'group_members' => 'Membros do Grupo',
'group_receipt_summary' => 'Resumo de recebimento de grupo',
'group_review_removed' => '',
'group_review_summary' => 'Resumo da avaliação do grupo',
'group_revision_summary' => '',
'guest_login' => 'Entre como convidado',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Aguarde...',
'individuals' => 'Indivíduos',
'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_rm_user_from_processes_user' => '',
'inherited' => 'herdado',
@ -1111,6 +1114,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento',
'removeFolderFromDropFolder' => 'Remover pasta após a importação',
'remove_marked_files' => 'Remover arquivos marcados',
'remove_review_log' => '',
'repaired' => 'reparado',
'repairing_objects' => 'Reparando documentos e pastas',
'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_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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rejeitar por um revisor',
'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',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => 'Ver detalhes da pasta',
'view_online' => 'Ver online',
'warning' => 'Aviso',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -537,6 +537,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -674,6 +675,7 @@ URL: [url]',
'group_management' => 'Management grupuri',
'group_members' => 'Membrii grupului',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Sumar revizuiri grup',
'group_revision_summary' => '',
'guest_login' => 'Login ca oaspete',
@ -716,6 +718,7 @@ URL: [url]',
'index_waiting' => 'Așteptare',
'individuals' => 'Individuals',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'moștenit',
@ -1082,6 +1085,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului',
'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'Eliminați fișierele marcate',
'remove_review_log' => '',
'repaired' => 'reparat',
'repairing_objects' => 'Reparare documente și foldere.',
'replace_content_email_body' => '',
@ -1454,6 +1458,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -2003,6 +2009,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Vizualizare online',
'warning' => 'Avertisment',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

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

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Chyba pri vymazaní vyrovnávacej pamäte',
'error_document_indexed' => '',
'error_edit_task' => 'Chyba pri ukladaní úlohy',
'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Chyba pri importe zo súborového systému',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => 'Skupiny',
'group_members' => 'Členovia skupiny',
'group_receipt_summary' => 'Group receipt summary',
'group_review_removed' => '',
'group_review_summary' => 'Zhrnutie skupinovej recenzie',
'group_revision_summary' => '',
'guest_login' => 'Prihlásiť sa ako hosť',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => 'Čakajte',
'individuals' => 'Jednotlivci',
'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_rm_user_from_processes_user' => '',
'inherited' => 'zdedené',
@ -1112,6 +1115,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Po importe odstrániť zložku',
'remove_marked_files' => 'Odstrániť označené súbory',
'remove_review_log' => '',
'repaired' => 'opravené',
'repairing_objects' => 'Oprava dokumentov a zložiek.',
'replace_content_email_body' => '',
@ -1494,6 +1498,8 @@ Meno: [username]
'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Reject by one revisor',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -2043,6 +2049,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Zobraziť online',
'warning' => 'Upozornenie',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -543,6 +543,7 @@ URL: [url]',
'error_add_aro' => 'Fel vid begärd åtkomst till objekt',
'error_add_permission' => 'Fel vid tilldelning av behörighet',
'error_cleared_cache' => 'Fel vid rensning av cache',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => 'Fel vid import från filsystem',
@ -680,6 +681,7 @@ URL: [url]',
'group_management' => 'Grupphantering',
'group_members' => 'Gruppmedlemmar',
'group_receipt_summary' => 'Sammanfattning av mottagningsbevis för grupp',
'group_review_removed' => '',
'group_review_summary' => 'Sammanfattning av gruppgranskning',
'group_revision_summary' => '',
'guest_login' => 'Gästinloggning',
@ -722,6 +724,7 @@ URL: [url]',
'index_waiting' => 'Väntar',
'individuals' => 'Personer',
'individuals_in_groups' => 'Medlemmar i en grupp',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ärvd',
@ -1085,6 +1088,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion',
'removeFolderFromDropFolder' => 'Radera katalog efter import',
'remove_marked_files' => 'Ta bort markerade filer',
'remove_review_log' => '',
'repaired' => 'reparerat',
'repairing_objects' => 'Reparerar dokument och kataloger.',
'replace_content_email_body' => '',
@ -1467,6 +1471,8 @@ Kommentar: [comment]',
'settings_enableReceiptWorkflow_desc' => 'Aktivera notifiering av meddelanden i arbetsflödet.',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -2016,6 +2022,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Visa online',
'warning' => 'Varning',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -531,6 +531,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -668,6 +669,7 @@ URL: [url]',
'group_management' => 'Grup yönetimi',
'group_members' => 'Grup üyeleri',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Grup gözden geçirme özeti',
'group_revision_summary' => '',
'guest_login' => 'Misafir olarak giriş yap',
@ -710,6 +712,7 @@ URL: [url]',
'index_waiting' => 'Bekliyor',
'individuals' => 'Bireysel',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'devralındı',
@ -1078,6 +1081,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi',
'removeFolderFromDropFolder' => '',
'remove_marked_files' => 'İşaretli dosyaları sil',
'remove_review_log' => '',
'repaired' => 'onarıldı',
'repairing_objects' => 'Doküman ve klasörler onarılıyor.',
'replace_content_email_body' => '',
@ -1433,6 +1437,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'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_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1982,6 +1988,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Online görüntüle',
'warning' => 'Dikkat',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

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

View File

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

View File

@ -549,6 +549,7 @@ URL: [url]',
'error_add_aro' => '新增訪問請求對象時出錯',
'error_add_permission' => '新增權限時出錯',
'error_cleared_cache' => '清除緩存時出錯',
'error_document_indexed' => '',
'error_edit_task' => '保存任務時出錯',
'error_extension_getlist' => '從存儲庫獲取擴展列表時出錯',
'error_importfs' => '導入表單文件系統時出錯',
@ -693,6 +694,7 @@ URL: [url]',
'group_management' => '組管理',
'group_members' => '組成員',
'group_receipt_summary' => '群組回覆匯總',
'group_review_removed' => '',
'group_review_summary' => '校對組匯總',
'group_revision_summary' => '群組修訂匯總',
'guest_login' => '來賓登錄',
@ -735,6 +737,7 @@ URL: [url]',
'index_waiting' => '請稍後',
'individuals' => '個人',
'individuals_in_groups' => '小組成員',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。',
'info_rm_user_from_processes_user' => '',
'inherited' => '繼承',
@ -1110,6 +1113,7 @@ URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程',
'removeFolderFromDropFolder' => '導入後刪除文件夾',
'remove_marked_files' => '刪除勾選的檔案',
'remove_review_log' => '',
'repaired' => '修復',
'repairing_objects' => '修復文檔和文件夾。',
'replace_content_email_body' => '',
@ -1492,6 +1496,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '啟用,打開工作流程以確認文檔接收。',
'settings_enableRecursiveCount' => '啟用遞歸文檔/文件夾計數',
'settings_enableRecursiveCount_desc' => '如果啟用,將通過遞歸處理文件夾併計數允許用戶訪問的那些文件和文件夾來計算所有對象,從而確定文件夾視圖中的文件和文件夾的數量。',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '被一名審查員拒絕',
'settings_enableRevisionOneVoteReject_desc' => '如果啟用,則在第一個修訂者拒絕文檔後,文檔狀態將設置為“需要更正”。如果禁用,則在所有修訂者完成修訂之前,文檔狀態不會更改。',
'settings_enableRevisionOnVoteReject' => '',
@ -2041,6 +2047,7 @@ URL: [url]',
'view_folder' => '',
'view_online' => '線上流覽',
'warning' => '警告',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_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(isset($_POST["dropfolderfileadddocform"]) && $_POST["dropfolderfileadddocform"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileadddocform"];
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);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = $_POST["dropfolderfileadddocform"];
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => $_POST["dropfolderfileadddocform"],
'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)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid;
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => isset($names[$i]) ? $names[$i] : $uuid,
'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
}
}
}
@ -339,21 +360,26 @@ if($settings->_libraryFolder) {
$docsource = 'library';
$fullfile = tempnam(sys_get_temp_dir(), '');
if(SeedDMS_Core_File::copyFile($dms->contentDir . $content->getPath(), $fullfile)) {
/* Check if a local file is uploaded as well */
if(isset($_FILES["userfile"]['error'][0])) {
if($_FILES["userfile"]['error'][0] != 0)
$_FILES["userfile"] = array();
}
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $content->getMimeType();
$_FILES["userfile"]['name'][] = $content->getOriginalFileName();
$_FILES["userfile"]['size'][] = $content->getFileSize();
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $content->getMimeType(),
'name' => $content->getOriginalFileName(),
'size' => $content->getFileSize(),
'error' => 0,
'source' => 'library',
);
}
}
}
}
}
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 */
$notusers = array();
@ -377,22 +403,22 @@ if(!empty($_POST['notification_groups'])) {
/* Check files for Errors first */
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
if ($_FILES["userfile"]["size"][$file_num]==0) {
foreach($file_ary as $file) {
if ($file["size"]==0) {
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"));
}
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"));
}
}
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num];
$userfiletype = $_FILES["userfile"]["type"][$file_num];
$userfilename = $_FILES["userfile"]["name"][$file_num];
foreach($file_ary as $file) {
$userfiletmp = $file["tmp_name"];
$userfiletype = $file["type"];
$userfilename = $file["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
@ -403,7 +429,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletype = $tmpfiletype;
}
if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!=""))
if (!$file["tmp_name"] && ($_POST["name"]!=""))
$name = trim($_POST["name"]);
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('fulltextservice', $fulltextservice);
$controller->setParam('name', $name);

View File

@ -934,7 +934,7 @@ switch($command) {
if(isset($GLOBALS['SEEDDMS_HOOKS'][$hook])) {
foreach($GLOBALS['SEEDDMS_HOOKS'][$hook] as $hookObj) {
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']));
$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 */
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.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 */
if(!checkFormKey('lockdocument', 'GET')) {
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"));
}
$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) {
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']));
$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 */
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) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) {
if ($_POST[$name]=="on")
if(!in_array($name, $settings->_hiddenConfFields)) {
if (isset($_POST[$name]) && $_POST[$name]=="on")
$settings->{"_".$name} = true;
else
$settings->{"_".$name} = false;
@ -81,8 +81,8 @@ if ($action == "saveSettings")
}
function setArrayValue($name) {
global $_POST, $settings;
if(isset($_POST[$name]) && !in_array($name, $settings->_hiddenConfFields)) {
if($_POST[$name])
if(!in_array($name, $settings->_hiddenConfFields)) {
if(isset($_POST[$name]) && $_POST[$name])
$settings->{"_".$name} = $_POST[$name];
else
$settings->{"_".$name} = array();
@ -250,6 +250,7 @@ if ($action == "saveSettings")
setBoolValue("enableSelfRevApp");
setBoolValue("enableSelfReceipt");
setBoolValue("enableUpdateRevApp");
setBoolValue("enableRemoveRevApp");
setBoolValue("enableAdminReceipt");
setBoolValue("enableOwnerReceipt");
setBoolValue("enableUpdateReceipt");

View File

@ -18,15 +18,21 @@
// 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.ClassUI.php");
include("../inc/inc.Authentication.php");
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.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 */
if(!checkFormKey('unlockdocument', 'GET')) {

View File

@ -30,6 +30,10 @@ include("../inc/inc.ClassController.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$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 */
if(!checkFormKey('updatedocument')) {
@ -67,6 +71,38 @@ if ($document->isLocked()) {
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';
if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_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)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'] = $fullfile;
$_FILES["userfile"]['type'] = $mimetype;
$_FILES["userfile"]['name'] = isset($names[0]) ? $names[0] : $uuid;
$_FILES["userfile"]['size'] = filesize($fullfile);
$_FILES["userfile"]['error'] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => isset($names[0]) ? $names[0] : $uuid,
'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
}
}
if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) {
// if(!is_uploaded_file($_FILES["userfile"]["tmp_name"]))
// UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")."lsajdflk");
if($controller->hasHook('getDocument')) {
$file_ary = array_merge($file_ary, $controller->callHook('getDocument', $_POST));
}
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"));
}
$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"));
}
$userfiletmp = $_FILES["userfile"]["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$userfiletmp = $file["tmp_name"];
$userfiletype = $file["type"];
$userfilename = $file["name"];
if($settings->_overrideMimeType) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
@ -106,32 +151,15 @@ if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) {
if($tmpfiletype != 'application/octet-stream')
$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 */
$lc = $document->getLatestContent();
if($lc->getChecksum() == SeedDMS_Core_File::checksum($userfiletmp)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("identical_version"));
}
$lc = $document->getLatestContent();
if($lc->getChecksum() == SeedDMS_Core_File::checksum($userfiletmp)) {
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"]))
$comment = $_POST["comment"];

View File

@ -31,7 +31,7 @@ require_once("inc/inc.ClassUI.php");
include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc";
$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);
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";
$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);
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('enablerevisionworkflow', $settings->_enableRevisionWorkflow);
$view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp);
$view->setParam('enableremoverevapp', $settings->_enableRemoveRevApp);
$view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt);
$view->setParam('enablereceiptreject', $settings->_enableReceiptReject);
$view->setParam('cachedir', $settings->_cacheDir);

View File

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

View File

@ -64,9 +64,11 @@ $(document).ready(function() {
/* 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,
* 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) {
console.log(params);
if(params[1].val() != '')
return true;
uploader = params[0];
@ -104,10 +106,12 @@ $(document).ready(function() {
} else {
?>
'userfile[]': {
alternatives: [$('#dropfolderfileadddocform'), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
require_from_group: [1, ".fileupload-group"]
// alternatives: [$('#dropfolderfileadddocform'), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
},
dropfolderfileadddocform: {
alternatives: [$("#userfile"), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
require_from_group: [1, ".fileupload-group"]
// alternatives: [$("#userfile"), $('#choosedocsearch<?= md5('librarydoc'.'adddocform') ?>')]
}
<?php
}
@ -170,6 +174,7 @@ $(document).ready(function() {
$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/additional-methods.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
if($enablelargefileupload) {
$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)
);
}
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)) {
$this->formField(
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');
parent::jsTranslations(array('js_form_error', 'js_form_errors'));
if($enablelargefileupload)
$this->printFineUploaderJs('../op/op.UploadChunks.php', $partitionsize, $maxuploadsize);
$this->printFineUploaderJs($this->params['settings']->_httpRoot.'op/op.UploadChunks.php', $partitionsize, $maxuploadsize);
$this->printFileChooserJs();
?>
@ -113,10 +113,10 @@ $(document).ready( function() {
$enablelargefileupload = $this->params['enablelargefileupload'];
$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="../views/'.$this->theme.'/styles/validation-default.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
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');
}

View File

@ -58,6 +58,7 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$logfileenable = $this->params['logfileenable'];
$enablefullsearch = $this->params['enablefullsearch'];
$accessop = $this->params['accessobject'];
@ -74,38 +75,38 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 1); ?>
<?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 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 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 echo $this->callHook('endOfRow', 1); ?>
<?= self::endRow(); ?>
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 2); ?>
<?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
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); ?>
</div>
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 3); ?>
<?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 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 if($accessop->check_view_access('AttributeMgr')) { ?>
<?= self::rowButton("../out/out.AttributeMgr.php", "tags", "global_attributedefinitions"); ?>
<?= self::rowButton("../out/out.AttributeGroupMgr.php", "tags", "global_attributedefinitiongroups"); ?>
<?= self::rowButton($settings->_httpRoot."out/out.AttributeMgr.php", "tags", "global_attributedefinitions"); ?>
<?= self::rowButton($settings->_httpRoot."out/out.AttributeGroupMgr.php", "tags", "global_attributedefinitiongroups"); ?>
<?php } ?>
<?php echo $this->callHook('endOfRow', 3); ?>
<?= self::endRow(); ?>
@ -115,13 +116,13 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 4); ?>
<?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 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 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 echo $this->callHook('endOfRow', 4); ?>
<?= self::endRow(); ?>
@ -132,13 +133,13 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 5); ?>
<?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 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 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 echo $this->callHook('endOfRow', 5); ?>
<?= self::endRow(); ?>
@ -148,32 +149,32 @@ class SeedDMS_View_AdminTools extends SeedDMS_Theme_Style {
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 6); ?>
<?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 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 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 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 echo $this->callHook('endOfRow', 6); ?>
<?= self::endRow(); ?>
<?= self::startRow(); ?>
<?php echo $this->callHook('startOfRow', 7); ?>
<?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 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 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 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 echo $this->callHook('endOfRow', 7); ?>
<?= self::endRow(); ?>

View File

@ -98,7 +98,7 @@ $(document).ready(function() {
$approvaltype = ($approvalStatus['type'] == 0) ? 'ind' : 'grp';
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("comment")."</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";
$sitename = trim(strip_tags($this->params['sitename']));
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 href="../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="../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="../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="../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="../views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\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="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/css/bootstrap.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="'.$this->params['settings']->_httpRoot.'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/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/chosen/css/chosen.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="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/select2/css/select2-bootstrap.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/jqtree.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n";
if($this->extraheader['css'])
echo $this->extraheader['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 '<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'])
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="../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="../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="../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="../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.'styles/'.$this->theme.'/passwordstrength/jquery.passwordstrength.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="'.$this->params['settings']->_httpRoot.'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/topCenter.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/tree.jquery.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="'.$this->params['settings']->_httpRoot.'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.locales.js"></script>'."\n";
if(!empty($this->extraheader['favicon']))
echo $this->extraheader['favicon'];
else {
echo '<link rel="icon" href="../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="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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/apple-touch-icon.png">'."\n";
}
if($this->params['session'] && $this->params['session']->getSu()) {
?>
@ -167,19 +167,19 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$this->missingLanguageKeys();
}
}
echo '<script src="../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="../views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n";
echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/js/bootstrap.min.js"></script>'."\n";
echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/bootstrap/js/bootstrap-typeahead.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)
echo '<script src="../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="../views/'.$this->theme.'/vendors/select2/js/select2.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="'.$this->params['settings']->_httpRoot.'styles/'.$this->theme.'/chosen/js/chosen.jquery.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);
$tmp['action'] = 'webrootjs';
if(isset($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="../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']) {
$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-inner\">\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 class=\"brand\" href=\"../out/out.ViewFolder.php\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."</a>\n";
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=\"".$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";
@ -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 " <span class=\"fa fa-bars\"></span>\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 " </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 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 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=\"".$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 {{{ */
if(isset($this->params['session']) && isset($this->params['user']) && $this->params['user']) {
/* 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')) {
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()) {
$menuitems = array();
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'))
$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'))
$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'))
$menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) {
@ -431,7 +431,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "<li class=\"active\">";
else
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 " </ul>\n";
@ -440,21 +440,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if(!$this->params['session']->getSu()) {
if($this->params['user']->isAdmin()) {
$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()) {
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 {
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)
echo " <li class=\"divider\"></li>\n";
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 {
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 " </li>\n";
@ -507,11 +507,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <ul class=\"nav\">\n";
$menuitems = array();
/* 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 ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>'../out/out.AdminTools.php', 'label'=>"admin_tools");
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'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools");
if($this->params['enablehelp']) {
$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 */
@ -546,17 +546,17 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
for ($i = 0; $i < count($path); $i++) {
$txtpath .= "<li>";
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>";
}
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()));
}
$txtpath .= " <span class=\"divider\">/</span></li>";
}
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>';
} /* }}} */
@ -736,46 +736,46 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
}
$accessMode = $folder->getAccessMode($this->params['user']);
$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";
$menuitems = array();
if ($accessMode == M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('FolderNotify'))
$menuitems['edit_folder_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify'));
if ($accessobject->check_controller_access('FolderNotify'))
$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) {
if ($accessobject->check_view_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>"../out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_view_access('AddDocument'))
$menuitems['add_document'] = array('link'=>"../out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document'));
if ($accessobject->check_controller_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_controller_access('AddDocument'))
$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'])
$menuitems['add_multiple_documents'] = array('link'=>"../out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents'));
if ($accessobject->check_view_access('EditFolder')) {
$menuitems['edit_folder_props'] = array('link'=>"../out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props'));
$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_controller_access('EditFolder')) {
$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())
$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 ($folderID != $this->params['rootfolderid'] && $folder->getParent())
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 ($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'))
$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) {
$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']) {
$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 */
@ -791,49 +791,58 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject'];
$accessMode = $document->getAccessMode($this->params['user']);
$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";
$menuitems = array();
if ($accessMode >= M_READWRITE) {
if (!$document->isLocked()) {
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'))
$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'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
$menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
}
else {
$lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) {
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'))
$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'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
$menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
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->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 ($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'))
$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'))
$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')) {
$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 */
@ -859,17 +868,18 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function accountNavigationBar() { /* {{{ */
$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";
$menuitems = array();
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())
$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');
@ -877,9 +887,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($this->params['enableusersview']){
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'))
$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 */
@ -894,20 +904,22 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function myDocumentsNavigationBar() { /* {{{ */
$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";
$menuitems = array();
$menuitems['inprocess'] = array('link'=>"../out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process'));
$menuitems['all_documents'] = array('link'=>"../out/out.MyDocuments.php", 'label'=>getMLText('all_documents'));
if ($accessobject->check_view_access('MyDocuments')) {
$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 ($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'))
$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 {
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'))
$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() { /* {{{ */
$accessobject = $this->params['accessobject'];
$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";
$menuitems = array();
if($accessobject->check_view_access(array('UsrMgr', 'RoleMgr', 'GroupMgr', 'UserList', 'Acl'))) {
$menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management'));
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'))
$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'))
$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'))
$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'))
$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'))) {
$menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions'));
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'))
$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'))
$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'))
$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 ($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'))
$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'))
$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'))) {
$menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch'));
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'))
$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'))
$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'))) {
$menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management'));
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 ($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'))) {
$menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc'));
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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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) {
@ -1029,15 +1041,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarOldNavigationBar($d){ /* {{{ */
$accessobject = $this->params['accessobject'];
$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 "<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=\"../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=w".$ds."\">".getMLText("week_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=\"".$this->params['settings']->_httpRoot."out/out.CalendarOld.php?mode=y".$ds."\">".getMLText("year_view")."</a></li>\n";
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 "</div>\n";
return;
@ -1046,12 +1058,12 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarNavigationBar($d){ /* {{{ */
$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";
$menuitems = array();
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 */
if($this->hasHook('calendarNavigationBar'))
@ -1492,7 +1504,7 @@ $(document).ready(function() {
<div id="'.$id.'-upload-files">
<div id="'.$id.'-upload-file" class="upload-file">
<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">
'.getMLText("browse").'&hellip; <input id="'.$id.'" type="file" name="'.$varname.'"'.($multiple ? " multiple" : "").($accept ? ' accept="'.$accept.'"' : "").' data-target-highlight="kkll'.$id.'">
</span>
@ -1610,7 +1622,8 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
$content .= "</div>\n";
@ -1674,7 +1687,8 @@ function folderSelected<?php echo $formid ?>(id, name) {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
}
@ -1746,7 +1760,8 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
$content .= '
@ -1819,7 +1834,7 @@ $(document).ready(function() {
$tmp = array();
foreach($attrs as $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);
break;
@ -1828,7 +1843,7 @@ $(document).ready(function() {
$tmp = array();
foreach($attrs as $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);
break;
@ -1992,12 +2007,13 @@ $(document).ready(function() {
function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */
$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 .= $this->getModalBoxLink(
array(
'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")).'…'
));
$content .= "</div>\n";
@ -2384,19 +2400,19 @@ $(function() {
*/
function __printTreeNavigation($folderid, $showtree){ /* {{{ */
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();
?>
<script language="JavaScript">
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>
<?php
$this->printNewTreeNavigation($folderid, M_READ, 0, '');
$this->contentContainerEnd();
} 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")."\",
\"class\" : \"btn-danger\",
\"callback\": function() {
$.get('../op/op.Ajax.php',
$.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
@ -2549,7 +2565,7 @@ $(function() {
\"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_folder")."\",
\"class\" : \"btn-danger\",
\"callback\": function() {
$.get('../op/op.Ajax.php',
$.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
@ -2616,9 +2632,9 @@ $(function() {
$content = '';
$objid = $object->getId();
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')) {
$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)
return $content;
@ -2830,7 +2846,7 @@ $(document).ready( function() {
\"label\" : \"<i class='fa fa-remove'></i> ".getMLText("rm_attr_value")."\",
\"class\" : \"btn-danger\",
\"callback\": function() {
$.post('../op/op.AttributeMgr.php',
$.post('".$this->params['settings']->_httpRoot."op/op.AttributeMgr.php',
{ action: 'removeattrvalue', attrdefid: id, attrvalue: attrvalue, formtoken: formtoken },
function(data) {
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');
} else {
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
@ -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');
if(typeof attr_id == 'undefined')
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
@ -3021,9 +3037,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<td>";
if (file_exists($dms->contentDir . $latestContent->getPath())) {
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)) {
$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 {
$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)
$content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>";
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']))
$content .= $extracontent['below_title'];
$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) {
$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 {
$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>';
}
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']))
$content .= $extracontent['end_action_list'];
$content .= "</div>";
@ -3225,11 +3241,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content = '';
if(!$skipcont)
$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)
$content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>";
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']))
$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>";
@ -3309,7 +3325,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
}
if ($accessop->check_view_access('EditFolder')) {
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 {
$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>';
}
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']))
$content .= $extracontent['end_action_list'];
$content .= "</div>";
@ -3593,14 +3609,14 @@ $(document).ready(function() {
if($accessop->check_controller_access('Download', array('action'=>'review')))
if($rec['file']) {
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;
case "approval":
if($accessop->check_controller_access('Download', array('action'=>'approval')))
if($rec['file']) {
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;
}

View File

@ -208,7 +208,7 @@ $(document).ready( function() {
$this->columnStart(3);
$this->contentHeading(getMLText("chart_selection"));
$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";
}
$this->contentContainerEnd();
@ -235,6 +235,7 @@ $(document).ready( function() {
switch($type) {
case 'docspermonth':
case 'docsperuser':
case 'foldersperuser':
case 'docspermimetype':
case 'docspercategory':
case 'docsperstatus':

View File

@ -61,24 +61,24 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$subitems = [];
foreach($clipboard['folders'] as $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";
$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))));
$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'=>$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) {
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";
$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))));
$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'=>$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";
$subitems[] = array('divider'=>true);
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";
$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()));
$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'=>$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 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'))
$subitems = $this->callHook('clipboardMenuItems', $clipboard, $subitems);
/*
@ -157,9 +157,9 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
$content .= $this->documentListRowStart($document);
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)) {
$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 {
$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 .= "</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 .= "</tr>";
}

View File

@ -1,6 +1,6 @@
<?php
/**
* Implementation of CategoryChooser view
* Implementation of DropFolderChooser view
*
* @category DMS
* @package SeedDMS
@ -24,7 +24,7 @@
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
* @package SeedDMS
@ -55,6 +55,7 @@ $('.folderselect').click(function(ev) {
public function menuList() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$dropfolderdir = $this->params['dropfolderdir'];
$showfolders = $this->params['showfolders'];
$cachedir = $this->params['cachedir'];
@ -82,13 +83,13 @@ $('.folderselect').click(function(ev) {
$c++;
$subitem = array('label'=>'', 'attributes'=>array(array('title', getMLText('menu_upload_from_dropfolder'))));
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);
if(file_exists($dir.'/'.$entry)) {
if($previewwidth) {
$previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype);
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>";
@ -157,7 +158,7 @@ $('.folderselect').click(function(ev) {
echo "</table>\n";
echo '<script src="../out/out.DropFolderChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
} 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';
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("comment")."</th>";
print "<th>".getMLText("last_update")."</th>";

View File

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

View File

@ -265,7 +265,7 @@ function typeahead() { /* {{{ */
// Database search Form {{{
?>
<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" />
<?php
// General search options {{{
@ -605,7 +605,7 @@ function typeahead() { /* {{{ */
if($enablefullsearch) {
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" />
<?php
$this->contentContainerStart();

View File

@ -225,6 +225,19 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
<?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() { /* {{{ */
$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_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); ?>
<tr title="<?php printMLText("settings_libraryFolder_desc");?>">
<td><?php printMLText("settings_libraryFolder");?>:</td>
<td><?php $this->printFolderChooserHtml("form1", M_READWRITE, -1, $dms->getFolder($settings->_libraryFolder), 'libraryFolder');?></td>
</tr>
<?php $this->showConfigFolder('settings_libraryFolder', 'libraryFolder'); ?>
<!--
-- 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_enableSelfRevApp', 'enableSelfRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableUpdateRevApp', 'enableUpdateRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableRemoveRevApp', 'enableRemoveRevApp'); ?>
<?php $this->showConfigCheckbox('settings_enableSelfReceipt', 'enableSelfReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableAdminReceipt', 'enableAdminReceipt'); ?>
<?php $this->showConfigCheckbox('settings_enableOwnerReceipt', 'enableOwnerReceipt'); ?>

View File

@ -307,7 +307,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['review'] as $t) {
$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);
@ -316,7 +316,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['approval'] as $t) {
$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);
}
@ -324,7 +324,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['workflow'] as $t) {
$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);
}
@ -356,7 +356,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['rejected'] as $t) {
$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);
}
@ -370,7 +370,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
}
if ($accessobject->check_view_access('MyDocuments')) {
$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));
}
@ -398,18 +398,18 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n";
foreach($clipboard['folders'] as $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) {
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";
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 class=\"ajax-click\" data-href=\"../op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</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=\"".$this->params['settings']->_httpRoot."op/op.Ajax.php\" data-param1=\"command=clearclipboard\">".getMLText("clear_clipboard")."</a></li>\n";
$content .= " </ul>\n";
$content .= " </li>\n";
$content .= " </ul>\n";
@ -448,7 +448,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
}
$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 .= "</tr>\n";
$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')."\">";
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)) {
$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 {
$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 .= "<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 .= "</tr>";
$doccount++;

View File

@ -96,10 +96,12 @@ $(document).ready( function() {
} else {
?>
userfile: {
alternatives: $('#dropfolderfileform1')
require_from_group: [1, ".fileupload-group"]
// alternatives: $('#dropfolderfileform1')
},
dropfolderfileform1: {
alternatives: $('#userfile')
require_from_group: [1, ".fileupload-group"]
// alternatives: $('#userfile')
}
<?php
}
@ -147,6 +149,7 @@ console.log(element);
$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/additional-methods.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
if($enablelargefileupload) {
$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")
);
}
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)) {
$this->formField(
getMLText("comment"),

View File

@ -116,8 +116,16 @@ $(document).ready( function() {
echo "</td></tr>\n";
$documents = $seluser->getDocuments();
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();
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();
echo "<tr><td>".getMLText('personal_default_keywords')."</td><td>".count($categories)."</td></tr>\n";
$dnot = $seluser->getNotifications(T_DOCUMENT);

View File

@ -443,6 +443,7 @@ $(document).ready( function() {
function preview() { /* {{{ */
$dms = $this->params['dms'];
$settings = $this->params['settings'];
$document = $this->params['document'];
$timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile'];
@ -473,7 +474,7 @@ $(document).ready( function() {
$this->contentHeading(getMLText("preview"));
?>
<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>
<?php
break;
@ -486,14 +487,14 @@ $(document).ready( function() {
$this->contentHeading(getMLText("preview"));
?>
<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>
<?php
break;
case 'application/pdf':
$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
break;
case 'image/svg+xml':
@ -503,7 +504,7 @@ $(document).ready( function() {
case 'image/gif':
$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
break;
default:
@ -523,7 +524,7 @@ $(document).ready( function() {
if($pdfpreviewer->hasConverter($latestContent->getMimeType())) {
$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
}
}
@ -594,15 +595,15 @@ $(document).ready( function() {
if ($file_exists) {
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) {
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 {
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);
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 {
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){
$items = array();
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 ($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))
$items = array_merge($items, $newitems);
if($items) {
@ -665,17 +666,17 @@ $(document).ready( function() {
$items = array();
if ($file_exists){
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
* user if enableVersionDeletion is on
*/
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())) {
$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($accessobject->maySetRecipients($latestContent->getDocument())) {
@ -683,18 +684,18 @@ $(document).ready( function() {
}
if($islatest && $enablerevisionworkflow && $accessobject->check_controller_access('SetRevisors'))
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') {
// Allow changing reviewers/approvals only if not reviewed
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') {
if($accessobject->maySetWorkflow($latestContent->getDocument())) {
$workflow = $latestContent->getWorkflow();
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->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->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)
$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))
$items = array_merge($items, $newitems);
@ -738,6 +739,7 @@ $(document).ready( function() {
$accessobject = $this->params['accessobject'];
$viewonlinefiletypes = $this->params['viewonlinefiletypes'];
$enableownerrevapp = $this->params['enableownerrevapp'];
$enableremoverevapp = $this->params['enableremoverevapp'];
$enableownerreceipt = $this->params['enableownerreceipt'];
$enablereceiptworkflow = $this->params['enablereceiptworkflow'];
$enablereceiptreject = $this->params['enablereceiptreject'];
@ -757,11 +759,11 @@ $(document).ready( function() {
if($versions === null)
$versions = $document->getContent();
$this->htmlAddHeader('<link href="../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="../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="../views/'.$this->theme.'/styles/validation-default.js"></script>'."\n", 'js');
$this->htmlAddHeader('<link href="'.$this->params['settings']->_httpRoot.'styles/bootstrap/timeline/timeline.css" rel="stylesheet">'."\n", 'css');
$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="'.$this->params['settings']->_httpRoot.'styles/bootstrap/timeline/timeline-locales.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="'.$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->globalNavigation($folder);
@ -1037,7 +1039,7 @@ $(document).ready( function() {
if($r['file']) {
echo "<br />";
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";
@ -1052,13 +1054,15 @@ $(document).ready( function() {
if($accessobject->mayReview($latestContent->getDocument())) {
if ($is_reviewer) {
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))){
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 "</tr>\n";
}
@ -1141,7 +1145,7 @@ $(document).ready( function() {
if($a['file']) {
echo "<br />";
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";
@ -1156,12 +1160,14 @@ $(document).ready( function() {
if($accessobject->mayApprove($latestContent->getDocument())) {
if ($is_approver) {
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))){
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 "</td>\n";
@ -1216,9 +1222,9 @@ $(document).ready( function() {
$this->contentContainerStart();
if($user->isAdmin()) {
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 {
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>";
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
$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;
}
echo "</td>";
@ -1337,7 +1343,7 @@ $(document).ready( function() {
}
}
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\">";
foreach($subworkflows as $subworkflow) {
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($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()) {
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 "</form>";
} else {
@ -1384,7 +1390,7 @@ $(document).ready( function() {
foreach($transitions as $transition) {
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
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 "</form>";
@ -1506,9 +1512,9 @@ $(document).ready( function() {
if($accessobject->mayReceipt($document)) {
if ($is_recipient) {
if($r["status"]==0) {
print "<li>".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini 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))) {
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>";
if($accessobject->mayRevise($document)) {
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())){
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 ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) {
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 {
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)) {
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 {
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\">";
if ($file_exists) {
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($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())."\">";
echo "</ul><ul class=\"unstyled actions\">";
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 "<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('RemoveDocumentFile', array('documentid'=>$document->getID(), 'fileid'=>$file->getID()), array(), '<i class="fa fa-remove"></i>'.getMLText("delete"), false, true, array('<li>', '</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>";
@ -1780,7 +1786,7 @@ $(document).ready( function() {
if ($document->getAccessMode($user) >= M_READWRITE){
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
}
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 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"));
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
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 "<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 "</span></td>";
echo $this->documentListRowEnd($targetDoc);
}
@ -1829,7 +1835,7 @@ $(document).ready( function() {
if ($accessobject->check_view_access('AddDocumentLink')){
?>
<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;?>">
<?php echo createHiddenFieldWithKey('adddocumentlink'); ?>
<?php $this->contentContainerStart(); ?>
@ -1882,9 +1888,10 @@ $(document).ready( function() {
print "<td><span class=\"actions\">";
if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL ))
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 "<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>";
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);
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.setEditBtnLabel('".getMLText("edit_document_props")."');";
$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 "<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 " <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=\"../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=="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=="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=="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>".getMLText("owner")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
@ -628,7 +628,7 @@ $('body').on('click', '.order-btn', function(ev) {
if ($enableFolderTree) {
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();
/*
* 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->contentContainerEnd();
} 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";
$sitename = trim(strip_tags($this->params['sitename']));
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';
echo '<link href="../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="../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="../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="../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="../views/'.$this->theme.'/styles/styles.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/seeddms.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap-datepicker/css/bootstrap-datepicker.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/chosen/css/chosen.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="'.$this->params['settings']->_httpRoot.'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/jqtree/jqtree.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/application.css" rel="stylesheet">'."\n";
echo '<link href="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/styles/styles.css" rel="stylesheet">'."\n";
if($this->extraheader['css'])
echo $this->extraheader['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 '<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'])
echo $this->extraheader['js'];
echo '<script type="text/javascript" src="../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="../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="../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="../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.'styles/'.$parenttheme.'/passwordstrength/jquery.passwordstrength.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="'.$this->params['settings']->_httpRoot.'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/topCenter.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/jqtree/tree.jquery.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootbox/bootbox.locales.min.js"></script>'."\n";
if(!empty($this->extraheader['favicon']))
echo $this->extraheader['favicon'];
else {
echo '<link rel="icon" href="../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="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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/images/apple-touch-icon.png">'."\n";
}
if($this->params['session'] && $this->params['session']->getSu()) {
?>
@ -168,21 +168,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
}
}
$parenttheme = 'bootstrap';
echo '<script src="../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="../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="../views/'.$this->theme.'/vendors/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>'."\n";
echo '<script src="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/popper/popper.min.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="'.$this->params['settings']->_httpRoot.'views/'.$this->theme.'/vendors/bootstrap/bootstrap.min.js"></script>'."\n";
echo '<script src="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/bootstrap/js/bootstrap-typeahead.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)
echo '<script src="../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="../views/'.$this->theme.'/vendors/select2/js/select2.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="'.$this->params['settings']->_httpRoot.'styles/'.$parenttheme.'/chosen/js/chosen.jquery.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);
$tmp['action'] = 'webrootjs';
if(isset($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="../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']) {
$this->addFooterJS('SeedDMSTask.run();');
}
@ -297,7 +297,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
function globalBanner() { /* {{{ */
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";
} /* }}} */
@ -305,11 +305,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$dms = $this->params['dms'];
$accessobject = $this->params['accessobject'];
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']) {
/* 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'))) {
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 " <ul class=\"navbar-nav\">\n";
$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['user']->isAdmin()) $menuitems['admintools'] = array('link'=>'../out/out.AdminTools.php', 'label'=>"admin_tools");
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'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools");
if($this->params['enablehelp']) {
$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 */
if($this->hasHook('globalNavigationBar'))
@ -402,11 +402,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if (!$this->params['user']->isGuest()) {
$menuitems = array();
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'))
$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'))
$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'))
$menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) {
@ -428,7 +428,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <a class=\"dropdown-item active\"";
else
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 " </div>\n";
@ -437,15 +437,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if(!$this->params['session']->getSu()) {
if($this->params['user']->isAdmin()) {
$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)
echo " <div class=\"dropdown-divider\"></div>\n";
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 {
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 " </li>\n";
@ -466,16 +466,16 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
for ($i = 0; $i < count($path); $i++) {
$txtpath .= "<li class=\"breadcrumb-item\">";
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>";
}
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()));
}
}
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>';
} /* }}} */
@ -659,38 +659,38 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems = array();
if ($accessMode == M_READ && !$this->params['user']->isGuest()) {
if ($accessobject->check_view_access('FolderNotify'))
$menuitems['edit_folder_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_notify'));
if ($accessobject->check_controller_access('FolderNotify'))
$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) {
if ($accessobject->check_view_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>"../out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_view_access('AddDocument'))
$menuitems['add_document'] = array('link'=>"../out/out.AddDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_document'));
if ($accessobject->check_controller_access('AddSubFolder'))
$menuitems['add_subfolder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.AddSubFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_subfolder'));
if ($accessobject->check_controller_access('AddDocument'))
$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'])
$menuitems['add_multiple_documents'] = array('link'=>"../out/out.AddMultiDocument.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('add_multiple_documents'));
if ($accessobject->check_view_access('EditFolder')) {
$menuitems['edit_folder_props'] = array('link'=>"../out/out.EditFolder.php?folderid=". $folderID ."&showtree=".showtree(), 'label'=>getMLText('edit_folder_props'));
$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_controller_access('EditFolder')) {
$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())
$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 ($folderID != $this->params['rootfolderid'] && $folder->getParent())
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 ($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'))
$menuitems['edit_existing_notify'] = array('link'=>"../out/out.FolderNotify.php?folderid=". $folderID ."&showtree=". showtree(), 'label'=>getMLText('edit_existing_notify'));
if ($accessobject->check_controller_access('FolderNotify'))
$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']) {
$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 */
@ -709,49 +709,51 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessMode >= M_READWRITE) {
if (!$document->isLocked()) {
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'))
$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'=>"../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 {
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'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
$menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid , 'label'=>getMLText('edit_document_props'));
if($accessobject->check_controller_access('MoveDocument'))
$menuitems['move_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
}
else {
$lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $this->params['user']->getID()) || ($document->getAccessMode($this->params['user']) == M_ALL)) {
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'))
$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'))
$menuitems['edit_document_props'] = array('link'=>"../out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
$menuitems['move_document'] = array('link'=>"../out/out.MoveDocument".$docid, 'label'=>getMLText('move_document'));
$menuitems['edit_document_props'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditDocument".$docid, 'label'=>getMLText('edit_document_props'));
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->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 ($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'))
$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 ($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()) {
$menuitems['transfer_document'] = array('link'=>"../out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document'));
if ($accessobject->check_view_access('TransferDocument')) {
$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 */
@ -777,21 +779,22 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject'];
$menuitems = array();
if ($this->params['user']->isAdmin() || !$this->params['disableselfedit'])
$menuitems['edit_user_details'] = array('link'=>"../out/out.EditUserData.php", 'label'=>getMLText('edit_user_details'));
if ($accessobject->check_view_access('EditUserData') || !$this->params['disableselfedit'])
$menuitems['edit_user_details'] = array('link'=>$this->params['settings']->_httpRoot."out/out.EditUserData.php", 'label'=>getMLText('edit_user_details'));
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');
if ($this->params['enableusersview']){
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'))
$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 */
@ -806,16 +809,18 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject'];
$menuitems = array();
$menuitems['inprocess'] = array('link'=>"../out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('documents_in_process'));
$menuitems['all_documents'] = array('link'=>"../out/out.MyDocuments.php", 'label'=>getMLText('all_documents'));
if ($accessobject->check_view_access('MyDocuments')) {
$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 ($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'))
$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 {
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'))
$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'))) {
$menuitems['user_group_management'] = array('link'=>"#", 'label'=>getMLText('user_group_management'));
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'))
$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'))
$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'))
$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'))
$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'))) {
$menuitems['definitions'] = array('link'=>"#", 'label'=>getMLText('definitions'));
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'))
$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'))
$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 ($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'))
$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'))
$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'))) {
$menuitems['fulltext'] = array('link'=>"#", 'label'=>getMLText('fullsearch'));
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'))
$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'))
$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'))) {
$menuitems['backup_log_management'] = array('link'=>"#", 'label'=>getMLText('backup_log_management'));
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 ($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'))) {
$menuitems['misc'] = array('link'=>"#", 'label'=>getMLText('misc'));
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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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'))
$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) {
@ -931,15 +936,15 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function calendarOldNavigationBar($d){ /* {{{ */
$accessobject = $this->params['accessobject'];
$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 "<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=\"../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";
if (!$this->params['user']->isGuest())
echo "<li><a href=\"../out/out.AddEvent.php\">".getMLText("add_event")."</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=\"".$this->params['settings']->_httpRoot."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=y".$ds."\">".getMLText("year_view")."</a></li>\n";
if($accessobject->check_view_access(array('AddEvent')))
echo "<li><a href=\"".$this->params['settings']->_httpRoot."out/out.AddEvent.php\">".getMLText("add_event")."</a></li>\n";
echo "</ul>\n";
echo "</div>\n";
return;
@ -950,8 +955,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$accessobject = $this->params['accessobject'];
$menuitems = array();
if (!$this->params['user']->isGuest())
$menuitems['addevent'] = array('link'=>"../out/out.AddEvent.php", 'label'=>getMLText('add_event'));
if($accessobject->check_view_access(array('AddEvent')))
$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 */
if($this->hasHook('calendarNavigationBar'))
@ -1431,7 +1436,7 @@ $(document).ready(function() {
<div id="'.$id.'-upload-files">
<div id="'.$id.'-upload-file" class="upload-file">
<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">
<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.'">
@ -1555,7 +1560,7 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
@ -1622,7 +1627,7 @@ function folderSelected<?php echo $formid ?>(id, name) {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
@ -1697,7 +1702,7 @@ $(document).ready(function() {
$content .= $this->getModalBoxLink(
array(
'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').'…'
));
@ -1772,7 +1777,7 @@ $(document).ready(function() {
$tmp = array();
foreach($attrs as $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);
break;
@ -1781,7 +1786,7 @@ $(document).ready(function() {
$tmp = array();
foreach($attrs as $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);
break;
@ -1955,13 +1960,13 @@ $(document).ready(function() {
function getDropFolderChooserHtml($formName, $dropfolderfile="", $showfolders=0) { /* {{{ */
$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 .= "<button type=\"button\" class=\"btn btn-secondary\" id=\"clearfilename".$formName."\"><i class=\"fa fa-remove\"></i></button>";
$content .= $this->getModalBoxLink(
array(
'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")).'…'
));
@ -2350,19 +2355,19 @@ $(function() {
*/
function __printTreeNavigation($folderid, $showtree){ /* {{{ */
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();
?>
<script language="JavaScript">
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>
<?php
$this->printNewTreeNavigation($folderid, M_READ, 0, '');
$this->contentContainerEnd();
} 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) {
if(result) {
$.get('../op/op.Ajax.php',
$.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
@ -2531,7 +2536,7 @@ $(function() {
},
\"callback\": function(result) {
if(result) {
$.get('../op/op.Ajax.php',
$.get('".$this->params['settings']->_httpRoot."op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
@ -2594,9 +2599,9 @@ $(function() {
$content = '';
$objid = $object->getId();
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')) {
$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)
return $content;
@ -2818,7 +2823,7 @@ $(document).ready( function() {
},
\"callback\": function(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 },
function(data) {
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');
} else {
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
@ -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');
if(typeof attr_id == 'undefined')
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
@ -3004,9 +3009,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= "<td>";
if (file_exists($dms->contentDir . $latestContent->getPath())) {
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)) {
$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 {
$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)
$content .= "<b".($onepage ? ' title="Id:'.$document->getId().'"' : '').">".htmlspecialchars($document->getName()) . "</b>";
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']))
$content .= $extracontent['below_title'];
$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) {
$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 {
$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>';
}
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']))
$content .= $extracontent['end_action_list'];
$content .= "</div>";
@ -3181,11 +3186,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content = '';
if(!$skipcont)
$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)
$content .= "<td class=\"wordbreak\" style=\"cursor: pointer;\">" . "<b title=\"Id:".$subFolder->getId()."\">".htmlspecialchars($subFolder->getName())."</b>";
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']))
$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>";
@ -3239,7 +3244,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
}
if ($accessop->check_view_access('EditFolder')) {
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 {
$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>';
}
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']))
$content .= $extracontent['end_action_list'];
$content .= "</div>";
@ -3523,14 +3528,14 @@ $(document).ready(function() {
if($accessop->check_controller_access('Download', array('action'=>'review')))
if($rec['file']) {
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;
case "approval":
if($accessop->check_controller_access('Download', array('action'=>'approval')))
if($rec['file']) {
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;
}

View File

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