Commit 464a2cb7 authored by Oleg Korshul's avatar Oleg Korshul Committed by GitHub

Merge pull request #171 from ONLYOFFICE/release/v5.0.0

Release/v5.0.0
parents 94670da3 205e4a53
......@@ -60,7 +60,7 @@ var c_oAscError = Asc.c_oAscError;
window["AscDesktopEditor"]["LocalStartOpen"]();
};
asc['spreadsheet_api'].prototype._OfflineAppDocumentEndLoad = function(_data)
asc['spreadsheet_api'].prototype._OfflineAppDocumentEndLoad = function(_data, _len)
{
AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "")
......@@ -69,7 +69,8 @@ var c_oAscError = Asc.c_oAscError;
return;
}
this.openDocument(_data);
var _binary = getBinaryArray(_data, _len);
this.openDocument(_binary);
AscCommon.History.UserSaveMode = true;
DesktopOfflineUpdateLocalName(this);
......@@ -137,7 +138,7 @@ window["Asc"]['spreadsheet_api'].prototype.asc_setAdvancedOptions = function(idO
};
window["Asc"]['spreadsheet_api'].prototype["asc_setAdvancedOptions"] = window["Asc"]['spreadsheet_api'].prototype.asc_setAdvancedOptions;
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data, _len)
{
AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
......@@ -147,7 +148,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl;
}
window["Asc"]["editor"]._OfflineAppDocumentEndLoad(_data);
window["Asc"]["editor"]._OfflineAppDocumentEndLoad(_data, _len);
};
/////////////////////////////////////////////////////////
......
......@@ -3854,6 +3854,17 @@ var editor;
prot["asc_OnHideContextMenu"] = prot.asc_OnHideContextMenu;
prot["asc_OnShowContextMenu"] = prot.asc_OnShowContextMenu;
// signatures
prot["asc_addSignatureLine"] = prot.asc_addSignatureLine;
prot["asc_getRequestSignatures"] = prot.asc_getRequestSignatures;
prot["asc_AddSignatureLine2"] = prot.asc_AddSignatureLine2;
prot["asc_Sign"] = prot.asc_Sign;
prot["asc_ViewCertificate"] = prot.asc_ViewCertificate;
prot["asc_SelectCertificate"] = prot.asc_SelectCertificate;
prot["asc_GetDefaultCertificate"] = prot.asc_GetDefaultCertificate;
prot["asc_getSignatures"] = prot.asc_getSignatures;
prot["asc_isSignaturesSupport"] = prot.asc_isSignaturesSupport;
// mobile
prot["asc_Remove"] = prot.asc_Remove;
})(window);
......@@ -11088,6 +11088,12 @@
WorksheetView.prototype._replaceCellsText = function (aReplaceCells, options, lockDraw, callback) {
var t = this;
if (this.model.inPivotTable(aReplaceCells)) {
options.error = true;
return callback(options);
}
var findFlags = "g"; // Заменяем все вхождения
if (true !== options.isMatchCase) {
findFlags += "i";
......
......@@ -388,6 +388,44 @@ window["DesktopAfterOpen"] = function(_api)
]);
};
function getBinaryArray(_data, _len)
{
var _array = new Uint8Array(_len);
var _index = 0;
var _written = 0;
var _data_len = _data.length;
while (_index < _data_len)
{
var dwCurr = 0;
var i;
var nBits = 0;
for (i=0; i<4; i++)
{
if (_index >= _data_len)
break;
var nCh = DecodeBase64Char(_data.charCodeAt(_index++));
if (nCh == -1)
{
i--;
continue;
}
dwCurr <<= 6;
dwCurr |= nCh;
nBits += 6;
}
dwCurr <<= 24-nBits;
for (i=0; i<nBits/8; i++)
{
_array[_written++] = ((dwCurr & 0x00ff0000) >>> 16);
dwCurr <<= 8;
}
}
return _array;
}
// меняем среду
//AscBrowser.isSafari = false;
//AscBrowser.isSafariMacOs = false;
......
......@@ -1489,6 +1489,13 @@
return this.signatures;
};
baseEditorsApi.prototype.asc_isSignaturesSupport = function()
{
if (window["AscDesktopEditor"] && window["AscDesktopEditor"]["IsSignaturesSupport"])
return window["AscDesktopEditor"]["IsSignaturesSupport"]();
return false;
};
baseEditorsApi.prototype.asc_getSignatureImage = function (sGuid) {
var count = this.signatures.length;
......
......@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function()
AscCommon.History.UserSaveMode = true;
window["AscDesktopEditor"]["LocalStartOpen"]();
};
Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data)
Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data, _len)
{
AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "")
......@@ -57,15 +57,16 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data)
this.sendEvent("asc_onError", c_oAscError.ID.ConvertationOpenError, c_oAscError.Level.Critical);
return;
}
this.OpenDocument2(_url, _data);
var _binary = getBinaryArray(_data, _len);
this.OpenDocument2(_url, _binary);
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
this.DocumentOrientation = (null == this.WordControl.m_oLogicDocument) ? true : !this.WordControl.m_oLogicDocument.Orientation;
DesktopOfflineUpdateLocalName(this);
window["DesktopAfterOpen"](this);
};
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data, _len)
{
AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
......@@ -75,7 +76,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl;
}
editor._OfflineAppDocumentEndLoad(_url, _data);
editor._OfflineAppDocumentEndLoad(_url, _data, _len);
};
/////////////////////////////////////////////////////////
......
......@@ -7403,6 +7403,17 @@ background-repeat: no-repeat;\
asc_docs_api.prototype["DemonstrationToReporterMessages"] = asc_docs_api.prototype.DemonstrationToReporterMessages;
asc_docs_api.prototype["preloadReporter"] = asc_docs_api.prototype.preloadReporter;
// signatures
asc_docs_api.prototype["asc_addSignatureLine"] = asc_docs_api.prototype.asc_addSignatureLine;
asc_docs_api.prototype["asc_getRequestSignatures"] = asc_docs_api.prototype.asc_getRequestSignatures;
asc_docs_api.prototype["asc_AddSignatureLine2"] = asc_docs_api.prototype.asc_AddSignatureLine2;
asc_docs_api.prototype["asc_Sign"] = asc_docs_api.prototype.asc_Sign;
asc_docs_api.prototype["asc_ViewCertificate"] = asc_docs_api.prototype.asc_ViewCertificate;
asc_docs_api.prototype["asc_SelectCertificate"] = asc_docs_api.prototype.asc_SelectCertificate;
asc_docs_api.prototype["asc_GetDefaultCertificate"] = asc_docs_api.prototype.asc_GetDefaultCertificate;
asc_docs_api.prototype["asc_getSignatures"] = asc_docs_api.prototype.asc_getSignatures;
asc_docs_api.prototype["asc_isSignaturesSupport"] = asc_docs_api.prototype.asc_isSignaturesSupport;
window['Asc']['asc_CCommentData'] = window['Asc'].asc_CCommentData = asc_CCommentData;
asc_CCommentData.prototype['asc_getText'] = asc_CCommentData.prototype.asc_getText;
......
......@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function()
AscCommon.History.UserSaveMode = true;
window["AscDesktopEditor"]["LocalStartOpen"]();
};
Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data)
Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data, _len)
{
AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "")
......@@ -57,20 +57,35 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data)
this.sendEvent("asc_onError", c_oAscError.ID.ConvertationOpenError, c_oAscError.Level.Critical);
return;
}
if (AscCommon.c_oSerFormat.Signature !== _data.substring(0, AscCommon.c_oSerFormat.Signature.length))
var _binary = getBinaryArray(_data, _len);
var _sign_len = AscCommon.c_oSerFormat.Signature.length;
var _signature = "";
if (_binary.length >= _sign_len)
{
for (var i = 0; i < _sign_len; i++)
{
_signature += String.fromCharCode(_binary[i]);
}
}
if (AscCommon.c_oSerFormat.Signature !== _signature)
{
this.OpenDocument(_url, _data);
this.OpenDocument(_url, _binary);
}
else
{
this.OpenDocument2(_url, _data);
this.OpenDocument2(_url, _binary);
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
}
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
DesktopOfflineUpdateLocalName(this);
window["DesktopAfterOpen"](this);
};
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data, _len)
{
AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
......@@ -80,7 +95,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl;
}
editor._OfflineAppDocumentEndLoad(_url, _data);
editor._OfflineAppDocumentEndLoad(_url, _data, _len);
};
Asc['asc_docs_api'].prototype.asc_setAdvancedOptions = function(idOption, option)
......
......@@ -8836,7 +8836,6 @@ background-repeat: no-repeat;\
asc_docs_api.prototype["asc_SetSilentMode"] = asc_docs_api.prototype.asc_SetSilentMode;
asc_docs_api.prototype["asc_addOleObject"] = asc_docs_api.prototype.asc_addOleObject;
asc_docs_api.prototype["asc_editOleObject"] = asc_docs_api.prototype.asc_editOleObject;
asc_docs_api.prototype["asc_addSignatureLine"] = asc_docs_api.prototype.asc_addSignatureLine;
asc_docs_api.prototype["asc_startEditCurrentOleObject"] = asc_docs_api.prototype.asc_startEditCurrentOleObject;
asc_docs_api.prototype["asc_InputClearKeyboardElement"] = asc_docs_api.prototype.asc_InputClearKeyboardElement;
asc_docs_api.prototype["asc_SpecialPaste"] = asc_docs_api.prototype.asc_SpecialPaste;
......@@ -8850,16 +8849,17 @@ background-repeat: no-repeat;\
asc_docs_api.prototype["asc_Remove"] = asc_docs_api.prototype.asc_Remove;
asc_docs_api.prototype["asc_OnHideContextMenu"] = asc_docs_api.prototype.asc_OnHideContextMenu;
asc_docs_api.prototype["asc_OnShowContextMenu"] = asc_docs_api.prototype.asc_OnShowContextMenu;
asc_docs_api.prototype["asc_addSignatureLine"] = asc_docs_api.prototype.asc_addSignatureLine;
asc_docs_api.prototype["asc_getRequestSignatures"] = asc_docs_api.prototype.asc_getRequestSignatures;
// signatures
asc_docs_api.prototype["asc_addSignatureLine"] = asc_docs_api.prototype.asc_addSignatureLine;
asc_docs_api.prototype["asc_getRequestSignatures"] = asc_docs_api.prototype.asc_getRequestSignatures;
asc_docs_api.prototype["asc_AddSignatureLine2"] = asc_docs_api.prototype.asc_AddSignatureLine2;
asc_docs_api.prototype["asc_Sign"] = asc_docs_api.prototype.asc_Sign;
asc_docs_api.prototype["asc_ViewCertificate"] = asc_docs_api.prototype.asc_ViewCertificate;
asc_docs_api.prototype["asc_SelectCertificate"] = asc_docs_api.prototype.asc_SelectCertificate;
asc_docs_api.prototype["asc_GetDefaultCertificate"] = asc_docs_api.prototype.asc_GetDefaultCertificate;
asc_docs_api.prototype["asc_getSignatures"] = asc_docs_api.prototype.asc_getSignatures;
asc_docs_api.prototype["asc_isSignaturesSupport"] = asc_docs_api.prototype.asc_isSignaturesSupport;
CDocInfoProp.prototype['get_PageCount'] = CDocInfoProp.prototype.get_PageCount;
CDocInfoProp.prototype['put_PageCount'] = CDocInfoProp.prototype.put_PageCount;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment