summaryrefslogtreecommitdiff
path: root/src/node
diff options
context:
space:
mode:
Diffstat (limited to 'src/node')
-rw-r--r--src/node/handler/PadMessageHandler.js2
-rw-r--r--src/node/utils/Settings.js35
2 files changed, 37 insertions, 0 deletions
diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js
index bf8737fc..f48be604 100644
--- a/src/node/handler/PadMessageHandler.js
+++ b/src/node/handler/PadMessageHandler.js
@@ -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,
diff --git a/src/node/utils/Settings.js b/src/node/utils/Settings.js
index 325a997a..b765670a 100644
--- a/src/node/utils/Settings.js
+++ b/src/node/utils/Settings.js
@@ -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");