/* FILE tServer source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tserver.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uServer: Primary Key static unsigned uServer=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_tServer "tServer.uServer,tServer.cLabel,tServer.uOwner,tServer.uCreatedBy,tServer.uCreatedDate,tServer.uModBy,tServer.uModDate" //Local only void Insert_tServer(void); void Update_tServer(char *rowid); int InsertUpdate_tServer(char *cKey); void ProcesstServerListVars(pentry entries[], int x); //In tServerfunc.h file included below void ExtProcesstServerVars(pentry entries[], int x); void ExttServerCommands(pentry entries[], int x); void ExttServerButtons(void); void ExttServerNavBar(void); void ExttServerGetHook(entry gentries[], int x); void ExttServerSelect(void); void ExttServerSelectRow(void); void ExttServerListSelect(void); void ExttServerListFilter(void); void ExttServerAuxTable(void); #include "tserverfunc.h" //Table Variables Assignment Function void ProcesstServerVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttServerNavBar(); 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("
"); ExttServerButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tServerInputContent(); else tServerContent(); printf("
\n"); printf("
\n"); //Bottom table ExttServerAuxTable(); printf("\n"); Footer_ism3(); }//end of tServer(); void tServerContent(void) { OpenRow(LANG_FL_tServer_uServer,"white"); printf("%u\n",uServer,uServer); printf("  "); OpenRow(LANG_FL_tServer_cLabel,"white"); printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); printf("  "); OpenRow(LANG_FL_tServer_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tServer_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tServer_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tServer_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tServer_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tServerContent() void tServerInputContent(void) { OpenRow(LANG_FL_tServer_uServer,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tServer_uServer,uServer); else printf("%u\n",uServer,uServer); OpenRow(LANG_FL_tServer_cLabel,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tServer_cLabel,EncodeDoubleQuotes(cLabel)); else printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); OpenRow(LANG_FL_tServer_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tServer_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tServer_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tServer_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tServer_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tServerInputContent(void) void NewtServer(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uServer FROM tServer\ WHERE uServer=%u" ,uServer); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tServer("Record already exists"); tServer(LANG_NBR_RECEXISTS); //insert query Insert_tServer(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uServer=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uServer); tServer(query); } }//NewtServer(unsigned uMode) void DeletetServer(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tServer WHERE uServer=%u AND ( uOwner=%u OR %u>9 )" ,uServer,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tServer WHERE uServer=%u" ,uServer); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tServer("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tServer(LANG_NBR_RECDELETED); else tServer(LANG_NBR_RECNOTDELETED); }//void DeletetServer(void) void Insert_tServer(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tServer SET uServer=%u, cLabel='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uServer ,TextAreaSave(cLabel) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tServer(void) void Update_tServer(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tServer SET uServer=%u,cLabel='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uServer ,TextAreaSave(cLabel) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tServer(void) void ModtServer(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 tServer.uServer,\ tServer.uModDate\ FROM tServer,tClient\ WHERE tServer.uServer=%u\ AND tServer.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uServer,uLoginClient,uLoginClient); else sprintf(query,"SELECT uServer,uModDate FROM tServer\ WHERE uServer=%u" ,uServer); #else sprintf(query,"SELECT uServer FROM tServer\ WHERE uServer=%u" ,uServer); #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) tServer("Record does not exist"); if(i<1) tServer(LANG_NBR_RECNOTEXIST); //if(i>1) tServer("Multiple rows!"); if(i>1) tServer(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tServer(LANG_NBR_EXTMOD); #endif Update_tServer(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]); tServer(query); }//ModtServer(void) void tServerList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttServerListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tServerList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttServerListFilter(); 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("
uServercLabeluOwneruCreatedByuCreatedDateuModByuModDate
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(); }//tServerList() void CreatetServer(void) { sprintf(query,"CREATE TABLE tServer ( uServer int unsigned PRIMARY KEY AUTO_INCREMENT, cLabel varchar(32) NOT NULL DEFAULT '', UNIQUE (cLabel), 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)); }//CreatetServer() //sedall patch1