diff options
author | Marcel Klehr <mklehr@gmx.net> | 2012-06-28 15:58:28 +0200 |
---|---|---|
committer | Marcel Klehr <mklehr@gmx.net> | 2012-06-28 15:58:28 +0200 |
commit | b0d369883b17d8ab60eff0738f2f4ec8bb82e29f (patch) | |
tree | 8cf1f484631476d9b266427c08b70c4527602f06 /src/static/js/pluginfw/plugins.js | |
parent | 711dee8f6b3f2c858d48d987e11ff587fb9ebfc6 (diff) | |
download | etherpad-lite-b0d369883b17d8ab60eff0738f2f4ec8bb82e29f.zip |
Fix plugin loader to work with windows paths (e.g. 'D:\foo\...')
Diffstat (limited to 'src/static/js/pluginfw/plugins.js')
-rw-r--r-- | src/static/js/pluginfw/plugins.js | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/static/js/pluginfw/plugins.js b/src/static/js/pluginfw/plugins.js index 1d486223..455dd203 100644 --- a/src/static/js/pluginfw/plugins.js +++ b/src/static/js/pluginfw/plugins.js @@ -54,10 +54,22 @@ exports.formatHooks = function (hook_set_name) { }; exports.loadFn = function (path, hookName) { - var x = path.split(":"); - var fn = require(x[0]); - var functionName = x[1] ? x[1] : hookName; + var functionName + , parts = path.split(":"); + // on windows + if(process.platform == 'win32') { + if(parts.length == 3) + functionName = parts.pop(); + path = parts.join(":"); + }else{ + path = parts[0]; + functionName = parts[1]; + } + + var fn = require(path); + functionName = functionName ? functionName : hookName; + _.each(functionName.split("."), function (name) { fn = fn[name]; }); |