2018-10-22 07:30:48 -04:00
|
|
|
'use strict';
|
|
|
|
|
|
2019-01-10 23:52:53 -05:00
|
|
|
const validator = require('validator');
|
2018-10-22 07:30:48 -04:00
|
|
|
var plugins = require('../../plugins');
|
|
|
|
|
|
|
|
|
|
var hooksController = module.exports;
|
|
|
|
|
|
|
|
|
|
hooksController.get = function (req, res) {
|
|
|
|
|
var hooks = [];
|
|
|
|
|
Object.keys(plugins.loadedHooks).forEach(function (key, hookIndex) {
|
|
|
|
|
var current = {
|
|
|
|
|
hookName: key,
|
|
|
|
|
methods: [],
|
|
|
|
|
index: 'hook-' + hookIndex,
|
|
|
|
|
count: plugins.loadedHooks[key].length,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
plugins.loadedHooks[key].forEach(function (hookData, methodIndex) {
|
|
|
|
|
current.methods.push({
|
|
|
|
|
id: hookData.id,
|
|
|
|
|
priority: hookData.priority,
|
2019-01-10 23:52:53 -05:00
|
|
|
method: hookData.method ? validator.escape(hookData.method.toString()) : 'No plugin function!',
|
2018-10-22 07:30:48 -04:00
|
|
|
index: hookIndex + '-code-' + methodIndex,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
hooks.push(current);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
hooks.sort((a, b) => b.count - a.count);
|
|
|
|
|
|
|
|
|
|
res.render('admin/advanced/hooks', { hooks: hooks });
|
|
|
|
|
};
|