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");
|
||||
|
|
|
@ -207,8 +207,8 @@ 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,7 +216,7 @@ var padimpexp = (function()
|
|||
|
||||
$("#importmessageabiword").show();
|
||||
}
|
||||
else if(clientVars.abiwordAvailable == "withoutPDF")
|
||||
else if(clientVars.exportAvailable == "withoutPDF")
|
||||
{
|
||||
$("#exportpdfa").remove();
|
||||
|
||||
|
|
Loading…
Reference in New Issue