Merge branch 'seeddms-4.3.x'

This commit is contained in:
Uwe Steinmann 2015-09-28 14:47:29 +02:00
commit 8d35bb6a9b
102 changed files with 2174 additions and 230 deletions

View File

@ -1,3 +1,11 @@
--------------------------------------------------------------------------------
Changes in version 4.3.21
--------------------------------------------------------------------------------
- fix sql statement when searching for attributes (SeedDMS_Core, Closes: 227)
- show preview images file list of drop folder
- add timeline
- fix document and page count in fulltext search
--------------------------------------------------------------------------------
Changes in version 4.3.20
--------------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
VERSION=4.3.20
VERSION=4.3.21
SRC=CHANGELOG inc conf utils index.php languages views op out README.md README.Notification README.Ubuntu drop-tables-innodb.sql styles js TODO LICENSE Makefile webdav install restapi
# webapp

View File

@ -273,7 +273,7 @@ class SeedDMS_Core_DMS {
$this->convertFileTypes = array();
$this->version = '@package_version@';
if($this->version[0] == '@')
$this->version = '4.3.20';
$this->version = '4.3.21';
} /* }}} */
/**
@ -839,16 +839,16 @@ class SeedDMS_Core_DMS {
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%') AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} elseif($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) {
if($attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentContentAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblDocumentContentAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblDocumentContentAttributes`.`document` = `tblDocumentContent`.`id`)";
} else {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value`='".$attribute."' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value`='".$attribute."' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id)";
}
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id)";
}
}
}
@ -1591,7 +1591,7 @@ class SeedDMS_Core_DMS {
*/
function createPasswordRequest($user) { /* {{{ */
$hash = md5(uniqid(time()));
$queryStr = "INSERT INTO tblUserPasswordRequest (userID, hash, `date`) VALUES (" . $user->getId() . ", " . $this->db->qstr($hash) .", CURRENT_TIMESTAMP)";
$queryStr = "INSERT INTO tblUserPasswordRequest (userID, hash, `date`) VALUES (" . $user->getId() . ", " . $this->db->qstr($hash) .", ".$db->getCurrentDatetime().")";
$resArr = $this->db->getResult($queryStr);
if (is_bool($resArr) && !$resArr) return false;
return $hash;
@ -2157,7 +2157,7 @@ class SeedDMS_Core_DMS {
* documents or used space per user, recent activity, etc.
*
* @param string $type type of statistic
* @param array statistical data
* @return array statistical data
*/
function getStatisticalData($type='') { /* {{{ */
switch($type) {
@ -2225,6 +2225,38 @@ class SeedDMS_Core_DMS {
}
} /* }}} */
/**
* Returns changes with a period of time
*
* This method returns a list of all changes happened in the database
* within a given period of time. It currently just checks for
* entries in the database tables tblDocumentContent, tblDocumentFiles,
* and tblDocumentStatusLog
*
* @param string $start start date
* @param string $end end date
* @return array list of changes
*/
function getTimeline($startts='', $endts='') { /* {{{ */
if(!$startts)
$startts = mktime(0, 0, 0);
if(!$endts)
$startts = mktime(24, 0, 0);
$timeline = array();
$queryStr = "SELECT document FROM tblDocumentContent WHERE date > ".$startts." AND date < ".$endts;
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;
$resArr = $this->db->getResultArray($queryStr);
foreach($resArr as $rec) {
$document = $this->getDocument($rec['document']);
$timeline = array_merge($timeline, $document->getTimeline());
}
return $timeline;
} /* }}} */
/**
* Set a callback function
*

View File

@ -1158,8 +1158,6 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
// the doc path is id/version.filetype
$dir = $this->getDir();
$date = time();
/* The version field in table tblDocumentContent used to be auto
* increment but that requires the field to be primary as well if
* innodb is used. That's why the version is now determined here.
@ -1178,7 +1176,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$db->startTransaction();
$queryStr = "INSERT INTO tblDocumentContent (document, version, comment, date, createdBy, dir, orgFileName, fileType, mimeType, fileSize, checksum) VALUES ".
"(".$this->_id.", ".(int)$version.",".$db->qstr($comment).", ".$date.", ".$user->getID().", ".$db->qstr($dir).", ".$db->qstr($orgFileName).", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$filesize.", ".$db->qstr($checksum).")";
"(".$this->_id.", ".(int)$version.",".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".$user->getID().", ".$db->qstr($dir).", ".$db->qstr($orgFileName).", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$filesize.", ".$db->qstr($checksum).")";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
@ -1198,7 +1196,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
unset($this->_content);
unset($this->_latestContent);
$content = new SeedDMS_Core_DocumentContent($contentID, $this, $version, $comment, $date, $user->getID(), $dir, $orgFileName, $fileType, $mimeType, $filesize, $checksum);
$content = $this->getLatestContent($contentID);
// $content = new SeedDMS_Core_DocumentContent($contentID, $this, $version, $comment, $date, $user->getID(), $dir, $orgFileName, $fileType, $mimeType, $filesize, $checksum);
if($workflow)
$content->setWorkflow($workflow, $user);
$docResultSet = new SeedDMS_Core_AddContentResultSet($content);
@ -1282,7 +1281,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$comment = "";
}
$queryStr = "INSERT INTO `tblDocumentStatusLog` (`statusID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $statusID ."', '". $status."', 'New document content submitted". $comment ."', CURRENT_TIMESTAMP, '". $user->getID() ."')";
"VALUES ('". $statusID ."', '". $status."', 'New document content submitted". $comment ."', ".$db->getCurrentDatetime().", '". $user->getID() ."')";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
@ -1321,8 +1320,6 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
// the doc path is id/version.filetype
$dir = $this->getDir();
$date = time();
/* If $version < 1 than replace the content of the latest version.
*/
if ((int) $version<1) {
@ -1356,7 +1353,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$checksum = SeedDMS_Core_File::checksum($tmpFile);
$db->startTransaction();
$queryStr = "UPDATE tblDocumentContent set date=".$date.", fileSize=".$filesize.", checksum=".$db->qstr($checksum)." WHERE id=".$content->getID();
$queryStr = "UPDATE tblDocumentContent set date=".$db->getCurrentTimestamp().", fileSize=".$filesize.", checksum=".$db->qstr($checksum)." WHERE id=".$content->getID();
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
@ -1731,7 +1728,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$dir = $this->getDir();
$queryStr = "INSERT INTO tblDocumentFiles (comment, date, dir, document, fileType, mimeType, orgFileName, userID, name) VALUES ".
"(".$db->qstr($comment).", '".time()."', ".$db->qstr($dir).", ".$this->_id.", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$db->qstr($orgFileName).",".$user->getID().",".$db->qstr($name).")";
"(".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".$db->qstr($dir).", ".$this->_id.", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$db->qstr($orgFileName).",".$user->getID().",".$db->qstr($name).")";
if (!$db->getResult($queryStr)) return false;
$id = $db->getInsertID();
@ -2085,6 +2082,66 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return $resArr[0]['sum'];
} /* }}} */
/**
* Returns a list of events happend during the life of the document
*
* This includes the creation of new versions, approval and reviews, etc.
*
* @return array list of events
*/
function getTimeline() { /* {{{ */
$db = $this->_dms->getDB();
$timeline = array();
/* No need to add entries for new version because the status log
* will generate an entry as well.
$queryStr = "SELECT * FROM tblDocumentContent WHERE document = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
foreach ($resArr as $row) {
$date = date('Y-m-d H:i:s', $row['date']);
$timeline[] = array('date'=>$date, 'msg'=>'Added version '.$row['version'], 'type'=>'add_version', 'version'=>$row['version'], 'document'=>$this, 'params'=>array($row['version']));
}
*/
$queryStr = "SELECT * FROM tblDocumentFiles WHERE document = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
foreach ($resArr as $row) {
$date = date('Y-m-d H:i:s', $row['date']);
$timeline[] = array('date'=>$date, 'msg'=>'Added attachment "'.$row['name'].'"', 'document'=>$this, 'type'=>'add_file');
}
$queryStr=
"SELECT `tblDocumentStatus`.*, `tblDocumentStatusLog`.`status`, ".
"`tblDocumentStatusLog`.`comment`, `tblDocumentStatusLog`.`date`, ".
"`tblDocumentStatusLog`.`userID` ".
"FROM `tblDocumentStatus` ".
"LEFT JOIN `tblDocumentStatusLog` USING (`statusID`) ".
"WHERE `tblDocumentStatus`.`documentID` = '". $this->_id ."' ".
"ORDER BY `tblDocumentStatusLog`.`statusLogID` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
/* The above query will also contain entries where a document status exists
* but no status log entry. Those records will have no date and must be
* skipped.
*/
foreach ($resArr as $row) {
if($row['date']) {
$date = $row['date'];
$timeline[] = array('date'=>$date, 'msg'=>'Version '.$row['version'].': Status change to '.$row['status'], 'type'=>'status_change', 'version'=>$row['version'], 'document'=>$this, 'status'=>$row['status'], 'params'=>array($row['version'], $row['status']));
}
}
return $timeline;
} /* }}} */
} /* }}} */
@ -2214,6 +2271,10 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if(!$date)
$date = time();
else {
if(!is_numeric($date))
return false;
}
$queryStr = "UPDATE tblDocumentContent SET date = ".(int) $date." WHERE `document` = " . $this->_document->getID() . " AND `version` = " . $this->_version;
if (!$db->getResult($queryStr))
@ -2470,7 +2531,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if($date)
$ddate = $db->qstr($date);
else
$ddate = 'CURRENT_TIMESTAMP';
$ddate = $db->getCurrentDatetime();
$queryStr = "INSERT INTO `tblDocumentStatusLog` (`statusID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $this->_status["statusID"] ."', '". (int) $status ."', ".$db->qstr($comment).", ".$ddate.", '". $updateUser->getID() ."')";
$res = $db->getResult($queryStr);
@ -2867,7 +2928,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $reviewID ."', '0', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $reviewID ."', '0', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -2925,7 +2986,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $reviewID ."', '0', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $reviewID ."', '0', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -2982,7 +3043,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $indstatus["reviewID"] ."', '".
(int) $status ."', ".$db->qstr($comment).", CURRENT_TIMESTAMP, '".
(int) $status ."', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
@ -3034,7 +3095,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $reviewStatus[0]["reviewID"] ."', '".
(int) $status ."', ".$db->qstr($comment).", CURRENT_TIMESTAMP, '".
(int) $status ."', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
@ -3100,7 +3161,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $approveID ."', '0', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $approveID ."', '0', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3156,7 +3217,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $approveID ."', '0', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $approveID ."', '0', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3217,7 +3278,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $indstatus["approveID"] ."', '".
(int) $status ."', ".$db->qstr($comment).", CURRENT_TIMESTAMP, '".
(int) $status ."', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
@ -3261,7 +3322,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $approvalStatus[0]["approveID"] ."', '".
(int) $status ."', ".$db->qstr($comment).", CURRENT_TIMESTAMP, '".
(int) $status ."', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
@ -3297,7 +3358,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $indstatus["reviewID"] ."', '-2', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $indstatus["reviewID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3328,7 +3389,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $reviewStatus[0]["reviewID"] ."', '-2', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $reviewStatus[0]["reviewID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3360,7 +3421,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $indstatus["approveID"] ."', '-2', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $indstatus["approveID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3391,7 +3452,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
}
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $approvalStatus[0]["approveID"] ."', '-2', '', CURRENT_TIMESTAMP, '". $requestUser->getID() ."')";
"VALUES ('". $approvalStatus[0]["approveID"] ."', '-2', '', ".$db->getCurrentDatetime().", '". $requestUser->getID() ."')";
$res = $db->getResult($queryStr);
if (is_bool($res) && !$res) {
return -1;
@ -3460,7 +3521,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if($workflow && is_object($workflow)) {
$db->startTransaction();
$initstate = $workflow->getInitState();
$queryStr = "INSERT INTO tblWorkflowDocumentContent (workflow, document, version, state, date) VALUES (". $workflow->getID(). ", ". $this->_document->getID() .", ". $this->_version .", ".$initstate->getID().", CURRENT_TIMESTAMP)";
$queryStr = "INSERT INTO tblWorkflowDocumentContent (workflow, document, version, state, date) VALUES (". $workflow->getID(). ", ". $this->_document->getID() .", ". $this->_version .", ".$initstate->getID().", ".$db->getCurrentDatetime().")";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
@ -3641,7 +3702,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if($subworkflow) {
$initstate = $subworkflow->getInitState();
$queryStr = "INSERT INTO tblWorkflowDocumentContent (parentworkflow, workflow, document, version, state, date) VALUES (". $this->_workflow->getID(). ", ". $subworkflow->getID(). ", ". $this->_document->getID() .", ". $this->_version .", ".$initstate->getID().", CURRENT_TIMESTAMP)";
$queryStr = "INSERT INTO tblWorkflowDocumentContent (parentworkflow, workflow, document, version, state, date) VALUES (". $this->_workflow->getID(). ", ". $subworkflow->getID(). ", ". $this->_document->getID() .", ". $this->_version .", ".$initstate->getID().", ".$db->getCurrentDatetime().")";
if (!$db->getResult($queryStr)) {
return false;
}
@ -3881,7 +3942,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return false;
$state = $this->_workflowState;
$queryStr = "INSERT INTO tblWorkflowLog (document, version, workflow, userid, transition, date, comment) VALUES (".$this->_document->getID().", ".$this->_version.", " . (int) $this->_workflow->getID() . ", " .(int) $user->getID(). ", ".(int) $transition->getID().", CURRENT_TIMESTAMP, ".$db->qstr($comment).")";
$queryStr = "INSERT INTO tblWorkflowLog (document, version, workflow, userid, transition, date, comment) VALUES (".$this->_document->getID().", ".$this->_version.", " . (int) $this->_workflow->getID() . ", " .(int) $user->getID(). ", ".(int) $transition->getID().", ".$db->getCurrentDatetime().", ".$db->qstr($comment).")";
if (!$db->getResult($queryStr))
return false;
@ -4360,7 +4421,7 @@ class SeedDMS_Core_AddContentResultSet { /* {{{ */
if (!is_integer($status)) {
return false;
}
if ($status<-3 || $status>2) {
if ($status<-3 || $status>3) {
return false;
}
$this->_status = $status;

View File

@ -463,7 +463,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
//inheritAccess = true, defaultAccess = M_READ
$queryStr = "INSERT INTO tblFolders (name, parent, folderList, comment, date, owner, inheritAccess, defaultAccess, sequence) ".
"VALUES (".$db->qstr($name).", ".$this->_id.", ".$db->qstr($pathPrefix).", ".$db->qstr($comment).", ".time().", ".$owner->getID().", 1, ".M_READ.", ". $sequence.")";
"VALUES (".$db->qstr($name).", ".$this->_id.", ".$db->qstr($pathPrefix).", ".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".$owner->getID().", 1, ".M_READ.", ". $sequence.")";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
@ -757,7 +757,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$db->startTransaction();
$queryStr = "INSERT INTO tblDocuments (name, comment, date, expires, owner, folder, folderList, inheritAccess, defaultAccess, locked, keywords, sequence) VALUES ".
"(".$db->qstr($name).", ".$db->qstr($comment).", " . time().", ".(int) $expires.", ".$owner->getID().", ".$this->_id.",".$db->qstr($pathPrefix).", 1, ".M_READ.", -1, ".$db->qstr($keywords).", " . $sequence . ")";
"(".$db->qstr($name).", ".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".(int) $expires.", ".$owner->getID().", ".$this->_id.",".$db->qstr($pathPrefix).", 1, ".M_READ.", -1, ".$db->qstr($keywords).", " . $sequence . ")";
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;

View File

@ -235,7 +235,7 @@ class SeedDMS_Core_Group {
$reviewStatus = $this->getReviewStatus();
foreach ($reviewStatus as $r) {
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $r["reviewID"] ."', '-2', 'Review group removed from process', CURRENT_TIMESTAMP, '". $user->getID() ."')";
"VALUES ('". $r["reviewID"] ."', '-2', 'Review group removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')";
$res=$db->getResult($queryStr);
if(!$res) {
$db->rollbackTransaction();
@ -246,7 +246,7 @@ class SeedDMS_Core_Group {
$approvalStatus = $this->getApprovalStatus();
foreach ($approvalStatus as $a) {
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $a["approveID"] ."', '-2', 'Approval group removed from process', CURRENT_TIMESTAMP, '". $user->getID() ."')";
"VALUES ('". $a["approveID"] ."', '-2', 'Approval group removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')";
$res=$db->getResult($queryStr);
if(!$res) {
$db->rollbackTransaction();

View File

@ -584,7 +584,7 @@ class SeedDMS_Core_User {
$reviewStatus = $this->getReviewStatus();
foreach ($reviewStatus["indstatus"] as $ri) {
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', CURRENT_TIMESTAMP, '". $user->getID() ."')";
"VALUES ('". $ri["reviewID"] ."', '-2', 'Reviewer removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')";
$res=$db->getResult($queryStr);
if(!$res) {
$db->rollbackTransaction();
@ -595,7 +595,7 @@ class SeedDMS_Core_User {
$approvalStatus = $this->getApprovalStatus();
foreach ($approvalStatus["indstatus"] as $ai) {
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) ".
"VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', CURRENT_TIMESTAMP, '". $user->getID() ."')";
"VALUES ('". $ai["approveID"] ."', '-2', 'Approver removed from process', ".$db->getCurrentDatetime().", '". $user->getID() ."')";
$res=$db->getResult($queryStr);
if(!$res) {
$db->rollbackTransaction();

View File

@ -454,6 +454,40 @@ class SeedDMS_Core_DatabaseAccess {
return '';
} /* }}} */
/**
* Return sql statement for returning the current date and time
* in format Y-m-d H:i:s
*
* @return string sql code
*/
function getCurrentDatetime() { /* {{{ */
switch($this->_driver) {
case 'mysql':
return "CURRENT_TIMESTAMP";
break;
case 'sqlite':
return "datetime('now', 'localtime')";
break;
}
return '';
} /* }}} */
/**
* Return sql statement for returning the current timestamp
*
* @return string sql code
*/
function getCurrentTimestamp() { /* {{{ */
switch($this->_driver) {
case 'mysql':
return "UNIX_TIMESTAMP()";
break;
case 'sqlite':
return "strftime('%s', 'now')";
break;
}
return '';
} /* }}} */
}
?>

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2015-06-26</date>
<time>16:45:59</time>
<date>2015-09-28</date>
<time>07:53:19</time>
<version>
<release>4.3.20</release>
<api>4.3.20</api>
<release>4.3.21</release>
<api>4.3.21</api>
</version>
<stability>
<release>stable</release>
@ -24,15 +24,9 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add method SeedDMS_Core_DMS::checkDate()
- add method SeedDMS_Core_Document::setDate()
- add method SeedDMS_Core_Folder::setDate()
- date can be passed to SeedDMS_Core_DocumentContent::setStatus()
- add method SeedDMS_Core_DocumentContent::rewriteStatusLog()
- add method SeedDMS_Core_DocumentContent::rewriteReviewLog()
- add method SeedDMS_Core_DocumentContent::rewriteApprovalLog()
- access rights for guest are also taken into account if set in an acl. Previously guest could gain read rights even if the access was probibited
by a group or user right
- add method SeedDMS_Core_Database::getCurrentTimestamp()
- add method SeedDMS_Core_Database::getCurrentDatetime()
- user getCurrentTimestamp() and getCurrentDatetime() whenever possible
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -874,5 +868,29 @@ clean workflow log when a document version was deleted
- new method cleanNotifyList()
</notes>
</release>
<release>
<date>2015-06-26</date>
<time>16:45:59</time>
<version>
<release>4.3.20</release>
<api>4.3.20</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add method SeedDMS_Core_DMS::checkDate()
- add method SeedDMS_Core_Document::setDate()
- add method SeedDMS_Core_Folder::setDate()
- date can be passed to SeedDMS_Core_DocumentContent::setStatus()
- add method SeedDMS_Core_DocumentContent::rewriteStatusLog()
- add method SeedDMS_Core_DocumentContent::rewriteReviewLog()
- add method SeedDMS_Core_DocumentContent::rewriteApprovalLog()
- access rights for guest are also taken into account if set in an acl. Previously guest could gain read rights even if the access was probibited
by a group or user right
</notes>
</release>
</changelog>
</package>

View File

@ -95,10 +95,10 @@ class SeedDMS_Preview_Previewer {
$dir = $this->previewDir.'/'.$document->getDir();
switch(get_class($object)) {
case "SeedDMS_Core_DocumentContent":
$target = $dir.'p'.$object->getVersion().'-'.$width.'.png';
$target = $dir.'p'.$object->getVersion().'-'.$width;
break;
case "SeedDMS_Core_DocumentFile":
$target = $dir.'f'.$object->getID().'-'.$width.'.png';
$target = $dir.'f'.$object->getID().'-'.$width;
break;
default:
return false;
@ -106,7 +106,75 @@ class SeedDMS_Preview_Previewer {
return $target;
} /* }}} */
/**
* Create a preview image for a given file
*
* @param string $infile name of input file including full path
* @param string $dir directory relative to $this->previewDir
* @param string $mimetype MimeType of input file
* @param integer $width width of generated preview image
* @return boolean true on success, false on failure
*/
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='') { /* {{{ */
if($width == 0)
$width = $this->width;
else
$width = intval($width);
if(!$this->previewDir)
return false;
if(!is_dir($this->previewDir.'/'.$dir)) {
if (!SeedDMS_Core_File::makeDir($this->previewDir.'/'.$dir)) {
return false;
}
}
if(!file_exists($infile))
return false;
if(!$target)
$target = $this->previewDir.$dir.md5($infile).'-'.$width;
if($target != '' && (!file_exists($target.'.png') || filectime($target.'.png') < filectime($infile))) {
$cmd = '';
switch($mimetype) {
case "image/png":
case "image/gif":
case "image/jpeg":
case "image/jpg":
case "image/svg+xml":
$cmd = 'convert -resize '.$width.'x '.$infile.' '.$target.'.png';
break;
case "application/pdf":
case "application/postscript":
$cmd = 'convert -density 100 -resize '.$width.'x '.$infile.'[0] '.$target.'.png';
break;
case "text/plain":
$cmd = 'convert -resize '.$width.'x '.$infile.'[0] '.$target.'.png';
break;
case "application/x-compressed-tar":
$cmd = 'tar tzvf '.$infile.' | convert -density 100 -resize '.$width.'x text:-[0] '.$target.'.png';
break;
}
if($cmd) {
//exec($cmd);
try {
self::execWithTimeout($cmd);
} catch(Exception $e) {
}
}
return true;
}
return true;
} /* }}} */
public function createPreview($object, $width=0) { /* {{{ */
if($width == 0)
$width = $this->width;
else
$width = intval($width);
$document = $object->getDocument();
$file = $document->_dms->contentDir.$object->getPath();
$target = $this->getFileName($object, $width);
return $this->createRawPreview($file, $document->getDir(), $object->getMimeType(), $width, $target);
if($width == 0)
$width = $this->width;
else
@ -124,7 +192,7 @@ class SeedDMS_Preview_Previewer {
if(!file_exists($file))
return false;
$target = $this->getFileName($object, $width);
if($target !== false && (!file_exists($target) || filectime($target) < $object->getDate())) {
if($target !== false && (!file_exists($target.'.png') || filectime($target.'.png') < $object->getDate())) {
$cmd = '';
switch($object->getMimeType()) {
case "image/png":
@ -132,17 +200,17 @@ class SeedDMS_Preview_Previewer {
case "image/jpeg":
case "image/jpg":
case "image/svg+xml":
$cmd = 'convert -resize '.$width.'x '.$file.' '.$target;
$cmd = 'convert -resize '.$width.'x '.$file.' '.$target.'.png';
break;
case "application/pdf":
case "application/postscript":
$cmd = 'convert -density 100 -resize '.$width.'x '.$file.'[0] '.$target;
$cmd = 'convert -density 100 -resize '.$width.'x '.$file.'[0] '.$target.'.png';
break;
case "text/plain":
$cmd = 'convert -resize '.$width.'x '.$file.'[0] '.$target;
$cmd = 'convert -resize '.$width.'x '.$file.'[0] '.$target.'.png';
break;
case "application/x-compressed-tar":
$cmd = 'tar tzvf '.$file.' | convert -density 100 -resize '.$width.'x text:-[0] '.$target;
$cmd = 'tar tzvf '.$file.' | convert -density 100 -resize '.$width.'x text:-[0] '.$target.'.png';
break;
}
if($cmd) {
@ -158,6 +226,20 @@ class SeedDMS_Preview_Previewer {
} /* }}} */
public function hasRawPreview($infile, $dir, $width=0) { /* {{{ */
if($width == 0)
$width = $this->width;
else
$width = intval($width);
if(!$this->previewDir)
return false;
$target = $this->previewDir.$dir.md5($infile).'-'.$width;
if($target !== false && file_exists($target.'.png') && filectime($target.'.png') >= filectime($infile)) {
return true;
}
return false;
} /* }}} */
public function hasPreview($object, $width=0) { /* {{{ */
if($width == 0)
$width = $this->width;
@ -166,12 +248,26 @@ class SeedDMS_Preview_Previewer {
if(!$this->previewDir)
return false;
$target = $this->getFileName($object, $width);
if($target !== false && file_exists($target) && filectime($target) >= $object->getDate()) {
if($target !== false && file_exists($target.'.png') && filectime($target.'.png') >= $object->getDate()) {
return true;
}
return false;
} /* }}} */
public function getRawPreview($infile, $dir, $width=0) { /* {{{ */
if($width == 0)
$width = $this->width;
else
$width = intval($width);
if(!$this->previewDir)
return false;
$target = $this->previewDir.$dir.md5($infile).'-'.$width;
if($target && file_exists($target.'.png')) {
readfile($target.'.png');
}
} /* }}} */
public function getPreview($object, $width=0) { /* {{{ */
if($width == 0)
$width = $this->width;
@ -181,8 +277,8 @@ class SeedDMS_Preview_Previewer {
return false;
$target = $this->getFileName($object, $width);
if($target && file_exists($target)) {
readfile($target);
if($target && file_exists($target.'.png')) {
readfile($target.'.png');
}
} /* }}} */

View File

@ -49,7 +49,7 @@ function addEvent($from, $to, $name, $comment ){
global $db,$user;
$queryStr = "INSERT INTO tblEvents (name, comment, start, stop, date, userID) VALUES ".
"(".$db->qstr($name).", ".$db->qstr($comment).", ".(int) $from.", ".(int) $to.", ".mktime().", ".$user->getID().")";
"(".$db->qstr($name).", ".$db->qstr($comment).", ".(int) $from.", ".(int) $to.", ".$db->getCurrentTimestamp().", ".$user->getID().")";
$ret = $db->getResult($queryStr);
return $ret;
@ -76,7 +76,7 @@ function editEvent($id, $from, $to, $name, $comment ){
global $db;
$queryStr = "UPDATE tblEvents SET start = " . (int) $from . ", stop = " . (int) $to . ", name = " . $db->qstr($name) . ", comment = " . $db->qstr($comment) . ", date = " . mktime() . " WHERE id = ". (int) $id;
$queryStr = "UPDATE tblEvents SET start = " . (int) $from . ", stop = " . (int) $to . ", name = " . $db->qstr($name) . ", comment = " . $db->qstr($comment) . ", date = " . $db->getCurrentTimestamp() . " WHERE id = ". (int) $id;
$ret = $db->getResult($queryStr);
return $ret;
}

View File

@ -443,7 +443,7 @@ class Settings { /* {{{ */
$this->_dbDatabase = strval($tab["dbDatabase"]);
$this->_dbUser = strval($tab["dbUser"]);
$this->_dbPass = strval($tab["dbPass"]);
$this->_doNotCheckDBVersion = Settings::boolVal($tab["doNotCheckVersion"]);
$this->_doNotCheckDBVersion = Settings::boolVal($tab["doNotCheckDBVersion"]);
// XML Path: /configuration/system/smtp
$node = $xml->xpath('/configuration/system/smtp');
@ -722,7 +722,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "dbDatabase", $this->_dbDatabase);
$this->setXMLAttributValue($node, "dbUser", $this->_dbUser);
$this->setXMLAttributValue($node, "dbPass", $this->_dbPass);
$this->setXMLAttributValue($node, "doNotCheckVersion", $this->_doNotCheckVersion);
$this->setXMLAttributValue($node, "doNotCheckVersion", $this->_doNotCheckDBVersion);
// XML Path: /configuration/system/smtp
$node = $this->getXMLNode($xml, '/configuration/system', 'smtp');

View File

@ -20,7 +20,7 @@
class SeedDMS_Version {
public $_number = "4.3.20";
public $_number = "4.3.21";
private $_string = "SeedDMS";
function SeedDMS_Version() {

View File

@ -119,7 +119,7 @@ function fileExistsInIncludePath($file) { /* {{{ */
* Load default settings + set
*/
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", "4.3.20");
define("SEEDDMS_VERSION", "4.3.21");
require_once('../inc/inc.ClassSettings.php');

View File

@ -173,6 +173,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'لا يمكن استدعاء لقطة حالة المراجعة لهذا الاصدار من المستند',
'cannot_rm_root' => 'خطأ: لايمكنك مسح المجلد الرئيسي.',
'categories' => 'اقسام',
'categories_loading' => '',
'category' => 'قسم',
'category_exists' => '.القسم بالفعل موجود',
'category_filter' => 'اقسام فقط',
@ -382,6 +383,7 @@ URL: [url]',
'error_occured' => 'حدث خطأ',
'es_ES' => 'الإسبانية',
'event_details' => 'تفاصيل الحدث',
'exclude_items' => '',
'expired' => 'انتهى صلاحيته',
'expires' => 'تنتهى صلاحيته',
'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية',
@ -398,6 +400,7 @@ URL: [url]',
'files' => 'ملفات',
'files_deletion' => 'مسح الملف',
'files_deletion_warning' => 'من خلال تلك الخاصية يمكنك مسح كل الملفات على مجلدات النظام. ملفات معلومات الاصدارات فقط ستظل متاحة للرؤية.',
'files_loading' => '',
'file_size' => 'حجم الملف',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -528,6 +531,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'ابقاء حالة المستند',
'keywords' => 'كلمات البحث',
'keywords_loading' => '',
'keyword_exists' => 'كلمات البحث بالفعل موجودة',
'ko_KR' => '',
'language' => 'اللغة',
@ -662,6 +666,7 @@ URL: [url]',
'no_update_cause_locked' => 'لايمكنك تعديل المستند. قم بمخاطبة المستخدم الذي قام بحمايته من التعديل',
'no_user_image' => 'لا يوجد صورة متاحة',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'التحقق من مستند/مجلد',
'obsolete' => 'مهمل',
@ -1217,6 +1222,20 @@ URL: [url]',
'theme' => 'شكل',
'thursday' => 'الخميس',
'thursday_abbr' => 'خ',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'الى',
'toggle_manager' => 'رجح مدير',
'to_before_from' => '',
@ -1238,6 +1257,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'مسار العمل',
'tr_TR' => 'ﺕﺮﻜﻳﺓ',
'tuesday' => 'الثلاثاء',

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 (780)
// Translators: Admin (781)
$text = array(
'accept' => 'Приеми',
@ -158,6 +158,7 @@ $text = array(
'cannot_retrieve_review_snapshot' => 'Невозможно е да се получи рецензираща снимка за тази версия на документа',
'cannot_rm_root' => 'Невозможно е да се изтрие руут папката',
'categories' => 'Категории',
'categories_loading' => '',
'category' => 'Категория',
'category_exists' => 'Категорията существува',
'category_filter' => 'Само категории',
@ -337,6 +338,7 @@ $text = array(
'error_occured' => 'Стана грешка',
'es_ES' => '',
'event_details' => 'Детайли за събитието',
'exclude_items' => '',
'expired' => 'Изтекъл',
'expires' => 'Изтича',
'expiry_changed_email' => 'Датата на изтичане променена',
@ -349,6 +351,7 @@ $text = array(
'files' => 'Файлове',
'files_deletion' => 'Изтриване на файлове',
'files_deletion_warning' => 'Тази операция ще изтрие всички файлове във всички папки. Информацията за версиите ще остане достъпна',
'files_loading' => '',
'file_size' => 'Размер',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -413,7 +416,7 @@ $text = array(
'inherits_access_empty_msg' => 'Започни с празен списък за достъп',
'inherits_access_msg' => 'достъпът наследен.',
'internal_error' => 'Вътрешна грешка',
'internal_error_exit' => 'Вътрешна грешка. Невозможно е да се изпълни запитването. Свършвам.',
'internal_error_exit' => 'Вътрешна грешка. Невозможно е да се изпълни запитването.',
'invalid_access_mode' => 'Неправилно ниво на достъп',
'invalid_action' => 'Неправилно действие',
'invalid_approval_status' => 'Неправилен статус на утвърждаване',
@ -459,6 +462,7 @@ $text = array(
'keep' => '',
'keep_doc_status' => 'Запази статуса на документа',
'keywords' => 'Ключови думи',
'keywords_loading' => '',
'keyword_exists' => 'Ключовата дума съществува',
'ko_KR' => '',
'language' => 'Език',
@ -569,6 +573,7 @@ $text = array(
'no_update_cause_locked' => 'Вие не можете да обновите документа. Свържете се с блокирщия го потребител.',
'no_user_image' => 'Изображение не е намерено',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Проверка на Папка/Документ',
'obsolete' => 'Остарял',
@ -1082,6 +1087,20 @@ $text = array(
'theme' => 'Тема',
'thursday' => 'четвъртък',
'thursday_abbr' => '',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'към',
'toggle_manager' => 'Превключи мениджър',
'to_before_from' => '',
@ -1094,6 +1113,7 @@ $text = array(
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Процес',
'tr_TR' => '',
'tuesday' => 'вторник',

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 (657)
// Translators: Admin (658)
$text = array(
'accept' => 'Acceptar',
@ -163,6 +163,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'No és possible recuperar la instantània de revisió per a aquesta versió de document.',
'cannot_rm_root' => 'Error: No és possible eliminar la carpeta root.',
'categories' => 'Categories',
'categories_loading' => '',
'category' => 'Category',
'category_exists' => '',
'category_filter' => '',
@ -342,6 +343,7 @@ URL: [url]',
'error_occured' => 'Ha succeït un error',
'es_ES' => '',
'event_details' => 'Detalls de l\'event',
'exclude_items' => '',
'expired' => 'Caducat',
'expires' => 'Caduca',
'expiry_changed_email' => 'Data de caducitat modificada',
@ -354,6 +356,7 @@ URL: [url]',
'files' => 'Fitxers',
'files_deletion' => 'Eliminació de fitxers',
'files_deletion_warning' => 'Amb aquesta opció es poden eliminar tots els fitxers del DMS complet. La informació de versionat romandrà visible.',
'files_loading' => '',
'file_size' => 'Mida',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -418,7 +421,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Començar amb una llista d\'accés buida',
'inherits_access_msg' => 'Accés heretat',
'internal_error' => 'Error intern',
'internal_error_exit' => 'Error intern. No és possible acabar la sol.licitud. Acabat.',
'internal_error_exit' => 'Error intern. No és possible acabar la sol.licitud.',
'invalid_access_mode' => 'No és valid el mode d\'accés',
'invalid_action' => 'L\'acció no és vàlida',
'invalid_approval_status' => 'L\'estat d\'aprovació no és válid',
@ -464,6 +467,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => '',
'keywords' => 'Mots clau',
'keywords_loading' => '',
'keyword_exists' => 'El mot clau ja existeix',
'ko_KR' => '',
'language' => 'Llenguatge',
@ -574,6 +578,7 @@ URL: [url]',
'no_update_cause_locked' => 'Aquest document no es pot actualitzar. Si us plau, contacteu amb l\'usuari que l\'ha bloquejat.',
'no_user_image' => 'No es troba la imatge',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'obsolete' => 'Obsolet',
@ -1087,6 +1092,20 @@ URL: [url]',
'theme' => 'Tema gràfic',
'thursday' => 'Dijous',
'thursday_abbr' => '',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Fins',
'toggle_manager' => 'Intercanviar manager',
'to_before_from' => '',
@ -1099,6 +1118,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => '',
'tr_TR' => '',
'tuesday' => 'Dimarts',

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 (688), kreml (455)
// Translators: Admin (692), kreml (455)
$text = array(
'accept' => 'Přijmout',
@ -180,6 +180,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Není možné získat informaci o stavu kontroly této verze dokumentu.',
'cannot_rm_root' => 'Chyba: Není možné smazat kořenový adresář.',
'categories' => 'Kategorie',
'categories_loading' => '',
'category' => 'Kategorie',
'category_exists' => 'Kategorie již existuje.',
'category_filter' => 'Pouze kategorie',
@ -389,6 +390,7 @@ URL: [url]',
'error_occured' => 'Vyskytla se chyba',
'es_ES' => 'Španělština',
'event_details' => 'Údaje akce',
'exclude_items' => '',
'expired' => 'Platnost vypršela',
'expires' => 'Platnost vyprší',
'expiry_changed_email' => 'Datum expirace změněno',
@ -405,6 +407,7 @@ URL: [url]',
'files' => 'Soubory',
'files_deletion' => 'Soubor odstraněn',
'files_deletion_warning' => 'Pomocí této volby můžete odstranit všechny soubory z celé složky DMS. Verzovací informace zůstanou viditelné.',
'files_loading' => '',
'file_size' => 'Velikost souboru',
'filter_for_documents' => 'Další filtr pro dokumenty',
'filter_for_folders' => 'Další filtr pro složky',
@ -535,6 +538,7 @@ URL: [url]',
'keep' => 'Neměňte',
'keep_doc_status' => 'Zachovat stav dokumentu',
'keywords' => 'Klíčová slova',
'keywords_loading' => '',
'keyword_exists' => 'Klíčové slovo už existuje',
'ko_KR' => 'Korejština',
'language' => 'Jazyk',
@ -669,6 +673,7 @@ URL: [url]',
'no_update_cause_locked' => 'Proto nemůžete aktualizovat tento dokument. Prosím, kontaktujte uživatele, který ho zamknul.',
'no_user_image' => 'nebyl nalezen žádný obrázek',
'no_version_check' => 'Chyba při kontrole nové verze SeedDMS. Může to být způsobeno nastavením allow_url_fopen na 0 ve vaší php konfiguraci.',
'no_version_modification' => '',
'no_workflow_available' => 'workflow nedostupný',
'objectcheck' => 'kontrola adresáře/dokumentu',
'obsolete' => 'Zastaralé',
@ -841,15 +846,15 @@ URL: [url]',
'search_fulltext' => 'Vyhledat fulltextově',
'search_in' => 'Prohledávat',
'search_mode_and' => 'všechna slova',
'search_mode_documents' => '',
'search_mode_folders' => '',
'search_mode_documents' => 'Pouze dokumenty',
'search_mode_folders' => 'Pouze složky',
'search_mode_or' => 'alespoň jedno ze slov',
'search_no_results' => 'Vašemu dotazu nevyhovují žádné dokumenty',
'search_query' => 'Hledat',
'search_report' => 'Nalezených [count] dokumentů odpovídajících dotazu',
'search_report_fulltext' => 'Found [doccount] documents',
'search_resultmode' => '',
'search_resultmode_both' => '',
'search_resultmode' => 'Režim výsledků',
'search_resultmode_both' => 'Dokumenty a složky',
'search_results' => 'Výsledky hledání',
'search_results_access_filtered' => 'Výsledky hledání můžou obsahovat obsah, ke kterému byl zamítnut přístup.',
'search_time' => 'Uplynulý čas: [time] sek',
@ -1226,6 +1231,20 @@ URL: [url]',
'theme' => 'Vzhled',
'thursday' => 'Čtvrtek',
'thursday_abbr' => 'Čt',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Do',
'toggle_manager' => 'Přepnout správce',
'to_before_from' => 'Datum ukončení nesmí být před datem zahájení',
@ -1247,6 +1266,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Pracovní postup',
'tr_TR' => 'Turecky',
'tuesday' => 'Úterý',

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 (2106), dgrutsch (18)
// Translators: Admin (2131), dgrutsch (18)
$text = array(
'accept' => 'Übernehmen',
@ -185,6 +185,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Nicht imstande, Berichtstatus Snapshot für diese Dokumentversion zurückzuholen',
'cannot_rm_root' => 'Fehler: Löschen des Hauptordners nicht möglich',
'categories' => 'Kategorien',
'categories_loading' => 'Bitte warten, bis die Liste der Kategorien geladen ist …',
'category' => 'Kategorie',
'category_exists' => 'Kategorie existiert bereits.',
'category_filter' => 'Nur Kategorien',
@ -394,6 +395,7 @@ URL: [url]',
'error_occured' => 'Ein Fehler ist aufgetreten. Bitte Administrator benachrichtigen.',
'es_ES' => 'Spanisch',
'event_details' => 'Ereignisdetails',
'exclude_items' => 'Einträge auslassen',
'expired' => 'abgelaufen',
'expires' => 'Ablaufdatum',
'expiry_changed_email' => 'Ablaufdatum geändert',
@ -410,6 +412,7 @@ URL: [url]',
'files' => 'Dateien',
'files_deletion' => 'Dateien löschen',
'files_deletion_warning' => 'Durch diese Operation können Sie Dokumente des DMS löschen. Die Versions-Information bleibt erhalten.',
'files_loading' => 'Bitte warten, bis die Dateiliste geladen ist …',
'file_size' => 'Dateigröße',
'filter_for_documents' => 'Zusätzliche Filter für Dokumente',
'filter_for_folders' => 'Zusätzliche Filter für Ordner',
@ -494,7 +497,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Leere Zugriffsliste',
'inherits_access_msg' => 'Zur Zeit werden die Rechte geerbt',
'internal_error' => 'Interner Fehler',
'internal_error_exit' => 'Interner Fehler: nicht imstande, Antrag durchzuführen. Herausnehmen. verlassen.',
'internal_error_exit' => 'Interner Fehler: nicht imstande, Anfrage auszuführen.',
'invalid_access_mode' => 'Unzulässige Zugangsart',
'invalid_action' => 'Unzulässige Aktion',
'invalid_approval_status' => 'Unzulässiger Freigabestatus',
@ -540,6 +543,7 @@ URL: [url]',
'keep' => 'Beibehalten',
'keep_doc_status' => 'Dokumentenstatus beibehalten',
'keywords' => 'Stichworte',
'keywords_loading' => 'Bitte warten, bis die Schlüsselwortliste geladen ist …',
'keyword_exists' => 'Stichwort besteht bereits',
'ko_KR' => 'Koreanisch',
'language' => 'Sprache',
@ -673,6 +677,7 @@ URL: [url]',
'no_update_cause_locked' => 'Sie können daher im Moment diese Datei nicht aktualisieren. Wenden Sie sich an den Benutzer, der die Sperrung eingerichtet hat',
'no_user_image' => 'Kein Bild vorhanden',
'no_version_check' => 'Ein Check auf neuere Versionen von SeedDMS ist fehlgeschlagen. Dies könnte daran liegen, dass allow_url_fopen in der PHP-Konfiguration auf 0 gesetzt ist.',
'no_version_modification' => 'Keine Modifikationen an einer Version',
'no_workflow_available' => '',
'objectcheck' => 'Ordner- und Dokumentenprüfung',
'obsolete' => 'veraltet',
@ -1246,6 +1251,20 @@ URL: [url]',
'theme' => 'Aussehen',
'thursday' => 'Donnerstag',
'thursday_abbr' => 'Do',
'timeline' => 'Verlauf',
'timeline_add_file' => 'Neuer Anhang',
'timeline_add_version' => 'Neue Version [version]',
'timeline_full_add_file' => '[document]<br />Neuer Anhang',
'timeline_full_add_version' => '[document]<br />Neue Version [version]',
'timeline_full_status_change' => '[document]<br />Version [version]: [status]',
'timeline_skip_add_file' => 'Anhang hinzugefügt',
'timeline_skip_status_change_-1' => 'abgelehnt',
'timeline_skip_status_change_-3' => 'abgelaufen',
'timeline_skip_status_change_0' => 'bevorstehende Prüfung',
'timeline_skip_status_change_1' => 'bevorstehende Freigabe',
'timeline_skip_status_change_2' => 'freigegeben',
'timeline_skip_status_change_3' => 'im Workflow',
'timeline_status_change' => 'Version [version]: [status]',
'to' => 'bis',
'toggle_manager' => 'Managerstatus wechseln',
'to_before_from' => 'Endedatum darf nicht vor dem Startdatum liegen',
@ -1267,6 +1286,7 @@ URL: [url]',
'transmittal_comment' => 'Kommentar',
'transmittal_name' => 'Name',
'transmittal_size' => 'Größe',
'tree_loading' => 'Bitte warten, bis der Dokumentenbaum geladen ist …',
'trigger_workflow' => 'Workflow',
'tr_TR' => 'Türkisch',
'tuesday' => 'Dienstag',

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 (1238), dgrutsch (3), netixw (14)
// Translators: Admin (1266), dgrutsch (3), netixw (14)
$text = array(
'accept' => 'Accept',
@ -185,6 +185,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Unable to retrieve review status snapshot for this document version.',
'cannot_rm_root' => 'Error: Cannot delete root folder.',
'categories' => 'Categories',
'categories_loading' => 'Please wait, until category list is loaded …',
'category' => 'Category',
'category_exists' => 'Category already exists.',
'category_filter' => 'Only categories',
@ -394,6 +395,7 @@ URL: [url]',
'error_occured' => 'An error has occured',
'es_ES' => 'Spanish',
'event_details' => 'Event details',
'exclude_items' => 'Exclude items',
'expired' => 'Expired',
'expires' => 'Expires',
'expiry_changed_email' => 'Expiry date changed',
@ -410,6 +412,7 @@ URL: [url]',
'files' => 'Files',
'files_deletion' => 'Files deletion',
'files_deletion_warning' => 'With this option you can delete all files of entire DMS folders. The versioning information will remain visible.',
'files_loading' => 'Please wait, until file list is loaded …',
'file_size' => 'Filesize',
'filter_for_documents' => 'Additional filter for documents',
'filter_for_folders' => 'Additional filter for folders',
@ -494,7 +497,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Start with empty access list',
'inherits_access_msg' => 'Access is being inherited.',
'internal_error' => 'Internal error',
'internal_error_exit' => 'Internal error. Unable to complete request. Exiting.',
'internal_error_exit' => 'Internal error. Unable to complete request.',
'invalid_access_mode' => 'Invalid Access Mode',
'invalid_action' => 'Invalid Action',
'invalid_approval_status' => 'Invalid Approval Status',
@ -540,6 +543,7 @@ URL: [url]',
'keep' => 'Do not change',
'keep_doc_status' => 'Keep document status',
'keywords' => 'Keywords',
'keywords_loading' => 'Please wait, until keyword list is loaded …',
'keyword_exists' => 'Keyword already exists',
'ko_KR' => 'Korean',
'language' => 'Language',
@ -673,6 +677,7 @@ URL: [url]',
'no_update_cause_locked' => 'You can therefore not update this document. Please contact the locking user.',
'no_user_image' => 'No image found',
'no_version_check' => 'Checking for a new version of SeedDMS has failed! This could be caused by allow_url_fopen being set to 0 in your php configuration.',
'no_version_modification' => 'No version modification',
'no_workflow_available' => '',
'objectcheck' => 'Folder/Document check',
'obsolete' => 'Obsolete',
@ -1253,6 +1258,20 @@ URL: [url]',
'theme' => 'Theme',
'thursday' => 'Thursday',
'thursday_abbr' => 'Th',
'timeline' => 'Timeline',
'timeline_add_file' => 'New Attachment',
'timeline_add_version' => 'New version [version]',
'timeline_full_add_file' => '[document]<br />New Attachment',
'timeline_full_add_version' => '[document]<br />New version [version]',
'timeline_full_status_change' => '[document]<br />Version [version]: [status]',
'timeline_skip_add_file' => 'attachment added',
'timeline_skip_status_change_-1' => 'rejected',
'timeline_skip_status_change_-3' => 'expired',
'timeline_skip_status_change_0' => 'pending review',
'timeline_skip_status_change_1' => 'pending approval',
'timeline_skip_status_change_2' => 'released',
'timeline_skip_status_change_3' => 'within workflow',
'timeline_status_change' => 'Version [version]: [status]',
'to' => 'To',
'toggle_manager' => 'Toggle manager',
'to_before_from' => 'End date may not be before start date',
@ -1274,6 +1293,7 @@ URL: [url]',
'transmittal_comment' => 'Comment',
'transmittal_name' => 'Name',
'transmittal_size' => 'Size',
'tree_loading' => 'Please wait, until document tree is loaded …',
'trigger_workflow' => 'Workflow',
'tr_TR' => 'Turkish',
'tuesday' => 'Tuesday',

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: acabello (20), Admin (952), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (954), angel (123), francisco (2), jaimem (14)
$text = array(
'accept' => 'Aceptar',
@ -180,6 +180,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'No es posible recuperar la instantánea de revisión para esta versión de documento.',
'cannot_rm_root' => 'Error: No es posible eliminar la carpeta raíz.',
'categories' => 'categorías',
'categories_loading' => '',
'category' => 'Categoría',
'category_exists' => 'La categoría ya existe.',
'category_filter' => 'Filtro categorías',
@ -389,6 +390,7 @@ URL: [url]',
'error_occured' => 'Ha ocurrido un error',
'es_ES' => 'Castellano',
'event_details' => 'Detalles del evento',
'exclude_items' => '',
'expired' => 'Caducado',
'expires' => 'Caduca',
'expiry_changed_email' => 'Fecha de caducidad modificada',
@ -405,6 +407,7 @@ URL: [url]',
'files' => 'Ficheros',
'files_deletion' => 'Eliminación de ficheros',
'files_deletion_warning' => 'Con esta opción se puede eliminar todos los ficheros del DMS completo. La información de versionado permanecerá visible.',
'files_loading' => '',
'file_size' => 'Tamaño',
'filter_for_documents' => 'Filtro adicional para documentos',
'filter_for_folders' => 'Filtro adicional para carpetas',
@ -489,7 +492,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Empezar con una lista de acceso vacía',
'inherits_access_msg' => 'Acceso heredado.',
'internal_error' => 'Error interno',
'internal_error_exit' => 'Error interno. No es posible terminar la solicitud. Terminado.',
'internal_error_exit' => 'Error interno. No es posible terminar la solicitud.',
'invalid_access_mode' => 'Modo de acceso no válido',
'invalid_action' => 'Acción no válida',
'invalid_approval_status' => 'Estado de aprobación no válido',
@ -535,6 +538,7 @@ URL: [url]',
'keep' => 'No cambiar',
'keep_doc_status' => 'Mantener estado del documento',
'keywords' => 'Palabras clave',
'keywords_loading' => '',
'keyword_exists' => 'La palabra clave ya existe',
'ko_KR' => 'Coreano',
'language' => 'Idioma',
@ -669,6 +673,7 @@ URL: [url]',
'no_update_cause_locked' => 'No puede actualizar este documento. Contacte con el usuario que lo bloqueó.',
'no_user_image' => 'No se encontró imagen',
'no_version_check' => 'Ha fallado la comprobación de nuevas versiones. En su configuración de PHP, revise que allow_url_fopen no esté en 0',
'no_version_modification' => 'Ninguna Modificación de Versión',
'no_workflow_available' => '',
'objectcheck' => 'Chequeo de carpeta/documento',
'obsolete' => 'Obsoleto',
@ -1232,6 +1237,20 @@ URL: [url]',
'theme' => 'Tema gráfico',
'thursday' => 'Jueves',
'thursday_abbr' => 'J',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Hasta',
'toggle_manager' => 'Intercambiar mánager',
'to_before_from' => 'La fecha de finalización no debe ser anterior a la de inicio',
@ -1253,6 +1272,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => 'Nombre',
'transmittal_size' => 'Tamaño',
'tree_loading' => '',
'trigger_workflow' => 'Flujo de Trabajo',
'tr_TR' => 'Turco',
'tuesday' => 'Martes',

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 (975), jeromerobert (50), lonnnew (9)
// Translators: Admin (989), jeromerobert (50), lonnnew (9)
$text = array(
'accept' => 'Accepter',
@ -180,6 +180,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Impossible de retrouver l\'instantané de statut de correction pour cette version du document.',
'cannot_rm_root' => 'Erreur : Dossier racine ineffaçable.',
'categories' => 'Catégories',
'categories_loading' => '',
'category' => 'Catégorie',
'category_exists' => 'Catégorie déjà existante.',
'category_filter' => 'Uniquement les catégories',
@ -389,6 +390,7 @@ URL: [url]',
'error_occured' => 'Une erreur s\'est produite',
'es_ES' => 'Espagnol',
'event_details' => 'Détails de l\'événement',
'exclude_items' => '',
'expired' => 'Expiré',
'expires' => 'Expiration',
'expiry_changed_email' => 'Date d\'expiration modifiée',
@ -405,6 +407,7 @@ URL: [url]',
'files' => 'Fichiers',
'files_deletion' => 'Suppression de fichiers',
'files_deletion_warning' => 'Avec cette option, vous pouvez supprimer tous les fichiers d\'un dossier DMS. Les informations de version resteront visibles.',
'files_loading' => '',
'file_size' => 'Taille',
'filter_for_documents' => 'Filtre additionnel pour les documents',
'filter_for_folders' => 'Filtre additionnel pour les dossiers',
@ -489,7 +492,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Commencer avec une liste d\'accès vide',
'inherits_access_msg' => 'L\'accès est hérité.',
'internal_error' => 'Erreur interne',
'internal_error_exit' => 'Erreur interne. Impossible d\'achever la demande. Sortie du programme.',
'internal_error_exit' => 'Erreur interne. Impossible d\'achever la demande.',
'invalid_access_mode' => 'Droits d\'accès invalides',
'invalid_action' => 'Action invalide',
'invalid_approval_status' => 'Statut d\'approbation invalide',
@ -535,6 +538,7 @@ URL: [url]',
'keep' => 'Ne pas modifier',
'keep_doc_status' => 'Garder le statut du document',
'keywords' => 'Mots-clés',
'keywords_loading' => '',
'keyword_exists' => 'Mot-clé déjà existant',
'ko_KR' => 'Korean',
'language' => 'Langue',
@ -668,6 +672,7 @@ URL: [url]',
'no_update_cause_locked' => 'Vous ne pouvez actuellement pas mettre à jour ce document. Contactez l\'utilisateur qui l\'a verrouillé.',
'no_user_image' => 'Aucune image trouvée',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Vérification des dossiers et documents',
'obsolete' => 'Obsolète',
@ -823,15 +828,15 @@ URL: [url]',
'search_fulltext' => 'Rechercher dans le texte',
'search_in' => 'Rechercher dans',
'search_mode_and' => 'tous les mots',
'search_mode_documents' => '',
'search_mode_folders' => '',
'search_mode_documents' => 'Seulement les documents',
'search_mode_folders' => 'Seulement les répertoires',
'search_mode_or' => 'au moins un mot',
'search_no_results' => 'Aucun document ne correspond à la recherche',
'search_query' => 'Rechercher',
'search_report' => '[doccount] documents trouvé(s) et [foldercount] dossiers en [searchtime] sec.',
'search_report_fulltext' => '[doccount] documents trouvé(s)',
'search_resultmode' => '',
'search_resultmode_both' => '',
'search_resultmode' => 'Résultat de la recherche',
'search_resultmode_both' => 'Documents et répertoires',
'search_results' => 'Résultats de recherche',
'search_results_access_filtered' => 'L\'accès à certains résultats de la recherche pourrait être refusé.',
'search_time' => 'Temps écoulé: [time] sec.',
@ -878,8 +883,8 @@ URL: [url]',
'settings_cannot_disable' => 'Le fichier ENABLE_INSTALL_TOOL ne peut pas être supprimé',
'settings_checkOutDir' => '',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_cmdTimeout' => 'Délai d\'expiration pour les commandes externes',
'settings_cmdTimeout_desc' => 'Cette durée en secondes détermine quand une commande externe (par exemple pour la création de l\'index de texte intégral) sera terminée.',
'settings_contentDir' => 'Contenu du répertoire',
'settings_contentDir_desc' => 'Endroit ou les fichiers téléchargés sont stockés (il est préférable de choisir un répertoire qui n\'est pas accessible par votre serveur web)',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -943,7 +948,7 @@ URL: [url]',
'settings_enableMenuTasks_desc' => '',
'settings_enableNotificationAppRev' => 'Notification correcteur/approbateur',
'settings_enableNotificationAppRev_desc' => 'Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée',
'settings_enableNotificationWorkflow' => '',
'settings_enableNotificationWorkflow' => 'Envoyer les notifications aux utilisateurs dans le prochain workflow',
'settings_enableNotificationWorkflow_desc' => '',
'settings_enableOwnerNotification' => 'ctiver la notification par défaut du propriétaire',
'settings_enableOwnerNotification_desc' => 'Cocher pour ajouter une notification pour le propriétaire si un document quand il est ajouté.',
@ -982,8 +987,8 @@ URL: [url]',
'settings_firstDayOfWeek_desc' => 'Premier jour de la semaine',
'settings_footNote' => 'Note de bas de page',
'settings_footNote_desc' => 'Message à afficher au bas de chaque page',
'settings_fullSearchEngine' => '',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine' => 'Moteur de recherche texte complet',
'settings_fullSearchEngine_desc' => 'Définissez la méthode utilisée pour la recherche complète de texte.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID invité',
@ -1020,7 +1025,7 @@ URL: [url]',
'settings_maxDirID_desc' => 'Nombre maximum de sous-répertoires par le répertoire parent. Par défaut: 32700.',
'settings_maxExecutionTime' => 'Temps d\'exécution max (s)',
'settings_maxExecutionTime_desc' => 'Ceci définit la durée maximale en secondes q\'un script est autorisé à exécuter avant de se terminer par l\'analyse syntaxique',
'settings_maxRecursiveCount' => '',
'settings_maxRecursiveCount' => 'Nombre maximal de document/dossier récursif',
'settings_maxRecursiveCount_desc' => 'Nombre maximum de documents et répertoires dont l\'accès sera vérifié, lors d\'un décompte récursif. Si ce nombre est dépassé, le nombre de documents et répertoires affichés sera approximé.',
'settings_more_settings' => 'Configurer d\'autres paramètres. Connexion par défaut: admin/admin',
'settings_notfound' => 'Introuvable',
@ -1048,7 +1053,7 @@ URL: [url]',
'settings_php_gd2' => 'PHP extension : php_gd2',
'settings_php_mbstring' => 'PHP extension : php_mbstring',
'settings_php_version' => 'Version de PHP',
'settings_presetExpirationDate' => '',
'settings_presetExpirationDate' => 'Date d\'expiration prédéfinie',
'settings_presetExpirationDate_desc' => '',
'settings_previewWidthDetail' => 'Largeur des vignettes (vue détaillée)',
'settings_previewWidthDetail_desc' => 'Largeur des vignettes affichées sur la vue détaillée',
@ -1085,7 +1090,7 @@ URL: [url]',
'settings_smtpUser' => 'Utilisateur pour le serveur SMTP',
'settings_smtpUser_desc' => 'Utilisateur pour le serveur SMTP',
'settings_sortFoldersDefault' => 'Méthode de tri par défaut des dossiers',
'settings_sortFoldersDefault_desc' => '',
'settings_sortFoldersDefault_desc' => 'Ceci définit les méthodes de tri pour les dossiers et documents dans la vue du dossier.',
'settings_sortFoldersDefault_val_name' => 'Par nom',
'settings_sortFoldersDefault_val_sequence' => 'Par séquence',
'settings_sortFoldersDefault_val_unsorted' => 'Non trié',
@ -1208,6 +1213,20 @@ URL: [url]',
'theme' => 'Thème',
'thursday' => 'Jeudi',
'thursday_abbr' => 'Jeu.',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Au',
'toggle_manager' => 'Basculer \'Responsable\'',
'to_before_from' => '',
@ -1220,6 +1239,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Workflow',
'tr_TR' => 'Turc',
'tuesday' => 'Mardi',

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 (1022)
// Translators: Admin (1025)
$text = array(
'accept' => 'Prihvati',
@ -180,6 +180,7 @@ Internet poveznica: [url]',
'cannot_retrieve_review_snapshot' => 'Nije moguće dohvatiti snimku statusa pregleda za ovu verziju dokumenta.',
'cannot_rm_root' => 'Greška: Ne možete izbrisati root mapu.',
'categories' => 'Kategorije',
'categories_loading' => '',
'category' => 'Kategorija',
'category_exists' => 'Kategorija već postoji.',
'category_filter' => 'Samo kategorije',
@ -389,6 +390,7 @@ Internet poveznica: [url]',
'error_occured' => 'Dogodila se greška',
'es_ES' => 'Španjolski',
'event_details' => 'Detalji događaja',
'exclude_items' => '',
'expired' => 'Isteklo',
'expires' => 'Datum isteka',
'expiry_changed_email' => 'Promijenjen datum isteka',
@ -405,6 +407,7 @@ Internet poveznica: [url]',
'files' => 'Datoteke',
'files_deletion' => 'Brisanje datoteke',
'files_deletion_warning' => 'Ovom opcijom možete izbrisati sve datoteke ili cjelokupne DMS mape. Informacije o verzijama će ostati vidljive.',
'files_loading' => '',
'file_size' => 'Veličina datoteke',
'filter_for_documents' => 'Dodatni filter za dokumente',
'filter_for_folders' => 'Dodatni filter za dokumente',
@ -489,7 +492,7 @@ Internet poveznica: [url]',
'inherits_access_empty_msg' => 'Započnite s praznim popisom pristupa',
'inherits_access_msg' => 'Prava pristupa se naslijeđuju.',
'internal_error' => 'Interna greška',
'internal_error_exit' => 'Interna greška. Ne mogu završiti zahtjev. Izlaz.',
'internal_error_exit' => 'Interna greška. Ne mogu završiti zahtjev.',
'invalid_access_mode' => 'Pogrešan način pristupa',
'invalid_action' => 'Pogrešna radnja',
'invalid_approval_status' => 'Pogrešan status odobrenja',
@ -535,8 +538,9 @@ Internet poveznica: [url]',
'keep' => 'Ne mijenjaj',
'keep_doc_status' => 'Zadrži status dokumenta',
'keywords' => 'Ključne riječi',
'keywords_loading' => '',
'keyword_exists' => 'Ključna riječ već postoji',
'ko_KR' => '',
'ko_KR' => 'Korejski',
'language' => 'Jezik',
'lastaccess' => 'Zadnji pristup',
'last_update' => 'Zadnje ažuriranje',
@ -668,6 +672,7 @@ Internet poveznica: [url]',
'no_update_cause_locked' => 'Dakle, ne možete ažurirati ovaj dokument. Molim kontaktirajte korisnika koji zaključava.',
'no_user_image' => 'Nema pronađene slike',
'no_version_check' => 'Neuspješna provjera nove verzije ProsperaDMS-a! Uzrok može biti ako je parametar allow_url_fopen u vašoj php konfiguraciji postavljen na 0.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Provjera mapa / dokumenata',
'obsolete' => 'Zastarjelo',
@ -1238,6 +1243,20 @@ Internet poveznica: [url]',
'theme' => 'Tema',
'thursday' => 'Četvrtak',
'thursday_abbr' => 'Če',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Do',
'toggle_manager' => 'Zamjeni upravitelja',
'to_before_from' => 'Datum završetka ne može biti prije datuma početka',
@ -1259,12 +1278,13 @@ Internet poveznica: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Tok rada',
'tr_TR' => 'Turski',
'tuesday' => 'Utorak',
'tuesday_abbr' => 'Ut',
'type_to_search' => 'Unesi za pretragu',
'uk_UA' => '',
'uk_UA' => 'Ukrajinski',
'under_folder' => 'U mapi',
'unknown_attrdef' => 'Nepoznata definicija atributa',
'unknown_command' => 'Naredba nije prepoznata.',

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 (562), ribaz (1019)
// Translators: Admin (571), ribaz (1019)
$text = array(
'accept' => 'Elfogad',
@ -180,6 +180,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Nem lehet lekérdezni a felülvizsgálati állapot pillanatfelvételt erről a dokumentum változatról.',
'cannot_rm_root' => 'Hiba: A gyökér mappa nem törölhető.',
'categories' => 'Kategóriák',
'categories_loading' => '',
'category' => 'Kategória',
'category_exists' => 'Kategória már létezik',
'category_filter' => 'Kizárólag kategóriák',
@ -389,6 +390,7 @@ URL: [url]',
'error_occured' => 'Hiba történt',
'es_ES' => 'Spanyol',
'event_details' => 'Esemény részletek',
'exclude_items' => '',
'expired' => 'Lejárt',
'expires' => 'Lejárat',
'expiry_changed_email' => 'Lejárati dátum módosítva',
@ -405,9 +407,10 @@ URL: [url]',
'files' => 'Állományok',
'files_deletion' => 'Állományok törlése',
'files_deletion_warning' => 'Ezzel az opcióval törölheti az összes állományt valamennyi DMS mappában. A változási információk láthatók maradnak.',
'files_loading' => '',
'file_size' => 'Állomány méret',
'filter_for_documents' => '',
'filter_for_folders' => '',
'filter_for_documents' => 'További dokumentum szűrők',
'filter_for_folders' => 'További mappa szűrők',
'folder' => 'Mappa',
'folders' => 'Mappák',
'folders_and_documents_statistic' => 'Tartalmak áttekintése',
@ -489,7 +492,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Indulás üres hozzáférési listával',
'inherits_access_msg' => 'Jogosultság örökítése folyamatban.',
'internal_error' => 'Belső hiba',
'internal_error_exit' => 'Belső hiba. Nem lehet teljesíteni a kérést. Kilépés.',
'internal_error_exit' => 'Belső hiba. Nem lehet teljesíteni a kérést.',
'invalid_access_mode' => 'Érvénytelen hozzáférési mód',
'invalid_action' => 'Érvénytelen művelet',
'invalid_approval_status' => 'Érvénytelen jóváhagyási állapot',
@ -535,8 +538,9 @@ URL: [url]',
'keep' => 'Ne módosítsd',
'keep_doc_status' => 'Dokumentum állapot megőrzése',
'keywords' => 'Kulcsszavak',
'keywords_loading' => '',
'keyword_exists' => 'Kulcsszó már létezik',
'ko_KR' => '',
'ko_KR' => 'Kóreai',
'language' => 'Nyelv',
'lastaccess' => 'Utolsó hozzáférés',
'last_update' => 'Utolsó frissítés',
@ -669,6 +673,7 @@ URL: [url]',
'no_update_cause_locked' => 'Emiatt nem módosíthatja a dokumentumot. Kérjük lépjen kapcsolatba a zároló felhasználóval.',
'no_user_image' => 'Kép nem található',
'no_version_check' => 'A SeedDMS új verziójának ellenőrzése hibára futott! Ennek oka lehet, hogy az allow_url_fopen 0-ra van állítva a php konfigurációjában.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Mappa/Dokumentum ellenőrzés',
'obsolete' => 'Elavult',
@ -846,15 +851,15 @@ URL: [url]',
'search_fulltext' => 'Keresés a teljes szövegben',
'search_in' => 'Keresés ebben a könyvtárban',
'search_mode_and' => 'egyezés minden szóra',
'search_mode_documents' => '',
'search_mode_folders' => '',
'search_mode_documents' => 'Csak dokumentumok',
'search_mode_folders' => 'Csak mappák',
'search_mode_or' => 'egyezés legalább egy szóra',
'search_no_results' => 'Nem található a keresett kifejezésnek megfelelő dokumentum',
'search_query' => 'Keresés erre',
'search_report' => '[searchtime] másodperc alatt [doccount] dokumentumot és [foldercount] mappát találtunk.',
'search_report_fulltext' => '[doccount] dokumentum található',
'search_resultmode' => '',
'search_resultmode_both' => '',
'search_resultmode' => 'Keresés eredménye',
'search_resultmode_both' => 'Dokumentumok és mappák',
'search_results' => 'Találatok',
'search_results_access_filtered' => 'Search results may contain content to which access has been denied.',
'search_time' => 'Felhasznßlt id: [time] mßsodperc.',
@ -1231,6 +1236,20 @@ URL: [url]',
'theme' => 'Téma',
'thursday' => 'Csütörtök',
'thursday_abbr' => 'Cs',
'timeline' => 'Vremenska crta',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'ig',
'toggle_manager' => 'Kulcs kezelő',
'to_before_from' => 'A lejárati dátum nem előzheti meg a kezdési dátumot',
@ -1252,6 +1271,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Munkafolyamat',
'tr_TR' => 'Török',
'tuesday' => 'Kedd',

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 (1494), s.pnt (26)
// Translators: Admin (1502), s.pnt (26)
$text = array(
'accept' => 'Accetta',
@ -186,6 +186,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Impossibile recuperare lo stato di revisione per questa versione del documento',
'cannot_rm_root' => 'Impossibile cancellare la cartella principale (root)',
'categories' => 'Categorie',
'categories_loading' => '',
'category' => 'Categoria',
'category_exists' => 'Categoria esistente.',
'category_filter' => 'Solo categorie',
@ -395,6 +396,7 @@ URL: [url]',
'error_occured' => 'Ooops... Si è verificato un errore',
'es_ES' => 'Spagnolo',
'event_details' => 'Dettagli evento',
'exclude_items' => '',
'expired' => 'Scaduto',
'expires' => 'Scadenza',
'expiry_changed_email' => 'Scadenza cambiata',
@ -411,6 +413,7 @@ URL: [url]',
'files' => 'Files',
'files_deletion' => 'Cancellazione files',
'files_deletion_warning' => 'Con questa operazione è possible cancellare i file di intere cartelle. Dopo la cancellazione lo storico delle versioni rimarrà comunque disponibile.',
'files_loading' => '',
'file_size' => 'Grandezza del file',
'filter_for_documents' => 'Filtro aggiuntivo per i documenti',
'filter_for_folders' => 'Filtro aggiuntivo per le cartelle',
@ -495,7 +498,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Reimposta una lista di permessi vuota',
'inherits_access_msg' => 'E\' impostato il permesso ereditario.',
'internal_error' => 'Errore interno',
'internal_error_exit' => 'Errore interno. Impossibile completare la richiesta. Uscire.',
'internal_error_exit' => 'Errore interno. Impossibile completare la richiesta.',
'invalid_access_mode' => 'Permessi non validi',
'invalid_action' => 'Azione non valida',
'invalid_approval_status' => 'Stato di approvazione non valido',
@ -541,6 +544,7 @@ URL: [url]',
'keep' => 'Non cambiare',
'keep_doc_status' => 'Mantieni lo stato del documento',
'keywords' => 'Parole-chiave',
'keywords_loading' => '',
'keyword_exists' => 'Parola-chiave già presente',
'ko_KR' => 'Coreano',
'language' => 'Lingua',
@ -675,6 +679,7 @@ URL: [url]',
'no_update_cause_locked' => 'Non è quindi possible aggiornare il documento. Prego contattare l\'utente che l\'ha bloccato.',
'no_user_image' => 'Nessuna immagine trovata',
'no_version_check' => 'Il controllo per una nuova versione di SeedDMS è fallito! Questo può essere causato da allow_url_fopen settato a 0 nella tua configurazione php.',
'no_version_modification' => '',
'no_workflow_available' => 'Nessun flusso di lavoro disponibile',
'objectcheck' => 'Controllo cartelle o documenti',
'obsolete' => 'Obsoleto',
@ -925,8 +930,8 @@ URL: [url]',
'settings_cannot_disable' => 'Il file ENABLE_INSTALL_TOOL non può essere cancellato',
'settings_checkOutDir' => 'Cartella per i documenti approvati',
'settings_checkOutDir_desc' => 'Questa eultima versione del documento viene copiata se approvato. Se accessibile agli utenti, possono editare il documento e ricopiarlo quando finito.',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_cmdTimeout' => 'Timeout per comandi esterni',
'settings_cmdTimeout_desc' => 'La durata in secondi determina quando un comando esterno (come ad es. la creazione di un indice per la ricerca) sarà terminato.',
'settings_contentDir' => 'Cartella contenitore',
'settings_contentDir_desc' => 'Cartella in cui vengono conservati i files caricati, si consiglia di scegliere una cartella sul web-server che non sia direttamente accessibile.',
'settings_contentOffsetDir' => 'Cartella Offset',
@ -1029,8 +1034,8 @@ URL: [url]',
'settings_firstDayOfWeek_desc' => 'Primo giorno della settimana',
'settings_footNote' => 'Pié di pagina',
'settings_footNote_desc' => 'Messaggio da visualizzare alla fine di ogni pagina',
'settings_fullSearchEngine' => '',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine' => 'Sistema di ricerca a testo libero',
'settings_fullSearchEngine_desc' => 'Configurazioni del sistema di ricerca a testo libero.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID Ospite',
@ -1255,6 +1260,20 @@ URL: [url]',
'theme' => 'Tema',
'thursday' => 'Giovedì',
'thursday_abbr' => 'Gio',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => 'Versione - Stato',
'to' => 'A',
'toggle_manager' => 'Gestore',
'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio',
@ -1276,6 +1295,7 @@ URL: [url]',
'transmittal_comment' => 'Commento',
'transmittal_name' => 'Nome',
'transmittal_size' => 'Dimensione',
'tree_loading' => 'Caricamento directory in corso',
'trigger_workflow' => 'Flusso di lavoro',
'tr_TR' => 'Turco',
'tuesday' => 'Martedì',

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 (935), daivoc (359)
// Translators: Admin (935), daivoc (364)
$text = array(
'accept' => '동의',
@ -187,6 +187,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => '이 문서의 버전에 대한 검토 상태의 스냅 샷을 확인 할 수 없습니다.',
'cannot_rm_root' => '오류 : 루트 폴더를 삭제할 수 없습니다.',
'categories' => '카테고리',
'categories_loading' => '카테고리 목록을 가지고 오는 중 ...',
'category' => '카테고리',
'category_exists' => '카테고리가 이미 존재합니다.',
'category_filter' => '카테고리',
@ -394,6 +395,7 @@ URL: [url]',
'error_occured' => '오류가 발생했습니다',
'es_ES' => '스페인어',
'event_details' => '이벤트의 자세한 사항',
'exclude_items' => '',
'expired' => '만료',
'expires' => '만료',
'expiry_changed_email' => '유효 기간 변경',
@ -410,6 +412,7 @@ URL: [url]',
'files' => '파일',
'files_deletion' => '파일 삭제',
'files_deletion_warning' => '이 옵션을 사용하면 전체 DMS 폴더의 모든 파일을 삭제할 수 있습니다. 버전 정보가 표시로 남을 것 입니다 files파일',
'files_loading' => '파일 목록을 가지고 오는 중 ...',
'file_size' => '파일 크기',
'filter_for_documents' => '문서에 대한 추가 필터',
'filter_for_folders' => '폴더에 대한 추가 필터',
@ -540,6 +543,7 @@ URL: [url]',
'keep' => '변경하지 마시오',
'keep_doc_status' => '문서 상태 유지',
'keywords' => '키워드',
'keywords_loading' => '키워드 목록을 가지고 오는 중 ...',
'keyword_exists' => '키워드가 이미 존재',
'ko_KR' => '한국어',
'language' => '언어',
@ -674,6 +678,7 @@ URL : [url]',
'no_update_cause_locked' => '이 문서를 업데이트 할 수 없습니다. 문서를 잠근 사용자 문의하시기 바랍니다..',
'no_user_image' => '이미지를 찾을 수 없습니다',
'no_version_check' => 'SeedDMS의 새 버전 확인을 실패 했습니다! 이것은 PHP 설정에서 allow_url_fopen 값이 0으로 설정 되면 발생할 수 있습니다.',
'no_version_modification' => '버전의 변동사항이 없습니다.',
'no_workflow_available' => '',
'objectcheck' => '폴더 / 문서 확인',
'obsolete' => '폐기',
@ -1246,6 +1251,20 @@ URL : [url]',
'theme' => '테마',
'thursday' => '목요일',
'thursday_abbr' => '목',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => '마감일',
'toggle_manager' => '전환 매니저',
'to_before_from' => '종료일은 시작일 전이 될수 없습니다',
@ -1267,6 +1286,7 @@ URL : [url]',
'transmittal_comment' => '코맨트',
'transmittal_name' => '아름',
'transmittal_size' => '크기',
'tree_loading' => '문서 구성을 가지고 오는 중 ...',
'trigger_workflow' => '워크플로우',
'tr_TR' => '터키어',
'tuesday' => '화요일',

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 (703), pepijn (45), reinoutdijkstra@hotmail.com (270)
// Translators: Admin (706), pepijn (45), reinoutdijkstra@hotmail.com (270)
$text = array(
'accept' => 'Accept',
@ -173,6 +173,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Niet mogelijk om [Controle] status voor de huidige versie van dit document te verkrijgen.',
'cannot_rm_root' => 'Foutmelding: U kunt de basis map niet verwijderen.',
'categories' => 'Categorieen',
'categories_loading' => '',
'category' => 'Categorie',
'category_exists' => 'Categorie bestaat al.',
'category_filter' => 'Alleen categorieen',
@ -349,7 +350,7 @@ URL: [url]',
'dump_creation_warning' => 'M.b.v. deze functie maakt U een DB dump file. het bestand wordt opgeslagen in uw data-map op de Server',
'dump_list' => 'Bestaande dump bestanden',
'dump_remove' => 'Verwijder dump bestand',
'duplicate_content' => '',
'duplicate_content' => 'Dubbele inhoud',
'edit' => 'Wijzigen',
'edit_attributes' => 'Bewerk attributen',
'edit_comment' => 'Wijzig commentaar',
@ -382,6 +383,7 @@ URL: [url]',
'error_occured' => 'Er is een fout opgetreden',
'es_ES' => 'Spaans',
'event_details' => 'Activiteit details',
'exclude_items' => '',
'expired' => 'Verlopen',
'expires' => 'Verloopt',
'expiry_changed_email' => 'Verloopdatum gewijzigd',
@ -398,6 +400,7 @@ URL: [url]',
'files' => 'Bestanden',
'files_deletion' => 'Bestanden verwijderen',
'files_deletion_warning' => 'Met deze handeling verwijdert U ALLE bestanden uit het DMS. Versie informatie blijft beschikbaar',
'files_loading' => '',
'file_size' => 'Bestandsomvang',
'filter_for_documents' => 'Extra filter voor documenten',
'filter_for_folders' => 'Extra filter voor mappen',
@ -482,7 +485,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Begin met lege toegangslijst',
'inherits_access_msg' => 'Toegang is (over/ge)erfd..',
'internal_error' => 'Interne fout',
'internal_error_exit' => 'Interne fout. Niet mogelijk om verzoek uit de voeren. Systeem stopt.',
'internal_error_exit' => 'Interne fout. Niet mogelijk om verzoek uit de voeren.',
'invalid_access_mode' => 'Foutmelding: verkeerde toegangsmode',
'invalid_action' => 'Foutieve actie',
'invalid_approval_status' => 'Foutieve autorisatie status',
@ -528,6 +531,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'Behoud document status',
'keywords' => 'Sleutelwoorden',
'keywords_loading' => '',
'keyword_exists' => 'Sleutelwoord bestaat al',
'ko_KR' => 'Koreaans',
'language' => 'Talen',
@ -661,6 +665,7 @@ URL: [url]',
'no_update_cause_locked' => 'U kunt daarom dit document niet bijwerken. Neem contact op met de persoon die het document heeft geblokkeerd.',
'no_user_image' => 'Geen afbeelding(en) gevonden',
'no_version_check' => 'Controle op een nieuwe versie van SeedDMS is mislukt! Dit kan komen omdat allow_url_fopen is ingesteld op 0 in uw PHP configuratie.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Map/Document controle',
'obsolete' => 'verouderd',
@ -1223,6 +1228,20 @@ URL: [url]',
'theme' => 'Thema',
'thursday' => 'Donderdag',
'thursday_abbr' => 'Th',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Aan',
'toggle_manager' => 'Wijzig Beheerder',
'to_before_from' => 'De einddatum mag niet voor de startdatum liggen',
@ -1244,6 +1263,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => 'Directory boom wordt geladen ...',
'trigger_workflow' => 'Workflow',
'tr_TR' => 'Turks',
'tuesday' => 'Dinsdag',

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 (710), netixw (84), romi (93), uGn (112)
// Translators: Admin (715), netixw (84), romi (93), uGn (112)
$text = array(
'accept' => 'Akceptuj',
@ -51,7 +51,7 @@ URL: [url]',
'add_approval' => 'Zaakceptuj',
'add_document' => 'Dodaj dokument',
'add_document_link' => 'Dodaj link',
'add_document_notify' => '',
'add_document_notify' => 'Przypisz powiadomienia',
'add_doc_reviewer_approver_warning' => 'Nota Bene. Dokumenty są automatycznie oznaczane jako wydane, jeśli recenzent lub zatwierdzający nie jest przypisany.',
'add_doc_workflow_warning' => 'Dokumenty zostaną automatycznie opublikowane jeżeli nie zostanie przypisany żaden proces.',
'add_event' => 'Dodaj zdarzenie',
@ -173,6 +173,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Nie można pobrać migawki stanu recenzowania dla tej wersji dokumentu.',
'cannot_rm_root' => 'Błąd: Nie można usunąć katalogu głównego.',
'categories' => 'Kategorie',
'categories_loading' => '',
'category' => 'Kategoria',
'category_exists' => 'Kategoria już istnieje.',
'category_filter' => 'Tylko w kategoriach',
@ -349,7 +350,7 @@ URL: [url]',
'dump_creation_warning' => 'Ta operacja utworzy plik będący zrzutem zawartości bazy danych. Po utworzeniu plik zrzutu będzie się znajdował w folderze danych na serwerze.',
'dump_list' => 'Istniejące pliki zrzutu',
'dump_remove' => 'Usuń plik zrzutu',
'duplicate_content' => '',
'duplicate_content' => 'Zduplikowana zawartość',
'edit' => 'Edytuj',
'edit_attributes' => 'Zmiana atrybutów',
'edit_comment' => 'Edytuj komentarz',
@ -382,6 +383,7 @@ URL: [url]',
'error_occured' => 'Wystąpił błąd',
'es_ES' => 'Hiszpański',
'event_details' => 'Szczegóły zdarzenia',
'exclude_items' => '',
'expired' => 'Wygasłe',
'expires' => 'Wygasa',
'expiry_changed_email' => 'Zmieniona data wygaśnięcia',
@ -398,6 +400,7 @@ URL: [url]',
'files' => 'Pliki',
'files_deletion' => 'Usuwanie plików',
'files_deletion_warning' => 'Ta operacja pozwala usunąć wszystkie pliki z repozytorium. Informacje o wersjonowaniu pozostaną widoczne.',
'files_loading' => '',
'file_size' => 'Rozmiar pliku',
'filter_for_documents' => 'Dodatkowe filtrowanie dla dokumentów',
'filter_for_folders' => 'Dodatkowe filtrowanie dla folderów',
@ -466,7 +469,7 @@ URL: [url]',
'home_folder' => '',
'hourly' => 'Co godzinę',
'hours' => 'godzin',
'hr_HR' => '',
'hr_HR' => 'Chorwacki',
'human_readable' => 'Archiwum czytelne dla człowieka',
'hu_HU' => 'Węgierski',
'id' => 'ID',
@ -482,7 +485,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Rozpocznij z pustą listą dostępu',
'inherits_access_msg' => 'Dostęp jest dziedziczony.',
'internal_error' => 'Błąd wewnętrzny',
'internal_error_exit' => 'Błąd wewnętrzny. Nie można ukończyć zadania. Wyjście.',
'internal_error_exit' => 'Błąd wewnętrzny. Nie można ukończyć zadania.',
'invalid_access_mode' => 'Nieprawidłowy tryb dostępu',
'invalid_action' => 'Nieprawidłowa akcja',
'invalid_approval_status' => 'Nieprawidłowy status akceptacji',
@ -528,8 +531,9 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'Pozostaw status dokumentu',
'keywords' => 'Słowa kluczowe',
'keywords_loading' => '',
'keyword_exists' => 'Słowo kluczowe już istnieje',
'ko_KR' => '',
'ko_KR' => 'Koreański',
'language' => 'Język',
'lastaccess' => 'Ostatni dostęp',
'last_update' => 'Ostatnia aktualizacja',
@ -662,6 +666,7 @@ URL: [url]',
'no_update_cause_locked' => 'Nie możesz zaktualizować tego dokumentu. Proszę skontaktuj się z osobą która go blokuje.',
'no_user_image' => 'Nie znaleziono obrazu',
'no_version_check' => 'Poszukiwanie nowej wersji DeedDMS nie powiodło się! To może być spowodowane ustawieniem opcji \'allow_url_fopen = 0\' w twojej konfiguracji PHP.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Sprawdź Katalog/Dokument',
'obsolete' => 'Zdezaktualizowany',
@ -1211,6 +1216,20 @@ URL: [url]',
'theme' => 'Wygląd',
'thursday' => 'Czwartek',
'thursday_abbr' => 'Cz',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Do',
'toggle_manager' => 'Przełączanie zarządcy',
'to_before_from' => '',
@ -1232,6 +1251,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Proces',
'tr_TR' => 'Turecki',
'tuesday' => 'Wtorek',

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 (889), flaviove (627), lfcristofoli (352)
// Translators: Admin (896), flaviove (627), lfcristofoli (352)
$text = array(
'accept' => 'Aceitar',
@ -51,7 +51,7 @@ URL: [url]',
'add_approval' => '',
'add_document' => 'Novo documento',
'add_document_link' => 'Adicionar link',
'add_document_notify' => '',
'add_document_notify' => 'Definir Notificações',
'add_doc_reviewer_approver_warning' => 'N.B. Documents are automatically marked as released if no reviewer or approver is assigned.',
'add_doc_workflow_warning' => 'N.B. Os documentos são automaticamente marcados como liberados se nenhum fluxo de trabalho é atribuído.',
'add_event' => 'Add event',
@ -172,14 +172,15 @@ URL: [url]',
'calendar_week' => 'Calendário semanal',
'cancel' => 'Cancelar',
'cannot_assign_invalid_state' => 'Cannot assign new reviewers to a document that is not pending review or pending approval.',
'cannot_change_final_states' => 'Warning: Unable to alter document status for documents that have been rejected, marked obsolete or expired.',
'cannot_change_final_states' => '',
'cannot_delete_user' => 'Não é possível excluir usuário',
'cannot_delete_yourself' => 'Não é possível autoexcluir-se',
'cannot_move_root' => 'Erro: Não pode remover a pasta raiz.',
'cannot_retrieve_approval_snapshot' => '',
'cannot_retrieve_review_snapshot' => 'Unable to retrieve review status snapshot for this document version.',
'cannot_retrieve_review_snapshot' => '',
'cannot_rm_root' => 'Error: Cannot delete root folder.',
'categories' => 'Categorias',
'categories_loading' => '',
'category' => 'Categoria',
'category_exists' => 'Categoria já existe.',
'category_filter' => 'Somente categorias',
@ -355,7 +356,7 @@ URL: [url]',
'dump_creation_warning' => 'With this operation you can create a dump file of your database content. After the creation the dump file will be saved in the data folder of your server.',
'dump_list' => 'Existings dump files',
'dump_remove' => 'Remove dump file',
'duplicate_content' => '',
'duplicate_content' => 'Conteúdo Duplicado',
'edit' => 'editar',
'edit_attributes' => 'Editar atributos',
'edit_comment' => 'Editar comentário',
@ -388,6 +389,7 @@ URL: [url]',
'error_occured' => 'Ocorreu um erro',
'es_ES' => 'Espanhol',
'event_details' => 'Event details',
'exclude_items' => '',
'expired' => 'Expirado',
'expires' => 'Expira',
'expiry_changed_email' => 'Data de validade mudou',
@ -404,6 +406,7 @@ URL: [url]',
'files' => 'Arquivos',
'files_deletion' => 'Arquivos deletados',
'files_deletion_warning' => 'With this option you can delete all files of entire DMS folders. The versioning information will remain visible.',
'files_loading' => '',
'file_size' => 'Tamanho',
'filter_for_documents' => 'Filtro adicional para documentos',
'filter_for_folders' => 'Filtro adicional para pasta',
@ -488,7 +491,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Inicie com a lista de acesso vazia',
'inherits_access_msg' => 'acesso está endo herdado.',
'internal_error' => 'Internal error',
'internal_error_exit' => 'Internal error. Unable to complete request. Exiting.',
'internal_error_exit' => '',
'invalid_access_mode' => 'Invalid access Mode',
'invalid_action' => 'Invalid Action',
'invalid_approval_status' => '',
@ -534,6 +537,7 @@ URL: [url]',
'keep' => 'Não altere',
'keep_doc_status' => 'Mantenha status do documento',
'keywords' => 'Palavras-chave',
'keywords_loading' => '',
'keyword_exists' => 'Keyword already exists',
'ko_KR' => 'Coreano',
'language' => 'Idioma',
@ -667,6 +671,7 @@ URL: [url]',
'no_update_cause_locked' => 'Por isso você não pode atualizar este documento. Por favor contacte usuário que poáui a trava.',
'no_user_image' => 'não foi encontrado imagem de perfil',
'no_version_check' => 'Verificação de uma nova versão do SeedDMS falhou! Isso pode ser causado por allow_url_fopen configurado para 0 na sua configuração do PHP.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Verificação da Pasta/Documento',
'obsolete' => 'Obsolete',
@ -861,12 +866,12 @@ URL: [url]',
'select_category' => 'Clique para selecionar a categoria',
'select_groups' => 'Clique para selecionar os grupos',
'select_grp_approvers' => 'Clique para selecionar o grupo aprovador',
'select_grp_notification' => '',
'select_grp_notification' => 'Click para selecionar um grupo a ser notificado',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Clique para selecionar o grupo revisor',
'select_grp_revisors' => '',
'select_ind_approvers' => 'Clique para selecionar aprovador indivídual',
'select_ind_notification' => '',
'select_ind_notification' => 'Click para selecionar notificações individuais',
'select_ind_recipients' => '',
'select_ind_reviewers' => 'Clique para selecionar revisor individual',
'select_ind_revisors' => '',
@ -1229,6 +1234,20 @@ URL: [url]',
'theme' => 'Tema',
'thursday' => 'Thursday',
'thursday_abbr' => 'Th',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'To',
'toggle_manager' => 'Toggle manager',
'to_before_from' => 'A data de término não pode ser anterior a data de início',
@ -1250,6 +1269,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Fluxo de trabalho',
'tr_TR' => 'Turco',
'tuesday' => 'Tuesday',

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 (1007), balan (87)
// Translators: Admin (1008), balan (87)
$text = array(
'accept' => 'Accept',
@ -185,6 +185,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Nu se poate regăsi statusul revizuirii instantanee pentru această versiune de document.',
'cannot_rm_root' => 'Eroare: Nu se poate șterge directorul rădăcină.',
'categories' => 'Categorii',
'categories_loading' => '',
'category' => 'Categorie',
'category_exists' => 'Categorie deja existentă',
'category_filter' => 'Doar categoriile',
@ -394,6 +395,7 @@ URL: [url]',
'error_occured' => 'An error has occured',
'es_ES' => 'Spaniola',
'event_details' => 'Detalii eveniment',
'exclude_items' => '',
'expired' => 'Expirat',
'expires' => 'Expiră',
'expiry_changed_email' => 'Data de expirare schimbată',
@ -410,6 +412,7 @@ URL: [url]',
'files' => 'Fișiere',
'files_deletion' => 'Ștergere fișiere',
'files_deletion_warning' => 'Cu această opțiune puteți șterge toate fișierele din toate folderele DMS. Informațiile versiunilor vor rămâne vizibile.',
'files_loading' => '',
'file_size' => 'Mărimea fișierului',
'filter_for_documents' => 'Filtru suplimentar pentru documente',
'filter_for_folders' => 'Filtru suplimentar pentru foldere',
@ -494,7 +497,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Începeți cu lista de acces goală',
'inherits_access_msg' => 'Accesul este moștenit.',
'internal_error' => 'Eroare internă',
'internal_error_exit' => 'Eroare internă. Nu se poate finaliza cererea. Ieșirea.',
'internal_error_exit' => 'Eroare internă. Nu se poate finaliza cererea.',
'invalid_access_mode' => 'Modul de acces invalid',
'invalid_action' => 'Actiune invalidă',
'invalid_approval_status' => 'Status aprobare invalid',
@ -540,6 +543,7 @@ URL: [url]',
'keep' => 'Nu schimbați',
'keep_doc_status' => 'Păstrați status document',
'keywords' => 'Cuvinte cheie',
'keywords_loading' => '',
'keyword_exists' => 'Cuvant cheie existent deja',
'ko_KR' => '',
'language' => 'Limbă',
@ -674,6 +678,7 @@ URL: [url]',
'no_update_cause_locked' => 'Deci, nu puteti sa actualizati acest document. Vă rugăm să contactați administratorul.',
'no_user_image' => 'Nu au fost găsite imagini',
'no_version_check' => 'Verificarea pentru o noua versiune SeedDMS a reușit! Acest lucru ar putea fi cauzat de setarea allow_url_fopen=0 în configurația php-ului dumneavoastră.',
'no_version_modification' => '',
'no_workflow_available' => 'Nici un workflow disponibil',
'objectcheck' => 'Verificare folder/document',
'obsolete' => 'Învechit',
@ -1254,6 +1259,20 @@ URL: [url]',
'theme' => 'Temă',
'thursday' => 'Joi',
'thursday_abbr' => 'Jo',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'La',
'toggle_manager' => 'Comută Manager',
'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere',
@ -1275,6 +1294,7 @@ URL: [url]',
'transmittal_comment' => 'Comentariu',
'transmittal_name' => 'Nume',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Workflow',
'tr_TR' => 'Turcă',
'tuesday' => 'Marți',

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 (1260)
// Translators: Admin (1264)
$text = array(
'accept' => 'Принять',
@ -173,6 +173,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Невозможно получить рецензирующий снимок для этой версии документа',
'cannot_rm_root' => 'Нельзя удалить корневой каталог',
'categories' => 'Категории',
'categories_loading' => '',
'category' => 'Категория',
'category_exists' => 'Категория существует',
'category_filter' => 'Только категории',
@ -382,6 +383,7 @@ URL: [url]',
'error_occured' => 'Произошла ошибка',
'es_ES' => 'Spanish',
'event_details' => 'Информация о событии',
'exclude_items' => '',
'expired' => 'Истёк',
'expires' => 'Истекает',
'expiry_changed_email' => 'Дата истечения изменена',
@ -398,6 +400,7 @@ URL: [url]',
'files' => 'Файлы',
'files_deletion' => 'Удалить файлы',
'files_deletion_warning' => 'Эта операция удалит все файлы во всех каталогах. Информация о версиях останется доступна',
'files_loading' => '',
'file_size' => 'Размер',
'filter_for_documents' => 'Дополнительный фильтр по документам',
'filter_for_folders' => 'Дополнительный фильтр по папкам',
@ -466,7 +469,7 @@ URL: [url]',
'home_folder' => '',
'hourly' => 'Ежечасно',
'hours' => 'часы',
'hr_HR' => '',
'hr_HR' => 'Хорватский',
'human_readable' => 'Понятный человеку архив',
'hu_HU' => 'Hungarian',
'id' => 'Идентификатор',
@ -482,7 +485,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Начать с пустого списка доступа',
'inherits_access_msg' => 'Доступ унаследован.',
'internal_error' => 'Внутренняя ошибка',
'internal_error_exit' => 'Внутренняя ошибка. Невозможно выполнить запрос. Завершение.',
'internal_error_exit' => 'Внутренняя ошибка. Невозможно выполнить запрос.',
'invalid_access_mode' => 'Неверный уровень доступа',
'invalid_action' => 'Неверное действие',
'invalid_approval_status' => 'Неверный статус утверждения',
@ -528,8 +531,9 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'Сохранить статус документа',
'keywords' => 'Метки',
'keywords_loading' => '',
'keyword_exists' => 'Метка существует',
'ko_KR' => '',
'ko_KR' => 'Корейский',
'language' => 'Язык',
'lastaccess' => '',
'last_update' => 'Последнее обновление',
@ -661,6 +665,7 @@ URL: [url]',
'no_update_cause_locked' => 'Вы не можете обновить документ. Свяжитесь с заблокировавшим его пользователем.',
'no_user_image' => 'Изображение не найдено',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Проверка каталога или документа',
'obsolete' => 'Устарел',
@ -1222,6 +1227,20 @@ URL: [url]',
'theme' => 'Тема',
'thursday' => 'Четверг',
'thursday_abbr' => 'Чт',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'До',
'toggle_manager' => 'Изменить как менеджера',
'to_before_from' => '',
@ -1243,12 +1262,13 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Процесс',
'tr_TR' => 'Турецкий',
'tuesday' => 'Вторник',
'tuesday_abbr' => 'Вт',
'type_to_search' => 'Введите запрос',
'uk_UA' => '',
'uk_UA' => 'Украинский',
'under_folder' => 'В каталоге',
'unknown_attrdef' => '',
'unknown_command' => 'Команда не опознана.',

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 (478)
// Translators: Admin (479)
$text = array(
'accept' => 'Prijať',
@ -158,6 +158,7 @@ $text = array(
'cannot_retrieve_review_snapshot' => 'Nie je možné získať informáciu o stave kontroly tejto verzie dokumentu.',
'cannot_rm_root' => 'Chyba: Nie je možné zmazať koreňovú zložku.',
'categories' => 'Kategórie',
'categories_loading' => '',
'category' => '',
'category_exists' => '',
'category_filter' => '',
@ -337,6 +338,7 @@ $text = array(
'error_occured' => 'Vyskytla sa chyba',
'es_ES' => 'Španielčina',
'event_details' => 'Detail udalosti',
'exclude_items' => '',
'expired' => 'Platnosť vypršala',
'expires' => 'Platnosť vyprší',
'expiry_changed_email' => 'Datum platnosti zmeneny',
@ -349,6 +351,7 @@ $text = array(
'files' => 'Súbory',
'files_deletion' => 'Odstránenie súboru',
'files_deletion_warning' => 'Touto akciou môžete odstrániť celú DMS zložku. Verziovacie informácie zostanú viditeľné.',
'files_loading' => '',
'file_size' => 'Veľkosť súboru',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -413,7 +416,7 @@ $text = array(
'inherits_access_empty_msg' => 'Založiť nový zoznam riadenia prístupu',
'inherits_access_msg' => 'Prístup sa dedí.',
'internal_error' => 'Vnútorná chyba',
'internal_error_exit' => 'Vnútorná chyba. Nebolo možné dokončiť požiadavku. Ukončuje sa.',
'internal_error_exit' => 'Vnútorná chyba. Nebolo možné dokončiť požiadavku.',
'invalid_access_mode' => 'Neplatný režim prístupu',
'invalid_action' => 'Neplatná činnosť',
'invalid_approval_status' => 'Neplatný stav schválenia',
@ -459,6 +462,7 @@ $text = array(
'keep' => '',
'keep_doc_status' => '',
'keywords' => 'Kľúčové slová',
'keywords_loading' => '',
'keyword_exists' => 'Kľúčové slovo už existuje',
'ko_KR' => '',
'language' => 'Jazyk',
@ -569,6 +573,7 @@ $text = array(
'no_update_cause_locked' => 'Preto nemôžete aktualizovať tento dokument. Prosím, kontaktujte používateľa, ktorý ho zamkol.',
'no_user_image' => 'nebol nájdený žiadny obrázok',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'obsolete' => 'Zastaralé',
@ -1082,6 +1087,20 @@ $text = array(
'theme' => 'Vzhľad',
'thursday' => 'Štvrtok',
'thursday_abbr' => '',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Do',
'toggle_manager' => 'Prepnúť stav manager',
'to_before_from' => '',
@ -1094,6 +1113,7 @@ $text = array(
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => '',
'tr_TR' => 'Turecky',
'tuesday' => 'Utorok',

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 (1096), tmichelfelder (106)
// Translators: Admin (1098), tmichelfelder (106)
$text = array(
'accept' => 'Godkänn',
@ -173,6 +173,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Det är inte möjligt att skapa en snapshot för denna version av dokumentet.',
'cannot_rm_root' => 'Fel: Det går inte att ta bort root-katalogen.',
'categories' => 'Kategorier',
'categories_loading' => '',
'category' => 'Kategori',
'category_exists' => 'Kategorin finns redan.',
'category_filter' => 'Bara kategorier',
@ -382,6 +383,7 @@ URL: [url]',
'error_occured' => 'Ett fel har inträffat.',
'es_ES' => 'spanska',
'event_details' => 'Händelseinställningar',
'exclude_items' => '',
'expired' => 'Har gått ut',
'expires' => 'Kommer att gå ut',
'expiry_changed_email' => 'Utgångsdatum ändrat',
@ -398,6 +400,7 @@ URL: [url]',
'files' => 'Filer',
'files_deletion' => 'Ta bort alla filer',
'files_deletion_warning' => 'Med detta alternativ kan du ta bort alla filer i en dokumentkatalog. Versionsinformationen kommer fortfarande att visas.',
'files_loading' => '',
'file_size' => 'Filstorlek',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -482,7 +485,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Börja med tom behörighetslista',
'inherits_access_msg' => 'Behörigheten har ärvts.',
'internal_error' => 'Internt fel',
'internal_error_exit' => 'Internt fel. Förfrågan kunde inte utföras. Avslutar.',
'internal_error_exit' => 'Internt fel. Förfrågan kunde inte utföras.',
'invalid_access_mode' => 'Ogiltig behörighetsnivå',
'invalid_action' => 'Ogiltig handling',
'invalid_approval_status' => 'Ogiltig godkännandestatus',
@ -528,6 +531,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'Bibehåll dokumentstatus',
'keywords' => 'Nyckelord',
'keywords_loading' => '',
'keyword_exists' => 'Nyckelordet finns redan',
'ko_KR' => 'Koreanska',
'language' => 'Språk',
@ -662,6 +666,7 @@ URL: [url]',
'no_update_cause_locked' => 'Därför kan du inte uppdatera detta dokument. Ta kontakt med användaren som låst dokumentet.',
'no_user_image' => 'Ingen bild hittades',
'no_version_check' => 'Fel vid sökning efter ny version av SeedDMS! Ursaken kan vara att allow_url_fopen i din php konfiguration är satt till 0.',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => 'Katalog/Dokument-kontroll',
'obsolete' => 'Föråldrat',
@ -1217,6 +1222,20 @@ URL: [url]',
'theme' => 'Visningstema',
'thursday' => 'torsdag',
'thursday_abbr' => 'to',
'timeline' => 'Tidslinje',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'till',
'toggle_manager' => 'Byt manager',
'to_before_from' => 'Slutdatum får inte vara innan startdatum',
@ -1238,6 +1257,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'Arbetsflöde',
'tr_TR' => 'Turkiska',
'tuesday' => 'tisdag',

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 (1006), aydin (83)
// Translators: Admin (1011), aydin (83)
$text = array(
'accept' => 'Kabul',
@ -179,6 +179,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Bu doküman için anlık kontrol edilme durumu alınamadı.',
'cannot_rm_root' => 'Hata: Kök klasör silinemez.',
'categories' => 'Kategori',
'categories_loading' => '',
'category' => 'Kategori',
'category_exists' => 'Kategori zaten mevcut.',
'category_filter' => 'Sadece kategori',
@ -388,6 +389,7 @@ URL: [url]',
'error_occured' => 'Bir hata oluştu',
'es_ES' => 'İspanyolca',
'event_details' => 'Etkinkil detayları',
'exclude_items' => '',
'expired' => 'Süresi doldu',
'expires' => 'Süresinin dolacağı zaman',
'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti',
@ -404,6 +406,7 @@ URL: [url]',
'files' => 'Dosyalar',
'files_deletion' => 'Dosya silme',
'files_deletion_warning' => 'Bu işlemle bütün DYS klasörlerindeki dosyaların tamamını silebilirsiniz. Versiyonlama bilgisi görülmeye devam edecek.',
'files_loading' => '',
'file_size' => 'Dosya boyutu',
'filter_for_documents' => 'Dokümanlar için ek filtreler',
'filter_for_folders' => 'Klasörler için ek filtreler',
@ -472,7 +475,7 @@ URL: [url]',
'home_folder' => 'Temel klasör',
'hourly' => 'Saatlik',
'hours' => 'saat',
'hr_HR' => '',
'hr_HR' => 'Hırvatça',
'human_readable' => 'Okunabilir arşiv',
'hu_HU' => 'Macarca',
'id' => 'ID',
@ -488,7 +491,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Boş erişim listesiyle başla',
'inherits_access_msg' => 'Erişim devralınıyor',
'internal_error' => 'İç hata',
'internal_error_exit' => 'İç hata. İstek tamamlanmadı. Çıkış yapılıyor.',
'internal_error_exit' => 'İç hata. İstek tamamlanmadı.',
'invalid_access_mode' => 'Gereçsiz Erişim Modu',
'invalid_action' => 'Geçersiz Eylem',
'invalid_approval_status' => 'Geçersiz Onay Durumu',
@ -534,8 +537,9 @@ URL: [url]',
'keep' => 'Değiştirmeyin',
'keep_doc_status' => 'Doküman durumunu değiştirme',
'keywords' => 'Anahtar kelimeler',
'keywords_loading' => '',
'keyword_exists' => 'Anahtar kelime zaten mevcut',
'ko_KR' => '',
'ko_KR' => 'Korece',
'language' => 'Dil',
'lastaccess' => 'Son erişim',
'last_update' => 'Son Güncelleme',
@ -668,6 +672,7 @@ URL: [url]',
'no_update_cause_locked' => 'Bu doküman kilitli olduğundan güncellenemez. Lütfen kilitleyen kullanıcıyla görüşünüz.',
'no_user_image' => 'Resim bulunamadı',
'no_version_check' => 'SeedDMS yeni versiyon kontrolü başarısız oldu! Bunun sebebi php konfigürasyonunuzdaki allow_url_fopen parametresinin 0 olarak ayarlanması olabilir.',
'no_version_modification' => 'Versiyon değişikliği yapılmamış',
'no_workflow_available' => 'Uygun iş akışı yok',
'objectcheck' => 'Klasör/Doküman kontrol',
'obsolete' => 'Geçersiz',
@ -1233,6 +1238,20 @@ URL: [url]',
'theme' => 'Tema',
'thursday' => 'Perşembe',
'thursday_abbr' => 'Pe',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'Kime',
'toggle_manager' => 'Değişim yönetimi',
'to_before_from' => 'Bitiş tarihi başlama tarihinden önce olamaz',
@ -1254,12 +1273,13 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => 'İş Akışı',
'tr_TR' => 'Türkçe',
'tuesday' => 'Salı',
'tuesday_abbr' => 'Sa',
'type_to_search' => 'Aranacak sözcük yazınız',
'uk_UA' => '',
'uk_UA' => 'Ukraynaca',
'under_folder' => 'Klasörde',
'unknown_attrdef' => 'Bilinmeyen nitelik tanımı',
'unknown_command' => 'Komut anlaşılamadı.',

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 (1130)
// Translators: Admin (1131)
$text = array(
'accept' => 'Прийняти',
@ -185,6 +185,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => 'Неможливо отримати знімок рецензування для цього документа',
'cannot_rm_root' => 'Не можна видаляти кореневий каталог',
'categories' => 'Категорії',
'categories_loading' => '',
'category' => 'Категорія',
'category_exists' => 'Категорія існує',
'category_filter' => 'Лише категорії',
@ -394,6 +395,7 @@ URL: [url]',
'error_occured' => 'Виникла помилка',
'es_ES' => 'Spanish',
'event_details' => 'Інформація про подію',
'exclude_items' => '',
'expired' => 'Термін виконання вийшов',
'expires' => 'Термін виконання виходить',
'expiry_changed_email' => 'Дату терміну виконання змінено',
@ -410,6 +412,7 @@ URL: [url]',
'files' => 'Файли',
'files_deletion' => 'Видалити файли',
'files_deletion_warning' => 'Ця операція видалить всі файли у всіх каталогах. Інформація про версії залишиться доступною',
'files_loading' => '',
'file_size' => 'Розмір',
'filter_for_documents' => 'Додатковий фільтр по документах',
'filter_for_folders' => 'Додатковий фільтр по каталогах',
@ -494,7 +497,7 @@ URL: [url]',
'inherits_access_empty_msg' => 'Почати з порожнього списку доступу',
'inherits_access_msg' => 'Доступ успадковано.',
'internal_error' => 'Внутрішня помилка',
'internal_error_exit' => 'Внутрішня помилка. Неможливо виконати запит. Завершення.',
'internal_error_exit' => 'Внутрішня помилка. Неможливо виконати запит.',
'invalid_access_mode' => 'Невірний рівень доступу',
'invalid_action' => 'Невірна дія',
'invalid_approval_status' => 'Невірний статус затвердження',
@ -540,6 +543,7 @@ URL: [url]',
'keep' => 'Не змінювати',
'keep_doc_status' => 'Зберегти статус документа',
'keywords' => 'Ключові слова',
'keywords_loading' => '',
'keyword_exists' => 'Ключове слово існує',
'ko_KR' => '',
'language' => 'Мова',
@ -673,6 +677,7 @@ URL: [url]',
'no_update_cause_locked' => 'Ви не можете оновити документ. Зв\'яжіться з користувачем, який його заблокував.',
'no_user_image' => 'Зображення не знайдено',
'no_version_check' => 'Перевірка наявності нової версії SeedDMS не відбулася! Це може бути спричинено налаштуванням allow_url_fopen = 0 у конфігурації вашого php.',
'no_version_modification' => '',
'no_workflow_available' => 'Немає доступних процесів',
'objectcheck' => 'Перевірка каталога чи документа',
'obsolete' => 'Застарів',
@ -1244,6 +1249,20 @@ URL: [url]',
'theme' => 'Тема',
'thursday' => 'Четвер',
'thursday_abbr' => 'Чт',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => 'До',
'toggle_manager' => 'Змінити ознаку менеджера',
'to_before_from' => 'Кінцева дата не може бути меншою початкової дати',
@ -1265,6 +1284,7 @@ URL: [url]',
'transmittal_comment' => 'Коментар',
'transmittal_name' => 'Назва',
'transmittal_size' => 'Розмір',
'tree_loading' => '',
'trigger_workflow' => 'Процес',
'tr_TR' => 'Turkish',
'tuesday' => 'Вівторок',

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 (589), fengjohn (5)
// Translators: Admin (591), fengjohn (5)
$text = array(
'accept' => '接受',
@ -162,6 +162,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => '无法检索到该文件版本的校对快照.',
'cannot_rm_root' => '错误:不能删除根目录.',
'categories' => '分类',
'categories_loading' => '',
'category' => '分类',
'category_exists' => '',
'category_filter' => '指定分类',
@ -343,6 +344,7 @@ URL: [url]',
'error_occured' => '出错',
'es_ES' => '西班牙语',
'event_details' => '错误详情',
'exclude_items' => '',
'expired' => '过期',
'expires' => '有效限期',
'expiry_changed_email' => '到期日子已改变',
@ -355,6 +357,7 @@ URL: [url]',
'files' => '文件',
'files_deletion' => '删除文件',
'files_deletion_warning' => '通过此操作您可以删除整个DMS(文档管理系统)文件夹里的所有文件.但版本信息将被保留',
'files_loading' => '',
'file_size' => '文件大小',
'filter_for_documents' => '文档新增过滤',
'filter_for_folders' => '文件夹新增过滤',
@ -465,6 +468,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => '',
'keywords' => '关键字',
'keywords_loading' => '',
'keyword_exists' => '关键字已存在',
'ko_KR' => '韩国人',
'language' => '语言',
@ -575,6 +579,7 @@ URL: [url]',
'no_update_cause_locked' => '您不能更新此文档,请联系该文档锁定人',
'no_user_image' => '无图片',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '文件夹/文件检查',
'obsolete' => '过时的',
@ -1088,6 +1093,20 @@ URL: [url]',
'theme' => '主题',
'thursday' => 'Thursday',
'thursday_abbr' => '',
'timeline' => '时间轴',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => '到',
'toggle_manager' => '角色切换',
'to_before_from' => '',
@ -1100,6 +1119,7 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '文档结构尚未加载完成,请等待...',
'trigger_workflow' => '',
'tr_TR' => '土耳其',
'tuesday' => 'Tuesday',

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 (2338)
// Translators: Admin (2340)
$text = array(
'accept' => '接受',
@ -162,6 +162,7 @@ URL: [url]',
'cannot_retrieve_review_snapshot' => '無法檢索到該檔版本的校對快照.',
'cannot_rm_root' => '錯誤:不能刪除根目錄.',
'categories' => '分類',
'categories_loading' => '',
'category' => '分類',
'category_exists' => '',
'category_filter' => '指定分類',
@ -341,6 +342,7 @@ URL: [url]',
'error_occured' => '出錯',
'es_ES' => '西班牙語',
'event_details' => '錯誤詳情',
'exclude_items' => '',
'expired' => '過期',
'expires' => '有效限期',
'expiry_changed_email' => '到期日子已改變',
@ -353,6 +355,7 @@ URL: [url]',
'files' => '文件',
'files_deletion' => '刪除檔',
'files_deletion_warning' => '通過此操作您可以刪除整個DMS(文檔管理系統)資料夾裡的所有檔.但版本資訊將被保留',
'files_loading' => '',
'file_size' => '文件大小',
'filter_for_documents' => '',
'filter_for_folders' => '',
@ -463,8 +466,9 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => '',
'keywords' => '關鍵字',
'keywords_loading' => '',
'keyword_exists' => '關鍵字已存在',
'ko_KR' => '',
'ko_KR' => '韓語',
'language' => '語言',
'lastaccess' => '',
'last_update' => '上次更新',
@ -573,6 +577,7 @@ URL: [url]',
'no_update_cause_locked' => '您不能更新此文檔,請聯繫該文檔鎖定人',
'no_user_image' => '無圖片',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '資料夾/檔檢查',
'obsolete' => '過時的',
@ -1086,6 +1091,20 @@ URL: [url]',
'theme' => '主題',
'thursday' => 'Thursday',
'thursday_abbr' => '',
'timeline' => '',
'timeline_add_file' => '',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',
'timeline_full_status_change' => '',
'timeline_skip_add_file' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
'timeline_skip_status_change_2' => '',
'timeline_skip_status_change_3' => '',
'timeline_status_change' => '',
'to' => '到',
'toggle_manager' => '角色切換',
'to_before_from' => '',
@ -1098,8 +1117,9 @@ URL: [url]',
'transmittal_comment' => '',
'transmittal_name' => '',
'transmittal_size' => '',
'tree_loading' => '',
'trigger_workflow' => '',
'tr_TR' => '',
'tr_TR' => '土耳其語',
'tuesday' => 'Tuesday',
'tuesday_abbr' => '',
'type_to_search' => '搜索類型',

View File

@ -291,6 +291,8 @@ if ($_POST["approvalStatus"]==-1){
}
}
add_log_line("?documentid=".$_POST['documentid']."&version=".$_POST['version']."&approvalType=".$_POST['approvalType']."&approvalStatus=".$_POST['approvalStatus']);
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=revapp");
?>

View File

@ -0,0 +1,58 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2011-2013 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.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
/**
* Include class to preview documents
*/
require_once("SeedDMS/Preview.php");
if (!isset($_GET["filename"])) {
exit;
}
$filename = $_GET["filename"];
if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR)
$dropfolderdir = substr($settings->_dropFolderDir, 0, -1);
else
$dropfolderdir = $settings->_dropFolderDir;
$dir = $dropfolderdir.'/'.$user->getLogin();
if(!file_exists($dir.'/'.$filename))
exit;
if(!empty($_GET["width"]))
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]);
else
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
if(!$previewer->hasRawPreview($dir.'/'.$filename, 'dropfolder/'))
$previewer->createRawPreview($dir.'/'.$filename, 'dropfolder/');
header('Content-Type: image/png');
$previewer->getRawPreview($dir.'/'.$filename, 'dropfolder/');
?>

View File

@ -99,7 +99,6 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
}
}
// --------------- Suche starten --------------------------------------------
// Check to see if the search has been restricted to a particular
@ -121,10 +120,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
if(strlen($query) < 4 && strpos($query, '*')) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$resArr = array();
$resArr['totalDocs'] = 0;
$resArr['totalFolders'] = 0;
$resArr['totalPages'] = 0;
$totalPages = 0;
$entries = array();
$searchTime = 0;
} else {
@ -134,26 +130,10 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
$hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames);
if($hits === false) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$resArr = array();
$resArr['totalDocs'] = 0;
$resArr['totalFolders'] = 0;
$resArr['totalPages'] = 0;
$totalPages = 0;
$entries = array();
$searchTime = 0;
} else {
$limit = 20;
$resArr = array();
$resArr['totalDocs'] = count($hits);
$resArr['totalFolders'] = 0;
if($pageNumber != 'all' && count($hits) > $limit) {
$resArr['totalPages'] = (int) (count($hits) / $limit);
if ((count($hits)%$limit) > 0)
$resArr['totalPages']++;
$hits = array_slice($hits, ($pageNumber-1)*$limit, $limit);
} else {
$resArr['totalPages'] = 1;
}
$entries = array();
$dcount = 0;
$fcount = 0;
@ -167,6 +147,16 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
}
}
}
$limit = 20;
if($pageNumber != 'all' && count($entries) > $limit) {
$totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit)
$totalPages++;
if($limit > 0)
$entries = array_slice($entries, ($pageNumber-1)*$limit, $limit);
} else {
$totalPages = 1;
}
}
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);

View File

@ -24,6 +24,11 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Authentication.php");
/**
* Include class to preview documents
*/
require_once("SeedDMS/Preview.php");
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR)
@ -34,6 +39,8 @@ else
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'dropfolderdir'=>$dropfolderdir, 'dropfolderfile'=>$_GET["dropfolderfile"], 'form'=>$form));
if($view) {
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->show();
exit;
}

56
out/out.Timeline.php Normal file
View File

@ -0,0 +1,56 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2010 Matteo Lucarelli
//
// 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.DBInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
$rootfolder = $dms->getFolder($settings->_rootFolderID);
if(!empty($_GET['fromdate'])) {
$from = makeTsFromLongDate($_GET['fromdate'].' 00:00:00');
} else {
$from = time()-7*86400;
}
if(!empty($_GET['todate'])) {
$to = makeTsFromLongDate($_GET['todate'].' 23:59:59');
} else {
$to = time();
}
if(isset($_GET['skip']))
$skip = $_GET['skip'];
else
$skip = array();
$data = $dms->getTimeline($from, $to);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolder'=>$rootfolder, 'from'=>$from, 'to'=>$to, 'skip'=>$_GET['skip'], 'data'=>$data));
if($view) {
$view->show();
exit;
}
?>

View File

@ -115,6 +115,35 @@ div.help h3 {
font-size: 16px;
}
#dropfolderChooser {
width: 60%;
left: 20%;
margin-left: auto;
margin-right: auto;
}
#timeline {
font-size: 12px;
line-height: 14px;
}
div.timeline-event-content {
margin: 3px 5px;
}
div.timeline-frame {
border-radius: 4px;
border-color: #e3e3e3;
}
div.status_change_2 {
background-color: #DAF6D5;
border-color: #AAF897;
}
div.status_change_-1 {
background-color: #F6D5D5;
border-color: #F89797;
}
@media (max-width: 480px) {
.nav-tabs > li {
float:none;

View File

@ -406,9 +406,13 @@ $(document).ready( function() {
var href = element.data('href');
var view = element.data('view');
var action = element.data('action');
if(view && action)
var query = element.data('query');
if(view && action) {
url = "out."+view+".php?action="+action;
else
if(query) {
url += "&"+query;
}
} else
url = href;
// console.log('Calling '+url);
$.get(url, function(data) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,284 @@
if (typeof links === 'undefined') {
links = {};
links.locales = {};
} else if (typeof links.locales === 'undefined') {
links.locales = {};
}
// English ===================================================
links.locales['en'] = {
'MONTHS': ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
'MONTHS_SHORT': ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
'DAYS': ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
'DAYS_SHORT': ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
'ZOOM_IN': "Zoom in",
'ZOOM_OUT': "Zoom out",
'MOVE_LEFT': "Move left",
'MOVE_RIGHT': "Move right",
'NEW': "New",
'CREATE_NEW_EVENT': "Create new event"
};
links.locales['en_US'] = links.locales['en'];
links.locales['en_UK'] = links.locales['en'];
// French ===================================================
links.locales['fr'] = {
'MONTHS': ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
'MONTHS_SHORT': ["Jan", "Fev", "Mar", "Avr", "Mai", "Jun", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
'DAYS': ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"],
'DAYS_SHORT': ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"],
'ZOOM_IN': "Zoomer",
'ZOOM_OUT': "Dézoomer",
'MOVE_LEFT': "Déplacer à gauche",
'MOVE_RIGHT': "Déplacer à droite",
'NEW': "Nouveau",
'CREATE_NEW_EVENT': "Créer un nouvel évènement"
};
links.locales['fr_FR'] = links.locales['fr'];
links.locales['fr_BE'] = links.locales['fr'];
links.locales['fr_CA'] = links.locales['fr'];
// Catalan ===================================================
links.locales['ca'] = {
'MONTHS': ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Setembre", "Octubre", "Novembre", "Desembre"],
'MONTHS_SHORT': ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"],
'DAYS': ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"],
'DAYS_SHORT': ["Dm.", "Dl.", "Dm.", "Dc.", "Dj.", "Dv.", "Ds."],
'ZOOM_IN': "Augmentar zoom",
'ZOOM_OUT': "Disminuir zoom",
'MOVE_LEFT': "Moure esquerra",
'MOVE_RIGHT': "Moure dreta",
'NEW': "Nou",
'CREATE_NEW_EVENT': "Crear nou event"
};
links.locales['ca_ES'] = links.locales['ca'];
// German ===================================================
links.locales['de'] = {
'MONTHS': ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
'MONTHS_SHORT': ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
'DAYS': ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
'DAYS_SHORT': ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"],
'ZOOM_IN': "Vergrößern",
'ZOOM_OUT': "Verkleinern",
'MOVE_LEFT': "Nach links verschieben",
'MOVE_RIGHT': "Nach rechts verschieben",
'NEW': "Neu",
'CREATE_NEW_EVENT': "Neues Ereignis erzeugen"
};
links.locales['de_DE'] = links.locales['de'];
links.locales['de_CH'] = links.locales['de'];
// Danish ===================================================
links.locales['da'] = {
'MONTHS': ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december"],
'MONTHS_SHORT': ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"],
'DAYS': ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"],
'DAYS_SHORT': ["søn", "man", "tir", "ons", "tor", "fre", "lør"],
'ZOOM_IN': "Zoom in",
'ZOOM_OUT': "Zoom out",
'MOVE_LEFT': "Move left",
'MOVE_RIGHT': "Move right",
'NEW': "New",
'CREATE_NEW_EVENT': "Create new event"
};
links.locales['da_DK'] = links.locales['da'];
// Russian ===================================================
links.locales['ru'] = {
'MONTHS': ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
'MONTHS_SHORT': ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
'DAYS': ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"],
'DAYS_SHORT': ["Вос", "Пон", "Втo", "Срe", "Чет", "Пят", "Суб"],
'ZOOM_IN': "Увeличить",
'ZOOM_OUT': "Умeньшить",
'MOVE_LEFT': "Сдвинуть налeво",
'MOVE_RIGHT': "Сдвинуть направо",
'NEW': "Новый",
'CREATE_NEW_EVENT': "Создать новоe событиe"
};
links.locales['ru_RU'] = links.locales['ru'];
// Spanish ===================================================
links.locales['es'] = {
'MONTHS': ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
'MONTHS_SHORT': ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
'DAYS': ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
'DAYS_SHORT': ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"],
'ZOOM_IN': "Aumentar zoom",
'ZOOM_OUT': "Disminuir zoom",
'MOVE_LEFT': "Mover izquierda",
'MOVE_RIGHT': "Mover derecha",
'NEW': "Nuevo",
'CREATE_NEW_EVENT': "Crear nuevo evento"
};
links.locales['es_ES'] = links.locales['es'];
// Dutch =====================================================
links.locales['nl'] = {
'MONTHS': ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"],
'MONTHS_SHORT': ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"],
'DAYS': ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"],
'DAYS_SHORT': ["zo", "ma", "di", "wo", "do", "vr", "za"],
'ZOOM_IN': "Inzoomen",
'ZOOM_OUT': "Uitzoomen",
'MOVE_LEFT': "Naar links",
'MOVE_RIGHT': "Naar rechts",
'NEW': "Nieuw",
'CREATE_NEW_EVENT': "Nieuwe gebeurtenis maken"
};
links.locales['nl_NL'] = links.locales['nl'];
links.locales['nl_BE'] = links.locales['nl'];
// Turkish ===================================================
links.locales['tr'] = {
'MONTHS': ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
'MONTHS_SHORT': ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"],
'DAYS': ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"],
'DAYS_SHORT': ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"],
'ZOOM_IN': "Büyült",
'ZOOM_OUT': "Küçült",
'MOVE_LEFT': "Sola Taşı",
'MOVE_RIGHT': "Sağa Taşı",
'NEW': "Yeni",
'CREATE_NEW_EVENT': "Yeni etkinlik oluştur"
};
links.locales['tr_TR'] = links.locales['tr'];
// Hungarian ===================================================
links.locales['hu'] = {
'MONTHS': ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"],
'MONTHS_SHORT': ["jan", "feb", "márc", "ápr", "máj", "jún", "júl", "aug", "szep", "okt", "nov", "dec"],
'DAYS': ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"],
'DAYS_SHORT': ["vas", "hét", "kedd", "sze", "csü", "pé", "szo"],
'ZOOM_IN': "Nagyítás",
'ZOOM_OUT': "Kicsinyítés",
'MOVE_LEFT': "Balra",
'MOVE_RIGHT': "Jobbra",
'NEW': "Új",
'CREATE_NEW_EVENT': "Új esemény készítése"
};
links.locales['hu_HU'] = links.locales['hu'];
// Brazilian Portuguese ===================================================
links.locales['pt'] = {
'MONTHS': ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
'MONTHS_SHORT': ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
'DAYS': ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"],
'DAYS_SHORT': ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
'ZOOM_IN': "Aproximar",
'ZOOM_OUT': "Afastar",
'MOVE_LEFT': "Mover para esquerda",
'MOVE_RIGHT': "Mover para direita",
'NEW': "Novo",
'CREATE_NEW_EVENT': "Criar novo evento"
};
links.locales['pt_BR'] = links.locales['pt'];
// Portuguese ===================================================
links.locales['pt'] = {
'MONTHS': ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro", "Outubro", "Novembro", "Dezembro"],
'MONTHS_SHORT': ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
'DAYS': ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"],
'DAYS_SHORT': ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
'ZOOM_IN': "Mais Zoom",
'ZOOM_OUT': "Menos Zoom",
'MOVE_LEFT': "Esquerda",
'MOVE_RIGHT': "Direita",
'NEW': "Novo",
'CREATE_NEW_EVENT': "Criar novo evento"
};
links.locales['pt_PT'] = links.locales['pt'];
// Chinese ===================================================
links.locales['zh'] = {
'MONTHS': ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
'MONTHS_SHORT': ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
'DAYS': ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
'DAYS_SHORT': ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
'ZOOM_IN': "放大",
'ZOOM_OUT': "缩小",
'MOVE_LEFT': "左移",
'MOVE_RIGHT': "右移",
'NEW': "新建",
'CREATE_NEW_EVENT': "创建新的事件"
};
links.locales['zh_CN'] = links.locales['zh'];
links.locales['zh_TR'] = links.locales['zh'];
// Arabic ===================================================
links.locales['ar'] = {
'MONTHS': ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
'MONTHS_SHORT': ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
'DAYS': ["الأحد", "الأثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"],
'DAYS_SHORT': ["الأحد", "الأثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"],
'ZOOM_IN': "تكبير",
'ZOOM_OUT': "تصغير",
'MOVE_LEFT': "تحريك لليسار",
'MOVE_RIGHT': "تحريك لليمين",
'NEW': "جديد",
'CREATE_NEW_EVENT': "إنشاء حدث جديد"
};
links.locales['ar_AR'] = links.locales['ar'];
// Japanese ===================================================
links.locales['ja'] = {
'MONTHS': ["一月", "二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
'MONTHS_SHORT': ["一月", "二月", "三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
'DAYS': ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
'DAYS_SHORT': ["日", "月", "火", "水", "木", "金", "土"],
'ZOOM_IN': "拡大する",
'ZOOM_OUT': "縮小する",
'MOVE_LEFT': "左に移動",
'MOVE_RIGHT': "右に移動",
'NEW': "新しい",
'CREATE_NEW_EVENT': "新しいイベントの作成"
};
links.locales['ja_JA'] = links.locales['ja'];
// Korean ===================================================
links.locales['ko'] = {
'MONTHS': ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
'MONTHS_SHORT': ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
'DAYS': ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"],
'DAYS_SHORT': ["일", "월", "화", "수", "목", "금", "토"],
'ZOOM_IN': "줌 인",
'ZOOM_OUT': "줌 아웃",
'MOVE_LEFT': "왼쪽으로 이동",
'MOVE_RIGHT': "오른쪽으로 이동",
'NEW': "신규",
'CREATE_NEW_EVENT': "새 이벤트 생성"
};
links.locales['ko_KO'] = links.locales['ko'];
// Polish ===================================================
links.locales['pl'] = {
'MONTHS': ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
'MONTHS_SHORT': ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"],
'DAYS': ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"],
'DAYS_SHORT': ["niedz", "pon", "wt", "śr", "czw", "pt", "sob"],
'ZOOM_IN': "Powiększ",
'ZOOM_OUT': "Zmniejsz",
'MOVE_LEFT': "Przesuń w lewo",
'MOVE_RIGHT': "Przesuń w prawo",
'NEW': "Nowy",
'CREATE_NEW_EVENT': "Utwórz nowe wydarzenie"
};
links.locales['ko'] = links.locales['ko_KO'];

View File

@ -0,0 +1,218 @@
/*
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
Copyright (c) 2011-2015 Almende B.V.
@author Jos de Jong, <jos@almende.org>
@date 2015-03-04
@version 2.9.1
*/
typeof links==="undefined"&&(links={});typeof google==="undefined"&&(google=void 0);if(!Array.prototype.indexOf)Array.prototype.indexOf=function(a){for(var b=0;b<this.length;b++)if(this[b]==a)return b;return-1};if(!Array.prototype.forEach)Array.prototype.forEach=function(a,b){for(var c=0,d=this.length;c<d;++c)a.call(b||this,this[c],c,this)};
links.Timeline=function(a,b){if(a){this.dom={};this.conversion={};this.eventParams={};this.groups=[];this.groupIndexes={};this.items=[];this.renderQueue={show:[],hide:[],update:[]};this.renderedItems=[];this.clusterGenerator=new links.Timeline.ClusterGenerator(this);this.currentClusters=[];this.selection=void 0;this.listeners={};this.size={actualHeight:0,axis:{characterMajorHeight:0,characterMajorWidth:0,characterMinorHeight:0,characterMinorWidth:0,height:0,labelMajorTop:0,labelMinorTop:0,line:0,
lineMajorWidth:0,lineMinorHeight:0,lineMinorTop:0,lineMinorWidth:0,top:0},contentHeight:0,contentLeft:0,contentWidth:0,frameHeight:0,frameWidth:0,groupsLeft:0,groupsWidth:0,items:{top:0}};this.dom.container=a;this.options={width:"100%",height:"auto",minHeight:0,groupMinHeight:0,autoHeight:!0,eventMargin:10,eventMarginAxis:20,dragAreaWidth:10,min:void 0,max:void 0,zoomMin:10,zoomMax:31536E10,moveable:!0,zoomable:!0,selectable:!0,unselectable:!0,editable:!1,snapEvents:!0,groupsChangeable:!0,timeChangeable:!0,
showCurrentTime:!0,showCustomTime:!1,showMajorLabels:!0,showMinorLabels:!0,showNavigation:!1,showButtonNew:!1,groupsOnRight:!1,groupsOrder:!0,axisOnTop:!1,stackEvents:!0,animate:!0,animateZoom:!0,cluster:!1,clusterMaxItems:5,style:"box",customStackOrder:!1,locale:"en",MONTHS:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),MONTHS_SHORT:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAYS:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
DAYS_SHORT:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),ZOOM_IN:"Zoom in",ZOOM_OUT:"Zoom out",MOVE_LEFT:"Move left",MOVE_RIGHT:"Move right",NEW:"New",CREATE_NEW_EVENT:"Create new event"};this.setOptions(b);this.clientTimeOffset=0;for(var c=this.dom;c.container.hasChildNodes();)c.container.removeChild(c.container.firstChild);this.step=new links.Timeline.StepDate;this.itemTypes={box:links.Timeline.ItemBox,range:links.Timeline.ItemRange,floatingRange:links.Timeline.ItemFloatingRange,dot:links.Timeline.ItemDot};
this.data=[];this.firstDraw=!0;this.setVisibleChartRange(void 0,void 0,!1);this.render();var d=this;setTimeout(function(){d.trigger("ready")},0)}};
links.Timeline.prototype.draw=function(a,b){b&&(console.log("WARNING: Passing options in draw() is deprecated. Pass options to the constructur or use setOptions() instead!"),this.setOptions(b));this.options.selectable&&links.Timeline.addClassName(this.dom.frame,"timeline-selectable");this.setData(a);this.firstDraw&&this.setVisibleChartRangeAuto();this.firstDraw=!1};
links.Timeline.prototype.setOptions=function(a){if(a){for(var b in a)a.hasOwnProperty(b)&&(this.options[b]=a[b]);if(typeof links.locales!=="undefined"&&this.options.locale!=="en"&&(b=links.locales[this.options.locale]))for(var c in b)b.hasOwnProperty(c)&&(this.options[c]=b[c]);if(a.showButtonAdd!=void 0)this.options.showButtonNew=a.showButtonAdd,console.log("WARNING: Option showButtonAdd is deprecated. Use showButtonNew instead");if(a.intervalMin!=void 0)this.options.zoomMin=a.intervalMin,console.log("WARNING: Option intervalMin is deprecated. Use zoomMin instead");
if(a.intervalMax!=void 0)this.options.zoomMax=a.intervalMax,console.log("WARNING: Option intervalMax is deprecated. Use zoomMax instead");a.scale&&a.step&&this.step.setScale(a.scale,a.step)}this.options.autoHeight=this.options.height==="auto"};links.Timeline.prototype.getOptions=function(){return this.options};links.Timeline.prototype.addItemType=function(a,b){this.itemTypes[a]=b};
links.Timeline.mapColumnIds=function(a){for(var b={},c=a.getNumberOfColumns(),d=!0,e=0;e<c;e++){var f=a.getColumnId(e)||a.getColumnLabel(e);b[f]=e;if(f=="start"||f=="end"||f=="content"||f=="group"||f=="className"||f=="editable"||f=="type")d=!1}if(d){b.start=0;b.end=1;b.content=2;if(c>3)b.group=3;if(c>4)b.className=4;if(c>5)b.editable=5;if(c>6)b.type=6}return b};
links.Timeline.prototype.setData=function(a){this.unselectItem();a||(a=[]);this.stackCancelAnimation();this.clearItems();this.data=a;var b=this.items;this.deleteGroups();if(google&&google.visualization&&a instanceof google.visualization.DataTable)for(var c=links.Timeline.mapColumnIds(a),d=0,e=a.getNumberOfRows();d<e;d++)b.push(this.createItem({start:c.start!=void 0?a.getValue(d,c.start):void 0,end:c.end!=void 0?a.getValue(d,c.end):void 0,content:c.content!=void 0?a.getValue(d,c.content):void 0,group:c.group!=
void 0?a.getValue(d,c.group):void 0,className:c.className!=void 0?a.getValue(d,c.className):void 0,editable:c.editable!=void 0?a.getValue(d,c.editable):void 0,type:c.type!=void 0?a.getValue(d,c.type):void 0}));else if(links.Timeline.isArray(a)){d=0;for(e=a.length;d<e;d++)c=this.createItem(a[d]),b.push(c)}else throw"Unknown data type. DataTable or Array expected.";this.options.cluster&&this.clusterGenerator.setData(this.items);this.render({animate:!1})};links.Timeline.prototype.getData=function(){return this.data};
links.Timeline.prototype.updateData=function(a,b){var c=this.data,d;if(google&&google.visualization&&c instanceof google.visualization.DataTable){var e=a+1-c.getNumberOfRows();e>0&&c.addRows(e);e=links.Timeline.mapColumnIds(c);for(d in b)if(b.hasOwnProperty(d)){var f=e[d];if(f==void 0){var f=b[d],g="string";typeof f=="number"?g="number":typeof f=="boolean"?g="boolean":f instanceof Date&&(g="datetime");f=c.addColumn(g,d)}c.setValue(a,f,b[d])}}else if(links.Timeline.isArray(c))for(d in e=c[a],e==void 0&&
(e={},c[a]=e),b)b.hasOwnProperty(d)&&(e[d]=b[d]);else throw"Cannot update data, unknown type of data";};links.Timeline.prototype.getItemIndex=function(a){for(var b=this.dom.items.frame,c=this.items,d=void 0;a.parentNode&&a.parentNode!==b;)a=a.parentNode;if(a.parentNode===b)for(var b=0,e=c.length;b<e;b++)if(c[b].dom===a){d=b;break}return d};
links.Timeline.prototype.getClusterIndex=function(a){var b=this.dom.items.frame,c=this.clusters,d=void 0;if(this.clusters){for(;a.parentNode&&a.parentNode!==b;)a=a.parentNode;if(a.parentNode===b)for(var b=0,e=c.length;b<e;b++)if(c[b].dom===a){d=b;break}}return d};links.Timeline.prototype.getVisibleItems=function(a,b){var c=this.items,d=[];if(c)for(var e=0,f=c.length;e<f;e++){var g=c[e];g.end?a<=g.start&&g.end<=b&&d.push({row:e}):a<=g.start&&g.start<=b&&d.push({row:e})}return d};
links.Timeline.prototype.setSize=function(a,b){if(a)this.options.width=a,this.dom.frame.style.width=a;if(b&&(this.options.height=b,this.options.autoHeight=this.options.height==="auto",b!=="auto"))this.dom.frame.style.height=b;this.render({animate:!1})};
links.Timeline.prototype.setVisibleChartRange=function(a,b,c){var d={};if(!a||!b)d=this.getDataRange(!0);if(!a)b?d.min&&d.min.valueOf()<b.valueOf()?a=d.min:(a=new Date(b.valueOf()),a.setDate(a.getDate()-7)):(a=new Date,a.setDate(a.getDate()-3));if(!b)d.max?b=d.max:(b=new Date(a.valueOf()),b.setDate(b.getDate()+7));b<=a&&(b=new Date(a.valueOf()),b.setDate(b.getDate()+7));d=this.options.min?this.options.min:void 0;d!=void 0&&a.valueOf()<d.valueOf()&&(a=new Date(d.valueOf()));d=this.options.max?this.options.max:
void 0;d!=void 0&&b.valueOf()>d.valueOf()&&(b=new Date(d.valueOf()));this.applyRange(a,b);c==void 0||c==!0?this.render({animate:!1}):this.recalcConversion()};links.Timeline.prototype.setVisibleChartRangeAuto=function(){var a=this.getDataRange(!0);this.setVisibleChartRange(a.min,a.max)};links.Timeline.prototype.setVisibleChartRangeNow=function(){var a=this.end.valueOf()-this.start.valueOf(),b=new Date((new Date).valueOf()-a/2);this.setVisibleChartRange(b,new Date(b.valueOf()+a))};
links.Timeline.prototype.getVisibleChartRange=function(){return{start:new Date(this.start.valueOf()),end:new Date(this.end.valueOf())}};
links.Timeline.prototype.getDataRange=function(a){var b=this.items,c=void 0,d=void 0;if(b)for(var e=0,f=b.length;e<f;e++){var g=b[e],h=g.start!=void 0?g.start.valueOf():void 0,g=g.end!=void 0?g.end.valueOf():h;h!=void 0&&(c=c!=void 0?Math.min(c.valueOf(),h.valueOf()):h);g!=void 0&&(d=d!=void 0?Math.max(d.valueOf(),g.valueOf()):g)}c&&d&&a&&(a=d-c,c-=a*0.05,d+=a*0.05);return{min:c!=void 0?new Date(c):void 0,max:d!=void 0?new Date(d):void 0}};
links.Timeline.prototype.render=function(a){this.reflowFrame();this.reflowAxis();this.reflowGroups();this.reflowItems();var b=this.options.animate;if(a&&a.animate!=void 0)b=a.animate;this.recalcConversion();this.clusterItems();this.filterItems();this.stackItems(b);this.recalcItems();this.repaint()&&(b=a?a.renderTimesLeft:void 0,b==void 0&&(b=5),b>0&&this.render({animate:a?a.animate:void 0,renderTimesLeft:b-1}))};
links.Timeline.prototype.repaint=function(){var a=this.repaintFrame(),b=this.repaintAxis(),c=this.repaintGroups(),d=this.repaintItems();this.repaintCurrentTime();this.repaintCustomTime();return a||b||c||d};links.Timeline.prototype.reflowFrame=function(){var a=this.dom,b=this.size,c=a.frame?a.frame.offsetWidth:0,d=a.frame?a.frame.clientHeight:0,a=(a=b.frameWidth!==c)||b.frameHeight!==d;b.frameWidth=c;b.frameHeight=d;return a};
links.Timeline.prototype.repaintFrame=function(){var a=!1,b=this.dom,c=this.options,d=this.size;if(!b.frame)b.frame=document.createElement("DIV"),b.frame.className="timeline-frame ui-widget ui-widget-content ui-corner-all",b.container.appendChild(b.frame),a=!0;var e=c.autoHeight?d.actualHeight+"px":c.height||"100%",c=c.width||"100%",a=(a=a||b.frame.style.height!=e)||b.frame.style.width!=c;b.frame.style.height=e;b.frame.style.width=c;if(!b.content){b.content=document.createElement("DIV");b.content.className=
"timeline-content";b.frame.appendChild(b.content);a=document.createElement("DIV");a.style.position="absolute";a.style.left="0px";a.style.top="0px";a.style.height="100%";a.style.width="0px";b.content.appendChild(a);b.contentTimelines=a;var a=this.eventParams,f=this;if(!a.onMouseDown)a.onMouseDown=function(a){f.onMouseDown(a)},links.Timeline.addEventListener(b.content,"mousedown",a.onMouseDown);if(!a.onTouchStart)a.onTouchStart=function(a){f.onTouchStart(a)},links.Timeline.addEventListener(b.content,
"touchstart",a.onTouchStart);if(!a.onMouseWheel)a.onMouseWheel=function(a){f.onMouseWheel(a)},links.Timeline.addEventListener(b.content,"mousewheel",a.onMouseWheel);if(!a.onDblClick)a.onDblClick=function(a){f.onDblClick(a)},links.Timeline.addEventListener(b.content,"dblclick",a.onDblClick);a=!0}b.content.style.left=d.contentLeft+"px";b.content.style.top="0px";b.content.style.width=d.contentWidth+"px";b.content.style.height=d.frameHeight+"px";this.repaintNavigation();return a};
links.Timeline.prototype.reflowAxis=function(){var a,b=this.options,c=this.size,d=this.dom.axis,e=d&&d.characterMinor?d.characterMinor.clientWidth:0,f=d&&d.characterMinor?d.characterMinor.clientHeight:0,g=d&&d.characterMajor?d.characterMajor.clientWidth:0,h=d&&d.characterMajor?d.characterMajor.clientHeight:0,i=(b.showMinorLabels?f:0)+(b.showMajorLabels?h:0),k=b.axisOnTop?0:c.frameHeight-i,m=b.axisOnTop?i:k;a=(a=(a=c.axis.top!==k)||c.axis.line!==m)||c.axis.height!==i;c.axis.top=k;c.axis.line=m;c.axis.height=
i;c.axis.labelMajorTop=b.axisOnTop?0:m+(b.showMinorLabels?f:0);c.axis.labelMinorTop=b.axisOnTop?b.showMajorLabels?h:0:m;c.axis.lineMinorTop=b.axisOnTop?c.axis.labelMinorTop:0;c.axis.lineMinorHeight=b.showMajorLabels?c.frameHeight-h:c.frameHeight;c.axis.lineMinorWidth=d&&d.minorLines&&d.minorLines.length?d.minorLines[0].offsetWidth:1;c.axis.lineMajorWidth=d&&d.majorLines&&d.majorLines.length?d.majorLines[0].offsetWidth:1;a=(a=(a=(a=a||c.axis.characterMinorWidth!==e)||c.axis.characterMinorHeight!==
f)||c.axis.characterMajorWidth!==g)||c.axis.characterMajorHeight!==h;c.axis.characterMinorWidth=e;c.axis.characterMinorHeight=f;c.axis.characterMajorWidth=g;c.axis.characterMajorHeight=h;d=Math.max(c.frameHeight-i,0);c.contentLeft=b.groupsOnRight?0:c.groupsWidth;c.contentWidth=Math.max(c.frameWidth-c.groupsWidth,0);c.contentHeight=d;return a};
links.Timeline.prototype.repaintAxis=function(){var a=!1,b=this.dom,c=this.options,d=this.size,e=this.step,f=b.axis;if(!f)f={},b.axis=f;if(!d.axis.properties)d.axis.properties={};if(!f.minorTexts)f.minorTexts=[];if(!f.minorLines)f.minorLines=[];if(!f.majorTexts)f.majorTexts=[];if(!f.majorLines)f.majorLines=[];if(!f.frame)f.frame=document.createElement("DIV"),f.frame.style.position="absolute",f.frame.style.left="0px",f.frame.style.top="0px",b.content.appendChild(f.frame);b.content.removeChild(f.frame);
f.frame.style.width=d.contentWidth+"px";f.frame.style.height=d.axis.height+"px";var g=this.screenToTime(0),h=this.screenToTime(d.contentWidth);if(d.axis.characterMinorWidth)this.minimumStep=this.screenToTime(d.axis.characterMinorWidth*6)-this.screenToTime(0),e.setRange(g,h,this.minimumStep);g=this.repaintAxisCharacters();a=a||g;this.repaintAxisStartOverwriting();e.start();g=void 0;for(h=0;!e.end()&&h<1E3;){h++;var i=this.timeToScreen(e.getCurrent()),k=e.isMajor();c.showMinorLabels&&this.repaintAxisMinorText(i,
e.getLabelMinor(c));k&&c.showMajorLabels?(i>0&&(g==void 0&&(g=i),this.repaintAxisMajorText(i,e.getLabelMajor(c))),this.repaintAxisMajorLine(i)):this.repaintAxisMinorLine(i);e.next()}c.showMajorLabels&&(e=this.screenToTime(0),c=this.step.getLabelMajor(c,e),d=c.length*d.axis.characterMajorWidth+10,(g==void 0||d<g)&&this.repaintAxisMajorText(0,c,e));this.repaintAxisEndOverwriting();this.repaintAxisHorizontal();b.content.insertBefore(f.frame,b.content.firstChild);return a};
links.Timeline.prototype.repaintAxisCharacters=function(){var a=!1,b=this.dom.axis;if(!b.characterMinor){var a=document.createTextNode("0"),c=document.createElement("DIV");c.className="timeline-axis-text timeline-axis-text-minor";c.appendChild(a);c.style.position="absolute";c.style.visibility="hidden";c.style.paddingLeft="0px";c.style.paddingRight="0px";b.frame.appendChild(c);b.characterMinor=c;a=!0}if(!b.characterMajor)a=document.createTextNode("0"),c=document.createElement("DIV"),c.className="timeline-axis-text timeline-axis-text-major",
c.appendChild(a),c.style.position="absolute",c.style.visibility="hidden",c.style.paddingLeft="0px",c.style.paddingRight="0px",b.frame.appendChild(c),b.characterMajor=c,a=!0;return a};links.Timeline.prototype.repaintAxisStartOverwriting=function(){var a=this.size.axis.properties;a.minorTextNum=0;a.minorLineNum=0;a.majorTextNum=0;a.majorLineNum=0};
links.Timeline.prototype.repaintAxisEndOverwriting=function(){var a=this.dom,b=this.size.axis.properties,c=this.dom.axis.frame,d,e=a.axis.minorTexts;for(d=b.minorTextNum;e.length>d;)c.removeChild(e[d]),e.splice(d,1);e=a.axis.minorLines;for(d=b.minorLineNum;e.length>d;)c.removeChild(e[d]),e.splice(d,1);e=a.axis.majorTexts;for(d=b.majorTextNum;e.length>d;)c.removeChild(e[d]),e.splice(d,1);a=a.axis.majorLines;for(d=b.majorLineNum;a.length>d;)c.removeChild(a[d]),a.splice(d,1)};
links.Timeline.prototype.repaintAxisHorizontal=function(){var a=this.dom.axis,b=this.size,c=this.options;if(c=c.showMinorLabels||c.showMajorLabels){if(!a.backgroundLine){var d=document.createElement("DIV");d.className="timeline-axis";d.style.position="absolute";d.style.left="0px";d.style.width="100%";d.style.border="none";a.frame.insertBefore(d,a.frame.firstChild);a.backgroundLine=d}if(a.backgroundLine)a.backgroundLine.style.top=b.axis.top+"px",a.backgroundLine.style.height=b.axis.height+"px"}else a.backgroundLine&&
(a.frame.removeChild(a.backgroundLine),delete a.backgroundLine);c?(a.line?(c=a.frame.removeChild(a.line),a.frame.appendChild(c)):(c=document.createElement("DIV"),c.className="timeline-axis",c.style.position="absolute",c.style.left="0px",c.style.width="100%",c.style.height="0px",a.frame.appendChild(c),a.line=c),a.line.style.top=b.axis.line+"px"):a.line&&a.line.parentElement&&(a.frame.removeChild(a.line),delete a.line)};
links.Timeline.prototype.repaintAxisMinorText=function(a,b){var c=this.size,d=this.dom,e=c.axis.properties,f=d.axis.frame,d=d.axis.minorTexts,g=e.minorTextNum;if(g<d.length)g=d[g];else{var h=document.createTextNode(""),g=document.createElement("DIV");g.appendChild(h);g.className="timeline-axis-text timeline-axis-text-minor";g.style.position="absolute";f.appendChild(g);d.push(g)}g.childNodes[0].nodeValue=b;g.style.left=a+"px";g.style.top=c.axis.labelMinorTop+"px";e.minorTextNum++};
links.Timeline.prototype.repaintAxisMinorLine=function(a){var b=this.size.axis,c=this.dom,d=b.properties,e=c.axis.frame,c=c.axis.minorLines,f=d.minorLineNum;f<c.length?f=c[f]:(f=document.createElement("DIV"),f.className="timeline-axis-grid timeline-axis-grid-minor",f.style.position="absolute",f.style.width="0px",e.appendChild(f),c.push(f));f.style.top=b.lineMinorTop+"px";f.style.height=b.lineMinorHeight+"px";f.style.left=a-b.lineMinorWidth/2+"px";d.minorLineNum++};
links.Timeline.prototype.repaintAxisMajorText=function(a,b){var c=this.size,d=c.axis.properties,e=this.dom.axis.frame,f=this.dom.axis.majorTexts,g=d.majorTextNum;if(g<f.length)g=f[g];else{var h=document.createTextNode(b),g=document.createElement("DIV");g.className="timeline-axis-text timeline-axis-text-major";g.appendChild(h);g.style.position="absolute";g.style.top="0px";e.appendChild(g);f.push(g)}g.childNodes[0].nodeValue=b;g.style.top=c.axis.labelMajorTop+"px";g.style.left=a+"px";d.majorTextNum++};
links.Timeline.prototype.repaintAxisMajorLine=function(a){var b=this.size,c=b.axis.properties,d=this.size.axis,e=this.dom.axis.frame,f=this.dom.axis.majorLines,g=c.majorLineNum;g<f.length?g=f[g]:(g=document.createElement("DIV"),g.className="timeline-axis-grid timeline-axis-grid-major",g.style.position="absolute",g.style.top="0px",g.style.width="0px",e.appendChild(g),f.push(g));g.style.left=a-d.lineMajorWidth/2+"px";g.style.height=b.frameHeight+"px";c.majorLineNum++};
links.Timeline.prototype.reflowItems=function(){var a=!1,b,c,d;b=this.groups;var e=this.renderedItems;b&&b.forEach(function(a){a.itemsHeight=a.labelHeight||0});for(b=0,c=e.length;b<c;b++){var f=e[b],g=f.dom;d=f.group;if(g){var h=g?g.clientWidth:0,g=g?g.clientHeight:0,a=(a=a||f.width!=h)||f.height!=g;f.width=h;f.height=g;f.reflow()}if(d)d.itemsHeight=Math.max(this.options.groupMinHeight,d.itemsHeight?Math.max(d.itemsHeight,f.height):f.height)}return a};
links.Timeline.prototype.recalcItems=function(){var a=!1,b,c,d,e,f;d=this.groups;var g=this.size,h=this.options;f=this.renderedItems;var i=0;if(d.length==0){if(h.autoHeight||h.cluster){var k=i=0;if(this.stack&&this.stack.finalItems){d=this.stack.finalItems;if((e=d[0])&&e.top)i=e.top,k=e.top+e.height;for(b=1,c=d.length;b<c;b++)e=d[b],i=Math.min(i,e.top),k=Math.max(k,e.top+e.height)}else{if((d=f[0])&&d.top)i=d.top,k=d.top+d.height;for(b=1,c=f.length;b<c;b++)d=f[b],d.top&&(i=Math.min(i,d.top),k=Math.max(k,
d.top+d.height))}i=k-i+2*h.eventMarginAxis+g.axis.height;if(i<h.minHeight)i=h.minHeight;if(g.actualHeight!=i&&h.autoHeight&&!h.axisOnTop)if(k=i-g.actualHeight,this.stack&&this.stack.finalItems){d=this.stack.finalItems;for(b=0,c=d.length;b<c;b++)d[b].top+=k,d[b].item.top+=k}else for(b=0,c=f.length;b<c;b++)f[b].top+=k}}else{i=g.axis.height+2*h.eventMarginAxis;for(b=0,c=d.length;b<c;b++)f=d[b],k=f.itemsHeight,a=a||k!=f.height,f.height=Math.max(k,h.groupMinHeight),i+=d[b].height+h.eventMargin;a=h.eventMargin;
k=h.axisOnTop?h.eventMarginAxis+a/2:g.contentHeight-h.eventMarginAxis+a/2;e=g.axis.height;for(b=0,c=d.length;b<c;b++)f=d[b],h.axisOnTop?(f.top=k+e,f.labelTop=k+e+(f.height-f.labelHeight)/2,f.lineTop=k+e+f.height+a/2,k+=f.height+a):(k-=f.height+a,f.top=k,f.labelTop=k+(f.height-f.labelHeight)/2,f.lineTop=k-a/2);a=!0}if(i<h.minHeight)i=h.minHeight;a=a||i!=g.actualHeight;g.actualHeight=i;return a};
links.Timeline.prototype.clearItems=function(){var a=this.renderQueue.hide;this.renderedItems.forEach(function(b){a.push(b)});this.clusterGenerator.clear();this.items=[]};
links.Timeline.prototype.repaintItems=function(){var a,b,c=!1,d=this.dom;a=this.size;var e=this,f=this.renderedItems;if(!d.items)d.items={};var g=d.items.frame;if(!g)g=document.createElement("DIV"),g.style.position="relative",d.content.appendChild(g),d.items.frame=g;g.style.left="0px";g.style.top=a.items.top+"px";g.style.height="0px";d.content.removeChild(g);for(var h=this.renderQueue,i=[],c=c||h.show.length>0||h.update.length>0||h.hide.length>0;a=h.show.shift();)a.showDOM(g),a.getImageUrls(i),f.push(a);
for(;a=h.update.shift();)a.updateDOM(g),a.getImageUrls(i),b=this.renderedItems.indexOf(a),b==-1&&f.push(a);for(;a=h.hide.shift();)a.hideDOM(g),b=this.renderedItems.indexOf(a),b!=-1&&f.splice(b,1);f.forEach(function(a){a.updatePosition(e)});this.repaintDeleteButton();this.repaintDragAreas();d.content.appendChild(g);i.length&&links.imageloader.loadAll(i,function(){e.render()},!1);return c};
links.Timeline.prototype.reflowGroups=function(){for(var a=!1,b=this.options,c=this.size,d=this.dom,e=0,f=this.groups,g=this.dom.groups?this.dom.groups.labels:[],h=0,i=f.length;h<i;h++){var k=f[h],m=g[h];k.labelWidth=m?m.clientWidth:0;k.labelHeight=m?m.clientHeight:0;k.width=k.labelWidth;e=Math.max(e,k.width)}b.groupsWidth!==void 0&&(e=d.groups&&d.groups.frame?d.groups.frame.clientWidth:0);e+=1;b=b.groupsOnRight?c.frameWidth-e:0;a=(a=a||c.groupsWidth!==e)||c.groupsLeft!==b;c.groupsWidth=e;c.groupsLeft=
b;return a};
links.Timeline.prototype.repaintGroups=function(){var a=this.dom,b=this,c=this.options,d=this.size,e=this.groups;if(a.groups===void 0)a.groups={};var f=a.groups.labels;if(!f)f=[],a.groups.labels=f;var g=a.groups.labelLines;if(!g)g=[],a.groups.labelLines=g;var h=a.groups.itemLines;if(!h)h=[],a.groups.itemLines=h;var i=a.groups.frame;if(!i)i=document.createElement("DIV"),i.className="timeline-groups-axis",i.style.position="absolute",i.style.overflow="hidden",i.style.top="0px",i.style.height="100%",
a.frame.appendChild(i),a.groups.frame=i;i.style.left=d.groupsLeft+"px";i.style.width=c.groupsWidth!==void 0?c.groupsWidth:d.groupsWidth+"px";i.style.display=e.length==0?"none":"";for(var k=f.length,m=e.length,l=0,s=Math.min(k,m);l<s;l++){var q=e[l],o=f[l];o.innerHTML=this.getGroupName(q);o.style.display=""}for(l=k;l<m;l++){q=e[l];o=document.createElement("DIV");o.className="timeline-groups-text";o.style.position="absolute";if(c.groupsWidth===void 0)o.style.whiteSpace="nowrap";o.innerHTML=this.getGroupName(q);
i.appendChild(o);f[l]=o;var p=document.createElement("DIV");p.className="timeline-axis-grid timeline-axis-grid-minor";p.style.position="absolute";p.style.left="0px";p.style.width="100%";p.style.height="0px";p.style.borderTopStyle="solid";i.appendChild(p);g[l]=p;var n=document.createElement("DIV");n.className="timeline-axis-grid timeline-axis-grid-minor";n.style.position="absolute";n.style.left="0px";n.style.width="100%";n.style.height="0px";n.style.borderTopStyle="solid";a.content.insertBefore(n,
a.content.firstChild);h[l]=n}for(l=m;l<k;l++)o=f[l],p=g[l],n=h[l],i.removeChild(o),i.removeChild(p),a.content.removeChild(n);f.splice(m,k-m);g.splice(m,k-m);h.splice(m,k-m);links.Timeline.addClassName(i,c.groupsOnRight?"timeline-groups-axis-onright":"timeline-groups-axis-onleft");l=0;for(s=e.length;l<s;l++)q=e[l],o=f[l],p=g[l],n=h[l],o.style.top=q.labelTop+"px",p.style.top=q.lineTop+"px",n.style.top=q.lineTop+"px",n.style.width=d.contentWidth+"px";if(!a.groups.background)c=document.createElement("DIV"),
c.className="timeline-axis",c.style.position="absolute",c.style.left="0px",c.style.width="100%",c.style.border="none",i.appendChild(c),a.groups.background=c;a.groups.background.style.top=d.axis.top+"px";a.groups.background.style.height=d.axis.height+"px";if(!a.groups.line)c=document.createElement("DIV"),c.className="timeline-axis",c.style.position="absolute",c.style.left="0px",c.style.width="100%",c.style.height="0px",i.appendChild(c),a.groups.line=c;a.groups.line.style.top=d.axis.line+"px";a.groups.frame&&
e.length&&(d=[],links.imageloader.filterImageUrls(a.groups.frame,d),d.length&&links.imageloader.loadAll(d,function(){b.render()},!1))};
links.Timeline.prototype.repaintCurrentTime=function(){var a=this.dom,b=this.size;if(this.options.showCurrentTime){if(!a.currentTime){var c=document.createElement("DIV");c.className="timeline-currenttime";c.style.position="absolute";c.style.top="0px";c.style.height="100%";a.contentTimelines.appendChild(c);a.currentTime=c}var c=new Date((new Date).valueOf()+this.clientTimeOffset),d=this.timeToScreen(c);a.currentTime.style.display=d>-b.contentWidth&&d<2*b.contentWidth?"":"none";a.currentTime.style.left=
d+"px";a.currentTime.title="Current time: "+c;this.currentTimeTimer!=void 0&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer);var e=this,a=1/this.conversion.factor/2;a<30&&(a=30);this.currentTimeTimer=setTimeout(function(){e.repaintCurrentTime()},a)}else a.currentTime&&(a.contentTimelines.removeChild(a.currentTime),delete a.currentTime)};
links.Timeline.prototype.repaintCustomTime=function(){var a=this.dom,b=this.size;if(this.options.showCustomTime){if(!a.customTime){var c=document.createElement("DIV");c.className="timeline-customtime";c.style.position="absolute";c.style.top="0px";c.style.height="100%";var d=document.createElement("DIV");d.style.position="relative";d.style.top="0px";d.style.left="-10px";d.style.height="100%";d.style.width="20px";c.appendChild(d);a.contentTimelines.appendChild(c);a.customTime=c;this.customTime=new Date}c=
this.timeToScreen(this.customTime);a.customTime.style.display=c>-b.contentWidth&&c<2*b.contentWidth?"":"none";a.customTime.style.left=c+"px";a.customTime.title="Time: "+this.customTime}else a.customTime&&(a.contentTimelines.removeChild(a.customTime),delete a.customTime)};
links.Timeline.prototype.repaintDeleteButton=function(){var a=this.dom,b=a.items.frame,c=a.items.deleteButton;if(!c)c=document.createElement("DIV"),c.className="timeline-navigation-delete",c.style.position="absolute",b.appendChild(c),a.items.deleteButton=c;var a=this.selection&&this.selection.index!==void 0?this.selection.index:-1,d=this.selection&&this.selection.index!==void 0?this.items[a]:void 0;d&&d.rendered&&this.isEditable(d)?(a=d.getRight(this),d=d.top,c.style.left=a+"px",c.style.top=d+"px",
c.style.display="",b.removeChild(c),b.appendChild(c)):c.style.display="none"};
links.Timeline.prototype.repaintDragAreas=function(){var a=this.options,b=this.dom,c=this.dom.items.frame,d=b.items.dragLeft;if(!d)d=document.createElement("DIV"),d.className="timeline-event-range-drag-left",d.style.position="absolute",c.appendChild(d),b.items.dragLeft=d;var e=b.items.dragRight;if(!e)e=document.createElement("DIV"),e.className="timeline-event-range-drag-right",e.style.position="absolute",c.appendChild(e),b.items.dragRight=e;var b=this.selection&&this.selection.index!==void 0?this.selection.index:
-1,f=this.selection&&this.selection.index!==void 0?this.items[b]:void 0;if(f&&f.rendered&&this.isEditable(f)&&(f instanceof links.Timeline.ItemRange||f instanceof links.Timeline.ItemFloatingRange)){var b=f.getLeft(this),g=f.getRight(this),h=f.top,f=f.height;d.style.left=b+"px";d.style.top=h+"px";d.style.width=a.dragAreaWidth+"px";d.style.height=f+"px";d.style.display="";c.removeChild(d);c.appendChild(d);e.style.left=g-a.dragAreaWidth+"px";e.style.top=h+"px";e.style.width=a.dragAreaWidth+"px";e.style.height=
f+"px";e.style.display="";c.removeChild(e);c.appendChild(e)}else d.style.display="none",e.style.display="none"};
links.Timeline.prototype.repaintNavigation=function(){var a=this,b=this.options,c=this.dom,d=c.frame,e=c.navBar;if(!e){var f=b.showButtonNew&&b.editable,g=b.showNavigation&&(b.zoomable||b.moveable);if(g||f)e=document.createElement("DIV"),e.style.position="absolute",e.className="timeline-navigation ui-widget ui-state-highlight ui-corner-all",b.groupsOnRight?e.style.left="10px":e.style.right="10px",b.axisOnTop?e.style.bottom="10px":e.style.top="10px",c.navBar=e,d.appendChild(e);if(f)e.addButton=document.createElement("DIV"),
e.addButton.className="timeline-navigation-new",e.addButton.title=b.CREATE_NEW_EVENT,c=document.createElement("SPAN"),c.className="ui-icon ui-icon-circle-plus",e.addButton.appendChild(c),links.Timeline.addEventListener(e.addButton,"mousedown",function(c){links.Timeline.preventDefault(c);links.Timeline.stopPropagation(c);c=a.screenToTime(a.size.contentWidth/2);b.snapEvents&&a.step.snap(c);a.addItem({start:c,content:b.NEW,group:a.groups.length?a.groups[0].content:void 0},!0);c=a.items.length-1;a.selectItem(c);
a.applyAdd=!0;a.trigger("add");a.applyAdd?(a.render({animate:!1}),a.selectItem(c)):a.deleteItem(c)}),e.appendChild(e.addButton);f&&g&&links.Timeline.addClassName(e.addButton,"timeline-navigation-new-line");if(g){if(b.zoomable)e.zoomInButton=document.createElement("DIV"),e.zoomInButton.className="timeline-navigation-zoom-in",e.zoomInButton.title=this.options.ZOOM_IN,f=document.createElement("SPAN"),f.className="ui-icon ui-icon-circle-zoomin",e.zoomInButton.appendChild(f),links.Timeline.addEventListener(e.zoomInButton,
"mousedown",function(b){links.Timeline.preventDefault(b);links.Timeline.stopPropagation(b);a.zoom(0.4);a.trigger("rangechange");a.trigger("rangechanged")}),e.appendChild(e.zoomInButton),e.zoomOutButton=document.createElement("DIV"),e.zoomOutButton.className="timeline-navigation-zoom-out",e.zoomOutButton.title=this.options.ZOOM_OUT,f=document.createElement("SPAN"),f.className="ui-icon ui-icon-circle-zoomout",e.zoomOutButton.appendChild(f),links.Timeline.addEventListener(e.zoomOutButton,"mousedown",
function(b){links.Timeline.preventDefault(b);links.Timeline.stopPropagation(b);a.zoom(-0.4);a.trigger("rangechange");a.trigger("rangechanged")}),e.appendChild(e.zoomOutButton);if(b.moveable)e.moveLeftButton=document.createElement("DIV"),e.moveLeftButton.className="timeline-navigation-move-left",e.moveLeftButton.title=this.options.MOVE_LEFT,f=document.createElement("SPAN"),f.className="ui-icon ui-icon-circle-arrow-w",e.moveLeftButton.appendChild(f),links.Timeline.addEventListener(e.moveLeftButton,
"mousedown",function(b){links.Timeline.preventDefault(b);links.Timeline.stopPropagation(b);a.move(-0.2);a.trigger("rangechange");a.trigger("rangechanged")}),e.appendChild(e.moveLeftButton),e.moveRightButton=document.createElement("DIV"),e.moveRightButton.className="timeline-navigation-move-right",e.moveRightButton.title=this.options.MOVE_RIGHT,f=document.createElement("SPAN"),f.className="ui-icon ui-icon-circle-arrow-e",e.moveRightButton.appendChild(f),links.Timeline.addEventListener(e.moveRightButton,
"mousedown",function(b){links.Timeline.preventDefault(b);links.Timeline.stopPropagation(b);a.move(0.2);a.trigger("rangechange");a.trigger("rangechanged")}),e.appendChild(e.moveRightButton)}}};links.Timeline.prototype.setCurrentTime=function(a){this.clientTimeOffset=a.valueOf()-(new Date).valueOf();this.repaintCurrentTime()};links.Timeline.prototype.getCurrentTime=function(){return new Date((new Date).valueOf()+this.clientTimeOffset)};
links.Timeline.prototype.setCustomTime=function(a){this.customTime=new Date(a.valueOf());this.repaintCustomTime()};links.Timeline.prototype.getCustomTime=function(){return new Date(this.customTime.valueOf())};links.Timeline.prototype.setScale=function(a,b){this.step.setScale(a,b);this.render()};links.Timeline.prototype.setAutoScale=function(a){this.step.setAutoScale(a);this.render()};links.Timeline.prototype.redraw=function(){this.setData(this.data)};links.Timeline.prototype.checkResize=function(){this.render()};
links.Timeline.prototype.isEditable=function(a){return a?a.editable!=void 0?a.editable:this.options.editable:!1};links.Timeline.prototype.recalcConversion=function(){this.conversion.offset=this.start.valueOf();this.conversion.factor=this.size.contentWidth/(this.end.valueOf()-this.start.valueOf())};links.Timeline.prototype.screenToTime=function(a){var b=this.conversion;return new Date(a/b.factor+b.offset)};
links.Timeline.prototype.timeToScreen=function(a){var b=this.conversion;return(a.valueOf()-b.offset)*b.factor};
links.Timeline.prototype.onTouchStart=function(a){var b=this.eventParams,c=this;if(!b.touchDown){b.touchDown=!0;b.zoomed=!1;this.onMouseDown(a);if(!b.onTouchMove)b.onTouchMove=function(a){c.onTouchMove(a)},links.Timeline.addEventListener(document,"touchmove",b.onTouchMove);if(!b.onTouchEnd)b.onTouchEnd=function(a){c.onTouchEnd(a)},links.Timeline.addEventListener(document,"touchend",b.onTouchEnd);var d=this.getItemIndex(links.Timeline.getTarget(a));b.doubleTapStartPrev=b.doubleTapStart;b.doubleTapStart=
(new Date).valueOf();b.doubleTapItemPrev=b.doubleTapItem;b.doubleTapItem=d;links.Timeline.preventDefault(a)}};links.Timeline.prototype.onTouchMove=function(a){var b=this.eventParams;if(a.scale&&a.scale!==1)b.zoomed=!0;if(b.zoomed){if(this.options.zoomable){b.zoomed=!0;var c=b.end.valueOf()-b.start.valueOf(),d=c/a.scale-c,c=new Date(parseInt(b.start.valueOf()-d/2)),b=new Date(parseInt(b.end.valueOf()+d/2));this.setVisibleChartRange(c,b);this.trigger("rangechange")}}else this.onMouseMove(a);links.Timeline.preventDefault(a)};
links.Timeline.prototype.onTouchEnd=function(a){var b=this.eventParams;b.touchDown=!1;b.zoomed&&this.trigger("rangechanged");b.onTouchMove&&(links.Timeline.removeEventListener(document,"touchmove",b.onTouchMove),delete b.onTouchMove);b.onTouchEnd&&(links.Timeline.removeEventListener(document,"touchend",b.onTouchEnd),delete b.onTouchEnd);this.onMouseUp(a);var c=(new Date).valueOf();this.getItemIndex(links.Timeline.getTarget(a));if(b.doubleTapStartPrev&&c-b.doubleTapStartPrev<500&&b.doubleTapItem==
b.doubleTapItemPrev)b.touchDown=!0,this.onDblClick(a),b.touchDown=!1;links.Timeline.preventDefault(a)};
links.Timeline.prototype.onMouseDown=function(a){var a=a||window.event,b=this.eventParams,c=this.options,d=this.dom;if((a.which?a.which==1:a.button==1)||b.touchDown){b.mouseX=links.Timeline.getPageX(a);b.mouseY=links.Timeline.getPageY(a);b.frameLeft=links.Timeline.getAbsoluteLeft(this.dom.content);b.frameTop=links.Timeline.getAbsoluteTop(this.dom.content);b.previousLeft=0;b.previousOffset=0;b.moved=!1;b.start=new Date(this.start.valueOf());b.end=new Date(this.end.valueOf());b.target=links.Timeline.getTarget(a);
var e=d.items&&d.items.dragRight?d.items.dragRight:void 0;b.itemDragLeft=b.target===(d.items&&d.items.dragLeft?d.items.dragLeft:void 0);b.itemDragRight=b.target===e;b.itemDragLeft||b.itemDragRight?(b.itemIndex=this.selection&&this.selection.index!==void 0?this.selection.index:void 0,delete b.clusterIndex):(b.itemIndex=this.getItemIndex(b.target),b.clusterIndex=this.getClusterIndex(b.target));b.customTime=b.target===d.customTime||b.target.parentNode===d.customTime?this.customTime:void 0;b.addItem=
c.editable&&a.ctrlKey;if(b.addItem){var f=b.mouseY-b.frameTop,d=this.screenToTime(b.mouseX-b.frameLeft);c.snapEvents&&this.step.snap(d);e=new Date(d.valueOf());c=c.NEW;f=this.getGroupFromHeight(f);this.addItem({start:d,end:e,content:c,group:this.getGroupName(f)});b.itemIndex=this.items.length-1;delete b.clusterIndex;this.selectItem(b.itemIndex);b.itemDragRight=!0}c=this.items[b.itemIndex];d=this.isSelected(b.itemIndex);b.editItem=d&&this.isEditable(c);b.editItem?(b.itemStart=c.start,b.itemEnd=c.end,
b.itemGroup=c.group,b.itemLeft=c.getLeft(this),b.itemRight=c.getRight(this)):this.dom.frame.style.cursor="move";if(!b.touchDown){var g=this;if(!b.onMouseMove)b.onMouseMove=function(a){g.onMouseMove(a)},links.Timeline.addEventListener(document,"mousemove",b.onMouseMove);if(!b.onMouseUp)b.onMouseUp=function(a){g.onMouseUp(a)},links.Timeline.addEventListener(document,"mouseup",b.onMouseUp);links.Timeline.preventDefault(a)}}};
links.Timeline.prototype.onMouseMove=function(a){var a=a||window.event,b=this.eventParams,c=this.size,d=this.dom,e=this.options,f=links.Timeline.getPageX(a),g=links.Timeline.getPageY(a);if(b.mouseX==void 0)b.mouseX=f;if(b.mouseY==void 0)b.mouseY=g;f-=b.mouseX;if(Math.abs(f)>=1)b.moved=!0;if(b.customTime)this.customTime=this.screenToTime(this.timeToScreen(b.customTime)+f),this.repaintCustomTime(),this.trigger("timechange");else if(b.editItem){var d=this.items[b.itemIndex],h,i;if(b.itemDragLeft&&e.timeChangeable){h=
b.itemLeft+f;i=b.itemRight;d.start=this.screenToTime(h);e.snapEvents&&(this.step.snap(d.start),h=this.timeToScreen(d.start));if(h>i)h=i,d.start=this.screenToTime(h);this.trigger("change")}else if(b.itemDragRight&&e.timeChangeable){h=b.itemLeft;i=b.itemRight+f;d.end=this.screenToTime(i);e.snapEvents&&(this.step.snap(d.end),i=this.timeToScreen(d.end));if(i<h)i=h,d.end=this.screenToTime(i);this.trigger("change")}else if(e.timeChangeable){h=b.itemLeft+f;d.start=this.screenToTime(h);e.snapEvents&&(this.step.snap(d.start),
h=this.timeToScreen(d.start));if(d.end)i=h+(b.itemRight-b.itemLeft),d.end=this.screenToTime(i);this.trigger("change")}d.setPosition(h,i);c=b.itemDragLeft||b.itemDragRight;this.groups.length&&!c?(b=this.getGroupFromHeight(g-b.frameTop),e.groupsChangeable&&d.group!==b?this.changeItem(this.items.indexOf(d),{group:this.getGroupName(b)}):(this.repaintDeleteButton(),this.repaintDragAreas())):this.render()}else if(e.moveable)e=b.end.valueOf()-b.start.valueOf(),g=Math.round(-f/c.contentWidth*e),f=new Date(b.start.valueOf()+
g),this.applyRange(f,new Date(b.end.valueOf()+g)),(f=this.start.valueOf()-f.valueOf())&&(g+=f),this.recalcConversion(),f=b.previousLeft||0,h=parseFloat(d.items.frame.style.left)||0,f=(b.previousOffset||0)+(h-f),c=-g/e*c.contentWidth+f,d.items.frame.style.left=c+"px",b.previousOffset=f,b.previousLeft=parseFloat(d.items.frame.style.left)||c,this.repaintCurrentTime(),this.repaintCustomTime(),this.repaintAxis(),this.trigger("rangechange");links.Timeline.preventDefault(a)};
links.Timeline.prototype.onMouseUp=function(){var a=this.eventParams,b=this.options;this.dom.frame.style.cursor="auto";a.onMouseMove&&(links.Timeline.removeEventListener(document,"mousemove",a.onMouseMove),delete a.onMouseMove);a.onMouseUp&&(links.Timeline.removeEventListener(document,"mouseup",a.onMouseUp),delete a.onMouseUp);if(a.customTime)this.trigger("timechanged");else if(a.editItem){if(b=this.items[a.itemIndex],a.moved||a.addItem)this.applyAdd=this.applyChange=!0,this.updateData(a.itemIndex,
{start:b.start,end:b.end}),this.trigger(a.addItem?"add":"changed"),b=this.items[a.itemIndex],a.addItem?this.applyAdd?this.updateData(a.itemIndex,{start:b.start,end:b.end,content:b.content,group:this.getGroupName(b.group)}):this.deleteItem(a.itemIndex):this.applyChange?this.updateData(a.itemIndex,{start:b.start,end:b.end}):(delete this.applyChange,delete this.applyAdd,b=this.items[a.itemIndex],b.start=a.itemStart,b.end=a.itemEnd,b.group=a.itemGroup,b.setPosition(a.itemLeft,a.itemRight),this.updateData(a.itemIndex,
{start:a.itemStart,end:a.itemEnd})),this.options.cluster&&this.clusterGenerator.updateData(),this.render()}else!a.moved&&!a.zoomed?a.target===this.dom.items.deleteButton?this.selection&&this.selection.index!==void 0&&this.confirmDeleteItem(this.selection.index):b.selectable&&(a.itemIndex!=void 0?this.isSelected(a.itemIndex)||(this.selectItem(a.itemIndex),this.trigger("select")):a.clusterIndex!=void 0?(this.selectCluster(a.clusterIndex),this.trigger("select")):b.unselectable&&(this.unselectItem(),
this.trigger("select"))):(this.render(),(a.moved&&b.moveable||a.zoomed&&b.zoomable)&&this.trigger("rangechanged"))};
links.Timeline.prototype.onDblClick=function(a){var b=this.eventParams,c=this.options,d=this.dom,a=a||window.event;if(b.itemIndex!=void 0)(b=this.items[b.itemIndex])&&this.isEditable(b)&&this.trigger("edit");else if(c.editable){b.mouseX=links.Timeline.getPageX(a);b.mouseY=links.Timeline.getPageY(a);var e=b.mouseX-links.Timeline.getAbsoluteLeft(d.content),d=b.mouseY-links.Timeline.getAbsoluteTop(d.content),e=this.screenToTime(e);c.snapEvents&&this.step.snap(e);c=c.NEW;d=this.getGroupFromHeight(d);
this.addItem({start:e,content:c,group:this.getGroupName(d)},!0);b.itemIndex=this.items.length-1;this.selectItem(b.itemIndex);this.applyAdd=!0;this.trigger("add");this.applyAdd?(this.render({animate:!1}),this.selectItem(b.itemIndex)):this.deleteItem(b.itemIndex)}links.Timeline.preventDefault(a)};
links.Timeline.prototype.onMouseWheel=function(a){if(this.options.zoomable){if(!a)a=window.event;var b=0;a.wheelDelta?b=a.wheelDelta/120:a.detail&&(b=-a.detail/3);if(b){var c=this,d=function(){var d=b/5,f=links.Timeline.getAbsoluteLeft(c.dom.content),g=links.Timeline.getPageX(a),f=g!=void 0&&f!=void 0?c.screenToTime(g-f):void 0;c.zoom(d,f);c.trigger("rangechange");c.trigger("rangechanged")};a.shiftKey?(c.move(b*-0.2),c.trigger("rangechange"),c.trigger("rangechanged")):d()}links.Timeline.preventDefault(a)}};
links.Timeline.prototype.zoom=function(a,b){b==void 0&&(b=new Date((this.start.valueOf()+this.end.valueOf())/2));a>=1&&(a=0.9);a<=-1&&(a=-0.9);a<0&&(a/=1+a);var c=new Date(this.start.valueOf()-(this.start.valueOf()-b)*a),d=new Date(this.end.valueOf()-(this.end.valueOf()-b)*a),e=d.valueOf()-c.valueOf(),f=Number(this.options.zoomMin)||10;f<10&&(f=10);e>=f&&(this.applyRange(c,d,b),this.render({animate:this.options.animate&&this.options.animateZoom}))};
links.Timeline.prototype.move=function(a){var b=this.end.valueOf()-this.start.valueOf();this.applyRange(new Date(this.start.valueOf()+b*a),new Date(this.end.valueOf()+b*a));this.render()};
links.Timeline.prototype.applyRange=function(a,b,c){var a=a.valueOf(),b=b.valueOf(),d=b-a,e=this.options,f=Number(e.zoomMin)||10;f<10&&(f=10);var g=Number(e.zoomMax)||31536E10;g>31536E10&&(g=31536E10);g<f&&(g=f);var h=e.min?e.min.valueOf():void 0,e=e.max?e.max.valueOf():void 0;h!=void 0&&e!=void 0&&(h>=e&&(e=h+864E5),g>e-h&&(g=e-h),f>e-h&&(f=e-h));a>=b&&(b+=864E5);if(d<f){f-=d;var i=c?(c.valueOf()-a)/d:0.5;a-=Math.round(f*i);b+=Math.round(f*(1-i))}d>g&&(f=d-g,i=c?(c.valueOf()-a)/d:0.5,a+=Math.round(f*
i),b-=Math.round(f*(1-i)));h!=void 0&&(f=a-h,f<0&&(a-=f,b-=f));e!=void 0&&(f=e-b,f<0&&(a+=f,b+=f));this.start=new Date(a);this.end=new Date(b)};links.Timeline.prototype.confirmDeleteItem=function(a){this.applyDelete=!0;this.isSelected(a)||this.selectItem(a);this.trigger("delete");this.applyDelete&&this.deleteItem(a);delete this.applyDelete};
links.Timeline.prototype.deleteItem=function(a,b){if(a>=this.items.length)throw"Cannot delete row, index out of range";this.selection&&this.selection.index!==void 0&&(this.selection.index==a?this.unselectItem():this.selection.index>a&&this.selection.index--);this.renderQueue.hide.push(this.items.splice(a,1)[0]);if(this.data)if(google&&google.visualization&&this.data instanceof google.visualization.DataTable)this.data.removeRow(a);else if(links.Timeline.isArray(this.data))this.data.splice(a,1);else throw"Cannot delete row from data, unknown data type";
this.options.cluster&&this.clusterGenerator.updateData();b||this.render()};
links.Timeline.prototype.deleteAllItems=function(){this.unselectItem();this.clearItems();this.deleteGroups();if(this.data)if(google&&google.visualization&&this.data instanceof google.visualization.DataTable)this.data.removeRows(0,this.data.getNumberOfRows());else if(links.Timeline.isArray(this.data))this.data.splice(0,this.data.length);else throw"Cannot delete row from data, unknown data type";this.options.cluster&&this.clusterGenerator.updateData();this.render()};
links.Timeline.prototype.getGroupFromHeight=function(a){var b,c,d=this.groups;if(d.length){if(this.options.axisOnTop)for(b=d.length-1;b>=0;b--){if(c=d[b],a>c.top)break}else for(b=0;b<d.length;b++)if(c=d[b],a>c.top)break;return c}};
links.Timeline.Item=function(a,b){if(a)this.start=a.start,this.end=a.end,this.content=a.content,this.className=a.className,this.editable=a.editable,this.group=a.group,this.type=a.type;this.dotHeight=this.dotWidth=this.lineWidth=this.height=this.width=this.left=this.top=0;this.rendered=!1;if(b)for(var c in b)b.hasOwnProperty(c)&&(this[c]=b[c])};links.Timeline.Item.prototype.reflow=function(){return!1};
links.Timeline.Item.prototype.getImageUrls=function(a){this.dom&&links.imageloader.filterImageUrls(this.dom,a)};links.Timeline.Item.prototype.select=function(){};links.Timeline.Item.prototype.unselect=function(){};links.Timeline.Item.prototype.createDOM=function(){};links.Timeline.Item.prototype.showDOM=function(){};links.Timeline.Item.prototype.hideDOM=function(){};links.Timeline.Item.prototype.updateDOM=function(){};links.Timeline.Item.prototype.updatePosition=function(){};
links.Timeline.Item.prototype.isRendered=function(){return this.rendered};links.Timeline.Item.prototype.isVisible=function(){return!1};links.Timeline.Item.prototype.setPosition=function(){};links.Timeline.Item.prototype.getLeft=function(){return 0};links.Timeline.Item.prototype.getRight=function(){return 0};links.Timeline.Item.prototype.getWidth=function(){return this.width||0};links.Timeline.ItemBox=function(a,b){links.Timeline.Item.call(this,a,b)};links.Timeline.ItemBox.prototype=new links.Timeline.Item;
links.Timeline.ItemBox.prototype.reflow=function(){var a=this.dom,b=a.dot.offsetHeight,c=a.dot.offsetWidth,a=a.line.offsetWidth,d=this.dotHeight!=b||this.dotWidth!=c||this.lineWidth!=a;this.dotHeight=b;this.dotWidth=c;this.lineWidth=a;return d};links.Timeline.ItemBox.prototype.select=function(){var a=this.dom;links.Timeline.addClassName(a,"timeline-event-selected ui-state-active");links.Timeline.addClassName(a.line,"timeline-event-selected ui-state-active");links.Timeline.addClassName(a.dot,"timeline-event-selected ui-state-active")};
links.Timeline.ItemBox.prototype.unselect=function(){var a=this.dom;links.Timeline.removeClassName(a,"timeline-event-selected ui-state-active");links.Timeline.removeClassName(a.line,"timeline-event-selected ui-state-active");links.Timeline.removeClassName(a.dot,"timeline-event-selected ui-state-active")};
links.Timeline.ItemBox.prototype.createDOM=function(){var a=document.createElement("DIV");a.style.position="absolute";a.style.left=this.left+"px";a.style.top=this.top+"px";var b=document.createElement("DIV");b.className="timeline-event-content";b.innerHTML=this.content;a.appendChild(b);b=document.createElement("DIV");b.style.position="absolute";b.style.width="0px";a.line=b;b=document.createElement("DIV");b.style.position="absolute";b.style.width="0px";b.style.height="0px";a.dot=b;this.dom=a;this.updateDOM();
return a};links.Timeline.ItemBox.prototype.showDOM=function(a){var b=this.dom;b||(b=this.createDOM());if(b.parentNode!=a)b.parentNode&&this.hideDOM(),a.appendChild(b),a.insertBefore(b.line,a.firstChild),a.appendChild(b.dot),this.rendered=!0};links.Timeline.ItemBox.prototype.hideDOM=function(){var a=this.dom;if(a)a.parentNode&&a.parentNode.removeChild(a),a.line&&a.line.parentNode&&a.line.parentNode.removeChild(a.line),a.dot&&a.dot.parentNode&&a.dot.parentNode.removeChild(a.dot),this.rendered=!1};
links.Timeline.ItemBox.prototype.updateDOM=function(){var a=this.dom;if(a){var b=a.line,c=a.dot;a.firstChild.innerHTML=this.content;a.className="timeline-event timeline-event-box ui-widget ui-state-default";b.className="timeline-event timeline-event-line ui-widget ui-state-default";c.className="timeline-event timeline-event-dot ui-widget ui-state-default";this.isCluster&&(links.Timeline.addClassName(a,"timeline-event-cluster ui-widget-header"),links.Timeline.addClassName(b,"timeline-event-cluster ui-widget-header"),
links.Timeline.addClassName(c,"timeline-event-cluster ui-widget-header"));this.className&&(links.Timeline.addClassName(a,this.className),links.Timeline.addClassName(b,this.className),links.Timeline.addClassName(c,this.className))}};
links.Timeline.ItemBox.prototype.updatePosition=function(a){var b=this.dom;if(b){var c=a.timeToScreen(this.start),d=a.options.axisOnTop,e=a.size.axis.top,f=a.size.axis.height,a=a.options.box&&a.options.box.align?a.options.box.align:void 0;b.style.top=this.top+"px";b.style.left=a=="right"?c-this.width+"px":a=="left"?c+"px":c-this.width/2+"px";a=b.line;b=b.dot;a.style.left=c-this.lineWidth/2+"px";b.style.left=c-this.dotWidth/2+"px";d?(a.style.top=f+"px",a.style.height=Math.max(this.top-f,0)+"px",b.style.top=
f-this.dotHeight/2+"px"):(a.style.top=this.top+this.height+"px",a.style.height=Math.max(e-this.top-this.height,0)+"px",b.style.top=e-this.dotHeight/2+"px")}};links.Timeline.ItemBox.prototype.isVisible=function(a,b){return this.cluster?!1:this.start>a&&this.start<b};
links.Timeline.ItemBox.prototype.setPosition=function(a){var b=this.dom;b.style.left=a-this.width/2+"px";b.line.style.left=a-this.lineWidth/2+"px";b.dot.style.left=a-this.dotWidth/2+"px";if(this.group)this.top=this.group.top,b.style.top=this.top+"px"};links.Timeline.ItemBox.prototype.getLeft=function(a){var b=a.options.box&&a.options.box.align?a.options.box.align:void 0,a=a.timeToScreen(this.start);a-=b=="right"?width:this.width/2;return a};
links.Timeline.ItemBox.prototype.getRight=function(a){var b=a.options.box&&a.options.box.align?a.options.box.align:void 0,a=a.timeToScreen(this.start);return b=="right"?a:b=="left"?a+this.width:a+this.width/2};links.Timeline.ItemRange=function(a,b){links.Timeline.Item.call(this,a,b)};links.Timeline.ItemRange.prototype=new links.Timeline.Item;links.Timeline.ItemRange.prototype.select=function(){links.Timeline.addClassName(this.dom,"timeline-event-selected ui-state-active")};
links.Timeline.ItemRange.prototype.unselect=function(){links.Timeline.removeClassName(this.dom,"timeline-event-selected ui-state-active")};links.Timeline.ItemRange.prototype.createDOM=function(){var a=document.createElement("DIV");a.style.position="absolute";var b=document.createElement("DIV");b.className="timeline-event-content";a.appendChild(b);this.dom=a;this.updateDOM();return a};
links.Timeline.ItemRange.prototype.showDOM=function(a){var b=this.dom;b||(b=this.createDOM());if(b.parentNode!=a)b.parentNode&&this.hideDOM(),a.appendChild(b),this.rendered=!0};links.Timeline.ItemRange.prototype.hideDOM=function(){var a=this.dom;if(a)a.parentNode&&a.parentNode.removeChild(a),this.rendered=!1};
links.Timeline.ItemRange.prototype.updateDOM=function(){var a=this.dom;if(a)a.firstChild.innerHTML=this.content,a.className="timeline-event timeline-event-range ui-widget ui-state-default",this.isCluster&&links.Timeline.addClassName(a,"timeline-event-cluster ui-widget-header"),this.className&&links.Timeline.addClassName(a,this.className)};
links.Timeline.ItemRange.prototype.updatePosition=function(a){var b=this.dom;if(b){var c=a.size.contentWidth,d=a.timeToScreen(this.start),a=a.timeToScreen(this.end);d<-c&&(d=-c);a>2*c&&(a=2*c);b.style.top=this.top+"px";b.style.left=d+"px";b.style.width=Math.max(a-d,1)+"px"}};links.Timeline.ItemRange.prototype.isVisible=function(a,b){return this.cluster?!1:this.end>a&&this.start<b};
links.Timeline.ItemRange.prototype.setPosition=function(a,b){var c=this.dom;c.style.left=a+"px";c.style.width=b-a+"px";if(this.group)this.top=this.group.top,c.style.top=this.top+"px"};links.Timeline.ItemRange.prototype.getLeft=function(a){return a.timeToScreen(this.start)};links.Timeline.ItemRange.prototype.getRight=function(a){return a.timeToScreen(this.end)};links.Timeline.ItemRange.prototype.getWidth=function(a){return a.timeToScreen(this.end)-a.timeToScreen(this.start)};
links.Timeline.ItemFloatingRange=function(a,b){links.Timeline.Item.call(this,a,b)};links.Timeline.ItemFloatingRange.prototype=new links.Timeline.Item;links.Timeline.ItemFloatingRange.prototype.select=function(){links.Timeline.addClassName(this.dom,"timeline-event-selected ui-state-active")};links.Timeline.ItemFloatingRange.prototype.unselect=function(){links.Timeline.removeClassName(this.dom,"timeline-event-selected ui-state-active")};
links.Timeline.ItemFloatingRange.prototype.createDOM=function(){var a=document.createElement("DIV");a.style.position="absolute";var b=document.createElement("DIV");b.className="timeline-event-content";a.appendChild(b);this.dom=a;this.updateDOM();return a};links.Timeline.ItemFloatingRange.prototype.showDOM=function(a){var b=this.dom;b||(b=this.createDOM());if(b.parentNode!=a)b.parentNode&&this.hideDOM(),a.appendChild(b),this.rendered=!0};
links.Timeline.ItemFloatingRange.prototype.hideDOM=function(){var a=this.dom;if(a)a.parentNode&&a.parentNode.removeChild(a),this.rendered=!1};links.Timeline.ItemFloatingRange.prototype.updateDOM=function(){var a=this.dom;if(a)a.firstChild.innerHTML=this.content,a.className="timeline-event timeline-event-range ui-widget ui-state-default",this.isCluster&&links.Timeline.addClassName(a,"timeline-event-cluster ui-widget-header"),this.className&&links.Timeline.addClassName(a,this.className)};
links.Timeline.ItemFloatingRange.prototype.updatePosition=function(a){var b=this.dom;if(b){var c=a.size.contentWidth,d=this.getLeft(a),a=this.getRight(a);d<-c&&(d=-c);a>2*c&&(a=2*c);b.style.top=this.top+"px";b.style.left=d+"px";b.style.width=Math.max(a-d,1)+"px"}};links.Timeline.ItemFloatingRange.prototype.isVisible=function(a,b){return this.cluster?!1:this.end&&this.start?this.end>a&&this.start<b:this.start?this.start<b:this.end?this.end>a:!0};
links.Timeline.ItemFloatingRange.prototype.setPosition=function(a,b){var c=this.dom;c.style.left=a+"px";c.style.width=b-a+"px";if(this.group)this.top=this.group.top,c.style.top=this.top+"px"};links.Timeline.ItemFloatingRange.prototype.getLeft=function(a){return this.start?a.timeToScreen(this.start):0};links.Timeline.ItemFloatingRange.prototype.getRight=function(a){return this.end?a.timeToScreen(this.end):a.size.contentWidth};
links.Timeline.ItemFloatingRange.prototype.getWidth=function(a){return this.getRight(a)-this.getLeft(a)};links.Timeline.ItemDot=function(a,b){links.Timeline.Item.call(this,a,b)};links.Timeline.ItemDot.prototype=new links.Timeline.Item;links.Timeline.ItemDot.prototype.reflow=function(){var a=this.dom,b=a.dot.offsetHeight,c=a.dot.offsetWidth,a=a.content.offsetHeight,d=this.dotHeight!=b||this.dotWidth!=c||this.contentHeight!=a;this.dotHeight=b;this.dotWidth=c;this.contentHeight=a;return d};
links.Timeline.ItemDot.prototype.select=function(){links.Timeline.addClassName(this.dom,"timeline-event-selected ui-state-active")};links.Timeline.ItemDot.prototype.unselect=function(){links.Timeline.removeClassName(this.dom,"timeline-event-selected ui-state-active")};
links.Timeline.ItemDot.prototype.createDOM=function(){var a=document.createElement("DIV");a.style.position="absolute";var b=document.createElement("DIV");b.className="timeline-event-content";a.appendChild(b);var c=document.createElement("DIV");c.style.position="absolute";c.style.width="0px";c.style.height="0px";a.appendChild(c);a.content=b;a.dot=c;this.dom=a;this.updateDOM();return a};
links.Timeline.ItemDot.prototype.showDOM=function(a){var b=this.dom;b||(b=this.createDOM());if(b.parentNode!=a)b.parentNode&&this.hideDOM(),a.appendChild(b),this.rendered=!0};links.Timeline.ItemDot.prototype.hideDOM=function(){var a=this.dom;if(a)a.parentNode&&a.parentNode.removeChild(a),this.rendered=!1};
links.Timeline.ItemDot.prototype.updateDOM=function(){if(this.dom){var a=this.dom,b=a.dot;a.firstChild.innerHTML=this.content;a.className="timeline-event-dot-container";b.className="timeline-event timeline-event-dot ui-widget ui-state-default";this.isCluster&&(links.Timeline.addClassName(a,"timeline-event-cluster ui-widget-header"),links.Timeline.addClassName(b,"timeline-event-cluster ui-widget-header"));this.className&&(links.Timeline.addClassName(a,this.className),links.Timeline.addClassName(b,
this.className))}};links.Timeline.ItemDot.prototype.updatePosition=function(a){var b=this.dom;if(b)a=a.timeToScreen(this.start),b.style.top=this.top+"px",b.style.left=a-this.dotWidth/2+"px",b.content.style.marginLeft=1.5*this.dotWidth+"px",b.dot.style.top=(this.height-this.dotHeight)/2+"px"};links.Timeline.ItemDot.prototype.isVisible=function(a,b){return this.cluster?!1:this.start>a&&this.start<b};
links.Timeline.ItemDot.prototype.setPosition=function(a){var b=this.dom;b.style.left=a-this.dotWidth/2+"px";if(this.group)this.top=this.group.top,b.style.top=this.top+"px"};links.Timeline.ItemDot.prototype.getLeft=function(a){return a.timeToScreen(this.start)};links.Timeline.ItemDot.prototype.getRight=function(a){return a.timeToScreen(this.start)+this.width};
links.Timeline.prototype.getItem=function(a){if(a>=this.items.length)throw"Cannot get item, index out of range";var b=this.data;if(google&&google.visualization&&b instanceof google.visualization.DataTable){var c=links.Timeline.mapColumnIds(b),b={},d;for(d in c)c.hasOwnProperty(d)&&(b[d]=this.data.getValue(a,c[d]))}else if(links.Timeline.isArray(this.data))b=links.Timeline.clone(this.data[a]);else throw"Unknown data type. DataTable or Array expected.";a=this.items[a];b.start=new Date(a.start.valueOf());
if(a.end)b.end=new Date(a.end.valueOf());b.content=a.content;if(a.group)b.group=this.getGroupName(a.group);if(a.className)b.className=a.className;if(typeof a.editable!=="undefined")b.editable=a.editable;if(a.type)b.type=a.type;return b};
links.Timeline.prototype.getCluster=function(a){if(a>=this.clusters.length)throw"Cannot get cluster, index out of range";var b={},c=this.clusters[a],a=c.items;b.start=new Date(c.start.valueOf());if(c.type)b.type=c.type;b.items=[];for(c=0;c<a.length;c++)for(var d=0;d<this.items.length;d++)if(this.items[d]==a[c]){b.items.push(this.getItem(d));break}return b};links.Timeline.prototype.addItem=function(a,b){this.addItems([a],b)};
links.Timeline.prototype.addItems=function(a,b){var c=this,d=this.items;a.forEach(function(a){var b=d.length;d.push(c.createItem(a));c.updateData(b,a)});this.options.cluster&&this.clusterGenerator.updateData();b||this.render({animate:!1})};
links.Timeline.prototype.createItem=function(a){var b=a.type||(a.end?"range":this.options.style),c=links.Timeline.clone(a);c.type=b;c.group=this.getGroup(a.group);a=this.options;a=a.axisOnTop?this.size.axis.height+a.eventMarginAxis+a.eventMargin/2:this.size.contentHeight-a.eventMarginAxis-a.eventMargin/2;if(b in this.itemTypes)return new this.itemTypes[b](c,{top:a});console.log('ERROR: Unknown event type "'+b+'"');return new links.Timeline.Item(c,{top:a})};
links.Timeline.prototype.changeItem=function(a,b,c){var d=this.items[a];if(!d)throw"Cannot change item, index out of range";var e=this.createItem({start:b.hasOwnProperty("start")?b.start:d.start,end:b.hasOwnProperty("end")?b.end:d.end,content:b.hasOwnProperty("content")?b.content:d.content,group:b.hasOwnProperty("group")?b.group:this.getGroupName(d.group),className:b.hasOwnProperty("className")?b.className:d.className,editable:b.hasOwnProperty("editable")?b.editable:d.editable,type:b.hasOwnProperty("type")?
b.type:d.type});this.items[a]=e;this.renderQueue.hide.push(d);this.renderQueue.show.push(e);this.updateData(a,b);this.options.cluster&&this.clusterGenerator.updateData();c||(this.render({animate:!1}),this.selection&&this.selection.index==a&&e.select())};links.Timeline.prototype.deleteGroups=function(){this.groups=[];this.groupIndexes={}};
links.Timeline.prototype.getGroup=function(a){var b=this.groups,c=this.groupIndexes,d=void 0,d=c[a];if(d==void 0&&a!=void 0){d={content:a,labelTop:0,lineTop:0};b.push(d);this.options.groupsOrder==!0?b=b.sort(function(a,b){return a.content>b.content?1:a.content<b.content?-1:0}):typeof this.options.groupsOrder=="function"&&(b=b.sort(this.options.groupsOrder));for(var a=0,e=b.length;a<e;a++)c[b[a].content]=a}else d=b[d];return d};links.Timeline.prototype.getGroupName=function(a){return a?a.content:void 0};
links.Timeline.prototype.cancelChange=function(){this.applyChange=!1};links.Timeline.prototype.cancelDelete=function(){this.applyDelete=!1};links.Timeline.prototype.cancelAdd=function(){this.applyAdd=!1};
links.Timeline.prototype.setSelection=function(a){if(a!=void 0&&a.length>0){if(a[0].row!=void 0){var b=a[0].row;if(this.items[b])return a=this.items[b],this.selectItem(b),b=a.start,a=a.end,a=a!=void 0?(a.valueOf()+b.valueOf())/2:b.valueOf(),b=this.end.valueOf()-this.start.valueOf(),this.setVisibleChartRange(new Date(a-b/2),new Date(a+b/2)),!0}}else this.unselectItem();return!1};
links.Timeline.prototype.getSelection=function(){var a=[];this.selection&&(this.selection.index!==void 0?a.push({row:this.selection.index}):a.push({cluster:this.selection.cluster}));return a};links.Timeline.prototype.selectItem=function(a){this.unselectItem();this.selection=void 0;if(this.items[a]!=void 0){var b=this.items[a];this.selection={index:a};if(b&&b.dom){if(this.isEditable(b))b.dom.style.cursor="move";b.select()}this.repaintDeleteButton();this.repaintDragAreas()}};
links.Timeline.prototype.selectCluster=function(a){this.unselectItem();this.selection=void 0;if(this.clusters[a]!=void 0)this.selection={cluster:a},this.repaintDeleteButton(),this.repaintDragAreas()};links.Timeline.prototype.isSelected=function(a){return this.selection&&this.selection.index==a};
links.Timeline.prototype.unselectItem=function(){if(this.selection&&this.selection.index!==void 0){var a=this.items[this.selection.index];if(a&&a.dom)a.dom.style.cursor="",a.unselect();this.selection=void 0;this.repaintDeleteButton();this.repaintDragAreas()}};
links.Timeline.prototype.stackItems=function(a){a==void 0&&(a=!1);var b=this.stack;if(!b)this.stack=b={};b.sortedItems=this.stackOrder(this.renderedItems);b.finalItems=this.stackCalculateFinal(b.sortedItems);if(a||b.timer){var c=this,d=function(){var a=c.stackMoveOneStep(b.sortedItems,b.finalItems);c.repaint();a?delete b.timer:b.timer=setTimeout(d,30)};if(!b.timer)b.timer=setTimeout(d,30)}else this.stackMoveToFinal(b.sortedItems,b.finalItems)};
links.Timeline.prototype.stackCancelAnimation=function(){this.stack&&this.stack.timer&&(clearTimeout(this.stack.timer),delete this.stack.timer)};links.Timeline.prototype.getItemsByGroup=function(a){for(var b={},c=0;c<a.length;++c){var d=a[c],e="undefined";d.group&&(e=d.group.content?d.group.content:d.group);b[e]||(b[e]=[]);b[e].push(d)}return b};
links.Timeline.prototype.stackOrder=function(a){a=a.concat([]);a.sort(this.options.customStackOrder&&typeof this.options.customStackOrder==="function"?this.options.customStackOrder:function(a,c){return(a instanceof links.Timeline.ItemRange||a instanceof links.Timeline.ItemFloatingRange)&&!(c instanceof links.Timeline.ItemRange||c instanceof links.Timeline.ItemFloatingRange)?-1:!(a instanceof links.Timeline.ItemRange||a instanceof links.Timeline.ItemFloatingRange)&&(c instanceof links.Timeline.ItemRange||
c instanceof links.Timeline.ItemFloatingRange)?1:a.left-c.left});return a};
links.Timeline.prototype.stackCalculateFinal=function(a){var b=this.size,c=this.options,d=c.axisOnTop,e=c.eventMargin,f=c.eventMarginAxis,b=d?b.axis.height+f+e/2:b.contentHeight-f-e/2,g=[],a=this.getItemsByGroup(a);for(j=0;j<this.groups.length;++j){var h=this.groups[j];a[h.content]?(f=this.finalItemsPosition(a[h.content],b,h),f.forEach(function(a){g.push(a)}),d?b+=h.itemsHeight+e:b-=h.itemsHeight+e):d?b+=c.groupMinHeight+e:b-=c.groupMinHeight+e}a.undefined&&(f=this.finalItemsPosition(a.undefined,
b),f.forEach(function(a){g.push(a)}));return g};
links.Timeline.prototype.finalItemsPosition=function(a,b,c){var d,e=this.options,f=e.axisOnTop,e=e.eventMargin,g;g=this.initialItemsPosition(a,b);for(a=0,d=g.length;a<d;a++){var h=g[a],i=null;if(this.options.stackEvents){do if(i=this.stackItemsCheckOverlap(g,a,0,a-1),i!=null)h.top=f?i.top+i.height+e:i.top-h.height-e,h.bottom=h.top+h.height;while(i)}if(c)c.itemsHeight=f?c.itemsHeight?Math.max(c.itemsHeight,h.bottom-b):h.height+e:c.itemsHeight?Math.max(c.itemsHeight,b-h.top):h.height+e}return g};
links.Timeline.prototype.initialItemsPosition=function(a,b){for(var c=this.options.axisOnTop,d=[],e=0,f=a.length;e<f;++e){var g=a[e],h,i=g.height;h=g.getWidth(this);var k=g.getRight(this),m=k-h;h=c?b:b-i;d.push({left:m,top:h,right:k,bottom:h+i,height:i,item:g})}return d};
links.Timeline.prototype.stackMoveOneStep=function(a,b){for(var c=!0,d=0,e=b.length;d<e;d++){var f=b[d],g=f.item,h=parseInt(g.top),i=parseInt(f.top),k=i-h;if(k){var m=i==h?0:i>h?1:-1;Math.abs(k)>4&&(m=k/4);h=parseInt(h+m);h!=i&&(c=!1);g.top=h;g.bottom=g.top+g.height}else g.top=f.top,g.bottom=f.bottom;g.left=f.left;g.right=f.right}return c};
links.Timeline.prototype.stackMoveToFinal=function(a,b){for(var c=0,d=b.length;c<d;c++){var e=b[c],f=e.item;f.left=e.left;f.top=e.top;f.right=e.right;f.bottom=e.bottom}};links.Timeline.prototype.stackItemsCheckOverlap=function(a,b,c,d){for(var e=this.options.eventMargin,f=this.collision,g=a[b];d>=c;d--){var h=a[d];if(f(g,h,e)&&d!=b)return h}};links.Timeline.prototype.collision=function(a,b,c){c==void 0&&(c=0);return a.left-c<b.right&&a.right+c>b.left&&a.top-c<b.bottom&&a.bottom+c>b.top};
links.Timeline.prototype.trigger=function(a){var b=null;switch(a){case "rangechange":case "rangechanged":b={start:new Date(this.start.valueOf()),end:new Date(this.end.valueOf())};break;case "timechange":case "timechanged":b={time:new Date(this.customTime.valueOf())}}links.events.trigger(this,a,b);google&&google.visualization&&google.visualization.events.trigger(this,a,b)};
links.Timeline.prototype.clusterItems=function(){if(this.options.cluster){var a=this.clusterGenerator.getClusters(this.conversion.factor,this.options.clusterMaxItems);if(this.clusters!=a){var b=this.renderQueue;this.clusters&&this.clusters.forEach(function(a){b.hide.push(a);a.items.forEach(function(a){a.cluster=void 0})});a.forEach(function(a){a.items.forEach(function(b){b.cluster=a})});this.clusters=a}}};
links.Timeline.prototype.filterItems=function(){function a(a){a.forEach(function(a){var c=a.rendered,f=a.isVisible(d,e);c!=f&&(c&&b.hide.push(a),f&&b.show.indexOf(a)==-1&&b.show.push(a))})}var b=this.renderQueue,c=this.end-this.start,d=new Date(this.start.valueOf()-c),e=new Date(this.end.valueOf()+c);a(this.items);this.clusters&&a(this.clusters)};links.Timeline.ClusterGenerator=function(a){this.timeline=a;this.clear()};
links.Timeline.ClusterGenerator.prototype.clear=function(){this.items=[];this.groups={};this.clearCache()};links.Timeline.ClusterGenerator.prototype.clearCache=function(){this.cache={};this.cacheLevel=-1;this.cache[this.cacheLevel]=[]};links.Timeline.ClusterGenerator.prototype.setData=function(a,b){this.items=a||[];this.applyOnChangedLevel=this.dataChanged=!0;if(b&&b.applyOnChangedLevel)this.applyOnChangedLevel=b.applyOnChangedLevel};
links.Timeline.ClusterGenerator.prototype.updateData=function(){this.dataChanged=!0;this.applyOnChangedLevel=!1};links.Timeline.ClusterGenerator.prototype.filterData=function(){var a=this.items||[],b={};this.groups=b;a.forEach(function(a){var c=a.group?a.group.content:"",f=b[c];f||(f=[],b[c]=f);f.push(a);if(a.start)a.center=a.end?(a.start.valueOf()+a.end.valueOf())/2:a.start.valueOf()});for(var c in b)b.hasOwnProperty(c)&&b[c].sort(function(a,b){return a.center-b.center});this.dataChanged=!1};
links.Timeline.ClusterGenerator.prototype.getClusters=function(a,b){var c=-1,d=0;a>0&&(c=Math.round(Math.log(100/a)/Math.log(2)),d=Math.pow(2,c));if(this.dataChanged){var e=c!=this.cacheLevel;if(this.applyOnChangedLevel?e:1)this.clearCache(),this.filterData()}this.cacheLevel=c;e=this.cache[c];if(!e){var e=[],f;for(f in this.groups)if(this.groups.hasOwnProperty(f))for(var g=this.groups[f],h=g.length,i=0;i<h;){for(var k=g[i],m=1,l=i-1;l>=0&&k.center-g[l].center<d/2;)g[l].cluster||m++,l--;for(l=i+1;l<
g.length&&g[l].center-k.center<d/2;)m++,l++;for(l=e.length-1;l>=0&&k.center-e[l].center<d/2;)k.group==e[l].group&&m++,l--;if(m>b){for(var m=m-b+1,l=[],s=void 0,q=void 0,o=void 0,p=!1,n=0,u=i;l.length<m&&u<g.length;){var r=g[u],v=r.start.valueOf(),w=r.end?r.end.valueOf():r.start.valueOf();l.push(r);s=n?n/(n+1)*s+1/(n+1)*r.center:r.center;q=q!=void 0?Math.min(q,v):v;o=o!=void 0?Math.max(o,w):w;p=p||r instanceof links.Timeline.ItemRange||r instanceof links.Timeline.ItemFloatingRange;n++;u++}var t,n=
'<div title="'+("Cluster containing "+n+" events. Zoom in to see the individual events.")+'">'+n+" events</div>",k=k.group?k.group.content:void 0;t=p?this.timeline.createItem({start:new Date(q),end:new Date(o),content:n,group:k}):this.timeline.createItem({start:new Date(s),content:n,group:k});t.isCluster=!0;t.items=l;t.items.forEach(function(a){a.cluster=t});e.push(t);i+=m}else delete k.cluster,i+=1}this.cache[c]=e}return e};
links.events=links.events||{listeners:[],indexOf:function(a){for(var b=this.listeners,c=0,d=this.listeners.length;c<d;c++){var e=b[c];if(e&&e.object==a)return c}return-1},addListener:function(a,b,c){var d=this.listeners[this.indexOf(a)];d||(d={object:a,events:{}},this.listeners.push(d));a=d.events[b];a||(a=[],d.events[b]=a);a.indexOf(c)==-1&&a.push(c)},removeListener:function(a,b,c){var a=this.indexOf(a),d=this.listeners[a];if(d){var e=d.events[b];e&&(a=e.indexOf(c),a!=-1&&e.splice(a,1),e.length==
0&&delete d.events[b]);var b=0,c=d.events,f;for(f in c)c.hasOwnProperty(f)&&b++;b==0&&delete this.listeners[a]}},removeAllListeners:function(){this.listeners=[]},trigger:function(a,b,c){if(a=this.listeners[this.indexOf(a)])if(b=a.events[b])for(var a=0,d=b.length;a<d;a++)b[a](c)}};links.Timeline.StepDate=function(a,b,c){this.current=new Date;this._start=new Date;this._end=new Date;this.autoScale=!0;this.scale=links.Timeline.StepDate.SCALE.DAY;this.step=1;this.setRange(a,b,c)};
links.Timeline.StepDate.SCALE={MILLISECOND:1,SECOND:2,MINUTE:3,HOUR:4,DAY:5,WEEKDAY:6,MONTH:7,YEAR:8};links.Timeline.StepDate.prototype.setRange=function(a,b,c){if(a instanceof Date&&b instanceof Date)this._start=a!=void 0?new Date(a.valueOf()):new Date,this._end=b!=void 0?new Date(b.valueOf()):new Date,this.autoScale&&this.setMinimumStep(c)};links.Timeline.StepDate.prototype.start=function(){this.current=new Date(this._start.valueOf());this.roundToMinor()};
links.Timeline.StepDate.prototype.roundToMinor=function(){switch(this.scale){case links.Timeline.StepDate.SCALE.YEAR:this.current.setFullYear(this.step*Math.floor(this.current.getFullYear()/this.step)),this.current.setMonth(0);case links.Timeline.StepDate.SCALE.MONTH:this.current.setDate(1);case links.Timeline.StepDate.SCALE.DAY:case links.Timeline.StepDate.SCALE.WEEKDAY:this.current.setHours(0);case links.Timeline.StepDate.SCALE.HOUR:this.current.setMinutes(0);case links.Timeline.StepDate.SCALE.MINUTE:this.current.setSeconds(0);
case links.Timeline.StepDate.SCALE.SECOND:this.current.setMilliseconds(0)}if(this.step!=1)switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:this.current.setMilliseconds(this.current.getMilliseconds()-this.current.getMilliseconds()%this.step);break;case links.Timeline.StepDate.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()-this.current.getSeconds()%this.step);break;case links.Timeline.StepDate.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()-this.current.getMinutes()%
this.step);break;case links.Timeline.StepDate.SCALE.HOUR:this.current.setHours(this.current.getHours()-this.current.getHours()%this.step);break;case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:this.current.setDate(this.current.getDate()-1-(this.current.getDate()-1)%this.step+1);break;case links.Timeline.StepDate.SCALE.MONTH:this.current.setMonth(this.current.getMonth()-this.current.getMonth()%this.step);break;case links.Timeline.StepDate.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()-
this.current.getFullYear()%this.step)}};links.Timeline.StepDate.prototype.end=function(){return this.current.valueOf()>this._end.valueOf()};
links.Timeline.StepDate.prototype.next=function(){var a=this.current.valueOf();if(this.current.getMonth()<6)switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:this.current=new Date(this.current.valueOf()+this.step);break;case links.Timeline.StepDate.SCALE.SECOND:this.current=new Date(this.current.valueOf()+this.step*1E3);break;case links.Timeline.StepDate.SCALE.MINUTE:this.current=new Date(this.current.valueOf()+this.step*6E4);break;case links.Timeline.StepDate.SCALE.HOUR:this.current=
new Date(this.current.valueOf()+this.step*36E5);var b=this.current.getHours();this.current.setHours(b-b%this.step);break;case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);break;case links.Timeline.StepDate.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case links.Timeline.StepDate.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}else switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:this.current=
new Date(this.current.valueOf()+this.step);break;case links.Timeline.StepDate.SCALE.SECOND:this.current.setSeconds(this.current.getSeconds()+this.step);break;case links.Timeline.StepDate.SCALE.MINUTE:this.current.setMinutes(this.current.getMinutes()+this.step);break;case links.Timeline.StepDate.SCALE.HOUR:this.current.setHours(this.current.getHours()+this.step);break;case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:this.current.setDate(this.current.getDate()+this.step);
break;case links.Timeline.StepDate.SCALE.MONTH:this.current.setMonth(this.current.getMonth()+this.step);break;case links.Timeline.StepDate.SCALE.YEAR:this.current.setFullYear(this.current.getFullYear()+this.step)}if(this.step!=1)switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:this.current.getMilliseconds()<this.step&&this.current.setMilliseconds(0);break;case links.Timeline.StepDate.SCALE.SECOND:this.current.getSeconds()<this.step&&this.current.setSeconds(0);break;case links.Timeline.StepDate.SCALE.MINUTE:this.current.getMinutes()<
this.step&&this.current.setMinutes(0);break;case links.Timeline.StepDate.SCALE.HOUR:this.current.getHours()<this.step&&this.current.setHours(0);break;case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:this.current.getDate()<this.step+1&&this.current.setDate(1);break;case links.Timeline.StepDate.SCALE.MONTH:this.current.getMonth()<this.step&&this.current.setMonth(0)}if(this.current.valueOf()==a)this.current=new Date(this._end.valueOf())};
links.Timeline.StepDate.prototype.getCurrent=function(){return this.current};links.Timeline.StepDate.prototype.setScale=function(a,b){this.scale=a;if(b>0)this.step=b;this.autoScale=!1};links.Timeline.StepDate.prototype.setAutoScale=function(a){this.autoScale=a};
links.Timeline.StepDate.prototype.setMinimumStep=function(a){if(a!=void 0){if(31104E9>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=1E3;if(15552E9>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=500;if(31104E8>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=100;if(15552E8>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=50;if(31104E7>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=10;if(15552E7>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=
5;if(31104E6>a)this.scale=links.Timeline.StepDate.SCALE.YEAR,this.step=1;if(7776E6>a)this.scale=links.Timeline.StepDate.SCALE.MONTH,this.step=3;if(2592E6>a)this.scale=links.Timeline.StepDate.SCALE.MONTH,this.step=1;if(432E6>a)this.scale=links.Timeline.StepDate.SCALE.DAY,this.step=5;if(1728E5>a)this.scale=links.Timeline.StepDate.SCALE.DAY,this.step=2;if(864E5>a)this.scale=links.Timeline.StepDate.SCALE.DAY,this.step=1;if(432E5>a)this.scale=links.Timeline.StepDate.SCALE.WEEKDAY,this.step=1;if(144E5>
a)this.scale=links.Timeline.StepDate.SCALE.HOUR,this.step=4;if(36E5>a)this.scale=links.Timeline.StepDate.SCALE.HOUR,this.step=1;if(9E5>a)this.scale=links.Timeline.StepDate.SCALE.MINUTE,this.step=15;if(6E5>a)this.scale=links.Timeline.StepDate.SCALE.MINUTE,this.step=10;if(3E5>a)this.scale=links.Timeline.StepDate.SCALE.MINUTE,this.step=5;if(6E4>a)this.scale=links.Timeline.StepDate.SCALE.MINUTE,this.step=1;if(15E3>a)this.scale=links.Timeline.StepDate.SCALE.SECOND,this.step=15;if(1E4>a)this.scale=links.Timeline.StepDate.SCALE.SECOND,
this.step=10;if(5E3>a)this.scale=links.Timeline.StepDate.SCALE.SECOND,this.step=5;if(1E3>a)this.scale=links.Timeline.StepDate.SCALE.SECOND,this.step=1;if(200>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,this.step=200;if(100>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,this.step=100;if(50>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,this.step=50;if(10>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,this.step=10;if(5>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,
this.step=5;if(1>a)this.scale=links.Timeline.StepDate.SCALE.MILLISECOND,this.step=1}};
links.Timeline.StepDate.prototype.snap=function(a){if(this.scale==links.Timeline.StepDate.SCALE.YEAR){var b=a.getFullYear()+Math.round(a.getMonth()/12);a.setFullYear(Math.round(b/this.step)*this.step);a.setMonth(0);a.setDate(0);a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0)}else if(this.scale==links.Timeline.StepDate.SCALE.MONTH)a.getDate()>15?(a.setDate(1),a.setMonth(a.getMonth()+1)):a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0);else if(this.scale==
links.Timeline.StepDate.SCALE.DAY||this.scale==links.Timeline.StepDate.SCALE.WEEKDAY){switch(this.step){case 5:case 2:a.setHours(Math.round(a.getHours()/24)*24);break;default:a.setHours(Math.round(a.getHours()/12)*12)}a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0)}else if(this.scale==links.Timeline.StepDate.SCALE.HOUR){switch(this.step){case 4:a.setMinutes(Math.round(a.getMinutes()/60)*60);break;default:a.setMinutes(Math.round(a.getMinutes()/30)*30)}a.setSeconds(0);a.setMilliseconds(0)}else if(this.scale==
links.Timeline.StepDate.SCALE.MINUTE){switch(this.step){case 15:case 10:a.setMinutes(Math.round(a.getMinutes()/5)*5);a.setSeconds(0);break;case 5:a.setSeconds(Math.round(a.getSeconds()/60)*60);break;default:a.setSeconds(Math.round(a.getSeconds()/30)*30)}a.setMilliseconds(0)}else if(this.scale==links.Timeline.StepDate.SCALE.SECOND)switch(this.step){case 15:case 10:a.setSeconds(Math.round(a.getSeconds()/5)*5);a.setMilliseconds(0);break;case 5:a.setMilliseconds(Math.round(a.getMilliseconds()/1E3)*1E3);
break;default:a.setMilliseconds(Math.round(a.getMilliseconds()/500)*500)}else this.scale==links.Timeline.StepDate.SCALE.MILLISECOND&&(b=this.step>5?this.step/2:1,a.setMilliseconds(Math.round(a.getMilliseconds()/b)*b))};
links.Timeline.StepDate.prototype.isMajor=function(){switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:return this.current.getMilliseconds()==0;case links.Timeline.StepDate.SCALE.SECOND:return this.current.getSeconds()==0;case links.Timeline.StepDate.SCALE.MINUTE:return this.current.getHours()==0&&this.current.getMinutes()==0;case links.Timeline.StepDate.SCALE.HOUR:return this.current.getHours()==0;case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:return this.current.getDate()==
1;case links.Timeline.StepDate.SCALE.MONTH:return this.current.getMonth()==0;case links.Timeline.StepDate.SCALE.YEAR:return!1;default:return!1}};
links.Timeline.StepDate.prototype.getLabelMinor=function(a,b){if(b==void 0)b=this.current;switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:return String(b.getMilliseconds());case links.Timeline.StepDate.SCALE.SECOND:return String(b.getSeconds());case links.Timeline.StepDate.SCALE.MINUTE:return this.addZeros(b.getHours(),2)+":"+this.addZeros(b.getMinutes(),2);case links.Timeline.StepDate.SCALE.HOUR:return this.addZeros(b.getHours(),2)+":"+this.addZeros(b.getMinutes(),2);case links.Timeline.StepDate.SCALE.WEEKDAY:return a.DAYS_SHORT[b.getDay()]+
" "+b.getDate();case links.Timeline.StepDate.SCALE.DAY:return String(b.getDate());case links.Timeline.StepDate.SCALE.MONTH:return a.MONTHS_SHORT[b.getMonth()];case links.Timeline.StepDate.SCALE.YEAR:return String(b.getFullYear());default:return""}};
links.Timeline.StepDate.prototype.getLabelMajor=function(a,b){if(b==void 0)b=this.current;switch(this.scale){case links.Timeline.StepDate.SCALE.MILLISECOND:return this.addZeros(b.getHours(),2)+":"+this.addZeros(b.getMinutes(),2)+":"+this.addZeros(b.getSeconds(),2);case links.Timeline.StepDate.SCALE.SECOND:return b.getDate()+" "+a.MONTHS[b.getMonth()]+" "+this.addZeros(b.getHours(),2)+":"+this.addZeros(b.getMinutes(),2);case links.Timeline.StepDate.SCALE.MINUTE:return a.DAYS[b.getDay()]+" "+b.getDate()+
" "+a.MONTHS[b.getMonth()]+" "+b.getFullYear();case links.Timeline.StepDate.SCALE.HOUR:return a.DAYS[b.getDay()]+" "+b.getDate()+" "+a.MONTHS[b.getMonth()]+" "+b.getFullYear();case links.Timeline.StepDate.SCALE.WEEKDAY:case links.Timeline.StepDate.SCALE.DAY:return a.MONTHS[b.getMonth()]+" "+b.getFullYear();case links.Timeline.StepDate.SCALE.MONTH:return String(b.getFullYear());default:return""}};links.Timeline.StepDate.prototype.addZeros=function(a,b){for(var c=""+a;c.length<b;)c="0"+c;return c};
links.imageloader=function(){function a(a){if(e[a]==!0)return!0;var b=new Image;b.src=a;return b.complete?!0:!1}function b(a){return f[a]!=void 0}function c(c,d,i){i==void 0&&(i=!0);if(a(c))i&&d(c);else if(!b(c)||i){var k=f[c];if(!k)i=new Image,i.src=c,k=[],f[c]=k,i.onload=function(){e[c]=!0;delete f[c];for(var a=0;a<k.length;a++)k[a](c)};k.indexOf(d)==-1&&k.push(d)}}function d(a,b){for(var c=a.firstChild;c;){if(c.tagName=="IMG"){var e=c.src;b.indexOf(e)==-1&&b.push(e)}d(c,b);c=c.nextSibling}}var e=
{},f={};return{isLoaded:a,isLoading:b,load:c,loadAll:function(b,d,e){var f=[];b.forEach(function(b){a(b)||f.push(b)});if(f.length){var m=f.length;f.forEach(function(a){c(a,function(){m--;m==0&&d()},e)})}else e&&d()},filterImageUrls:d}}();links.Timeline.addEventListener=function(a,b,c,d){a.addEventListener?(d===void 0&&(d=!1),b==="mousewheel"&&navigator.userAgent.indexOf("Firefox")>=0&&(b="DOMMouseScroll"),a.addEventListener(b,c,d)):a.attachEvent("on"+b,c)};
links.Timeline.removeEventListener=function(a,b,c,d){a.removeEventListener?(d===void 0&&(d=!1),b==="mousewheel"&&navigator.userAgent.indexOf("Firefox")>=0&&(b="DOMMouseScroll"),a.removeEventListener(b,c,d)):a.detachEvent("on"+b,c)};links.Timeline.getTarget=function(a){if(!a)a=window.event;var b;if(a.target)b=a.target;else if(a.srcElement)b=a.srcElement;if(b.nodeType!=void 0&&b.nodeType==3)b=b.parentNode;return b};
links.Timeline.stopPropagation=function(a){if(!a)a=window.event;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0};links.Timeline.preventDefault=function(a){if(!a)a=window.event;a.preventDefault?a.preventDefault():a.returnValue=!1};links.Timeline.getAbsoluteLeft=function(a){for(var b=document.documentElement,c=document.body,d=a.offsetLeft,a=a.offsetParent;a!=null&&a!=c&&a!=b;)d+=a.offsetLeft,d-=a.scrollLeft,a=a.offsetParent;return d};
links.Timeline.getAbsoluteTop=function(a){for(var b=document.documentElement,c=document.body,d=a.offsetTop,a=a.offsetParent;a!=null&&a!=c&&a!=b;)d+=a.offsetTop,d-=a.scrollTop,a=a.offsetParent;return d};links.Timeline.getPageY=function(a){"targetTouches"in a&&a.targetTouches.length&&(a=a.targetTouches[0]);if("pageY"in a)return a.pageY;var b=document.documentElement,c=document.body;return a.clientY+(b&&b.scrollTop||c&&c.scrollTop||0)-(b&&b.clientTop||c&&c.clientTop||0)};
links.Timeline.getPageX=function(a){"targetTouches"in a&&a.targetTouches.length&&(a=a.targetTouches[0]);if("pageX"in a)return a.pageX;var b=document.documentElement,c=document.body;return a.clientX+(b&&b.scrollLeft||c&&c.scrollLeft||0)-(b&&b.clientLeft||c&&c.clientLeft||0)};links.Timeline.addClassName=function(a,b){for(var c=a.className.split(" "),d=b.split(" "),e=!1,f=0;f<d.length;f++)c.indexOf(d[f])==-1&&(c.push(d[f]),e=!0);if(e)a.className=c.join(" ")};
links.Timeline.removeClassName=function(a,b){for(var c=a.className.split(" "),d=b.split(" "),e=!1,f=0;f<d.length;f++){var g=c.indexOf(d[f]);g!=-1&&(c.splice(g,1),e=!0)}if(e)a.className=c.join(" ")};links.Timeline.isArray=function(a){return a instanceof Array?!0:Object.prototype.toString.call(a)==="[object Array]"};links.Timeline.clone=function(a){var b={},c;for(c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b};
links.Timeline.parseJSONDate=function(a){if(a!=void 0){if(a instanceof Date)return a;var b=a.match(/\/Date\((-?\d+)([-\+]?\d{2})?(\d{2})?\)\//i);return b?(a=b[2]?36E5*b[2]+6E4*b[3]*(b[2]/Math.abs(b[2])):0,new Date(1*b[1]+a)):Date.parse(a)}};

View File

@ -0,0 +1,157 @@
div.timeline-frame {
position: relative;
overflow: hidden;
}
div.timeline-content {
position: relative;
overflow: hidden;
}
div.timeline-axis {
filter: alpha(opacity = 60);
-khtml-opacity: 0.6;
-moz-opacity: 0.6;
opacity: 0.6;
border-width: 1px;
border-top-style: solid;
}
div.timeline-axis-grid {
border-left-style: solid;
border-width: 1px;
}
div.timeline-axis-grid-minor {
filter: alpha(opacity = 30);
-khtml-opacity: 0.3;
-moz-opacity: 0.3;
opacity: 0.3;
}
div.timeline-axis-grid-major {
filter: alpha(opacity = 50);
-khtml-opacity: 0.5;
-moz-opacity: 0.5;
opacity: 0.5;
}
div.timeline-axis-text {
padding: 3px;
white-space: nowrap;
}
div.timeline-event {
display: inline-block;
}
div.timeline-event-selected {
z-index: 999;
}
div.timeline-event.timeline-event-box {
text-align: center;
border-style: solid;
border-width: 1px;
border-radius: 5px;
-moz-border-radius: 5px; /* For Firefox 3.6 and older */
}
div.timeline-event.timeline-event-dot {
border-style: solid;
border-width: 5px;
border-radius: 5px;
-moz-border-radius: 5px; /* For Firefox 3.6 and older */
}
div.timeline-event.timeline-event-range {
border-style: solid;
border-width: 1px;
border-radius: 2px;
-moz-border-radius: 2px; /* For Firefox 3.6 and older */
}
div.timeline-frame div.timeline-event-dot-container {
border: none;
}
div.timeline-event-range-drag-left {
cursor: w-resize;
z-index: 1000;
}
div.timeline-event-range-drag-right {
cursor: e-resize;
z-index: 1000;
}
div.timeline-event-line {
border-left-width: 1px;
border-left-style: solid;
}
div.timeline-event-content {
margin: 5px;
white-space: nowrap;
overflow: hidden;
}
div.timeline-groups-axis {
border-width: 1px;
}
div.timeline-groups-axis-onleft {
border-style: none groove none none;
}
div.timeline-groups-axis-onright {
border-style: none none none groove;
}
div.timeline-groups-text {
padding-left: 10px;
padding-right: 10px;
}
div.timeline-currenttime {
background-color: #FF7F6E;
width: 2px;
}
div.timeline-customtime {
background-color: #6E94FF;
width: 2px;
cursor: move;
}
div.timeline-navigation-new, div.timeline-navigation-delete,
div.timeline-navigation-zoom-in, div.timeline-navigation-zoom-out,
div.timeline-navigation-move-left, div.timeline-navigation-move-right {
cursor: pointer;
float: left;
padding: 5px;
text-decoration: none;
}
div.timeline-navigation-new-line {
border-right: dotted 1px;
}
div.timeline-navigation-delete {
padding: 0 0 0 5px;
background: url('img/deleteEvent.png') no-repeat center;
width: 13px;
height: 13px;
}
div.timeline-selectable div.timeline-event {
cursor: pointer;
}
div.timeline-selectable div.timeline-event-content {
cursor: pointer;
}
div.timeline-event-selected div.timeline-event-content {
cursor: move;
}

View File

@ -0,0 +1,211 @@
div.timeline-frame {
-moz-box-sizing: border-box;
border: 1px solid #bebebe;
box-sizing: border-box;
overflow: hidden;
position: relative;
}
div.timeline-content {
overflow: hidden;
position: relative;
}
div.timeline-axis {
-moz-box-sizing: border-box;
border-color: #bebebe;
border-top-style: solid;
border-width: 1px;
box-sizing: border-box;
}
div.timeline-axis-grid {
-moz-box-sizing: border-box;
border-left-style: solid;
border-width: 1px;
box-sizing: border-box;
}
div.timeline-axis-grid-minor {
border-color: #e5e5e5;
}
div.timeline-axis-grid-major {
border-color: #bfbfbf;
}
div.timeline-axis-text {
color: #4d4d4d;
padding: 3px;
white-space: nowrap;
}
div.timeline-axis-text-minor {
}
div.timeline-axis-text-major {
}
div.timeline-event {
-moz-box-sizing: border-box;
background-color: #d5ddf6;
border-color: #97b0f8;
box-sizing: border-box;
color: #1a1a1a;
display: inline-block;
}
div.timeline-event-selected {
background-color: #fff785;
border-color: #ffc200;
z-index: 999;
}
/* TODO: use another color or pattern? */
div.timeline-event-cluster {
background: url('img/cluster_bg.png') #97b0f8;
color: #ffffff;
}
div.timeline-event-cluster div.timeline-event-dot {
border-color: #d5ddf6;
}
div.timeline-event-box {
-moz-border-radius: 5px; /* For Firefox 3.6 and older */
border-radius: 5px;
border-style: solid;
border-width: 1px;
text-align: center;
}
div.timeline-event-dot {
-moz-border-radius: 5px; /* For Firefox 3.6 and older */
border-radius: 5px;
border-style: solid;
border-width: 5px;
}
div.timeline-event-range {
-moz-border-radius: 2px; /* For Firefox 3.6 and older */
border-radius: 2px;
border-style: solid;
border-width: 1px;
}
div.timeline-event-range-drag-left {
cursor: w-resize;
z-index: 1000;
}
div.timeline-event-range-drag-right {
cursor: e-resize;
z-index: 1000;
}
div.timeline-event-line {
-moz-box-sizing: border-box;
border-left-style: solid;
border-left-width: 1px;
box-sizing: border-box;
}
div.timeline-event-content {
margin: 5px;
overflow: hidden;
white-space: nowrap;
}
div.timeline-groups-axis {
-moz-box-sizing: border-box;
border-color: #bebebe;
border-width: 1px;
box-sizing: border-box;
}
div.timeline-groups-axis-onleft {
border-style: none solid none none;
}
div.timeline-groups-axis-onright {
border-style: none none none solid;
}
div.timeline-groups-text {
color: #4d4d4d;
padding-left: 10px;
padding-right: 10px;
}
div.timeline-currenttime {
-moz-box-sizing: border-box;
background-color: #ff7f6e;
box-sizing: border-box;
width: 2px;
}
div.timeline-customtime {
-moz-box-sizing: border-box;
background-color: #6e94ff;
box-sizing: border-box;
cursor: move;
width: 2px;
}
div.timeline-navigation {
-moz-border-radius: 2px; /* For Firefox 3.6 and older */
-moz-box-sizing: border-box;
background-color: #f5f5f5;
border: 1px solid #bebebe;
border-radius: 2px;
box-sizing: border-box;
color: #808080;
font-family: arial;
font-size: 20px;
font-weight: bold;
}
div.timeline-navigation-new,
div.timeline-navigation-delete,
div.timeline-navigation-zoom-in,
div.timeline-navigation-zoom-out,
div.timeline-navigation-move-left,
div.timeline-navigation-move-right {
-moz-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
float: left;
height: 36px;
padding: 10px;
text-decoration: none;
width: 36px;
}
div.timeline-navigation-new {
background: url('img/16/new.png') no-repeat center;
}
/* separator between new and navigation buttons */
div.timeline-navigation-new-line {
border-right: 1px solid #bebebe;
}
div.timeline-navigation-delete {
background: url('img/16/delete.png') no-repeat center;
}
div.timeline-navigation-zoom-in {
background: url('img/16/zoomin.png') no-repeat center;
}
div.timeline-navigation-zoom-out {
background: url('img/16/zoomout.png') no-repeat center;
}
div.timeline-navigation-move-left {
background: url('img/16/moveleft.png') no-repeat center;
}
div.timeline-navigation-move-right {
background: url('img/16/moveright.png') no-repeat center;
}

View File

@ -85,10 +85,11 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style {
<a href="../out/out.Statistic.php" class="span3 btn btn-medium"><i class="icon-tasks"></i><br /><?php echo getMLText("folders_and_documents_statistic")?></a>
<a href="../out/out.Charts.php" class="span3 btn btn-medium"><i class="icon-bar-chart"></i><br /><?php echo getMLText("charts")?></a>
<a href="../out/out.ObjectCheck.php" class="span3 btn btn-medium"><i class="icon-check"></i><br /><?php echo getMLText("objectcheck")?></a>
<a href="../out/out.Info.php" class="span3 btn btn-medium"><i class="icon-info-sign"></i><br /><?php echo getMLText("version_info")?></a>
<a href="../out/out.Timeline.php" class="span3 btn btn-medium"><i class="icon-time"></i><br /><?php echo getMLText("timeline")?></a>
</div>
<div class="row-fluid">
<a href="../out/out.Settings.php" class="span3 btn btn-medium"><i class="icon-cogs"></i><br /><?php echo getMLText("settings")?></a>
<a href="../out/out.Info.php" class="span3 btn btn-medium"><i class="icon-info-sign"></i><br /><?php echo getMLText("version_info")?></a>
</div>
</div>
<?php

View File

@ -28,7 +28,7 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
$this->theme = $theme;
$this->params = $params;
$this->imgpath = '../views/'.$theme.'/images/';
$this->extraheader = '';
$this->extraheader = array('js'=>'', 'css'=>'');
$this->footerjs = array();
}
@ -53,12 +53,14 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
echo '<link href="../styles/'.$this->theme.'/datepicker/css/datepicker.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/chosen/css/chosen.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/jqtree/jqtree.css" rel="stylesheet">'."\n";
if($this->extraheader['css'])
echo $this->extraheader['css'];
echo '<link href="../styles/'.$this->theme.'/application.css" rel="stylesheet">'."\n";
// echo '<link href="../styles/'.$this->theme.'/jquery-ui-1.10.4.custom/css/ui-lightness/jquery-ui-1.10.4.custom.css" rel="stylesheet">'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/jquery/jquery.min.js"></script>'."\n";
if($this->extraheader)
echo $this->extraheader;
if($this->extraheader['js'])
echo $this->extraheader['js'];
echo '<script type="text/javascript" src="../js/jquery.passwordstrength.js"></script>'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/noty/jquery.noty.js"></script>'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/noty/layouts/topRight.js"></script>'."\n";
@ -98,8 +100,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
}
} /* }}} */
function htmlAddHeader($head) { /* {{{ */
$this->extraheader .= $head;
function htmlAddHeader($head, $type='js') { /* {{{ */
$this->extraheader[$type] .= $head;
} /* }}} */
function htmlEndPage() { /* {{{ */
@ -566,8 +568,9 @@ $(document).ready(function () {
echo " <li class=\"dropdown\">\n";
echo " <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">".getMLText("misc")." <i class=\"icon-caret-down\"></i></a>\n";
echo " <ul class=\"dropdown-menu\" role=\"menu\">\n";
echo " <li id=\"first\"><a href=\"../out/out.Statistic.php\">".getMLText("folders_and_documents_statistic")."</a></li>\n";
echo " <li id=\"first\"><a href=\"../out/out.Charts.php\">".getMLText("charts")."</a></li>\n";
echo " <li><a href=\"../out/out.Statistic.php\">".getMLText("folders_and_documents_statistic")."</a></li>\n";
echo " <li><a href=\"../out/out.Charts.php\">".getMLText("charts")."</a></li>\n";
echo " <li><a href=\"../out/out.Timeline.php\">".getMLText("timeline")."</a></li>\n";
echo " <li><a href=\"../out/out.ObjectCheck.php\">".getMLText("objectcheck")."</a></li>\n";
echo " <li><a href=\"../out/out.Info.php\">".getMLText("version_info")."</a></li>\n";
echo " </ul>\n";
@ -879,7 +882,7 @@ $(document).ready(function () {
<h3 id="docChooserLabel"><?php printMLText("choose_target_document") ?></h3>
</div>
<div class="modal-body">
<p>Please wait, until document tree is loaded </p>
<p><?php printMLText('tree_loading') ?></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
@ -911,7 +914,7 @@ function folderSelected<?php echo $formName ?>(id, name) {
<h3 id="folderChooser<?php echo $formName ?>Label"><?php printMLText("choose_target_folder") ?></h3>
</div>
<div class="modal-body">
<p>Please wait, until document tree is loaded </p>
<p><?php printMLText('tree_loading') ?></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
@ -970,7 +973,7 @@ function folderSelected<?php echo $formName ?>(id, name) {
<h3 id="categoryChooserLabel"><?php printMLText("choose_target_category") ?></h3>
</div>
<div class="modal-body">
<p>Please wait, until category list is loaded </p>
<p><?php printMLText('categories_loading') ?></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
@ -992,7 +995,7 @@ function folderSelected<?php echo $formName ?>(id, name) {
<h3 id="keywordChooserLabel"><?php printMLText("use_default_keywords") ?></h3>
</div>
<div class="modal-body">
<p>Please wait, until keyword list is loaded </p>
<p><?php printMLText('keywords_loading') ?></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
@ -1043,7 +1046,7 @@ function folderSelected<?php echo $formName ?>(id, name) {
<h3 id="dropfolderChooserLabel"><?php printMLText("choose_target_file") ?></h3>
</div>
<div class="modal-body">
<p>Please wait, until file list is loaded </p>
<p><?php printMLText('files_loading') ?></p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
@ -2009,5 +2012,71 @@ mayscript>
</div>';
return $html;
} /* }}} */
/**
* Output a timeline for a document
*
* @param object $document document
*/
protected function printTimeline($timeline, $height=300, $start='', $end='', $skip=array()) { /* {{{ */
if(!$timeline)
return;
?>
<script type="text/javascript">
var timeline;
var data;
data = [
<?php
foreach($timeline as $item) {
if($item['type'] == 'status_change')
$classname = $item['type']."_".$item['status'];
else
$classname = $item['type'];
if(!$skip || !in_array($classname, $skip)) {
$s = explode(' ', $item['date']);
$d = explode('-', $s[0]);
$t = explode(':', $s[1]);
echo "{'start': new Date(".$d[0].",".($d[1]-1).",".$d[2].",".$t[0].",".$t[1].",".$t[2]."), 'content': '".$item['msg']."', 'className': '".$classname."'},\n";
}
}
?>
/* {
'start': new Date(),
'content': 'Today'
} */
];
// specify options
var options = {
'width': '100%',
'height': '100%',
<?php
if($start) {
$tmp = explode('-', $start);
echo "\t\t\t'min': new Date(".$tmp[0].", ".($tmp[1]-1).", ".$tmp[2]."),\n";
}
if($end) {
$tmp = explode('-', $end);
echo "'\t\t\tmax': new Date(".$tmp[0].", ".($tmp[1]-1).", ".$tmp[2]."),\n";
}
?>
'_editable': false,
'selectable': false,
'style': 'box',
'locale': 'de_DE'
};
$(document).ready(function () {
// Instantiate our timeline object.
timeline = new links.Timeline(document.getElementById('timeline'), options);
timeline.draw(data);
});
</script>
<div id="timeline" style="height: <?= $height ?>px;"></div>
<?php
} /* }}} */
}
?>

View File

@ -37,8 +37,12 @@ class SeedDMS_View_DropFolderChooser extends SeedDMS_Bootstrap_Style {
$dropfolderfile = $this->params['dropfolderfile'];
$form = $this->params['form'];
$dropfolderdir = $this->params['dropfolderdir'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$this->htmlStartPage(getMLText("choose_target_file"));
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
// $this->htmlStartPage(getMLText("choose_target_file"));
// $this->globalBanner();
// $this->pageNavigation(getMLText("choose_target_file"));
?>
@ -47,7 +51,7 @@ class SeedDMS_View_DropFolderChooser extends SeedDMS_Bootstrap_Style {
var targetName = document.<?php echo $form?>.dropfolderfile<?php print $form ?>;
</script>
<?php
$this->contentContainerStart();
// $this->contentContainerStart();
$dir = $dropfolderdir.'/'.$user->getLogin();
/* Check if we are still looking in the configured directory and
@ -56,20 +60,32 @@ var targetName = document.<?php echo $form?>.dropfolderfile<?php print $form ?>;
if(dirname($dir) == $dropfolderdir) {
if(is_dir($dir)) {
$d = dir($dir);
echo "<table>\n";
echo "<table class=\"table table-condensed\">\n";
echo "<thead>\n";
echo "<tr><th></th><th>".getMLText('name')."</th><th align=\"right\">".getMLText('file_size')."</th><th>".getMLText('date')."</th></tr>\n";
echo "</thead>\n";
echo "<tbody>\n";
$finfo = finfo_open(FILEINFO_MIME_TYPE);
while (false !== ($entry = $d->read())) {
if($entry != '..' && $entry != '.') {
if(!is_dir($entry)) {
echo "<tr><td><span style=\"cursor: pointer;\" onClick=\"fileSelected('".$entry."');\">".$entry."</span></td><td align=\"right\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."</td></tr>\n";
$mimetype = finfo_file($finfo, $dir.'/'.$entry);
$previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype);
echo "<tr><td style=\"min-width: ".$previewwidth."px;\">";
if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) {
echo "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\">";
}
echo "</td><td><span style=\"cursor: pointer;\" onClick=\"fileSelected('".$entry."');\">".$entry."</span></td><td align=\"right\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."</td><td>".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</td></tr>\n";
}
}
}
echo "</tbody>\n";
echo "</table>\n";
}
}
$this->contentContainerEnd();
echo "</body>\n</html>\n";
// $this->contentContainerEnd();
// echo "</body>\n</html>\n";
// $this->htmlEndPage();
} /* }}} */
}

View File

@ -0,0 +1,129 @@
<?php
/**
* Implementation of Timeline 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 Timeline 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_Timeline extends SeedDMS_Bootstrap_Style {
var $dms;
var $folder_count;
var $document_count;
var $file_count;
var $storage_size;
function show() { /* {{{ */
$this->dms = $this->params['dms'];
$user = $this->params['user'];
$data = $this->params['data'];
$from = $this->params['from'];
$to = $this->params['to'];
$skip = $this->params['skip'];
$this->htmlAddHeader('<link href="../styles/'.$this->theme.'/timeline/timeline.css" rel="stylesheet">'."\n", 'css');
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/timeline/timeline-min.js"></script>'."\n", 'js');
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/timeline/timeline-locales.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("timeline"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
?>
<?php
echo "<div class=\"row-fluid\">\n";
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText("timeline"));
echo "<div class=\"well\">\n";
?>
<form action="../out/out.Timeline.php" class="form form-inline" name="form1">
<div class="control-group">
<label class="control-label" for="startdate"><?= getMLText('date') ?></label>
<div class="controls">
<span class="input-append date" style="display: inline;" id="fromdate" data-date="<?php echo date('Y-m-d', $from); ?>" data-date-format="yyyy-mm-dd" data-date-language="<?php echo str_replace('_', '-', $this->params['session']->getLanguage()); ?>">
<input type="text" class="input-small" name="fromdate" value="<?php echo date('Y-m-d', $from); ?>"/>
<span class="add-on"><i class="icon-calendar"></i></span>
</span> -
<span class="input-append date" style="display: inline;" id="todate" data-date="<?php echo date('Y-m-d', $to); ?>" data-date-format="yyyy-mm-dd" data-date-language="<?php echo str_replace('_', '-', $this->params['session']->getLanguage()); ?>">
<input type="text" class="input-small" name="todate" value="<?php echo date('Y-m-d', $to); ?>"/>
<span class="add-on"><i class="icon-calendar"></i></span>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="skip"><?= getMLText('exclude_items') ?></label>
<div class="controls">
<input type="checkbox" name="skip[]" value="add_file" <?= ($skip && in_array('add_file', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_add_file') ?><br />
<input type="checkbox" name="skip[]" value="status_change_0" <?= ($skip && in_array('status_change_0', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_0') ?><br />
<input type="checkbox" name="skip[]" value="status_change_1" <?= ($skip && in_array('status_change_1', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_1') ?><br />
<input type="checkbox" name="skip[]" value="status_change_2" <?= ($skip && in_array('status_change_2', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_2') ?><br />
<input type="checkbox" name="skip[]" value="status_change_3" <?= ($skip && in_array('status_change_3', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_3') ?><br />
<input type="checkbox" name="skip[]" value="status_change_-1" <?= ($skip && in_array('status_change_-1', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_-1') ?><br />
<input type="checkbox" name="skip[]" value="status_change_-3" <?= ($skip && in_array('status_change_-3', $skip)) ? 'checked' : '' ?>> <?= getMLText('timeline_skip_status_change_-3') ?><br />
</div>
</div>
<div class="control-group">
<label class="control-label" for="enddate"></label>
<div class="controls">
<button type="submit" class="btn"><i class="icon-search"></i> <?php printMLText("action"); ?></button>
</div>
</div>
</form>
<?php
echo "</div>\n";
echo "</div>\n";
echo "<div class=\"span9\">\n";
$this->contentHeading(getMLText("timeline"));
if($data) {
foreach($data as &$item) {
switch($item['type']) {
case 'add_version':
$msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName()), 'version'=> $item['version']));
break;
case 'add_file':
$msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName())));
break;
case 'status_change':
$msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName()), 'version'=> $item['version'], 'status'=> getOverallStatusText($item['status'])));
break;
default:
$msg = '???';
}
$item['msg'] = $msg;
}
$this->printTimeline($data, 550, date('Y-m-d', $from), date('Y-m-d', $to+1), $skip);
}
echo "</div>\n";
echo "</div>\n";
$this->contentContainerEnd();
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -406,21 +406,6 @@ function showUser(selectObj) {
id = selectObj.options[selectObj.selectedIndex].value;
$('div.ajax').trigger('update', {userid: id});
}
<?php if(0): ?>
obj = -1;
function showUser(selectObj) {
if (obj != -1)
obj.style.display = "none";
id = selectObj.options[selectObj.selectedIndex].value;
if (id == -1)
return;
obj = document.getElementById("keywords" + id);
obj.style.display = "";
}
<?php endif; ?>
</script>
<?php
$this->contentHeading(getMLText("user_management"));
@ -444,26 +429,12 @@ function showUser(selectObj) {
?>
</select>
</div>
<div class="ajax" data-view="UsrMgr" data-action="info"></div>
<div class="ajax" data-view="UsrMgr" data-action="info" <?php echo ($seluser ? "data-query=\"userid=".$seluser->getID()."\"" : "") ?>></div>
</div>
<div class="span8">
<div class="well">
<div class="ajax" data-view="UsrMgr" data-action="form"></div>
<?php if(0): ?>
<div id="keywords0" style="display : none;">
<?php $this->showUserForm(false); ?>
</div>
<?php
foreach ($users as $currUser) {
print "<div id=\"keywords".$currUser->getID()."\" style=\"display : none;\">";
$this->showUserForm($currUser);
print "</div>\n";
}
endif;
?>
</div>
<div class="ajax" data-view="UsrMgr" data-action="form" <?php echo ($seluser ? "data-query=\"userid=".$seluser->getID()."\"" : "") ?>></div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More