/* FILE tVUT source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tvut.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uVUT: Primary Key static unsigned uVUT=0; //cDomain: FQ Domain Name static char cDomain[65]={""}; //uServer: Server account is on static unsigned uServer=0; static char cuServerPullDown[256]={""}; //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_tVUT "tVUT.uVUT,tVUT.cDomain,tVUT.uServer,tVUT.uOwner,tVUT.uCreatedBy,tVUT.uCreatedDate,tVUT.uModBy,tVUT.uModDate" //Local only void Insert_tVUT(void); void Update_tVUT(char *rowid); int InsertUpdate_tVUT(char *cKey); void ProcesstVUTListVars(pentry entries[], int x); //In tVUTfunc.h file included below void ExtProcesstVUTVars(pentry entries[], int x); void ExttVUTCommands(pentry entries[], int x); void ExttVUTButtons(void); void ExttVUTNavBar(void); void ExttVUTGetHook(entry gentries[], int x); void ExttVUTSelect(void); void ExttVUTSelectRow(void); void ExttVUTListSelect(void); void ExttVUTListFilter(void); void ExttVUTAuxTable(void); #include "tvutfunc.h" //Table Variables Assignment Function void ProcesstVUTVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttVUTNavBar(); 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("
"); ExttVUTButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tVUTInputContent(); else tVUTContent(); printf("
\n"); printf("
\n"); //Bottom table ExttVUTAuxTable(); printf("\n"); Footer_ism3(); }//end of tVUT(); void tVUTContent(void) { OpenRow(LANG_FL_tVUT_uVUT,"white"); printf("%u\n",uVUT,uVUT); printf("  "); OpenRow(LANG_FL_tVUT_cDomain,EmptyString(cDomain)); printf("%s",cDomain,EncodeDoubleQuotes(cDomain)); printf("  "); OpenRow(LANG_FL_tVUT_uServer,IsZero(uServer)); tTablePullDownReadOnly("tServer;cuServerPullDown","cLabel","cLabel",uServer); printf("  "); OpenRow(LANG_FL_tVUT_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tVUT_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tVUT_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tVUT_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tVUT_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tVUTContent() void tVUTInputContent(void) { OpenRow(LANG_FL_tVUT_uVUT,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tVUT_uVUT,uVUT); else printf("%u\n",uVUT,uVUT); OpenRow(LANG_FL_tVUT_cDomain,EmptyString(cDomain)); if(uPermLevel>=10 || (uPermLevel>=8 && mode!=2000)) printf("\n",LANG_FT_tVUT_cDomain,EncodeDoubleQuotes(cDomain)); else printf("%s",cDomain,EncodeDoubleQuotes(cDomain)); OpenRow(LANG_FL_tVUT_uServer,IsZero(uServer)); if(uPermLevel>=10) tTablePullDown("tServer;cuServerPullDown","cLabel","cLabel",uServer); else { tTablePullDownReadOnly("tServer;cuServerPullDown","cLabel","cLabel",uServer); } OpenRow(LANG_FL_tVUT_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tVUT_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tVUT_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tVUT_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tVUT_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tVUTInputContent(void) void NewtVUT(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uVUT FROM tVUT\ WHERE uVUT=%u" ,uVUT); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tVUT("Record already exists"); tVUT(LANG_NBR_RECEXISTS); //insert query Insert_tVUT(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uVUT=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uVUT); tVUT(query); } }//NewtVUT(unsigned uMode) void DeletetVUT(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tVUT WHERE uVUT=%u AND ( uOwner=%u OR %u>9 )" ,uVUT,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tVUT WHERE uVUT=%u" ,uVUT); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tVUT("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tVUT(LANG_NBR_RECDELETED); else tVUT(LANG_NBR_RECNOTDELETED); }//void DeletetVUT(void) void Insert_tVUT(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tVUT SET uVUT=%u, cDomain='%s', uServer=%u, uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uVUT ,TextAreaSave(cDomain) ,uServer ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tVUT(void) void Update_tVUT(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tVUT SET uVUT=%u,cDomain='%s',uServer=%u,uModBy=%u,uModDate=%lu WHERE _rowid=%s", uVUT ,TextAreaSave(cDomain) ,uServer ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tVUT(void) void ModtVUT(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 tVUT.uVUT,\ tVUT.uModDate\ FROM tVUT,tClient\ WHERE tVUT.uVUT=%u\ AND tVUT.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uVUT,uLoginClient,uLoginClient); else sprintf(query,"SELECT uVUT,uModDate FROM tVUT\ WHERE uVUT=%u" ,uVUT); #else sprintf(query,"SELECT uVUT FROM tVUT\ WHERE uVUT=%u" ,uVUT); #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) tVUT("Record does not exist"); if(i<1) tVUT(LANG_NBR_RECNOTEXIST); //if(i>1) tVUT("Multiple rows!"); if(i>1) tVUT(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tVUT(LANG_NBR_EXTMOD); #endif Update_tVUT(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]); tVUT(query); }//ModtVUT(void) void tVUTList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttVUTListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tVUTList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttVUTListFilter(); 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("
uVUTcDomainuServeruOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(n % 2) printf(""); else printf(""); printf(" %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] ); } printf("\n"); Footer_ism3(); }//tVUTList() void CreatetVUT(void) { sprintf(query,"CREATE TABLE tVUT ( uVUT int unsigned PRIMARY KEY AUTO_INCREMENT, 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, uServer int unsigned NOT NULL DEFAULT 0,index (uServer), cDomain varchar(64) NOT NULL DEFAULT '',unique (cDomain,uServer) )"); mysql_query(&mysql,qstr); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); }//CreatetVUT() //sedall patch1