2011-12-04 15:33:56 +00:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
|
2011-03-26 13:10:41 +00:00
|
|
|
plugins = {
|
2011-07-07 17:59:34 +00:00
|
|
|
callHook: function(hookName, args)
|
|
|
|
{
|
2011-03-26 13:10:41 +00:00
|
|
|
var hook = clientVars.hooks[hookName];
|
2011-07-07 17:59:34 +00:00
|
|
|
if (hook === undefined) return [];
|
2011-03-26 13:10:41 +00:00
|
|
|
var res = [];
|
2011-07-07 17:59:34 +00:00
|
|
|
for (var i = 0, N = hook.length; i < N; i++)
|
|
|
|
{
|
2011-03-26 13:10:41 +00:00
|
|
|
var plugin = hook[i];
|
|
|
|
var pluginRes = eval(plugin.plugin)[plugin.original || hookName](args);
|
2011-07-07 17:59:34 +00:00
|
|
|
if (pluginRes != undefined && pluginRes != null) res = res.concat(pluginRes);
|
2011-03-26 13:10:41 +00:00
|
|
|
}
|
|
|
|
return res;
|
|
|
|
},
|
|
|
|
|
2011-07-07 17:59:34 +00:00
|
|
|
callHookStr: function(hookName, args, sep, pre, post)
|
|
|
|
{
|
2011-03-26 13:10:41 +00:00
|
|
|
if (sep == undefined) sep = '';
|
|
|
|
if (pre == undefined) pre = '';
|
|
|
|
if (post == undefined) post = '';
|
2011-07-07 17:59:34 +00:00
|
|
|
return plugins.callHook(hookName, args).map(function(x)
|
|
|
|
{
|
|
|
|
return pre + x + post
|
|
|
|
}).join(sep || "");
|
2011-03-26 13:10:41 +00:00
|
|
|
}
|
|
|
|
};
|