/* FILE tDomain source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tdomain.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uDomain: Primary Key static unsigned uDomain=0; //cDomain: FQ Domain Name static char cDomain[65]={""}; //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_tDomain "tDomain.uDomain,tDomain.cDomain,tDomain.uOwner,tDomain.uCreatedBy,tDomain.uCreatedDate,tDomain.uModBy,tDomain.uModDate" //Local only void Insert_tDomain(void); void Update_tDomain(char *rowid); int InsertUpdate_tDomain(char *cKey); void ProcesstDomainListVars(pentry entries[], int x); //In tDomainfunc.h file included below void ExtProcesstDomainVars(pentry entries[], int x); void ExttDomainCommands(pentry entries[], int x); void ExttDomainButtons(void); void ExttDomainNavBar(void); void ExttDomainGetHook(entry gentries[], int x); void ExttDomainSelect(void); void ExttDomainSelectRow(void); void ExttDomainListSelect(void); void ExttDomainListFilter(void); void ExttDomainAuxTable(void); #include "tdomainfunc.h" //Table Variables Assignment Function void ProcesstDomainVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttDomainNavBar(); 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("
"); ExttDomainButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tDomainInputContent(); else tDomainContent(); printf("
\n"); printf("
\n"); //Bottom table ExttDomainAuxTable(); printf("\n"); Footer_ism3(); }//end of tDomain(); void tDomainContent(void) { OpenRow(LANG_FL_tDomain_uDomain,"white"); printf("%u\n",uDomain,uDomain); printf("  "); OpenRow(LANG_FL_tDomain_cDomain,EmptyString(cDomain)); printf("%s",cDomain,EncodeDoubleQuotes(cDomain)); printf("  "); OpenRow(LANG_FL_tDomain_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tDomain_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tDomain_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tDomain_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tDomain_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tDomainContent() void tDomainInputContent(void) { OpenRow(LANG_FL_tDomain_uDomain,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tDomain_uDomain,uDomain); else printf("%u\n",uDomain,uDomain); OpenRow(LANG_FL_tDomain_cDomain,EmptyString(cDomain)); if(uPermLevel>=8) printf("\n",LANG_FT_tDomain_cDomain,EncodeDoubleQuotes(cDomain)); else printf("%s",cDomain,EncodeDoubleQuotes(cDomain)); OpenRow(LANG_FL_tDomain_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tDomain_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tDomain_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tDomain_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tDomain_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tDomainInputContent(void) void NewtDomain(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uDomain FROM tDomain\ WHERE uDomain=%u" ,uDomain); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tDomain("Record already exists"); tDomain(LANG_NBR_RECEXISTS); //insert query Insert_tDomain(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uDomain=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uDomain); tDomain(query); } }//NewtDomain(unsigned uMode) void DeletetDomain(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tDomain WHERE uDomain=%u AND ( uOwner=%u OR %u>9 )" ,uDomain,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tDomain WHERE uDomain=%u" ,uDomain); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tDomain("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tDomain(LANG_NBR_RECDELETED); else tDomain(LANG_NBR_RECNOTDELETED); }//void DeletetDomain(void) void Insert_tDomain(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tDomain SET uDomain=%u, cDomain='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uDomain ,TextAreaSave(cDomain) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tDomain(void) void Update_tDomain(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tDomain SET uDomain=%u,cDomain='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uDomain ,TextAreaSave(cDomain) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tDomain(void) void ModtDomain(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 tDomain.uDomain,\ tDomain.uModDate\ FROM tDomain,tClient\ WHERE tDomain.uDomain=%u\ AND tDomain.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uDomain,uLoginClient,uLoginClient); else sprintf(query,"SELECT uDomain,uModDate FROM tDomain\ WHERE uDomain=%u" ,uDomain); #else sprintf(query,"SELECT uDomain FROM tDomain\ WHERE uDomain=%u" ,uDomain); #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) tDomain("Record does not exist"); if(i<1) tDomain(LANG_NBR_RECNOTEXIST); //if(i>1) tDomain("Multiple rows!"); if(i>1) tDomain(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tDomain(LANG_NBR_EXTMOD); #endif Update_tDomain(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]); tDomain(query); }//ModtDomain(void) void tDomainList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttDomainListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tDomainList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttDomainListFilter(); 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("
uDomaincDomainuOwneruCreatedByuCreatedDateuModByuModDate
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(); }//tDomainList() void CreatetDomain(void) { sprintf(query,"CREATE TABLE tDomain ( uDomain int unsigned PRIMARY KEY AUTO_INCREMENT, cDomain varchar(64) NOT NULL DEFAULT '', UNIQUE (cDomain), 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)); }//CreatetDomain() //sedall patch1