/* FILE tVUTEntries source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tvutentries.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uVUTEntries: Primary Key static unsigned uVUTEntries=0; //uVUT: VUT domain static unsigned uVUT=0; //cVirtualEmail: Virtual email address no @FQDN static char cVirtualEmail[33]={""}; //cTargetEmail: Target email address with @FQDN static char cTargetEmail[101]={""}; //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_tVUTEntries "tVUTEntries.uVUTEntries,tVUTEntries.uVUT,tVUTEntries.cVirtualEmail,tVUTEntries.cTargetEmail,tVUTEntries.uOwner,tVUTEntries.uCreatedBy,tVUTEntries.uCreatedDate,tVUTEntries.uModBy,tVUTEntries.uModDate" //Local only void Insert_tVUTEntries(void); void Update_tVUTEntries(char *rowid); int InsertUpdate_tVUTEntries(char *cKey); void ProcesstVUTEntriesListVars(pentry entries[], int x); //In tVUTEntriesfunc.h file included below void ExtProcesstVUTEntriesVars(pentry entries[], int x); void ExttVUTEntriesCommands(pentry entries[], int x); void ExttVUTEntriesButtons(void); void ExttVUTEntriesNavBar(void); void ExttVUTEntriesGetHook(entry gentries[], int x); void ExttVUTEntriesSelect(void); void ExttVUTEntriesSelectRow(void); void ExttVUTEntriesListSelect(void); void ExttVUTEntriesListFilter(void); void ExttVUTEntriesAuxTable(void); #include "tvutentriesfunc.h" //Table Variables Assignment Function void ProcesstVUTEntriesVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttVUTEntriesNavBar(); 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("
"); ExttVUTEntriesButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tVUTEntriesInputContent(); else tVUTEntriesContent(); printf("
\n"); printf("
\n"); //Bottom table ExttVUTEntriesAuxTable(); printf("\n"); Footer_ism3(); }//end of tVUTEntries(); void tVUTEntriesContent(void) { OpenRow(LANG_FL_tVUTEntries_uVUTEntries,"white"); printf("%u\n",uVUTEntries,uVUTEntries); printf("  "); OpenRow(LANG_FL_tVUTEntries_uVUT,IsZero(uVUT)); printf("%s\n",ForeignKey("tVUT","cDomain",uVUT),uVUT); printf("  "); OpenRow(LANG_FL_tVUTEntries_cVirtualEmail,EmptyString(cVirtualEmail)); printf("%s",cVirtualEmail,EncodeDoubleQuotes(cVirtualEmail)); printf("  "); OpenRow(LANG_FL_tVUTEntries_cTargetEmail,EmptyString(cTargetEmail)); printf("%s",cTargetEmail,EncodeDoubleQuotes(cTargetEmail)); printf("  "); OpenRow(LANG_FL_tVUTEntries_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tVUTEntries_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tVUTEntries_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tVUTEntries_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tVUTEntries_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tVUTEntriesContent() void tVUTEntriesInputContent(void) { OpenRow(LANG_FL_tVUTEntries_uVUTEntries,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tVUTEntries_uVUTEntries,uVUTEntries); else printf("%u\n",uVUTEntries,uVUTEntries); OpenRow(LANG_FL_tVUTEntries_uVUT,IsZero(uVUT)); printf("%s\n",ForeignKey("tVUT","cDomain",uVUT),uVUT); OpenRow(LANG_FL_tVUTEntries_cVirtualEmail,EmptyString(cVirtualEmail)); if(uPermLevel>=7) printf("\n",LANG_FT_tVUTEntries_cVirtualEmail,EncodeDoubleQuotes(cVirtualEmail)); else printf("%s",cVirtualEmail,EncodeDoubleQuotes(cVirtualEmail)); OpenRow(LANG_FL_tVUTEntries_cTargetEmail,EmptyString(cTargetEmail)); if(uPermLevel>=7) printf("\n",LANG_FT_tVUTEntries_cTargetEmail,EncodeDoubleQuotes(cTargetEmail)); else printf("%s",cTargetEmail,EncodeDoubleQuotes(cTargetEmail)); OpenRow(LANG_FL_tVUTEntries_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tVUTEntries_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tVUTEntries_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tVUTEntries_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tVUTEntries_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tVUTEntriesInputContent(void) void NewtVUTEntries(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uVUTEntries FROM tVUTEntries\ WHERE uVUTEntries=%u" ,uVUTEntries); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tVUTEntries("Record already exists"); tVUTEntries(LANG_NBR_RECEXISTS); //insert query Insert_tVUTEntries(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uVUTEntries=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uVUTEntries); tVUTEntries(query); } }//NewtVUTEntries(unsigned uMode) void DeletetVUTEntries(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tVUTEntries WHERE uVUTEntries=%u AND ( uOwner=%u OR %u>9 )" ,uVUTEntries,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tVUTEntries WHERE uVUTEntries=%u" ,uVUTEntries); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tVUTEntries("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tVUTEntries(LANG_NBR_RECDELETED); else tVUTEntries(LANG_NBR_RECNOTDELETED); }//void DeletetVUTEntries(void) void Insert_tVUTEntries(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tVUTEntries SET uVUTEntries=%u, uVUT=%u, cVirtualEmail='%s', cTargetEmail='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uVUTEntries ,uVUT ,TextAreaSave(cVirtualEmail) ,TextAreaSave(cTargetEmail) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tVUTEntries(void) void Update_tVUTEntries(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tVUTEntries SET uVUTEntries=%u,uVUT=%u,cVirtualEmail='%s',cTargetEmail='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uVUTEntries ,uVUT ,TextAreaSave(cVirtualEmail) ,TextAreaSave(cTargetEmail) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tVUTEntries(void) void ModtVUTEntries(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 tVUTEntries.uVUTEntries,\ tVUTEntries.uModDate\ FROM tVUTEntries,tClient\ WHERE tVUTEntries.uVUTEntries=%u\ AND tVUTEntries.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uVUTEntries,uLoginClient,uLoginClient); else sprintf(query,"SELECT uVUTEntries,uModDate FROM tVUTEntries\ WHERE uVUTEntries=%u" ,uVUTEntries); #else sprintf(query,"SELECT uVUTEntries FROM tVUTEntries\ WHERE uVUTEntries=%u" ,uVUTEntries); #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) tVUTEntries("Record does not exist"); if(i<1) tVUTEntries(LANG_NBR_RECNOTEXIST); //if(i>1) tVUTEntries("Multiple rows!"); if(i>1) tVUTEntries(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tVUTEntries(LANG_NBR_EXTMOD); #endif Update_tVUTEntries(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]); tVUTEntries(query); }//ModtVUTEntries(void) void tVUTEntriesList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttVUTEntriesListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tVUTEntriesList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttVUTEntriesListFilter(); 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("
uVUTEntriesuVUTcVirtualEmailcTargetEmailuOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(n % 2) printf(""); else printf(""); printf(" %s%s%s%s%s%s%s%s%s" ,field[0] ,field[0] ,field[1] ,field[2] ,field[3] ,field[4] ,field[5] ,field[6] ,field[7] ,field[8] ); } printf("\n"); Footer_ism3(); }//tVUTEntriesList() void CreatetVUTEntries(void) { sprintf(query,"CREATE TABLE tVUTEntries ( uVUTEntries int unsigned PRIMARY KEY AUTO_INCREMENT, cVirtualEmail varchar(32) NOT NULL DEFAULT '',unique (cVirtualEmail,uVUT), 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, cTargetEmail varchar(100) NOT NULL DEFAULT '', uVUT int unsigned NOT NULL DEFAULT 0,index (uVUT) )"); mysql_query(&mysql,qstr); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); }//CreatetVUTEntries() //sedall patch1