/* FILE tGlossary 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 tglossaryfunc.h while RAD is still to be used. */ #include "mysqlrad.h" //Table Variables //Table Variables //uGlossary: Primary Key static unsigned uGlossary=0; //cLabel: Short label static char cLabel[33]={""}; //cText: Definition of the label referenced in cLabel static char *cText={""}; //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 uCreatedDate=0; //uModBy: uClient for last update static unsigned uModBy=0; //uModDate: Unix seconds date last update static long uModDate=0; #define VAR_LIST_tGlossary "tGlossary.uGlossary,tGlossary.cLabel,tGlossary.cText,tGlossary.uOwner,tGlossary.uCreatedBy,tGlossary.uCreatedDate,tGlossary.uModBy,tGlossary.uModDate" //Local only void Insert_tGlossary(void); void Update_tGlossary(char *cRowid); void ProcesstGlossaryListVars(pentry entries[], int x); //In tGlossaryfunc.h file included below void ExtProcesstGlossaryVars(pentry entries[], int x); void ExttGlossaryCommands(pentry entries[], int x); void ExttGlossaryButtons(void); void ExttGlossaryNavBar(void); void ExttGlossaryGetHook(entry gentries[], int x); void ExttGlossarySelect(void); void ExttGlossarySelectRow(void); void ExttGlossaryListSelect(void); void ExttGlossaryListFilter(void); void ExttGlossaryAuxTable(void); #include "tglossaryfunc.h" //Table Variables Assignment Function void ProcesstGlossaryVars(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(""); ExttGlossaryButtons(); printf(""); // OpenFieldSet("Record Data",100); if(guMode==2000 || guMode==2002) tGlossaryInput(1); else tGlossaryInput(0); // CloseFieldSet(); //Bottom table printf(""); ExttGlossaryAuxTable(); Footer_ism3(); }//end of tGlossary(); void tGlossaryInput(unsigned uMode) { //uGlossary OpenRow(LANG_FL_tGlossary_uGlossary,"black"); printf("=20 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",uGlossary); } //cLabel OpenRow(LANG_FL_tGlossary_cLabel,"black"); printf("=0 && uMode) { printf(">\n"); } else { printf("disabled>\n"); printf("\n",EncodeDoubleQuotes(cLabel)); } //cText OpenRow(LANG_FL_tGlossary_cText,"black"); printf("\n",cText); } else { printf("disabled>%s\n",cText); printf("\n",EncodeDoubleQuotes(cText)); } //uOwner OpenRow(LANG_FL_tGlossary_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_tGlossary_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_tGlossary_uCreatedDate,"black"); if(uCreatedDate) printf("%s\n\n",ctime(&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); //uModBy OpenRow(LANG_FL_tGlossary_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_tGlossary_uModDate,"black"); if(uModDate) printf("%s\n\n",ctime(&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tGlossaryInput(unsigned uMode) void NewtGlossary(unsigned uMode) { register int i=0; MYSQL_RES *res; sprintf(gcQuery,"SELECT uGlossary FROM tGlossary\ WHERE uGlossary=%u" ,uGlossary); mysql_query(&gMysql,gcQuery); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); res=mysql_store_result(&gMysql); i=mysql_num_rows(res); if(i) //tGlossary("Record already exists"); tGlossary(LANG_NBR_RECEXISTS); //insert query Insert_tGlossary(); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); //sprintf(gcQuery,"New record %u added"); uGlossary=mysql_insert_id(&gMysql); #ifdef ISM3FIELDS uCreatedDate=luGetCreatedDate("tGlossary",uGlossary); iDNSLog(uGlossary,"tGlossary","New"); #endif if(!uMode) { sprintf(gcQuery,LANG_NBR_NEWRECADDED,uGlossary); tGlossary(gcQuery); } }//NewtGlossary(unsigned uMode) void DeletetGlossary(void) { #ifdef ISM3FIELDS sprintf(gcQuery,"DELETE FROM tGlossary WHERE uGlossary=%u AND ( uOwner=%u OR %u>9 )" ,uGlossary,guLoginClient,guPermLevel); #else sprintf(gcQuery,"DELETE FROM tGlossary WHERE uGlossary=%u" ,uGlossary); #endif mysql_query(&gMysql,gcQuery); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); //tGlossary("Record Deleted"); if(mysql_affected_rows(&gMysql)>0) { #ifdef ISM3FIELDS iDNSLog(uGlossary,"tGlossary","Del"); #endif tGlossary(LANG_NBR_RECDELETED); } else { #ifdef ISM3FIELDS iDNSLog(uGlossary,"tGlossary","DelError"); #endif tGlossary(LANG_NBR_RECNOTDELETED); } }//void DeletetGlossary(void) void Insert_tGlossary(void) { //insert query sprintf(gcQuery,"INSERT INTO tGlossary SET uGlossary=%u,cLabel='%s',cText='%s',uOwner=%u,uCreatedBy=%u,uCreatedDate=UNIX_TIMESTAMP(NOW())", uGlossary ,TextAreaSave(cLabel) ,TextAreaSave(cText) ,uOwner ,uCreatedBy ); mysql_query(&gMysql,gcQuery); }//void Insert_tGlossary(void) void Update_tGlossary(char *cRowid) { //update query sprintf(gcQuery,"UPDATE tGlossary SET uGlossary=%u,cLabel='%s',cText='%s',uModBy=%u,uModDate=UNIX_TIMESTAMP(NOW()) WHERE _rowid=%s", uGlossary ,TextAreaSave(cLabel) ,TextAreaSave(cText) ,uModBy ,cRowid); mysql_query(&gMysql,gcQuery); }//void Update_tGlossary(void) void ModtGlossary(void) { register int i=0; MYSQL_RES *res; MYSQL_ROW field; #ifdef ISM3FIELDS unsigned uPreModDate=0; sprintf(gcQuery,"SELECT uGlossary,uModDate FROM tGlossary WHERE uGlossary=%u" ,uGlossary); #else sprintf(gcQuery,"SELECT uGlossary FROM tGlossary WHERE uGlossary=%u" ,uGlossary); #endif mysql_query(&gMysql,gcQuery); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); res=mysql_store_result(&gMysql); i=mysql_num_rows(res); //if(i<1) tGlossary("Record does not exist"); if(i<1) tGlossary(LANG_NBR_RECNOTEXIST); //if(i>1) tGlossary("Multiple rows!"); if(i>1) tGlossary(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tGlossary(LANG_NBR_EXTMOD); #endif Update_tGlossary(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]); #ifdef ISM3FIELDS uModDate=luGetModDate("tGlossary",uGlossary); iDNSLog(uGlossary,"tGlossary","Mod"); #endif tGlossary(gcQuery); }//ModtGlossary(void) void tGlossaryList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttGlossaryListSelect(); mysql_query(&gMysql,gcQuery); if(mysql_error(&gMysql)[0]) htmlPlainTextError(mysql_error(&gMysql)); res=mysql_store_result(&gMysql); guI=mysql_num_rows(res); PageMachine("tGlossaryList",1,"");//1 is auto header list guMode. Opens table! //Filter select drop down ExttGlossaryListFilter(); 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("
uGlossarycLabelcTextuOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(guN % 2) printf(""); else printf(""); long luTime5=strtoul(field[5],NULL,10); char cBuf5[32]; if(luTime5) ctime_r(&luTime5,cBuf5); else sprintf(cBuf5,"---"); long luTime7=strtoul(field[7],NULL,10); char cBuf7[32]; if(luTime7) ctime_r(&luTime7,cBuf7); else sprintf(cBuf7,"---"); printf(" %s%s%s%s%s%s%s" ,field[0] ,field[0] ,field[1] ,field[2] ,ForeignKey(TCLIENT,"cLabel",strtoul(field[3],NULL,10)) ,ForeignKey(TCLIENT,"cLabel",strtoul(field[4],NULL,10)) ,cBuf5 ,ForeignKey(TCLIENT,"cLabel",strtoul(field[6],NULL,10)) ,cBuf7 ); } printf("\n"); Footer_ism3(); }//tGlossaryList() void CreatetGlossary(void) { sprintf(gcQuery,"CREATE TABLE IF NOT EXISTS tGlossary ( uGlossary 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, cText TEXT NOT NULL DEFAULT '' )"); mysql_query(&gMysql,gcQuery); if(mysql_errno(&gMysql)) htmlPlainTextError(mysql_error(&gMysql)); }//CreatetGlossary()