Merge pull request #2859 from cmbirk/develop
Check for SOffice before removing export links
This commit is contained in:
commit
41ced5e239
|
@ -1234,6 +1234,8 @@ function handleClientReady(client, message)
|
|||
"serverTimestamp": new Date().getTime(),
|
||||
"userId": author,
|
||||
"abiwordAvailable": settings.abiwordAvailable(),
|
||||
"sofficeAvailable": settings.sofficeAvailable(),
|
||||
"exportAvailable": settings.exportAvailable(),
|
||||
"plugins": {
|
||||
"plugins": plugins.plugins,
|
||||
"parts": plugins.parts,
|
||||
|
|
|
@ -13,9 +13,9 @@ exports.expressCreateServer = function (hook_name, args, cb) {
|
|||
}
|
||||
|
||||
//if abiword is disabled, and this is a format we only support with abiword, output a message
|
||||
if (settings.abiword == null &&
|
||||
if (settings.exportAvailable() == "no" &&
|
||||
["odt", "pdf", "doc"].indexOf(req.params.type) !== -1) {
|
||||
res.send("Abiword is not enabled at this Etherpad instance. Set the path to Abiword in settings.json to enable this feature");
|
||||
res.send("This export is not enabled at this Etherpad instance. Set the path to Abiword or SOffice in settings.json to enable this feature");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -222,6 +222,27 @@ exports.abiwordAvailable = function()
|
|||
}
|
||||
};
|
||||
|
||||
exports.sofficeAvailable = function () {
|
||||
if(exports.soffice != null) {
|
||||
return os.type().indexOf("Windows") != -1 ? "withoutPDF": "yes";
|
||||
} else {
|
||||
return "no";
|
||||
}
|
||||
};
|
||||
|
||||
exports.exportAvailable = function () {
|
||||
var abiword = exports.abiwordAvailable();
|
||||
var soffice = exports.sofficeAvailable();
|
||||
|
||||
if(abiword == "no" && soffice == "no") {
|
||||
return "no";
|
||||
} else if ((abiword == "withoutPDF" && soffice == "no") || (abiword == "no" && soffice == "withoutPDF")) {
|
||||
return "withoutPDF";
|
||||
} else {
|
||||
return "yes";
|
||||
}
|
||||
};
|
||||
|
||||
// Provide git version if available
|
||||
exports.getGitCommit = function() {
|
||||
var version = "";
|
||||
|
@ -375,6 +396,20 @@ exports.reloadSettings = function reloadSettings() {
|
|||
}
|
||||
}
|
||||
|
||||
if(exports.soffice) {
|
||||
fs.exists(exports.soffice, function (exists) {
|
||||
if(!exists) {
|
||||
var sofficeError = "SOffice does not exist at this path, check your settings file";
|
||||
|
||||
if(!exports.suppressErrorsInPadText) {
|
||||
exports.defaultPadText = exports.defaultPadText + "\nError: " + sofficeError + suppressDisableMsg;
|
||||
}
|
||||
console.error(sofficeError);
|
||||
exports.soffice = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!exports.sessionKey) {
|
||||
try {
|
||||
exports.sessionKey = fs.readFileSync("./SESSIONKEY.txt","utf8");
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* This code is mostly from the old Etherpad. Please help us to comment this code.
|
||||
* This code is mostly from the old Etherpad. Please help us to comment this code.
|
||||
* This helps other people to understand this code better and helps them to improve it.
|
||||
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
||||
*/
|
||||
|
@ -46,7 +46,7 @@ var padimpexp = (function()
|
|||
$('#importmessagefail').fadeOut("fast");
|
||||
var ret = window.confirm(html10n.get("pad.impexp.confirmimport"));
|
||||
if (ret)
|
||||
{
|
||||
{
|
||||
currentImportTimer = window.setTimeout(function()
|
||||
{
|
||||
if (!currentImportTimer)
|
||||
|
@ -61,7 +61,7 @@ var padimpexp = (function()
|
|||
{
|
||||
disabled: true
|
||||
}).val(html10n.get("pad.impexp.importing"));
|
||||
|
||||
|
||||
window.setTimeout(function()
|
||||
{
|
||||
$('#importfileinput').attr(
|
||||
|
@ -104,7 +104,7 @@ var padimpexp = (function()
|
|||
function importErrorMessage(status)
|
||||
{
|
||||
var msg="";
|
||||
|
||||
|
||||
if(status === "convertFailed"){
|
||||
msg = html10n.get("pad.impexp.convertFailed");
|
||||
} else if(status === "uploadFailed"){
|
||||
|
@ -112,7 +112,7 @@ var padimpexp = (function()
|
|||
} else if(status === "padHasData"){
|
||||
msg = html10n.get("pad.impexp.padHasData");
|
||||
}
|
||||
|
||||
|
||||
function showError(fade)
|
||||
{
|
||||
$('#importmessagefail').html('<strong style="color: red">'+html10n.get('pad.impexp.importfailed')+':</strong> ' + (msg || html10n.get('pad.impexp.copypaste','')))[(fade ? "fadeIn" : "show")]();
|
||||
|
@ -206,9 +206,9 @@ var padimpexp = (function()
|
|||
|
||||
// activate action to import in the form
|
||||
$("#importform").attr('action', pad_root_url + "/import");
|
||||
|
||||
//hide stuff thats not avaible if abiword is disabled
|
||||
if(clientVars.abiwordAvailable == "no")
|
||||
|
||||
//hide stuff thats not avaible if abiword/soffice is disabled
|
||||
if(clientVars.exportAvailable == "no")
|
||||
{
|
||||
$("#exportworda").remove();
|
||||
$("#exportpdfa").remove();
|
||||
|
@ -216,13 +216,13 @@ var padimpexp = (function()
|
|||
|
||||
$("#importmessageabiword").show();
|
||||
}
|
||||
else if(clientVars.abiwordAvailable == "withoutPDF")
|
||||
else if(clientVars.exportAvailable == "withoutPDF")
|
||||
{
|
||||
$("#exportpdfa").remove();
|
||||
|
||||
|
||||
$("#exportworda").attr("href", pad_root_path + "/export/doc");
|
||||
$("#exportopena").attr("href", pad_root_path + "/export/odt");
|
||||
|
||||
|
||||
$("#importexport").css({"height":"142px"});
|
||||
$("#importexportline").css({"height":"142px"});
|
||||
}
|
||||
|
@ -232,7 +232,7 @@ var padimpexp = (function()
|
|||
$("#exportpdfa").attr("href", pad_root_path + "/export/pdf");
|
||||
$("#exportopena").attr("href", pad_root_path + "/export/odt");
|
||||
}
|
||||
|
||||
|
||||
addImportFrames();
|
||||
$("#importfileinput").change(fileInputUpdated);
|
||||
$('#importform').unbind("submit").submit(fileInputSubmit);
|
||||
|
|
Loading…
Reference in New Issue