#include "webcit.h"
+CtxType CTX_SIEVELIST = CTX_NONE;
+CtxType CTX_SIEVESCRIPT = CTX_NONE;
+
#define MAX_SCRIPTS 100
#define MAX_RULES 50
#define RULES_SCRIPT "__WebCit_Generated_Script__"
}
+void display_sieve_add_or_delete(void) {
+ output_headers(1, 1, 2, 0, 0, 0);
+ do_template("sieve_add");
+ wDumpContent(1);
+}
+
+
+
/*
* create a new script
* take the web environment script name and create it on the citadel server
}
}
- output_headers(1, 1, 2, 0, 0, 0);
- do_template("sieve_add");
- wDumpContent(1);
+ display_sieve_add_or_delete();
}
serv_printf("MSIV deletescript|%s", bstr("script_name"));
serv_getln(buf, sizeof buf);
- output_headers(1, 1, 2, 0, 0, 0);
- do_template("sieve_add");
- wDumpContent(1);
+ display_sieve_add_or_delete();
}
*/
void display_no_sieve(void) {
- output_headers(1, 1, 2, 0, 0, 0);
+ output_headers(1, 1, 1, 0, 0, 0);
do_template("sieve_none");
wDumpContent(1);
}
int ConditionalSieveScriptIsActive(StrBuf *Target, WCTemplputParams *TP)
{
- SieveListing *SieveList = (SieveListing *)CTX;
+ SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST);
return SieveList->IsActive;
}
int ConditionalSieveScriptIsRulesScript(StrBuf *Target, WCTemplputParams *TP)
{
- SieveListing *SieveList = (SieveListing *)CTX;
+ SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST);
return SieveList->IsActive;
}
void tmplput_SieveScriptName(StrBuf *Target, WCTemplputParams *TP)
{
- SieveListing *SieveList = (SieveListing *)CTX;
+ SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST);
StrBufAppendTemplate(Target, TP, SieveList->Name, 0);
}
void tmplput_SieveScriptContent(StrBuf *Target, WCTemplputParams *TP)
{
- SieveListing *SieveList = (SieveListing *)CTX;
+ SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST);
StrBufAppendTemplate(Target, TP, SieveList->Content, 0);
}
void FreeSieveListing(void *vSieveListing)
int ConditionalSieveRule_hfield(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
}
int ConditionalSieveRule_compare(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
3,
}
int ConditionalSieveRule_action(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
3,
}
int ConditionalSieveRule_sizecomp(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
3,
}
int ConditionalSieveRule_final(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
3,
}
int ConditionalSieveRule_ThisRoom(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return GetTemplateTokenNumber(Target,
TP,
3,
}
int ConditionalSieveRule_Active(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
return Rule->active;
}
void tmplput_SieveRule_htext(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
StrBufAppendTemplate(Target, TP, Rule->htext, 0);
}
void tmplput_SieveRule_fileinto(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
StrBufAppendTemplate(Target, TP, Rule->fileinto, 0);
}
void tmplput_SieveRule_redirect(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
StrBufAppendTemplate(Target, TP, Rule->redirect, 0);
}
void tmplput_SieveRule_automsg(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
StrBufAppendTemplate(Target, TP, Rule->automsg, 0);
}
void tmplput_SieveRule_sizeval(StrBuf *Target, WCTemplputParams *TP)
{
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
StrBufAppendPrintf(Target, "%d", Rule->sizeval);
}
void tmplput_SieveRule_lookup_FileIntoRoom(StrBuf *Target, WCTemplputParams *TP)
{
void *vRoom;
- SieveRule *Rule = (SieveRule *)CTX;
+ SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT);
wcsession *WCC = WC;
HashList *Rooms = GetRoomListHashLKRA(Target, TP);
InitModule_SIEVE
(void)
{
+ RegisterCTX(CTX_SIEVELIST);
+ RegisterCTX(CTX_SIEVESCRIPT);
REGISTERTokenParamDefine(from);
REGISTERTokenParamDefine(tocc);
REGISTERTokenParamDefine(subject);
WebcitAddUrlHandler(HKEY("save_sieve"), "", 0, save_sieve, 0);
WebcitAddUrlHandler(HKEY("create_script"), "", 0, create_script, 0);
WebcitAddUrlHandler(HKEY("delete_script"), "", 0, delete_script, 0);
+ WebcitAddUrlHandler(HKEY("display_sieve_add_or_delete"), "", 0, display_sieve_add_or_delete, 0);
}