/* FILE tAuthorize source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tauthorize.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uAuthorize: Primary Key static unsigned uAuthorize=0; //cLabel: Short label static char cLabel[33]={""}; //cIpMask: Allow user from this IP static char cIpMask[21]={"0.0.0.0/0"}; //uPerm: User permission level static unsigned uPerm=0; //uCertClient: User uClient static unsigned uCertClient=0; //cPasswd: Unix crypt() password static char cPasswd[17]={""}; //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_tAuthorize "tAuthorize.uAuthorize,tAuthorize.cLabel,tAuthorize.cIpMask,tAuthorize.uPerm,tAuthorize.uCertClient,tAuthorize.cPasswd,tAuthorize.uOwner,tAuthorize.uCreatedBy,tAuthorize.uCreatedDate,tAuthorize.uModBy,tAuthorize.uModDate" //Local only void Insert_tAuthorize(void); void Update_tAuthorize(char *rowid); int InsertUpdate_tAuthorize(char *cKey); void ProcesstAuthorizeListVars(pentry entries[], int x); //In tAuthorizefunc.h file included below void ExtProcesstAuthorizeVars(pentry entries[], int x); void ExttAuthorizeCommands(pentry entries[], int x); void ExttAuthorizeButtons(void); void ExttAuthorizeNavBar(void); void ExttAuthorizeGetHook(entry gentries[], int x); void ExttAuthorizeSelect(void); void ExttAuthorizeSelectRow(void); void ExttAuthorizeListSelect(void); void ExttAuthorizeListFilter(void); void ExttAuthorizeAuxTable(void); #include "tauthorizefunc.h" //Table Variables Assignment Function void ProcesstAuthorizeVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttAuthorizeNavBar(); 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("
"); ExttAuthorizeButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tAuthorizeInputContent(); else tAuthorizeContent(); printf("
\n"); printf("
\n"); //Bottom table ExttAuthorizeAuxTable(); printf("\n"); Footer_ism3(); }//end of tAuthorize(); void tAuthorizeContent(void) { OpenRow(LANG_FL_tAuthorize_uAuthorize,"white"); printf("%u\n",uAuthorize,uAuthorize); printf("  "); OpenRow(LANG_FL_tAuthorize_cLabel,"white"); printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); printf("  "); OpenRow(LANG_FL_tAuthorize_cIpMask,"white"); printf("%s",cIpMask,EncodeDoubleQuotes(cIpMask)); printf("  "); OpenRow(LANG_FL_tAuthorize_uPerm,"white"); printf("%u\n",uPerm,uPerm); printf("  "); OpenRow(LANG_FL_tAuthorize_uCertClient,"white"); printf("%u\n",uCertClient,uCertClient); printf("  "); OpenRow(LANG_FL_tAuthorize_cPasswd,"white"); printf("%s",cPasswd,EncodeDoubleQuotes(cPasswd)); printf("  "); OpenRow(LANG_FL_tAuthorize_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tAuthorize_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tAuthorize_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tAuthorize_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tAuthorize_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tAuthorizeContent() void tAuthorizeInputContent(void) { OpenRow(LANG_FL_tAuthorize_uAuthorize,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tAuthorize_uAuthorize,uAuthorize); else printf("%u\n",uAuthorize,uAuthorize); OpenRow(LANG_FL_tAuthorize_cLabel,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tAuthorize_cLabel,EncodeDoubleQuotes(cLabel)); else printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); OpenRow(LANG_FL_tAuthorize_cIpMask,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tAuthorize_cIpMask,EncodeDoubleQuotes(cIpMask)); else printf("%s",cIpMask,EncodeDoubleQuotes(cIpMask)); OpenRow(LANG_FL_tAuthorize_uPerm,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tAuthorize_uPerm,uPerm); else printf("%u\n",uPerm,uPerm); OpenRow(LANG_FL_tAuthorize_uCertClient,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tAuthorize_uCertClient,uCertClient); else printf("%u\n",uCertClient,uCertClient); OpenRow(LANG_FL_tAuthorize_cPasswd,"white"); if(uPermLevel>=7) printf("\n",LANG_FT_tAuthorize_cPasswd,EncodeDoubleQuotes(cPasswd)); else printf("%s",cPasswd,EncodeDoubleQuotes(cPasswd)); OpenRow(LANG_FL_tAuthorize_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tAuthorize_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tAuthorize_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tAuthorize_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tAuthorize_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tAuthorizeInputContent(void) void NewtAuthorize(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uAuthorize FROM tAuthorize\ WHERE uAuthorize=%u" ,uAuthorize); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tAuthorize("Record already exists"); tAuthorize(LANG_NBR_RECEXISTS); //insert query Insert_tAuthorize(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uAuthorize=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uAuthorize); tAuthorize(query); } }//NewtAuthorize(unsigned uMode) void DeletetAuthorize(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tAuthorize WHERE uAuthorize=%u AND ( uOwner=%u OR %u>9 )" ,uAuthorize,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tAuthorize WHERE uAuthorize=%u" ,uAuthorize); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tAuthorize("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tAuthorize(LANG_NBR_RECDELETED); else tAuthorize(LANG_NBR_RECNOTDELETED_TAUTHORIZE); }//void DeletetAuthorize(void) void Insert_tAuthorize(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tAuthorize SET uAuthorize=%u, cLabel='%s', cIpMask='%s', uPerm=%u, uCertClient=%u, cPasswd='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uAuthorize ,TextAreaSave(cLabel) ,TextAreaSave(cIpMask) ,uPerm ,uCertClient ,TextAreaSave(cPasswd) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tAuthorize(void) void Update_tAuthorize(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tAuthorize SET uAuthorize=%u,cLabel='%s',cIpMask='%s',uPerm=%u,uCertClient=%u,cPasswd='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uAuthorize ,TextAreaSave(cLabel) ,TextAreaSave(cIpMask) ,uPerm ,uCertClient ,TextAreaSave(cPasswd) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tAuthorize(void) void ModtAuthorize(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 tAuthorize.uAuthorize,\ tAuthorize.uModDate\ FROM tAuthorize,tClient\ WHERE tAuthorize.uAuthorize=%u\ AND tAuthorize.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uAuthorize,uLoginClient,uLoginClient); else sprintf(query,"SELECT uAuthorize,uModDate FROM tAuthorize\ WHERE uAuthorize=%u" ,uAuthorize); #else sprintf(query,"SELECT uAuthorize FROM tAuthorize\ WHERE uAuthorize=%u" ,uAuthorize); #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) tAuthorize("Record does not exist"); if(i<1) tAuthorize(LANG_NBR_RECNOTEXIST); //if(i>1) tAuthorize("Multiple rows!"); if(i>1) tAuthorize(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tAuthorize(LANG_NBR_EXTMOD); #endif Update_tAuthorize(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]); tAuthorize(query); }//ModtAuthorize(void) void tAuthorizeList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttAuthorizeListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tAuthorizeList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttAuthorizeListFilter(); 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("
uAuthorizecLabelcIpMaskuPermuCertClientcPasswduOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(n % 2) printf(""); else printf(""); printf(" %s%s%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] ,field[9] ,field[10] ); } printf("\n"); Footer_ism3(); }//tAuthorizeList() void CreatetAuthorize(void) { sprintf(query,"CREATE TABLE tAuthorize ( uAuthorize 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, cIpMask varchar(20) NOT NULL DEFAULT '', uPerm int unsigned NOT NULL DEFAULT 0, uCertClient int unsigned NOT NULL DEFAULT 0, cPasswd varchar(16) NOT NULL DEFAULT '' )"); mysql_query(&mysql,qstr); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); }//CreatetAuthorize() //sedall patch1