From ddc69831b219b7e6bedee910fba805a26b0fb0ca Mon Sep 17 00:00:00 2001 From: John McLear Date: Wed, 11 Feb 2015 17:59:05 +0000 Subject: [PATCH] working, need to test though --- src/node/hooks/express.js | 18 +----------------- src/node/hooks/express/adminplugins.js | 4 +++- src/node/utils/Settings.js | 21 +++++++++++++++++++++ src/templates/admin/plugins-info.html | 2 ++ 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/node/hooks/express.js b/src/node/hooks/express.js index e858b800..3275bd3f 100644 --- a/src/node/hooks/express.js +++ b/src/node/hooks/express.js @@ -10,24 +10,9 @@ var server; var serverName; exports.createServer = function () { - //try to get the git version - var version = ""; - try - { - var rootPath = path.resolve(npm.dir, '..'); - var ref = fs.readFileSync(rootPath + "/.git/HEAD", "utf-8"); - var refPath = rootPath + "/.git/" + ref.substring(5, ref.indexOf("\n")); - version = fs.readFileSync(refPath, "utf-8"); - version = version.substring(0, 7); - console.log("Your Etherpad git version is " + version); - } - catch(e) - { - console.warn("Can't get git version for server header\n" + e.message) - } console.log("Report bugs at https://github.com/ether/etherpad-lite/issues") - serverName = "Etherpad " + version + " (http://etherpad.org)"; + serverName = "Etherpad " + settings.getGitCommit() + " (http://etherpad.org)"; exports.restartServer(); @@ -38,7 +23,6 @@ exports.createServer = function () { else{ console.warn("Admin username and password not set in settings.json. To access admin please uncomment and edit 'users' in settings.json"); } - } exports.restartServer = function () { diff --git a/src/node/hooks/express/adminplugins.js b/src/node/hooks/express/adminplugins.js index 34eafd0b..5015cc5a 100644 --- a/src/node/hooks/express/adminplugins.js +++ b/src/node/hooks/express/adminplugins.js @@ -1,4 +1,5 @@ var eejs = require('ep_etherpad-lite/node/eejs'); +var settings = require('ep_etherpad-lite/node/utils/Settings'); var installer = require('ep_etherpad-lite/static/js/pluginfw/installer'); var plugins = require('ep_etherpad-lite/static/js/pluginfw/plugins'); var _ = require('underscore'); @@ -15,7 +16,8 @@ exports.expressCreateServer = function (hook_name, args, cb) { res.send( eejs.require("ep_etherpad-lite/templates/admin/plugins.html", render_args) ); }); args.app.get('/admin/plugins/info', function(req, res) { - res.send( eejs.require("ep_etherpad-lite/templates/admin/plugins-info.html", {}) ); + var gitCommit = settings.getGitCommit(); + res.send( eejs.require("ep_etherpad-lite/templates/admin/plugins-info.html", {gitCommit:gitCommit}) ); }); } diff --git a/src/node/utils/Settings.js b/src/node/utils/Settings.js index 05ae3bd8..1fb5bddf 100644 --- a/src/node/utils/Settings.js +++ b/src/node/utils/Settings.js @@ -179,6 +179,25 @@ exports.abiwordAvailable = function() } }; +// Provide git version if available +exports.getGitCommit = function() { + var version = ""; + try + { + var rootPath = path.resolve(npm.dir, '..'); + var ref = fs.readFileSync(rootPath + "/.git/HEAD", "utf-8"); + var refPath = rootPath + "/.git/" + ref.substring(5, ref.indexOf("\n")); + version = fs.readFileSync(refPath, "utf-8"); + version = version.substring(0, 7); + console.log("Your Etherpad git version is " + version); + } + catch(e) + { + console.warn("Can't get git version for server header\n" + e.message) + } + return version; +} + exports.reloadSettings = function reloadSettings() { // Discover where the settings file lives var settingsFilename = argv.settings || "settings.json"; @@ -261,3 +280,5 @@ exports.reloadSettings = function reloadSettings() { // initially load settings exports.reloadSettings(); + + diff --git a/src/templates/admin/plugins-info.html b/src/templates/admin/plugins-info.html index 0ca6d010..ac1d88bc 100644 --- a/src/templates/admin/plugins-info.html +++ b/src/templates/admin/plugins-info.html @@ -22,6 +22,8 @@
+

Etherpad Git Commit

+
<%= gitCommit %>

Installed plugins

<%- plugins.formatPlugins().replace(", ","\n") %>