/* FILE $Id: tlocalfunc.h 6 2005-11-24 00:02:59Z ggw $ (tAuthorize.cPasswd template set member) PURPOSE AUTHOR Template and mysqlRAD2 author: (c) 2001,2002 Gary Wallis. GPL License applies, see www.fsf.org for details */ void tLocalNavList(void); static char cDomainPullDown[256]={""}; static unsigned uDomain=0; //Extern void ScheduleJob(unsigned uUser, unsigned uServer, const char *cJobName, const char *cJobData); void CheckDomain(const char *cDomain,void (*funcTableDialog) (const char *cMsg), unsigned uRequire); void ExtProcesstLocalVars(pentry entries[], int x) { register int i; for(i=0;i=8) { ProcesstLocalVars(entries,x); if(uPermLevel<9) { uServer=1; } mode=2000; tLocal(LANG_NB_CONFIRMNEW); } } else if(!strcmp(command,LANG_NB_CONFIRMNEW)) { if(uPermLevel>=8) { ProcesstLocalVars(entries,x); if(uPermLevel<9) { uServer=1; strncpy(cDomain,cDomainPullDown,32); cDomain[32]=0; } if(!uServer) tLocal("Must select valid uServer"); mode=2000; CheckDomain(cDomain,tLocal,2); mode=0; uLocal=0; uCreatedBy=uLoginClient; uOwner=uLoginClient; uModBy=0;//Never modified ScheduleJob(1,uServer,"NewLocal",cDomain); uModDate=0; NewtLocal(0); } } else if(!strcmp(command,LANG_NB_DELETE)) { ProcesstLocalVars(entries,x); if(uOwner) GetClientOwner(uOwner,&uReseller); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) { mode=2001; tLocal(LANG_NB_CONFIRMDEL); } } else if(!strcmp(command,LANG_NB_CONFIRMDEL)) { ProcesstLocalVars(entries,x); if(uOwner) GetClientOwner(uOwner,&uReseller); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) { mode=5; ScheduleJob(1,uServer,"DelLocal",cDomain); DeletetLocal(); } } else if(!strcmp(command,LANG_NB_MODIFY)) { ProcesstLocalVars(entries,x); if(uOwner) GetClientOwner(uOwner,&uReseller); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) { mode=2002; tLocal(LANG_NB_CONFIRMMOD); } } else if(!strcmp(command,LANG_NB_CONFIRMMOD)) { ProcesstLocalVars(entries,x); if(uOwner) GetClientOwner(uOwner,&uReseller); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) { MYSQL_RES *res; if(!uServer) tLocal("Must select valid uServer"); mode=2002; CheckDomain(cDomain,tLocal,2); sprintf(query,"SELECT uLocal FROM tLocal WHERE cDomain='%s' AND uServer=%u",cDomain,uServer); mysql_query(&mysql,query); if(mysql_errno(&mysql)) mysqlSendmail(mysql_error(&mysql)); res=mysql_store_result(&mysql); if(mysql_num_rows(res)) tLocal("Nothing changed no modification done"); mode=0; uModBy=uLoginClient; ScheduleJob(1,uServer,"ModLocal",cDomain); ModtLocal(); } } } }//void ExttLocalCommands(pentry entries[], int x) void ExttLocalButtons(void) { printf("\n"); printf("\n"); printf("
"); printf(""); printf(""); switch(mode) { case 2000: if(uPermLevel<10) { printf("

Select cDomain you own
"); tTablePullDownOwner("tDomain;cDomainPullDown", "cDomain","cDomain",uDomain); } printf("
"); printf(""); printf(LANG_NBB_CONFIRMNEW); printf("
\n"); break; case 2001: printf(""); printf(LANG_NBB_CONFIRMDEL); printf("
Remember that virtual mail may depend on this entry!
\n"); break; case 2002: printf("Review record data
"); printf(""); printf(LANG_NBB_CONFIRMMOD); printf("
\n"); break; } //printf(""); //printf("

tLocalNavList
\n"); //tLocalNavList(); printf("

\n"); }//void ExttLocalButtons(void) void ExttLocalAuxTable(void) { }//void ExttLocalAuxTable(void) void ExttLocalGetHook(entry gentries[], int x) { register int i; for(i=0;i=9) sprintf(query,"SELECT %s FROM tLocal",VAR_LIST_tLocal); else sprintf(query,"SELECT %s FROM tLocal WHERE uOwner=%u", VAR_LIST_tLocal,uLoginClient); }//void ExttLocalSelect(void) void ExttLocalSelectRow(void) { if(uPermLevel<10) sprintf(query,"SELECT %s FROM tLocal,tClient \ WHERE tLocal.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u)\ AND tLocal.uLocal=%u", VAR_LIST_tLocal, uLoginClient,uLoginClient,uLocal); else sprintf(query,"SELECT %s FROM tLocal WHERE uLocal=%u", VAR_LIST_tLocal,uLocal); }//void ExttLocalSelectRow(void) void ExttLocalListSelect(void) { char cCat[512]; if(uPermLevel<10) sprintf(query,"SELECT %s FROM tLocal,tClient \ WHERE tLocal.uOwner=tClient.uClient \ AND (tClient.uOwner=%u OR tClient.uClient=%u)", VAR_LIST_tLocal, uLoginClient, uLoginClient); else sprintf(query,"SELECT %s FROM tLocal",VAR_LIST_tLocal); //Changes here must be reflected below in ExttLocalListFilter() if(!strcmp(filter,"uLocal")) { sscanf(command,"%u",&uLocal); if(uPermLevel<10) strcat(query," AND "); else strcat(query," WHERE "); sprintf(cCat,"tLocal.uLocal=%u",uLocal); strcat(query,cCat); } else if(!strcmp(filter,"cDomain")) { if(uPermLevel<10) strcat(query," AND "); else strcat(query," WHERE "); sprintf(cCat,"tLocal.cDomain LIKE '%s%%' ORDER BY cDomain",command); strcat(query,cCat); } else if(!strcmp(filter,"uServer")) { sscanf(command,"%u",&uServer); if(uPermLevel<10) strcat(query," AND "); else strcat(query," WHERE "); sprintf(cCat,"tLocal.uServer=%u ORDER BY uServer",uServer); strcat(query,cCat); } else if(1) { //None NO FILTER strcpy(filter,"None"); } }//void ExttLocalListSelect(void) void ExttLocalListFilter(void) { //Filter printf("Select "); printf(""); }//void ExttLocalListFilter(void) void ExttLocalNavBar(void) { if(uOwner) GetClientOwner(uOwner,&uReseller); printf(LANG_NBB_SKIPFIRST); printf(LANG_NBB_SKIPBACK); printf(LANG_NBB_SEARCH); if(uPermLevel>=8) printf(LANG_NBB_NEW); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) printf(LANG_NBB_MODIFY); if( (uPermLevel>=8 && uOwner==uLoginClient) || (uPermLevel>9 && uOwner!=1) || (uPermLevel>7 && uReseller==uLoginClient) ) printf(LANG_NBB_DELETE); printf(LANG_NBB_LIST); printf(LANG_NBB_SKIPNEXT); printf(LANG_NBB_SKIPLAST); }//void ExttLocalNavBar(void) void tLocalNavList(void) { MYSQL_RES *res; MYSQL_ROW field; if(uPermLevel<10) sprintf(query,"SELECT tLocal.uLocal\ ,tLocal.cDomain\ FROM tLocal,tClient\ WHERE tLocal.uOwner=tClient.uClient\ AND (tClient.uOwner=%u OR tClient.uClient=%u) ORDER BY cDomain", uLoginClient,uLoginClient); else sprintf(query,"SELECT uLocal,cDomain FROM tLocal ORDER BY cDomain"); mysql_query(&mysql,query); if(mysql_errno(&mysql)) { printf("%s",mysql_error(&mysql)); return; } res=mysql_store_result(&mysql); while((field=mysql_fetch_row(res))) { printf("%s
\n",field[0],field[1]); } mysql_free_result(res); }//void tLocalNavList(void) //sedall patch1 //sedall patch2