/* FILE tConfiguration source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: tconfiguration.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uConfiguration: Primary Key static unsigned uConfiguration=0; //cLabel: Short label static char cLabel[33]={""}; //cValue: Value of name(cLabel)/value pair static char cValue[256]={""}; //cComment: Comment about this configuration name/value pair static char *cComment={""}; //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_tConfiguration "tConfiguration.uConfiguration,tConfiguration.cLabel,tConfiguration.cValue,tConfiguration.cComment,tConfiguration.uOwner,tConfiguration.uCreatedBy,tConfiguration.uCreatedDate,tConfiguration.uModBy,tConfiguration.uModDate" //Local only void Insert_tConfiguration(void); void Update_tConfiguration(char *rowid); int InsertUpdate_tConfiguration(char *cKey); void ProcesstConfigurationListVars(pentry entries[], int x); //In tConfigurationfunc.h file included below void ExtProcesstConfigurationVars(pentry entries[], int x); void ExttConfigurationCommands(pentry entries[], int x); void ExttConfigurationButtons(void); void ExttConfigurationNavBar(void); void ExttConfigurationGetHook(entry gentries[], int x); void ExttConfigurationSelect(void); void ExttConfigurationSelectRow(void); void ExttConfigurationListSelect(void); void ExttConfigurationListFilter(void); void ExttConfigurationAuxTable(void); #include "tconfigurationfunc.h" //Table Variables Assignment Function void ProcesstConfigurationVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttConfigurationNavBar(); 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("
"); ExttConfigurationButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tConfigurationInputContent(); else tConfigurationContent(); printf("
\n"); printf("
\n"); //Bottom table ExttConfigurationAuxTable(); printf("\n"); Footer_ism3(); }//end of tConfiguration(); void tConfigurationContent(void) { OpenRow(LANG_FL_tConfiguration_uConfiguration,"white"); printf("%u\n",uConfiguration,uConfiguration); printf("  "); OpenRow(LANG_FL_tConfiguration_cLabel,"white"); printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); printf("  "); OpenRow(LANG_FL_tConfiguration_cValue,"white"); printf("%s",cValue,EncodeDoubleQuotes(cValue)); printf("  "); OpenRow(LANG_FL_tConfiguration_cComment,"white"); printf("
%s
\n\n", TransformAngleBrackets(cComment)); printf("", EncodeDoubleQuotes(cComment)); printf("  "); OpenRow(LANG_FL_tConfiguration_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tConfiguration_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tConfiguration_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tConfiguration_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tConfiguration_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tConfigurationContent() void tConfigurationInputContent(void) { OpenRow(LANG_FL_tConfiguration_uConfiguration,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tConfiguration_uConfiguration,uConfiguration); else printf("%u\n",uConfiguration,uConfiguration); OpenRow(LANG_FL_tConfiguration_cLabel,"white"); if(uPermLevel>=8) printf("\n",LANG_FT_tConfiguration_cLabel,EncodeDoubleQuotes(cLabel)); else printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); OpenRow(LANG_FL_tConfiguration_cValue,"white"); if(uPermLevel>=8) printf("\n",LANG_FT_tConfiguration_cValue,EncodeDoubleQuotes(cValue)); else printf("%s",cValue,EncodeDoubleQuotes(cValue)); OpenRow(LANG_FL_tConfiguration_cComment,"white"); if(uPermLevel>=8) printf("\n\n",LANG_FT_tConfiguration_cComment,cComment); else { printf("
%s
\n\n", TransformAngleBrackets(cComment)); printf("", EncodeDoubleQuotes(cComment)); } OpenRow(LANG_FL_tConfiguration_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tConfiguration_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tConfiguration_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tConfiguration_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tConfiguration_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tConfigurationInputContent(void) void NewtConfiguration(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uConfiguration FROM tConfiguration\ WHERE uConfiguration=%u" ,uConfiguration); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tConfiguration("Record already exists"); tConfiguration(LANG_NBR_RECEXISTS); //insert query Insert_tConfiguration(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uConfiguration=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uConfiguration); tConfiguration(query); } }//NewtConfiguration(unsigned uMode) void DeletetConfiguration(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tConfiguration WHERE uConfiguration=%u AND ( uOwner=%u OR %u>9 )" ,uConfiguration,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tConfiguration WHERE uConfiguration=%u" ,uConfiguration); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tConfiguration("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tConfiguration(LANG_NBR_RECDELETED); else tConfiguration(LANG_NBR_RECNOTDELETED); }//void DeletetConfiguration(void) void Insert_tConfiguration(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tConfiguration SET uConfiguration=%u, cLabel='%s', cValue='%s', cComment='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uConfiguration ,TextAreaSave(cLabel) ,TextAreaSave(cValue) ,TextAreaSave(cComment) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tConfiguration(void) void Update_tConfiguration(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tConfiguration SET uConfiguration=%u,cLabel='%s',cValue='%s',cComment='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uConfiguration ,TextAreaSave(cLabel) ,TextAreaSave(cValue) ,TextAreaSave(cComment) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tConfiguration(void) void ModtConfiguration(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 tConfiguration.uConfiguration,\ tConfiguration.uModDate\ FROM tConfiguration,tClient\ WHERE tConfiguration.uConfiguration=%u\ AND tConfiguration.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uConfiguration,uLoginClient,uLoginClient); else sprintf(query,"SELECT uConfiguration,uModDate FROM tConfiguration\ WHERE uConfiguration=%u" ,uConfiguration); #else sprintf(query,"SELECT uConfiguration FROM tConfiguration\ WHERE uConfiguration=%u" ,uConfiguration); #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) tConfiguration("Record does not exist"); if(i<1) tConfiguration(LANG_NBR_RECNOTEXIST); //if(i>1) tConfiguration("Multiple rows!"); if(i>1) tConfiguration(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tConfiguration(LANG_NBR_EXTMOD); #endif Update_tConfiguration(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]); tConfiguration(query); }//ModtConfiguration(void) void tConfigurationList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttConfigurationListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tConfigurationList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttConfigurationListFilter(); 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("
uConfigurationcLabelcValuecCommentuOwneruCreatedByuCreatedDateuModByuModDate
End of data
"); Footer_ism3(); } if(n % 2) printf(""); else printf(""); printf(" %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]
				);

	}

	printf("\n");
	Footer_ism3();

}//tConfigurationList()


void CreatetConfiguration(void)
{
	sprintf(query,"CREATE TABLE tConfiguration ( cComment text NOT NULL DEFAULT '', uConfiguration 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, cValue varchar(255) NOT NULL DEFAULT '' )");
	mysql_query(&mysql,qstr);
	if(mysql_errno(&mysql))
		mysqlSendmail(mysql_error(&mysql));
}//CreatetConfiguration()

//sedall patch1