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; ...@@ -60,7 +60,7 @@ var c_oAscError = Asc.c_oAscError;
window["AscDesktopEditor"]["LocalStartOpen"](); 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"](); AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "") if (_data == "")
...@@ -69,7 +69,8 @@ var c_oAscError = Asc.c_oAscError; ...@@ -69,7 +69,8 @@ var c_oAscError = Asc.c_oAscError;
return; return;
} }
this.openDocument(_data); var _binary = getBinaryArray(_data, _len);
this.openDocument(_binary);
AscCommon.History.UserSaveMode = true; AscCommon.History.UserSaveMode = true;
DesktopOfflineUpdateLocalName(this); DesktopOfflineUpdateLocalName(this);
...@@ -137,7 +138,7 @@ window["Asc"]['spreadsheet_api'].prototype.asc_setAdvancedOptions = function(idO ...@@ -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["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; AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0) if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
...@@ -147,7 +148,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data) ...@@ -147,7 +148,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl; 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; ...@@ -3854,6 +3854,17 @@ var editor;
prot["asc_OnHideContextMenu"] = prot.asc_OnHideContextMenu; prot["asc_OnHideContextMenu"] = prot.asc_OnHideContextMenu;
prot["asc_OnShowContextMenu"] = prot.asc_OnShowContextMenu; 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 // mobile
prot["asc_Remove"] = prot.asc_Remove; prot["asc_Remove"] = prot.asc_Remove;
})(window); })(window);
...@@ -11088,6 +11088,12 @@ ...@@ -11088,6 +11088,12 @@
WorksheetView.prototype._replaceCellsText = function (aReplaceCells, options, lockDraw, callback) { WorksheetView.prototype._replaceCellsText = function (aReplaceCells, options, lockDraw, callback) {
var t = this; var t = this;
if (this.model.inPivotTable(aReplaceCells)) {
options.error = true;
return callback(options);
}
var findFlags = "g"; // Заменяем все вхождения var findFlags = "g"; // Заменяем все вхождения
if (true !== options.isMatchCase) { if (true !== options.isMatchCase) {
findFlags += "i"; findFlags += "i";
......
...@@ -388,6 +388,44 @@ window["DesktopAfterOpen"] = function(_api) ...@@ -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.isSafari = false;
//AscBrowser.isSafariMacOs = false; //AscBrowser.isSafariMacOs = false;
......
...@@ -1489,6 +1489,13 @@ ...@@ -1489,6 +1489,13 @@
return this.signatures; 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) { baseEditorsApi.prototype.asc_getSignatureImage = function (sGuid) {
var count = this.signatures.length; var count = this.signatures.length;
......
...@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function() ...@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function()
AscCommon.History.UserSaveMode = true; AscCommon.History.UserSaveMode = true;
window["AscDesktopEditor"]["LocalStartOpen"](); 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"](); AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "") if (_data == "")
...@@ -58,14 +58,15 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data) ...@@ -58,14 +58,15 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _data)
return; return;
} }
this.OpenDocument2(_url, _data); var _binary = getBinaryArray(_data, _len);
this.OpenDocument2(_url, _binary);
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false); this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
this.DocumentOrientation = (null == this.WordControl.m_oLogicDocument) ? true : !this.WordControl.m_oLogicDocument.Orientation; this.DocumentOrientation = (null == this.WordControl.m_oLogicDocument) ? true : !this.WordControl.m_oLogicDocument.Orientation;
DesktopOfflineUpdateLocalName(this); DesktopOfflineUpdateLocalName(this);
window["DesktopAfterOpen"](this); window["DesktopAfterOpen"](this);
}; };
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data) window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data, _len)
{ {
AscCommon.g_oDocumentUrls.documentUrl = _url; AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0) if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
...@@ -75,7 +76,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data) ...@@ -75,7 +76,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl; 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;\ ...@@ -7403,6 +7403,17 @@ background-repeat: no-repeat;\
asc_docs_api.prototype["DemonstrationToReporterMessages"] = asc_docs_api.prototype.DemonstrationToReporterMessages; asc_docs_api.prototype["DemonstrationToReporterMessages"] = asc_docs_api.prototype.DemonstrationToReporterMessages;
asc_docs_api.prototype["preloadReporter"] = asc_docs_api.prototype.preloadReporter; 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; window['Asc']['asc_CCommentData'] = window['Asc'].asc_CCommentData = asc_CCommentData;
asc_CCommentData.prototype['asc_getText'] = asc_CCommentData.prototype.asc_getText; asc_CCommentData.prototype['asc_getText'] = asc_CCommentData.prototype.asc_getText;
......
...@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function() ...@@ -49,7 +49,7 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentStartLoad = function()
AscCommon.History.UserSaveMode = true; AscCommon.History.UserSaveMode = true;
window["AscDesktopEditor"]["LocalStartOpen"](); 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"](); AscCommon.g_oIdCounter.m_sUserId = window["AscDesktopEditor"]["CheckUserId"]();
if (_data == "") if (_data == "")
...@@ -57,20 +57,35 @@ Asc['asc_docs_api'].prototype._OfflineAppDocumentEndLoad = function(_url, _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); this.sendEvent("asc_onError", c_oAscError.ID.ConvertationOpenError, c_oAscError.Level.Critical);
return; 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++)
{ {
this.OpenDocument(_url, _data); _signature += String.fromCharCode(_binary[i]);
}
}
if (AscCommon.c_oSerFormat.Signature !== _signature)
{
this.OpenDocument(_url, _binary);
} }
else else
{ {
this.OpenDocument2(_url, _data); this.OpenDocument2(_url, _binary);
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false); this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
} }
this.WordControl.m_oLogicDocument.Set_FastCollaborativeEditing(false);
DesktopOfflineUpdateLocalName(this); DesktopOfflineUpdateLocalName(this);
window["DesktopAfterOpen"](this); window["DesktopAfterOpen"](this);
}; };
window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data) window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data, _len)
{ {
AscCommon.g_oDocumentUrls.documentUrl = _url; AscCommon.g_oDocumentUrls.documentUrl = _url;
if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0) if (AscCommon.g_oDocumentUrls.documentUrl.indexOf("file:") != 0)
...@@ -80,7 +95,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data) ...@@ -80,7 +95,7 @@ window["DesktopOfflineAppDocumentEndLoad"] = function(_url, _data)
AscCommon.g_oDocumentUrls.documentUrl = "file://" + AscCommon.g_oDocumentUrls.documentUrl; 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) Asc['asc_docs_api'].prototype.asc_setAdvancedOptions = function(idOption, option)
......
...@@ -8836,7 +8836,6 @@ background-repeat: no-repeat;\ ...@@ -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_SetSilentMode"] = asc_docs_api.prototype.asc_SetSilentMode;
asc_docs_api.prototype["asc_addOleObject"] = asc_docs_api.prototype.asc_addOleObject; 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_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_startEditCurrentOleObject"] = asc_docs_api.prototype.asc_startEditCurrentOleObject;
asc_docs_api.prototype["asc_InputClearKeyboardElement"] = asc_docs_api.prototype.asc_InputClearKeyboardElement; asc_docs_api.prototype["asc_InputClearKeyboardElement"] = asc_docs_api.prototype.asc_InputClearKeyboardElement;
asc_docs_api.prototype["asc_SpecialPaste"] = asc_docs_api.prototype.asc_SpecialPaste; asc_docs_api.prototype["asc_SpecialPaste"] = asc_docs_api.prototype.asc_SpecialPaste;
...@@ -8850,16 +8849,17 @@ background-repeat: no-repeat;\ ...@@ -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_Remove"] = asc_docs_api.prototype.asc_Remove;
asc_docs_api.prototype["asc_OnHideContextMenu"] = asc_docs_api.prototype.asc_OnHideContextMenu; 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_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 // 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_AddSignatureLine2"] = asc_docs_api.prototype.asc_AddSignatureLine2;
asc_docs_api.prototype["asc_Sign"] = asc_docs_api.prototype.asc_Sign; 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_ViewCertificate"] = asc_docs_api.prototype.asc_ViewCertificate;
asc_docs_api.prototype["asc_SelectCertificate"] = asc_docs_api.prototype.asc_SelectCertificate; 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_GetDefaultCertificate"] = asc_docs_api.prototype.asc_GetDefaultCertificate;
asc_docs_api.prototype["asc_getSignatures"] = asc_docs_api.prototype.asc_getSignatures; 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['get_PageCount'] = CDocInfoProp.prototype.get_PageCount;
CDocInfoProp.prototype['put_PageCount'] = CDocInfoProp.prototype.put_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