* Backed out r7276 through r7278. This is too large a change to make during a featur...
[citadel.git] / webcit / siteconfig.c
index 53d8684f2497e937068764e79bdb88a6dc8f47b3..785a54d36a55658846e6015be4ae45acb50fb236 100644 (file)
@@ -125,7 +125,7 @@ CfgMapping ServerConfig[] = {
  */
 void load_siteconfig(void)
 {
-       struct wcsession *WCC = WC;
+       wcsession *WCC = WC;
        StrBuf *Buf, *CfgToken;
        HashList *Cfg;
        char buf[SIZ];
@@ -162,7 +162,7 @@ void load_siteconfig(void)
        Buf = NewStrBuf();
        CfgToken = NULL;
        StrBuf_ServGetln(Buf);
-       if (ChrPtr(Buf)[0] == '2') {
+       if (GetServerStatus(Buf, NULL) == 2) {
                StrBufCutLeft(Buf, 4);
 
                CfgToken = NewStrBuf();
@@ -175,8 +175,8 @@ void load_siteconfig(void)
        }
 
        serv_puts("GPEX mailboxes");
-       serv_getln(buf, sizeof buf);
-       if (buf[0] == '2') {
+       StrBuf_ServGetln(Buf);
+       if (GetServerStatus(Buf, NULL) == 2) {
                StrBufCutLeft(Buf, 4);
 
                CfgToken = NewStrBuf();
@@ -187,6 +187,7 @@ void load_siteconfig(void)
                StrBufExtract_token(CfgToken, Buf, 1, '|');
                Put(Cfg, HKEY("mboxvalue"), CfgToken, HFreeStrBuf);
        }
+       FreeStrBuf(&Buf);
 }
 
 
@@ -195,7 +196,7 @@ void load_siteconfig(void)
  */
 void siteconfig(void)
 {
-       struct wcsession *WCC = WC;
+       wcsession *WCC = WC;
        int i;
        char buf[256];
 
@@ -236,8 +237,8 @@ void siteconfig(void)
        serv_getln(buf, sizeof buf);
        serv_printf("SPEX mailboxes|%d|%d", ibstr("mboxpolicy"), ibstr("mboxvalue"));
        serv_getln(buf, sizeof buf);
-
-       strcpy(serv_info.serv_default_cal_zone, bstr("c_default_cal_zone"));
+       FreeStrBuf(&WCC->serv_info->serv_default_cal_zone);
+       WCC->serv_info->serv_default_cal_zone = NewStrBufDup(sbstr("c_default_cal_zone"));
 
        safestrncpy(WCC->ImportantMessage, _("Your system configuration has been updated."),
                sizeof WCC->ImportantMessage);
@@ -245,66 +246,57 @@ void siteconfig(void)
        display_aide_menu();
 }
 
-void tmplput_servcfg(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context, int ContextType)
+void tmplput_servcfg(StrBuf *Target, WCTemplputParams *TP)
 {
-       struct wcsession *WCC = WC;
+       wcsession *WCC = WC;
        void *vBuf;
        StrBuf *Buf;
 
        if (WCC->is_aide) {
                if (WCC->ServCfg == NULL)
                        load_siteconfig();
-               GetHash(WCC->ServCfg, 
-                       Tokens->Params[0]->Start,
-                       Tokens->Params[0]->len, 
-                       &vBuf);
+               GetHash(WCC->ServCfg, TKEY(0), &vBuf);
                Buf = (StrBuf*) vBuf;
-               StrBufAppendTemplate(Target, nArgs, Tokens, Context, ContextType, Buf, 1);
+               StrBufAppendTemplate(Target, TP, Buf, 1);
        }
 }
 
-int ConditionalServCfg(WCTemplateToken *Tokens, void *Context, int ContextType)
+int ConditionalServCfg(StrBuf *Target, WCTemplputParams *TP)
 {
-       struct wcsession *WCC = WC;
+       wcsession *WCC = WC;
        void *vBuf;
        StrBuf *Buf;
 
        if (WCC->is_aide) {
                if (WCC->ServCfg == NULL)
                        load_siteconfig();
-               GetHash(WCC->ServCfg, 
-                       Tokens->Params[2]->Start,
-                       Tokens->Params[2]->len, 
-                       &vBuf);
+               GetHash(WCC->ServCfg, TKEY(2), &vBuf);
                if (vBuf == NULL) return 0;
                Buf = (StrBuf*) vBuf;
-               if (Tokens->nParameters == 3) {
+               if (TP->Tokens->nParameters == 3) {
                        return 1;
                }
-               else if (Tokens->Params[3]->Type == TYPE_STR)
-                       return (strcmp(Tokens->Params[3]->Start, ChrPtr(Buf)) == 0);
-               else return (StrTol(Buf) == Tokens->Params[3]->lvalue);
+               else if (TP->Tokens->Params[3]->Type == TYPE_STR)
+                       return (strcmp(TP->Tokens->Params[3]->Start, ChrPtr(Buf)) == 0);
+               else return (StrTol(Buf) == TP->Tokens->Params[3]->lvalue);
        }
        else return 0;
 }
 
-int ConditionalServCfgSubst(WCTemplateToken *Tokens, void *Context, int ContextType)
+int ConditionalServCfgSubst(StrBuf *Target, WCTemplputParams *TP)
 {
-       struct wcsession *WCC = WC;
+       wcsession *WCC = WC;
        void *vBuf;
        StrBuf *Buf;
 
        if (WCC->is_aide) {
                if (WCC->ServCfg == NULL)
                        load_siteconfig();
-               GetHash(WCC->ServCfg, 
-                       Tokens->Params[2]->Start,
-                       Tokens->Params[2]->len, 
-                       &vBuf);
+               GetHash(WCC->ServCfg, TKEY(2), &vBuf);
                if (vBuf == NULL) return 0;
                Buf = (StrBuf*) vBuf;
 
-               return CompareSubstToStrBuf(Buf, Tokens->Params[3]);
+               return CompareSubstToStrBuf(Buf, TP->Tokens->Params[3]);
        }
        else return 0;
 }