Comparison

core/modulemanager.lua @ 4135:9dfb3c0101b5

modulemanager: Fix disabling a module on a single host
author Paul Aurich <paul@darkrain42.org>
date Tue, 01 Feb 2011 17:56:16 -0800
parent 4068:15c4cefb825c
child 4151:a1ac8f064dcb
comparison
equal deleted inserted replaced
4132:ccc16434dbe2 4135:9dfb3c0101b5
66 local host_modules_disabled = config.get(host, "core", "modules_disabled"); 66 local host_modules_disabled = config.get(host, "core", "modules_disabled");
67 67
68 if host_modules_enabled == global_modules_enabled then host_modules_enabled = nil; end 68 if host_modules_enabled == global_modules_enabled then host_modules_enabled = nil; end
69 if host_modules_disabled == global_modules_disabled then host_modules_disabled = nil; end 69 if host_modules_disabled == global_modules_disabled then host_modules_disabled = nil; end
70 70
71 local host_modules = set.new(host_modules_enabled) - set.new(host_modules_disabled);
72 local global_modules = set.new(autoload_modules) + set.new(global_modules_enabled) - set.new(global_modules_disabled); 71 local global_modules = set.new(autoload_modules) + set.new(global_modules_enabled) - set.new(global_modules_disabled);
73 if component then 72 if component then
74 global_modules = set.intersection(set.new(component_inheritable_modules), global_modules); 73 global_modules = set.intersection(set.new(component_inheritable_modules), global_modules);
75 end 74 end
76 local modules = global_modules + host_modules; 75 local modules = (global_modules + set.new(host_modules_enabled)) - set.new(host_modules_disabled);
77 76
78 -- COMPAT w/ pre 0.8 77 -- COMPAT w/ pre 0.8
79 if modules:contains("console") then 78 if modules:contains("console") then
80 log("error", "The mod_console plugin has been renamed to mod_admin_telnet. Please update your config."); 79 log("error", "The mod_console plugin has been renamed to mod_admin_telnet. Please update your config.");
81 modules:remove("console"); 80 modules:remove("console");