/* FILE tHDQuota source code of mysqlSendmail.cgi (built by mysqlRAD2.cgi (c) Gary Wallis 2001,2002 GPL Licensed) $Id: thdquota.c 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE */ #include "mysqlrad.h" //Table Variables //uHDQuota: Primary Key static unsigned uHDQuota=0; //cLabel: Short label static char cLabel[33]={""}; //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_tHDQuota "tHDQuota.uHDQuota,tHDQuota.cLabel,tHDQuota.uOwner,tHDQuota.uCreatedBy,tHDQuota.uCreatedDate,tHDQuota.uModBy,tHDQuota.uModDate" //Local only void Insert_tHDQuota(void); void Update_tHDQuota(char *rowid); int InsertUpdate_tHDQuota(char *cKey); void ProcesstHDQuotaListVars(pentry entries[], int x); //In tHDQuotafunc.h file included below void ExtProcesstHDQuotaVars(pentry entries[], int x); void ExttHDQuotaCommands(pentry entries[], int x); void ExttHDQuotaButtons(void); void ExttHDQuotaNavBar(void); void ExttHDQuotaGetHook(entry gentries[], int x); void ExttHDQuotaSelect(void); void ExttHDQuotaSelectRow(void); void ExttHDQuotaListSelect(void); void ExttHDQuotaListFilter(void); void ExttHDQuotaAuxTable(void); #include "thdquotafunc.h" //Table Variables Assignment Function void ProcesstHDQuotaVars(pentry entries[], int x) { register int i; for(i=0;i\n"); printf("\n"); printf(""); printf("
"); ExttHDQuotaNavBar(); 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("
"); ExttHDQuotaButtons(); printf(""); printf("\n"); if(mode==2000 || mode==2002) tHDQuotaInputContent(); else tHDQuotaContent(); printf("
\n"); printf("
\n"); //Bottom table ExttHDQuotaAuxTable(); printf("\n"); Footer_ism3(); }//end of tHDQuota(); void tHDQuotaContent(void) { OpenRow(LANG_FL_tHDQuota_uHDQuota,"white"); printf("%u\n",uHDQuota,uHDQuota); printf("  "); OpenRow(LANG_FL_tHDQuota_cLabel,"white"); printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); printf("  "); OpenRow(LANG_FL_tHDQuota_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); printf("  "); OpenRow(LANG_FL_tHDQuota_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); printf("  "); OpenRow(LANG_FL_tHDQuota_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); printf("  "); OpenRow(LANG_FL_tHDQuota_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); printf("  "); OpenRow(LANG_FL_tHDQuota_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("  "); printf("\n"); }//tHDQuotaContent() void tHDQuotaInputContent(void) { OpenRow(LANG_FL_tHDQuota_uHDQuota,"white"); if(uPermLevel>=20) printf("\n",LANG_FT_tHDQuota_uHDQuota,uHDQuota); else printf("%u\n",uHDQuota,uHDQuota); OpenRow(LANG_FL_tHDQuota_cLabel,"white"); if(uPermLevel>=12) printf("\n",LANG_FT_tHDQuota_cLabel,EncodeDoubleQuotes(cLabel)); else printf("%s",cLabel,EncodeDoubleQuotes(cLabel)); OpenRow(LANG_FL_tHDQuota_uOwner,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uOwner),uOwner); OpenRow(LANG_FL_tHDQuota_uCreatedBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uCreatedBy),uCreatedBy); OpenRow(LANG_FL_tHDQuota_uCreatedDate,"white"); if(uCreatedDate) printf("%s\n\n",ctime((time_t *)&uCreatedDate)); else printf("---\n\n"); printf("\n",uCreatedDate); OpenRow(LANG_FL_tHDQuota_uModBy,"white"); printf("%s\n",ForeignKey("tClient","cLabel",uModBy),uModBy); OpenRow(LANG_FL_tHDQuota_uModDate,"white"); if(uModDate) printf("%s\n\n",ctime((time_t *)&uModDate)); else printf("---\n\n"); printf("\n",uModDate); printf("\n"); }//void tHDQuotaInputContent(void) void NewtHDQuota(unsigned uMode) { register int i=0; MYSQL_RES *res; //New select sprintf(query,"SELECT uHDQuota FROM tHDQuota\ WHERE uHDQuota=%u" ,uHDQuota); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); if(i) //tHDQuota("Record already exists"); tHDQuota(LANG_NBR_RECEXISTS); //insert query Insert_tHDQuota(); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //sprintf(query,"New record %u added"); uHDQuota=mysql_insert_id(&mysql); if(!uMode) { sprintf(query,LANG_NBR_NEWRECADDED,uHDQuota); tHDQuota(query); } }//NewtHDQuota(unsigned uMode) void DeletetHDQuota(void) { #ifdef ISM3FIELDS sprintf(query,"DELETE FROM tHDQuota WHERE uHDQuota=%u AND ( uOwner=%u OR %u>9 )" ,uHDQuota,uLoginClient,uPermLevel); #else sprintf(query,"DELETE FROM tHDQuota WHERE uHDQuota=%u" ,uHDQuota); #endif mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); //tHDQuota("Record Deleted"); if(mysql_affected_rows(&mysql)>0) tHDQuota(LANG_NBR_RECDELETED); else tHDQuota(LANG_NBR_RECNOTDELETED); }//void DeletetHDQuota(void) void Insert_tHDQuota(void) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //insert query //insert query sprintf(query,"INSERT INTO tHDQuota SET uHDQuota=%u, cLabel='%s', uOwner=%u, uCreatedBy=%u, uCreatedDate=%lu, uModBy=%u, uModDate=0", uHDQuota ,TextAreaSave(cLabel) ,uOwner ,uCreatedBy ,(long unsigned)clock ,uModBy ); mysql_query(&mysql,query); #ifdef ISM3FIELDS uCreatedDate=clock; #endif }//void Insert_tHDQuota(void) void Update_tHDQuota(char *rowid) { #ifdef ISM3FIELDS time_t clock; time(&clock); #endif //update query //update query sprintf(query,"UPDATE tHDQuota SET uHDQuota=%u,cLabel='%s',uModBy=%u,uModDate=%lu WHERE _rowid=%s", uHDQuota ,TextAreaSave(cLabel) ,uModBy ,(long unsigned)clock ,rowid); mysql_query(&mysql,query); #ifdef ISM3FIELDS uModDate=clock; #endif }//void Update_tHDQuota(void) void ModtHDQuota(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 tHDQuota.uHDQuota,\ tHDQuota.uModDate\ FROM tHDQuota,tClient\ WHERE tHDQuota.uHDQuota=%u\ AND tHDQuota.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)" ,uHDQuota,uLoginClient,uLoginClient); else sprintf(query,"SELECT uHDQuota,uModDate FROM tHDQuota\ WHERE uHDQuota=%u" ,uHDQuota); #else sprintf(query,"SELECT uHDQuota FROM tHDQuota\ WHERE uHDQuota=%u" ,uHDQuota); #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) tHDQuota("Record does not exist"); if(i<1) tHDQuota(LANG_NBR_RECNOTEXIST); //if(i>1) tHDQuota("Multiple rows!"); if(i>1) tHDQuota(LANG_NBR_MULTRECS); field=mysql_fetch_row(res); #ifdef ISM3FIELDS sscanf(field[1],"%u",&uPreModDate); if(uPreModDate!=uModDate) tHDQuota(LANG_NBR_EXTMOD); #endif Update_tHDQuota(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]); tHDQuota(query); }//ModtHDQuota(void) void tHDQuotaList(void) { MYSQL_RES *res; MYSQL_ROW field; ExttHDQuotaListSelect(); mysql_query(&mysql,query); if(mysql_error(&mysql)[0]) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); i=mysql_num_rows(res); PageMachine("tHDQuotaList",1,"");//1 is auto header list mode. Opens table! //Filter select drop down ExttHDQuotaListFilter(); 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("
uHDQuotacLabeluOwneruCreatedByuCreatedDateuModByuModDate
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(); }//tHDQuotaList() void CreatetHDQuota(void) { sprintf(query,"CREATE TABLE tHDQuota ( uHDQuota 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 )"); mysql_query(&mysql,qstr); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); }//CreatetHDQuota() //sedall patch1