add back action:plugin.install and action:plugin activate #5407

v1.18.x
barisusakli 8 years ago
parent d8170d5d1c
commit d500e7f2aa

@ -9,8 +9,6 @@ module.exports = function (Plugins) {
'filter:post.save': 'filter:post.create', 'filter:post.save': 'filter:post.create',
'filter:user.profileLinks': 'filter:user.profileMenu', 'filter:user.profileLinks': 'filter:user.profileMenu',
'action:post.flag': 'action:flag.create', 'action:post.flag': 'action:flag.create',
'action:plugin.activate': null,
'action:plugin.install': null,
}; };
/* /*
`data` is an object consisting of (* is required): `data` is an object consisting of (* is required):

@ -49,10 +49,7 @@ module.exports = function (Plugins) {
}, },
function (next) { function (next) {
meta.reloadRequired = true; meta.reloadRequired = true;
if (isActive) { Plugins.fireHook(isActive ? 'action:plugin.deactivate' : 'action:plugin.activate', { id: id });
Plugins.fireHook('action:plugin.deactivate', { id: id });
}
setImmediate(next); setImmediate(next);
}, },
], function (err) { ], function (err) {
@ -71,12 +68,14 @@ module.exports = function (Plugins) {
function toggleInstall(id, version, callback) { function toggleInstall(id, version, callback) {
var installed; var installed;
var type;
async.waterfall([ async.waterfall([
function (next) { function (next) {
Plugins.isInstalled(id, next); Plugins.isInstalled(id, next);
}, },
function (_installed, next) { function (_installed, next) {
installed = _installed; installed = _installed;
type = installed ? 'uninstall' : 'install';
Plugins.isActive(id, next); Plugins.isActive(id, next);
}, },
function (active, next) { function (active, next) {
@ -89,16 +88,13 @@ module.exports = function (Plugins) {
setImmediate(next); setImmediate(next);
}, },
function (next) { function (next) {
runNpmCommand(installed ? 'uninstall' : 'install', id, version || 'latest', next); runNpmCommand(type, id, version || 'latest', next);
}, },
function (next) { function (next) {
Plugins.get(id, next); Plugins.get(id, next);
}, },
function (pluginData, next) { function (pluginData, next) {
if (installed) { Plugins.fireHook('action:plugin.' + type, { id: id, version: version });
Plugins.fireHook('action:plugin.uninstall', { id: id, version: version });
}
setImmediate(next, null, pluginData); setImmediate(next, null, pluginData);
}, },
], callback); ], callback);

Loading…
Cancel
Save