Merge remote-tracking branch 'remotes/origin/develop' into feature/reviewPermissions

# Conflicts:
#	web/documentserver-example/csharp-mvc/Models/FileModel.cs
#	web/documentserver-example/java/src/main/java/entities/FileModel.java
#	web/documentserver-example/python/src/views/actions.py
This commit is contained in:
Alexandr Fedorov
2021-02-02 13:59:17 +03:00
90 changed files with 1485 additions and 273 deletions

View File

@ -79,7 +79,8 @@
"key" => $docKey,
"info" => [
"author" => "Me",
"created" => date('d.m.y')
"created" => date('d.m.y'),
"favorite" => isset($_GET["user"]) ? $_GET["user"] == 1 : null
],
"permissions" => [
"comment" => $editorsMode != "view" && $editorsMode != "fillForms" && $editorsMode != "embedded" && $editorsMode != "blockcontent",
@ -118,8 +119,26 @@
]
];
$dataInsertImage = [
"fileType" => "png",
"url" => serverPath(true) . "/css/images/logo.png"
];
$dataCompareFile = [
"fileType" => "docx",
"url" => serverPath(true) . "/webeditor-ajax.php?type=download&name=demo.docx"
];
$dataMailMergeRecipients = [
"fileType" =>"csv",
"url" => serverPath(true) . "/webeditor-ajax.php?type=csv"
];
if (isJwtEnabled()) {
$config["token"] = jwtEncode($config);
$dataInsertImage["token"] = jwtEncode($dataInsertImage);
$dataCompareFile["token"] = jwtEncode($dataCompareFile);
$dataMailMergeRecipients["token"] = jwtEncode($dataMailMergeRecipients);
}
function tryGetDefaultByType($createExt) {
@ -154,16 +173,16 @@
$hist = [];
$histData = [];
for ($i = 0; $i <= $curVer; $i++) {
for ($i = 1; $i <= $curVer; $i++) {
$obj = [];
$dataObj = [];
$verDir = getVersionDir($histDir, $i + 1);
$verDir = getVersionDir($histDir, $i);
$key = $i == $curVer ? $docKey : file_get_contents($verDir . DIRECTORY_SEPARATOR . "key.txt");
$obj["key"] = $key;
$obj["version"] = $i;
if ($i == 0) {
if ($i == 1) {
$createdInfo = file_get_contents($histDir . DIRECTORY_SEPARATOR . "createdInfo.json");
$json = json_decode($createdInfo, true);
@ -180,8 +199,8 @@
$dataObj["url"] = $i == $curVer ? $fileuri : getVirtualPath(true) . str_replace("%5C", "/", rawurlencode($prevFileName));
$dataObj["version"] = $i;
if ($i > 0) {
$changes = json_decode(file_get_contents(getVersionDir($histDir, $i) . DIRECTORY_SEPARATOR . "changes.json"), true);
if ($i > 1) {
$changes = json_decode(file_get_contents(getVersionDir($histDir, $i - 1) . DIRECTORY_SEPARATOR . "changes.json"), true);
$change = $changes["changes"][0];
$obj["changes"] = $changes["changes"];
@ -189,19 +208,23 @@
$obj["created"] = $change["created"];
$obj["user"] = $change["user"];
$prev = $histData[$i -1];
$prev = $histData[$i - 2];
$dataObj["previous"] = [
"key" => $prev["key"],
"url" => $prev["url"]
];
$changesUrl = getVersionDir($histDir, $i) . DIRECTORY_SEPARATOR . "diff.zip";
$changesUrl = getVersionDir($histDir, $i - 1) . DIRECTORY_SEPARATOR . "diff.zip";
$changesUrl = substr($changesUrl, strlen(getStoragePath("")));
$dataObj["changesUrl"] = getVirtualPath(true) . str_replace("%5C", "/", rawurlencode($changesUrl));
}
if (isJwtEnabled()) {
$dataObj["token"] = jwtEncode($dataObj);
}
array_push($hist, $obj);
$histData[$i] = $dataObj;
$histData[$i - 1] = $dataObj;
}
$out = [];
@ -255,7 +278,7 @@
}
</style>
<script type="text/javascript" src="<?php echo $GLOBALS["DOC_SERV_API_URL"] ?>"></script>
<script type="text/javascript" src="<?php echo $GLOBALS["DOC_SERV_SITE_URL"].$GLOBALS["DOC_SERV_API_URL"] ?>"></script>
<script type="text/javascript">
@ -312,6 +335,28 @@
docEditor.setActionLink(replaceActionLink(location.href, linkParam));
};
var onMetaChange = function (event) {
var favorite = !!event.data.favorite;
var title = document.title.replace(/^\☆/g, "");
document.title = (favorite ? "☆" : "") + title;
docEditor.setFavorite(favorite);
};
var onRequestInsertImage = function(event) {
docEditor.insertImage({
"c": event.data.c,
<?php echo mb_strimwidth(json_encode($dataInsertImage), 1, strlen(json_encode($dataInsertImage)) - 2)?>
})
};
var onRequestCompareFile = function() {
docEditor.setRevisedFile(<?php echo json_encode($dataCompareFile)?>);
};
var onRequestMailMergeRecipients = function (event) {
docEditor.setMailMergeRecipients(<?php echo json_encode($dataMailMergeRecipients) ?>);
};
var сonnectEditor = function () {
<?php
@ -332,6 +377,10 @@
'onError': onError,
'onOutdatedVersion': onOutdatedVersion,
'onMakeActionLink': onMakeActionLink,
'onMetaChange': onMetaChange,
'onRequestInsertImage': onRequestInsertImage,
'onRequestCompareFile': onRequestCompareFile,
'onRequestMailMergeRecipients': onRequestMailMergeRecipients,
};
<?php
@ -346,7 +395,7 @@
config.events['onRequestHistoryData'] = function (event) {
var ver = event.data;
var histData = <?php echo json_encode($historyData) ?>;
docEditor.setHistoryData(histData[ver]);
docEditor.setHistoryData(histData[ver - 1]);
};
config.events['onRequestHistoryClose'] = function () {
document.location.reload();