/* FILE tMailFilter source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tmailfilter.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uMailFilter: Primary Key static unsigned uMailFilter=0; //cLabel: Short label static char cLabel[33]={""}; //uOwner: Record owner static unsigned uOwner=0; //uCreatedBy: uClient for last insert static unsigned uCreatedBy=0; #define ISM3FIELDS //uCreatedDate: Unix seconds date last insert static long unsigned uCreatedDate=0; //uModBy: uClient for last update static unsigned uModBy=0; //uModDate: Unix seconds date last update static long unsigned uModDate=0; #define VAR_LIST_tMailFilter "tMailFilter.uMailFilter,tMailFilter.cLabel,tMailFilter.uOwner,tMailFilter.uCreatedBy,tMailFilter.uCreatedDate,tMailFilter.uModBy,tMailFilter.uModDate" //Local only void Insert_tMailFilter(void); void Update_tMailFilter(char *rowid); int InsertUpdate_tMailFilter(char *cKey); void ProcesstMailFilterListVars(pentry entries[], int x); //In tMailFilterfunc.h file included below void ExtProcesstMailFilterVars(pentry entries[], int x); void ExttMailFilterCommands(pentry entries[], int x); void ExttMailFilterButtons(void); void ExttMailFilterNavBar(void); void ExttMailFilterGetHook(entry gentries[], int x); void ExttMailFilterSelect(void); void ExttMailFilterSelectRow(void); void ExttMailFilterListSelect(void); void ExttMailFilterListFilter(void); void ExttMailFilterAuxTable(void); #include "tmailfilterfunc.h" //Table Variables Assignment Function void ProcesstMailFilterVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttMailFilterNavBar(); printf(""); printf("",rowid); if(i) { printf(" "); if(mode==6) //printf(" Found"); printf(LANG_NBR_FOUND); else if(mode==5) //printf(" Modified"); printf(LANG_NBR_MODIFIED); else if(mode==4) //printf(" New"); printf(LANG_NBR_NEW); printf(LANG_NBRF_SHOWING,rowid,i); } else { if(!result[0]) //printf(" No records found"); printf(LANG_NBR_NORECS); } if(result[0]) printf(" %s",result); printf("
"); ExttMailFilterButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tMailFilterInputContent(); else tMailFilterContent(); printf("
\n"); printf("
\n"); //Bottom table ExttMailFilterAuxTable(); printf("\n"); Footer_ism3(); }//end of tMailFilter(); void tMailFilterContent(void) { OpenRow(LANG_FL_tMailFilter_uMailFilter,"white"); printf("%u\n",uMailFilter,uMailFilter); printf("  "); OpenRow(LANG_FL_tMailFilter_cLabel,"white"); printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); printf("  "); OpenRow(LANG_FL_tMailFilter_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tMailFilter_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tMailFilter_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tMailFilter_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tMailFilter_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tMailFilterContent() void tMailFilterInputContent(void) { OpenRow(LANG_FL_tMailFilter_uMailFilter,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tMailFilter_uMailFilter,uMailFilter); else printf("%u\n",uMailFilter,uMailFilter); OpenRow(LANG_FL_tMailFilter_cLabel,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tMailFilter_cLabel,EncodeDoubleQuotes(cLabel)); else printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); OpenRow(LANG_FL_tMailFilter_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tMailFilter_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tMailFilter_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tMailFilter_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tMailFilter_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tMailFilterInputContent(void) void NewtMailFilter(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uMailFilter FROM tMailFilter\ WHERE uMailFilter=%u" ,uMailFilter); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tMailFilter("Record already exists"); tMailFilter(LANG_NBR_RECEXISTS); //insert query Insert_tMailFilter(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uMailFilter=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uMailFilter); tMailFilter(query); } }//NewtMailFilter(unsigned uMode) void DeletetMailFilter(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tMailFilter WHERE uMailFilter=%u AND ( uOwner=%u OR %u>9 )" ,uMailFilter,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tMailFilter WHERE uMailFilter=%u" ,uMailFilter); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tMailFilter("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tMailFilter(LANG_NBR_RECDELETED); else tMailFilter(LANG_NBR_RECNOTDELETED); }//void DeletetMailFilter(void) void Insert_tMailFilter(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tMailFilter SET uMailFilter=%u, cLabel='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uMailFilter ,TextAreaSave(cLabel) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tMailFilter(void) void Update_tMailFilter(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tMailFilter SET uMailFilter=%u,cLabel='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uMailFilter ,TextAreaSave(cLabel) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tMailFilter(void) void ModtMailFilter(void) { register int i=0; MYSQL_RES *res; MYSQL_ROW field; #ifdef ISM3FIELDS unsigned uPreModDate=0; //Mod select query if(uPermLevel<10) sprintf(query,"SELECT tMailFilter.uMailFilter,\ tMailFilter.uModDate\ FROM tMailFilter,tClient\ WHERE tMailFilter.uMailFilter=%u\ AND tMailFilter.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uMailFilter,uLoginClient,uLoginClient); else sprintf(query,"SELECT uMailFilter,uModDate FROM tMailFilter\ WHERE uMailFilter=%u" ,uMailFilter); #else sprintf(query,"SELECT uMailFilter FROM tMailFilter\ WHERE uMailFilter=%u" ,uMailFilter); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); //if(i<1) tMailFilter("Record does not exist"); if(i<1) tMailFilter(LANG_NBR_RECNOTEXIST); //if(i>1) tMailFilter("Multiple rows!"); if(i>1) tMailFilter(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tMailFilter(LANG_NBR_EXTMOD); #endif Update_tMailFilter(field[0]); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"record %s modified",field[0]); sprintf(query,LANG_NBRF_REC_MODIFIED,field[0]); tMailFilter(query); }//ModtMailFilter(void) void tMailFilterList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttMailFilterListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tMailFilterList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttMailFilterListFilter(); printf("",command); printf("\n"); printf("\n"); printf(""); mysql_data_seek(res,start-1); for(n=0;n<(end-start+1);n++) { field=mysql_fetch_row(res); if(!field) { printf("
uMailFiltercLabeluOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(n % 2) printf(""); else printf(""); printf(" %s%s%s%s%s%s%s" ,field[0] ,field[0] ,field[1] ,field[2] ,field[3] ,field[4] ,field[5] ,field[6] ); } printf("\n"); Footer_ism3(); }//tMailFilterList() void CreatetMailFilter(void) { sprintf(query,"CREATE TABLE tMailFilter ( uMailFilter int unsigned PRIMARY KEY AUTO_INCREMENT, cLabel varchar(32) NOT NULL DEFAULT '', uOwner int unsigned NOT NULL DEFAULT 0,index (uOwner), uCreatedBy int unsigned NOT NULL DEFAULT 0, uCreatedDate int unsigned NOT NULL DEFAULT 0, uModBy int unsigned NOT NULL DEFAULT 0, uModDate int unsigned NOT NULL DEFAULT 0 )"); mysql_query(&mysql,qstr); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); }//CreatetMailFilter() //sedall patch1