on config save update meta.config on all workers

also dont make 20 socket.emit calls for each setting field, everything
will be send in 1 socket call.
This commit is contained in:
barisusakli
2014-09-29 16:35:13 -04:00
parent 219cd9661f
commit 9c996e4b99
4 changed files with 126 additions and 62 deletions

View File

@@ -74,7 +74,7 @@ SocketAdmin.themes.set = function(socket, data, callback) {
callback();
});
};
if (data.type == 'bootswatch') {
if (data.type === 'bootswatch') {
wrappedCallback();
} else {
widgets.reset(wrappedCallback);
@@ -126,6 +126,31 @@ SocketAdmin.config.set = function(socket, data, callback) {
});
};
SocketAdmin.config.setMultiple = function(socket, data, callback) {
if(!data) {
return callback(new Error('[[error:invalid-data]]'));
}
meta.configs.setMultiple(data, function(err) {
if(err) {
return callback(err);
}
callback();
var setting;
for(var field in data) {
if (data.hasOwnProperty(field)) {
setting = {
key: field,
value: data[field]
};
plugins.fireHook('action:config.set', setting);
logger.monitorConfig({io: index.server}, setting);
}
}
});
};
SocketAdmin.config.remove = function(socket, key) {
meta.configs.remove(key);
};
@@ -194,7 +219,7 @@ function getHourlyStatsForSet(set, hours, callback) {
next(err);
});
}
}, function(err) {
var termsArr = [];