* add more module handlers:
[citadel.git] / webcit / siteconfig.c
index 785a54d36a55658846e6015be4ae45acb50fb236..b15b41e209667ac9adceb2159c7774a2a953c1d6 100644 (file)
@@ -301,6 +301,13 @@ int ConditionalServCfgSubst(StrBuf *Target, WCTemplputParams *TP)
        else return 0;
 }
 
+void CfgZoneTempl(StrBuf *TemplBuffer, WCTemplputParams *TP)
+{
+       StrBuf *Zone = (StrBuf*) CTX;
+
+       SVPutBuf("ZONENAME", Zone, 1);
+}
+
 void 
 InitModule_SITECONFIG
 (void)
@@ -310,4 +317,27 @@ InitModule_SITECONFIG
        RegisterNamespace("SERV:CFG", 1, 2, tmplput_servcfg, CTX_NONE);
        RegisterConditional(HKEY("COND:SERVCFG"), 3, ConditionalServCfg, CTX_NONE);
        RegisterConditional(HKEY("COND:SERVCFG:SUBST"), 4, ConditionalServCfgSubst, CTX_NONE);
+       RegisterIterator("PREF:ZONE", 0, ZoneHash, NULL, CfgZoneTempl, NULL, CTX_PREF, CTX_NONE, IT_NOFLAG);
+}
+
+void 
+ServerStartModule_SITECONFIG
+(void)
+{
+       LoadZoneFiles();
+}
+
+void 
+ServerShutdownModule_SITECONFIG
+(void)
+{
+       DeleteHash(&ZoneHash);
+}
+
+
+void 
+SessionDestroyModule_SITECONFIG
+(wcsession *sess)
+{
+       DeleteHash(&sess->ServCfg);
 }