/* FILE tAuthorize source code of iDNS.cgi Built by mysqlRAD2.cgi (C) Gary Wallis and Hugo Urquiza 2001-2009 $Id$ PURPOSE Schema dependent RAD generated file. Program app functionality in tauthorizefunc.h while RAD is still to be used. */ #include "mysqlrad.h" //Table Variables //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: Encrypted cgi login password static char cPasswd[101]={""}; //cClrPasswd: Optionally used non encrypted login password static char cClrPasswd[33]={""}; //uOwner: Record owner static unsigned uOwner=0; //uCreatedBy: uClient for last insert static unsigned uCreatedBy=0; //uCreatedDate: Unix seconds date last insert static time_t uCreatedDate=0; //uModBy: uClient for last update static unsigned uModBy=0; //uModDate: Unix seconds date last update static time_t uModDate=0; #define VAR_LIST_tAuthorize "tAuthorize.uAuthorize,tAuthorize.cLabel,tAuthorize.cIpMask,tAuthorize.uPerm,tAuthorize.uCertClient,tAuthorize.cPasswd,tAuthorize.cClrPasswd,tAuthorize.uOwner,tAuthorize.uCreatedBy,tAuthorize.uCreatedDate,tAuthorize.uModBy,tAuthorize.uModDate" //Local only void Insert_tAuthorize(void); void Update_tAuthorize(char *cRowid); 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(""); printf(""); printf("",gluRowid); if(guI) { if(guMode==6) //printf(" Found"); printf(LANG_NBR_FOUND); else if(guMode==5) //printf(" Modified"); printf(LANG_NBR_MODIFIED); else if(guMode==4) //printf(" New"); printf(LANG_NBR_NEW); printf(LANG_NBRF_SHOWING,gluRowid,guI); } else { if(!cResult[0]) //printf(" No records found"); printf(LANG_NBR_NORECS); } if(cResult[0]) printf("%s",cResult); printf(""); printf(""); ExttAuthorizeButtons(); printf(""); // OpenFieldSet("tAuthorize Record Data",100); if(guMode==2000 || guMode==2002) tAuthorizeInput(1); else tAuthorizeInput(0); // CloseFieldSet(); //Bottom table printf(""); ExttAuthorizeAuxTable(); Footer_ism3(); }//end of tAuthorize(); void tAuthorizeInput(unsigned uMode) { //uAuthorize OpenRow(LANG_FL_tAuthorize_uAuthorize,"black"); printf("=20 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",uAuthorize); } //cLabel OpenRow(LANG_FL_tAuthorize_cLabel,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",EncodeDoubleQuotes(cLabel)); } //cIpMask OpenRow(LANG_FL_tAuthorize_cIpMask,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",EncodeDoubleQuotes(cIpMask)); } //uPerm OpenRow(LANG_FL_tAuthorize_uPerm,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",uPerm); } //uCertClient OpenRow(LANG_FL_tAuthorize_uCertClient,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",uCertClient); } //cPasswd OpenRow(LANG_FL_tAuthorize_cPasswd,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",EncodeDoubleQuotes(cPasswd)); } //cClrPasswd OpenRow(LANG_FL_tAuthorize_cClrPasswd,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",EncodeDoubleQuotes(cClrPasswd)); } //uOwner OpenRow(LANG_FL_tAuthorize_uOwner,"black"); if(guPermLevel>=20 && uMode) { printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); } else { printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); } //uCreatedBy OpenRow(LANG_FL_tAuthorize_uCreatedBy,"black"); if(guPermLevel>=20 && uMode) { printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); } else { printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); } //uCreatedDate OpenRow(LANG_FL_tAuthorize_uCreatedDate,"black"); if(uCreatedDate) printf("%s\n\n",ctime(&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); //uModBy OpenRow(LANG_FL_tAuthorize_uModBy,"black"); if(guPermLevel>=20 && uMode) { printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); } else { printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); } //uModDate OpenRow(LANG_FL_tAuthorize_uModDate,"black"); if(uModDate) printf("%s\n\n",ctime(&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tAuthorizeInput(unsigned uMode) void NewtAuthorize(unsigned uMode) { register int i=0; MYSQL_RES *res; sprintf(gcQuery,"SELECT uAuthorize FROM tAuthorize WHERE uAuthorize=%u" ,uAuthorize); macro_mySQLRunAndStore(res); i=mysql_num_rows(res); if(i) //tAuthorize("Record already exists"); tAuthorize(LANG_NBR_RECEXISTS); //insert query Insert_tAuthorize(); //sprintf(gcQuery,"New record %u added"); uAuthorize=mysql_insert_id(&gMysql); uCreatedDate=luGetCreatedDate("tAuthorize",uAuthorize); iDNSLog(uAuthorize,"tAuthorize","New"); if(!uMode) { sprintf(gcQuery,LANG_NBR_NEWRECADDED,uAuthorize); tAuthorize(gcQuery); } }//NewtAuthorize(unsigned uMode) void DeletetAuthorize(void) { sprintf(gcQuery,"DELETE FROM tAuthorize WHERE uAuthorize=%u AND ( uOwner=%u OR %u>9 )" ,uAuthorize,guLoginClient,guPermLevel); macro_mySQLQueryHTMLError; //tAuthorize("Record Deleted"); if(mysql_affected_rows(&gMysql)>0) { iDNSLog(uAuthorize,"tAuthorize","Del"); tAuthorize(LANG_NBR_RECDELETED); } else { iDNSLog(uAuthorize,"tAuthorize","DelError"); tAuthorize(LANG_NBR_RECNOTDELETED); } }//void DeletetAuthorize(void) void Insert_tAuthorize(void) { //insert query sprintf(gcQuery,"INSERT INTO tAuthorize SET uAuthorize=%u,cLabel='%s',cIpMask='%s',uPerm=%u,uCertClient=%u,cPasswd='%s',cClrPasswd='%s',uOwner=%u,uCreatedBy=%u,uCreatedDate=UNIX_TIMESTAMP(NOW())", uAuthorize ,TextAreaSave(cLabel) ,TextAreaSave(cIpMask) ,uPerm ,uCertClient ,TextAreaSave(cPasswd) ,TextAreaSave(cClrPasswd) ,uOwner ,uCreatedBy ); macro_mySQLQueryHTMLError; }//void Insert_tAuthorize(void) void Update_tAuthorize(char *cRowid) { //update query sprintf(gcQuery,"UPDATE tAuthorize SET uAuthorize=%u,cLabel='%s',cIpMask='%s',uPerm=%u,uCertClient=%u,cPasswd='%s',cClrPasswd='%s',uModBy=%u,uModDate=UNIX_TIMESTAMP(NOW()) WHERE _rowid=%s", uAuthorize ,TextAreaSave(cLabel) ,TextAreaSave(cIpMask) ,uPerm ,uCertClient ,TextAreaSave(cPasswd) ,TextAreaSave(cClrPasswd) ,uModBy ,cRowid); macro_mySQLQueryHTMLError; }//void Update_tAuthorize(void) void ModtAuthorize(void) { register int i=0; MYSQL_RES *res; MYSQL_ROW field; unsigned uPreModDate=0; //Mod select gcQuery if(guPermLevel<10) sprintf(gcQuery,"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,guLoginClient,guLoginClient); else sprintf(gcQuery,"SELECT uAuthorize,uModDate FROM tAuthorize\ WHERE uAuthorize=%u" ,uAuthorize); macro_mySQLRunAndStore(res); 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); sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tAuthorize(LANG_NBR_EXTMOD); Update_tAuthorize(field[0]); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); //sprintf(query,"record %s modified",field[0]); sprintf(gcQuery,LANG_NBRF_REC_MODIFIED,field[0]); uModDate=luGetModDate("tAuthorize",uAuthorize); iDNSLog(uAuthorize,"tAuthorize","Mod"); tAuthorize(gcQuery); }//ModtAuthorize(void) void tAuthorizeList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttAuthorizeListSelect(); macro_mySQLRunAndStore(res); guI=mysql_num_rows(res); PageMachine("tAuthorizeList",1,"");//1 is auto header list guMode. Opens table! //Filter select drop down ExttAuthorizeListFilter(); printf("",gcCommand); printf("\n"); printf("\n"); printf(""); mysql_data_seek(res,guStart-1); for(guN=0;guN<(guEnd-guStart+1);guN++) { field=mysql_fetch_row(res); if(!field) { printf("
uAuthorizecLabelcIpMaskuPermuCertClientcPasswdcClrPasswduOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(guN % 2) printf(""); else printf(""); time_t luTime9=strtoul(field[9],NULL,10); char cBuf9[32]; if(luTime9) ctime_r(&luTime9,cBuf9); else sprintf(cBuf9,"---"); time_t luTime11=strtoul(field[11],NULL,10); char cBuf11[32]; if(luTime11) ctime_r(&luTime11,cBuf11); else sprintf(cBuf11,"---"); printf(" %s%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] ,ForeignKey("tClient","cLabel",strtoul(field[7],NULL,10)) ,ForeignKey("tClient","cLabel",strtoul(field[8],NULL,10)) ,cBuf9 ,ForeignKey("tClient","cLabel",strtoul(field[10],NULL,10)) ,cBuf11 ); } printf("\n"); Footer_ism3(); }//tAuthorizeList() void CreatetAuthorize(void) { sprintf(gcQuery,"CREATE TABLE IF NOT EXISTS tAuthorize ( uAuthorize INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, cLabel VARCHAR(32) NOT NULL DEFAULT '',unique (cLabel,uOwner), 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(100) NOT NULL DEFAULT '', cClrPasswd VARCHAR(32) NOT NULL DEFAULT '' )"); macro_mySQLQueryHTMLError; }//CreatetAuthorize()