X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Fsiteconfig.c;h=b15b41e209667ac9adceb2159c7774a2a953c1d6;hp=785a54d36a55658846e6015be4ae45acb50fb236;hb=27e6a22f021cffe2cee1a41accbf9d2f78b20dab;hpb=9e2dd6c9c9ba337755ba58f0bbbce271ef14545b diff --git a/webcit/siteconfig.c b/webcit/siteconfig.c index 785a54d36..b15b41e20 100644 --- a/webcit/siteconfig.c +++ b/webcit/siteconfig.c @@ -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); }