📄 htmlmanager.c
字号:
//int ifNo=0;
// ifNo = getAVirIfNo(index);
memset(&inputInfo, 0, sizeof(inputInfo));
strcpy(inputInfo.type, "hidden");
sprintf(inputInfo.name, "password%d", ethNo);
sprintf(inputInfo.value, "%s", getPapPassword(index));
ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
sprintf(inputInfo.name, "chapPassFlag%d", ethNo);
strcpy(inputInfo.type, "hidden");
if (useChap(index))
{
sprintf(inputInfo.value,"1");
}
else
{
sprintf(inputInfo.value,"0");
}
ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
strcpy(inputInfo.type, "hidden");
sprintf(inputInfo.name, "chapPassword%d", ethNo);
sprintf(inputInfo.value, "%s", getChapPassword(index));
ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
}
//SelDHCP
{
memset(&inputInfo, 0, sizeof(inputInfo));
strcpy(inputInfo.type, "hidden");
sprintf(inputInfo.name, "dhcp%d", ethNo);
if(haveSetDhcp(index))//dhcp已设置
{
sprintf(inputInfo.value,"1");
}
else//静态设置的ip
{
sprintf(inputInfo.value,"0");
}
ASSERT_BUILD_PAGE_SUCCESS(addInputN((void *)&inputInfo, pPage));
}
return 1;
}
int onActionNetwork(char * dataBuf, long bufLen, char * pageBuf, long pageLen)
{
UINT8 * param;
int ifNum =0;
int ifunit = 0;
char* ip = 0;
char* mask = 0;
char* papuser = 0;
char* pappassword = 0;
int i=0;//,j=0,k=0;
if (getHtmlParams(dataBuf, bufLen) != TRUE)
{
lpt(PT_WARN, "POST get html param error \n");
return ERROR;
}
//***************************web打印的控键名称*************************************
//接口单元总数: ifUnitnum
//接口号 : chgifUnit
//是否使用网络地址: chgSetNetaddr
//ip、mask : chgethIp 、chgethMask
//PPPOE : chgProtoType
//用户名、密码 : chgUsername、chgpassword 、chgDelPro(是否删除)
//主机名、密码 : chgchapNameFlag、chgchapName、chgchapPassFlag、chgchapPass
//DHCP : chgdhcp
//******************************************************************************************
//没选中则取得的值为NULL
//网络地址:
//修改标识符CNetChgFlag、CPChgFlag、CPNChgFlag、CDChgFlag //判断是否修改的标志量 0:未修改1:修改了
param = getParamsValue("ifUnitnum");
if (!isValidStr(param))
{
lpt1(PT_WARN, "ifUnitnum %s\n", param);
return FALSE;
}
ifNum = atoi(param);//接口数量
for (i=0; i<ifNum; i++)
{
param = getp("chgifUnit", i);
if (!isValidStr(param))
{
lpt(PT_WARN, "find chgifUnit error\n");
continue;
}
ifunit = atoi(param);
/*************dhcp设置项***************************/
if (isValidStr(getp("chgdhcp", ifunit)))
{
nipEthSetDhcp(ifunit, NIP_CMD_ADD);
}
else
{
//取消使用dhcp,但本来是dhcp,必须将ip地址设上,否则将不能访问
if (ethIsDhcp(ifunit))
{
ip = getp("chgethIp", ifunit);
mask = getp("chgethMask", ifunit);
nipSetIfIp("eth", ifunit, 0, ip, mask, NIP_CMD_ADD);
}
else//本来就不是dhcp,则设置ip地址
{
/*************ip 地址的设置*****************/
if (isValidStr(getp("chgSetNetaddr", ifunit)))//删除接口ip
{
nipSetIfIp("eth", ifunit, 0, 0, 0, NIP_CMD_DEL);//需要删除ip地址
}
else
{
if (strcmp(getParamsValue("CNetChgFlag"), "1") ==0)//ip地址已修改
{
ip = getp("chgethIp", ifunit);
mask = getp("chgethMask", ifunit);
nipSetIfIp("eth", ifunit, 0, ip, mask, NIP_CMD_ADD);
}
}
}
nipEthSetDhcp(ifunit, NIP_CMD_DEL);
}
/***********绑定pppoe协议设置***************/
if (isValidStr(getp("chgProtoType", ifunit)))//在eth设置pppoe
{
//printf("PPPOEflag is %s\n",getp("chgProtoType", ifunit));
nipEthSetProtocol(i, 16, NIP_CMD_ADD);
}
else
{
nipEthSetProtocol(i, 16, NIP_CMD_DEL);//取消绑定
}
if(isValidStr(getp("chgDelPro", ifunit)))//删除用户和密码
{
nipVirIfSetPapinfo("virtual", 16, 0, 0, NIP_CMD_DEL);//删除pppoe帐号密码
nipVirIfSetChaphostname("virtual", 16, 0, NIP_CMD_DEL);
nipVirIfSetChapPassword("virtual", 16, 0, NIP_CMD_DEL);
}
else
{
if (strcmp(getParamsValue("CPNChgFlag"), "1") == 0)//帐号密码有修改
{
papuser = getp("chgUsername", ifunit);
pappassword = getp("chgpassword", ifunit);
if (isValidStr(papuser) && isValidStr(pappassword))
{
nipVirIfSetPapinfo("virtual", 16, papuser, pappassword, NIP_CMD_ADD);
nipVirIfSetChaphostname("virtual", 16, papuser, NIP_CMD_ADD);
nipVirIfSetChapPassword("virtual", 16, pappassword, NIP_CMD_ADD);
}
}
}
}
buildNetworkPage(pageBuf, pageLen);
return TRUE;
}
int buildNetSubEPage(char * fileBuf, long bufLen)
{
UINT8 * pPage;
SELECT_INFO selectInfo;
// int subEthNum = 0;
int subEthMaster = 0;//,subEthSlave = 0;
int masterUnitNum = 0;
int i = 0;
// int j = 0;
getAllIf();//zzw
pPage=buildHtmlFile("NetSubeth.htm", fileBuf, bufLen);
addTitle("PPP设置", 0, pPage);
//script cookies
addLanguage("<script language=\"javascript\" src=\"ChkLogin.Js\" type=\"text/javascript\"></script>", pPage);
addLanguage("<script language=\"javascript\" src=\"protect.Js\" type=\"text/javascript\"></script>", pPage);
//style
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<LINK href=\"style.css\" type=text/css rel=stylesheet>", pPage));
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<CENTER>", pPage));
//begin of action
ASSERT_BUILD_PAGE_SUCCESS(addBeginActionObject("/NetSubeth.htm", pPage));
//界面
B_T1(502, pPage)
B_L("left",pPage)
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=title width=7><IMG height=24 src=\"bmp/arc.gif\" width=7></TD>", pPage));
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=title vAlign=center align=left width=495>接口设置</TD>", pPage));
E_L(pPage)
B_L("left",pPage)
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD colSpan=2>", pPage));
B_T1(502, pPage)
B_L("left",pPage)
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD class=vline rowSpan=15><BR></TD><TD width=500>", pPage));
B_T2(470, "space", "true", "Tbhead", "Tbhead", pPage)
B_L("left",pPage)
ASSERT_BUILD_PAGE_SUCCESS(addLanguage("<TD>设置以太网子接口的ip地址和vlan ID。</TD>", pPage));
E_L(pPage)
E_T(pPage)
//table1 start
addLanguage("<TABLE width=470 align=center border=0><tbody>", pPage);
B_L("left",pPage)
//B_DL(pPage)
addLanguage("<TD width=150>", pPage);
ASSERT_BUILD_PAGE_SUCCESS(addText("接口类型:", pPage));
strcpy(selectInfo.name,"ifName");
strcpy(selectInfo.event,"doChange()");
selectInfo.paramsNum = 2;
strcpy(selectInfo.params[0],"eth");
strcpy(selectInfo.params[1],"sub-eth");
selectInfo.index = 1;
selectInfo.width=70;
strcpy( selectInfo.id, "ifName");
strcpy(selectInfo.spanid,"ifNamespan");
ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));
E_D(pPage)
//B_DL(pPage)
addLanguage("<TD width=350>", pPage);
{
memset(&selectInfo, 0 , sizeof(selectInfo));
ASSERT_BUILD_PAGE_SUCCESS(addText("主接口:", pPage));
selectInfo.paramsNum = getSubEthMasterUnitNum();//得到主口的个数
selectInfo.width = 40;
selectInfo.index = 0;
strcpy(selectInfo.name,"ifUnitC");
strcpy(selectInfo.event,"doChange()");
sprintf(selectInfo.id, "ifUnitC");
strcpy(selectInfo.spanid,"ifUnitCspan");
for(i=0; i <selectInfo.paramsNum; i++)
{
subEthMaster = getASubEthMasterNoAt(i);//主口号
sprintf(selectInfo.params[i],"%d", subEthMaster);
}
ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));
memset(&selectInfo, 0 , sizeof(selectInfo));
addLanguage(" 子接口:", pPage);
masterUnitNum = getSubEthMasterUnitNum();//得到主口的个数
selectInfo.width = 40;
selectInfo.index = 0;
strcpy(selectInfo.name,"ifUnitS");
strcpy(selectInfo.event,"UnitChange()");
sprintf(selectInfo.id, "ifUnitS");
//for(i=0; i <masterUnitNum; i++)
{
/*subEthMaster = getASubEthMasterNoAt(i);//主口号
subEthNum = getSubEthNumByMaster(subEthMaster);//主口号下子口的个数
selectInfo.paramsNum = subEthNum;
//debugPrintf(1,"%d \n", subEthMaster);
for(j =0; j<subEthNum; j++)
{
getASubEthNoByMaster(j, subEthMaster, &subEthSlave);//得到主口下的子口号
sprintf(selectInfo.params[j], "%d", subEthSlave);
}*/
selectInfo.paramsNum = 4;
strcpy(selectInfo.params[0],"1");
strcpy(selectInfo.params[1],"2");
strcpy(selectInfo.params[2],"3");
strcpy(selectInfo.params[3],"4");
ASSERT_BUILD_PAGE_SUCCESS(addSelectN((void *)&selectInfo, pPage, selectInfo.index));
}
addLanguage(" 删除当前接口配置:<input type=checkbox name=delPIntinfo value=off>", pPage);
}
E_D(pPage)
/*B_DL(pPage)
addLanguage("删除接口:<input type=checkbox name=delNum value=\"off\">", pPage);
E_D(pPage)*/
/*B_DL(pPage)
addLanguage("<INPUT class=text name=EditUnit value=\"0\" id=EditUnit size=2 maxlength=2>", pPage);
E_D(pPage)
B_DL(pPage)
addLanguage("<INPUT class=button id=Add type=button value=\"添 加\" name=Add onclick=AddUnit();>", pPage);
E_D(pPage)
B_DL(pPage)
addLanguage("<INPUT class=button id=Del type=button value=\"删除当前接口\" name=Del onclick=DelUnit();>", pPage);
E_D(pPage)*/
E_L(pPage)
E_T(pPage)
//table1 end
//table2 start
addLanguage("<TABLE width=440 align=center border=0><tbody>", pPage);
B_L("left",pPage)
B_D(pPage)
addLanguage("<INPUT type=hidden name=NetChgFlag value=\"0\">", pPage); //判断是否修改的标志量 0:未修改1:修改了
ASSERT_BUILD_PAGE_SUCCESS(addText("·网络地址:", pPage));
//addLanguage(" 删除<INPUT type=checkbox name=SetNetaddr value=\"on\">", pPage);
E_D(pPage)
E_L(pPage)
E_T(pPage)
addLanguage("<TABLE width=400 align=center border=0><tbody>", pPage);
B_L("left",pPage)
B_D(pPage)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -