/*
FILE
	$Id: ttrafficquotafunc.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

 
*/

//ModuleFunctionProtos()


void tTrafficQuotaNavList(void);

void ExtProcesstTrafficQuotaVars(pentry entries[], int x)
{

	/*
	register int i;
	
	for(i=0;i<x;i++)
	{
	
	}
	*/

}//void ExtProcesstTrafficQuotaVars(pentry entries[], int x)


void ExttTrafficQuotaCommands(pentry entries[], int x)
{
	if(!strcmp(function,"tTrafficQuotaTools"))
	{
		//ModuleFunctionProcess()

		//Default wizard like two step creation and deletion
		if(!strcmp(command,LANG_NB_NEW))
                {
	if(uPermLevel>=12)

			{
                        ProcesstTrafficQuotaVars(entries,x);
			//Check global conditions for new record here
                        mode=2000;
                        tTrafficQuota(LANG_NB_CONFIRMNEW);
			}
                }
		else if(!strcmp(command,LANG_NB_CONFIRMNEW))
                {
	if(uPermLevel>=12)

			{
			
                        ProcesstTrafficQuotaVars(entries,x);
			//Check entries here
			uTrafficQuota=0;
			uCreatedBy=uLoginClient;
			uOwner=uLoginClient;
			uModBy=0;//Never modified
			uModDate=0;
			NewtTrafficQuota(0);
			}
		}
		else if(!strcmp(command,LANG_NB_DELETE))
                {
                        ProcesstTrafficQuotaVars(entries,x);
			if(uOwner) GetClientOwner(uOwner,&uReseller);
		if( (uPermLevel>=12 && uOwner==uLoginClient)
			|| (uPermLevel>9 && uOwner!=1)
			|| (uPermLevel>7 && uReseller==uLoginClient) )

			{
                        mode=2001;
                        tTrafficQuota(LANG_NB_CONFIRMDEL);
			}
                }
                else if(!strcmp(command,LANG_NB_CONFIRMDEL))
                {
                        ProcesstTrafficQuotaVars(entries,x);
			if(uOwner) GetClientOwner(uOwner,&uReseller);
		if( (uPermLevel>=12 && uOwner==uLoginClient)
			|| (uPermLevel>9 && uOwner!=1)
			|| (uPermLevel>7 && uReseller==uLoginClient) )

			{
                        mode=5;
                        DeletetTrafficQuota();
			}
                }
		else if(!strcmp(command,LANG_NB_MODIFY))
                {
                        ProcesstTrafficQuotaVars(entries,x);
			if(uOwner) GetClientOwner(uOwner,&uReseller);
		if( (uPermLevel>=12 && uOwner==uLoginClient)
			|| (uPermLevel>9 && uOwner!=1)
			|| (uPermLevel>7 && uReseller==uLoginClient) )

			{
                        mode=2002;
                        tTrafficQuota(LANG_NB_CONFIRMMOD);
			}
                }
                else if(!strcmp(command,LANG_NB_CONFIRMMOD))
                {
                        ProcesstTrafficQuotaVars(entries,x);
			if(uOwner) GetClientOwner(uOwner,&uReseller);
		if( (uPermLevel>=12 && uOwner==uLoginClient)
			|| (uPermLevel>9 && uOwner!=1)
			|| (uPermLevel>7 && uReseller==uLoginClient) )

			{
			uModBy=uLoginClient;
                        ModtTrafficQuota();
			}
                }
	}

}//void ExttTrafficQuotaCommands(pentry entries[], int x)


void ExttTrafficQuotaButtons(void)
{
	printf("<table width=260 border=0 bgcolor=#9BC1B3 valign=center>\n");
        printf("<tr><td>");

	printf("<font face=Arial,Helvetica>");
	printf("<font size=2>");

	switch(mode)
        {
                case 2000:
			printf("Enter required data<br>");
                        printf("<font size=1>");
                        printf(LANG_NBB_CONFIRMNEW);
			printf("<br>\n");
                break;

                case 2001:
                        printf("<font size=1>");
                        printf(LANG_NBB_CONFIRMDEL);
			printf("<br>\n");
                break;

                case 2002:
			printf("Review record data<br>");
                        printf("<font size=1>");
                        printf(LANG_NBB_CONFIRMMOD);
			printf("<br>\n");
                break;

	}

	printf("<font size=2>");
        printf("<p><u>tTrafficQuotaNavList</u><br>\n");
	tTrafficQuotaNavList();

        printf("</td></tr>\n");
        printf("</table>\n");

}//void ExttTrafficQuotaButtons(void)


void ExttTrafficQuotaAuxTable(void)
{

}//void ExttTrafficQuotaAuxTable(void)


void ExttTrafficQuotaGetHook(entry gentries[], int x)
{
	register int i;

	for(i=0;i<x;i++)
	{
		if(!strcmp(gentries[i].name,"uTrafficQuota"))
		{
			sscanf(gentries[i].val,"%u",&uTrafficQuota);
			mode=6;
		}
	}
	tTrafficQuota("");

}//void ExttTrafficQuotaGetHook(entry gentries[], int x)


void ExttTrafficQuotaSelect(void)
{
        //Set non search query here for tTableName()
	if(uPermLevel>=9)
	sprintf(query,"SELECT %s FROM tTrafficQuota ORDER BY\
					uTrafficQuota",
					VAR_LIST_tTrafficQuota);
	else
	sprintf(query,"SELECT %s FROM tTrafficQuota WHERE uOwner=%u ORDER BY\
					uTrafficQuota",
					VAR_LIST_tTrafficQuota,uLoginClient);

}//void ExttTrafficQuotaSelect(void)


void ExttTrafficQuotaSelectRow(void)
{
	if(uPermLevel<10)
                sprintf(query,"SELECT %s FROM tTrafficQuota,tClient \
                                WHERE tTrafficQuota.uOwner=tClient.uClient\
                                AND (tClient.uOwner=%u OR tClient.uClient=%u)\
                                AND tTrafficQuota.uTrafficQuota=%u",
                        		VAR_LIST_tTrafficQuota,
					uLoginClient,uLoginClient,uTrafficQuota);
	else
                sprintf(query,"SELECT %s FROM tTrafficQuota WHERE uTrafficQuota=%u",
			VAR_LIST_tTrafficQuota,uTrafficQuota);

}//void ExttTrafficQuotaSelectRow(void)


void ExttTrafficQuotaListSelect(void)
{
	char cCat[512];

	if(uPermLevel<10)
		sprintf(query,"SELECT %s FROM tTrafficQuota,tClient \
		WHERE tTrafficQuota.uOwner=tClient.uClient \
		AND (tClient.uOwner=%u OR tClient.uClient=%u)",
				VAR_LIST_tTrafficQuota,
				uLoginClient,
				uLoginClient);
	else
                sprintf(query,"SELECT %s FROM tTrafficQuota",
				VAR_LIST_tTrafficQuota);

	//Changes here must be reflected below in ExttTrafficQuotaListFilter()
        if(!strcmp(filter,"uTrafficQuota"))
        {
                sscanf(command,"%u",&uTrafficQuota);
		if(uPermLevel<10)
			strcat(query," AND ");
		else
			strcat(query," WHERE ");
		sprintf(cCat,"tTrafficQuota.uTrafficQuota=%u \
						ORDER BY uTrafficQuota",
						uTrafficQuota);
		strcat(query,cCat);
        }
        else if(1)
        {
                //None NO FILTER
                strcpy(filter,"None");
		strcat(query," ORDER BY uTrafficQuota");
        }

}//void ExttTrafficQuotaListSelect(void)


void ExttTrafficQuotaListFilter(void)
{
        //Filter
        printf("<td align=right >Select ");
        printf("<select name=filter>");
        if(strcmp(filter,"uTrafficQuota"))
                printf("<option>uTrafficQuota</option>");
        else
                printf("<option selected>uTrafficQuota</option>");
        if(strcmp(filter,"None"))
                printf("<option>None</option>");
        else
                printf("<option selected>None</option>");
        printf("</select>");

}//void ExttTrafficQuotaListFilter(void)


void ExttTrafficQuotaNavBar(void)
{
	if(uOwner) GetClientOwner(uOwner,&uReseller);

	printf(LANG_NBB_SKIPFIRST);
	printf(LANG_NBB_SKIPBACK);
	printf(LANG_NBB_SEARCH);

	if(uPermLevel>=12)

	printf(LANG_NBB_NEW);
	//printf(LANG_NBB_NEWREV);

		if( (uPermLevel>=12 && uOwner==uLoginClient)
			|| (uPermLevel>9 && uOwner!=1)
			|| (uPermLevel>7 && uReseller==uLoginClient) )

	printf(LANG_NBB_MODIFY);

		if( (uPermLevel>=12 && 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 ExttTrafficQuotaNavBar(void)


void tTrafficQuotaNavList(void)
{
        MYSQL_RES *res;
        MYSQL_ROW field;

	if(uPermLevel<10)
		sprintf(query,"SELECT tTrafficQuota.uTrafficQuota\
				,tTrafficQuota.cLabel\
				FROM tTrafficQuota,tClient\
                                WHERE tTrafficQuota.uOwner=tClient.uClient\
                                AND (tClient.uOwner=%u OR tClient.uClient=%u)",
					uLoginClient,uLoginClient);
	else
	        sprintf(query,"SELECT uTrafficQuota,cLabel FROM tTrafficQuota");

        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("<a class=darkLink href=mysqlSendmail.cgi?function=tTrafficQuota\
&uTrafficQuota=%s>%s</a><br>\n",field[0],field[1]);
        }
        mysql_free_result(res);

}//void tTrafficQuotaNavList(void)


//sedall patch1
//sedall patch2
