Diff

core/modulemanager.lua @ 644:e1b3a472ca00

Automated merge with http://waqas.ath.cx:8000/
author Matthew Wild <mwild1@gmail.com>
date Thu, 25 Dec 2008 01:37:13 +0000
parent 637:30b8ad9f7b70
child 670:d5cf10b7fc44
line wrap: on
line diff
--- a/core/modulemanager.lua	Thu Dec 25 06:35:05 2008 +0500
+++ b/core/modulemanager.lua	Thu Dec 25 01:37:13 2008 +0000
@@ -53,6 +53,24 @@
 
 -- Load modules when a host is activated
 function load_modules_for_host(host)
+	-- Load modules from global section
+	local modules_enabled = config.get("*", "core", "modules_enabled");
+	local modules_disabled = config.get(host, "core", "modules_disabled");
+	local disabled_set = {};
+	if modules_enabled then
+		if modules_disabled then
+			for _, module in pairs(modules_disabled) do
+				disabled_set[module] = true;
+			end
+		end
+		for _, module in pairs(modules_enabled) do
+			if not disabled_set[module] then
+				load(host, module);
+			end
+		end
+	end
+
+	-- Load modules from just this host
 	local modules_enabled = config.get(host, "core", "modules_enabled");
 	if modules_enabled then
 		for _, module in pairs(modules_enabled) do