📄 http_cgi.c
字号:
if (g_ucLineCntr < 20 && !g_ucListOver ) {
/* Hi bit is a repeat flag. */
len |= 0x8000;
}
break;
case 'd':
ReadConfig ( CONFIG_PAGE_NO, CONFIG_PAGE_START, (INT8U *)&NtwkCfg, sizeof(NtwkCfg) );
switch (env[2]) {
case '1':
break;
case '2':
// if ((len + 150) < buflen)
len = sprintf((S8 *)buf,(const S8 *)&env[4],http_auth_passw);
break;
case '3':
// if ((len + 150) < buflen)
len = sprintf((S8 *)buf,(const S8 *)&env[4],NtwkCfg.uiTID);
break;
case '4':
#ifdef MAIN_APPLIC
if ( NtwkCfg.ucReadEmpCodeFlag == 1 )
len = sprintf((S8 *)buf,(const S8 *)&env[4], "", "selected" );
else
len = sprintf((S8 *)buf,(const S8 *)&env[4], "selected", "" );
#endif
#ifdef BIO_APPLIC
len = sprintf((S8 *)buf,(const S8 *)&env[4], "", "selected" );
#endif
break;
case '5':
#ifdef MAIN_APPLIC
if ( NtwkCfg.ucDisplayModeFlag == 1 )
len = sprintf((S8 *)buf,(const S8 *)&env[4], "selected", "" );
else
len = sprintf((S8 *)buf,(const S8 *)&env[4], "", "selected" );
#endif
#ifdef BIO_APPLIC
len = sprintf((S8 *)buf,(const S8 *)&env[4], "selected", "" );
#endif
break;
case '6':
if ( NtwkCfg.ucReaderFormat == 35 )
len = sprintf((S8 *)buf,(const S8 *)&env[4], "selected", "" );
else
len = sprintf((S8 *)buf,(const S8 *)&env[4], "", "selected" );
break;
}
break;
case 'e':
if ( MYBUF(pcgi)->xcnt == 0 )
{
g_ucLineCntr = 0;
MYBUF(pcgi)->xcnt++;
if ( g_ucListOver )
{
g_uiPageCounter = g_uiPageAddr[g_uiPageNo];
if ( (g_uiListCounter % 20) == 0 )
{
if ( g_uiListCounter > 20 )
g_uiListCounter -= (20 + 20);
else
g_uiListCounter = 0;
}
else
{
if ( g_uiListCounter > 20 )
g_uiListCounter -= ((g_uiListCounter % 20) + 20);
else
g_uiListCounter = 0;
}
}
else
{
g_uiPageNo++;
g_uiPageAddr[g_uiPageNo] = g_uiPageCounter;
}
}
ProfCntr = g_uiPageCounter;
/* User List View - file 'usrview.cgi' */
while ((len + 150) < buflen) {
if ( USERCOUNT == 0 )
{
g_ucListOver = 1;
break;
}
if ( UserList[ProfCntr] )
{
ReadConfig ( (PROFILE_START_PAGE + (ProfCntr/10)), ((ProfCntr%10) * sizeof(UserConfig)), (INT8U *)&UserConfig, sizeof(UserConfig) );
g_ucLineCntr++;
g_uiListCounter++;
GetExpiryDate ( (INT8U *)&UserConfig.ucExpiryDate, ucaTempDate );
/* 'sprintf' format string is defined here. */
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td>%d</td><td>%s</td><td>%s</td><td>%s</td>"
"<td>%x</td><td>%d</td><td>%d</td><td>%s</td></tr>\r\n",
g_uiListCounter, (INT8U *)&UserConfig.ucFname, (INT8U *)&UserConfig.ucLname,
(INT8U *)&UserConfig.ucDept, UserConfig.ulCardNo,
UserConfig.ucTimezone1, UserConfig.ucTimezone2,
ucaTempDate);
}
ProfCntr++;
/* Repeat for all User Profiles. */
if (g_ucLineCntr >= 20) {
break;
}
if (g_uiListCounter >= USERCOUNT) {
g_ucListOver = 1;
break;
}
if ( ProfCntr >= USER_LIST_SIZE ){
g_ucListOver = 1;
break;
}
}
g_uiPageCounter = ProfCntr;
if (g_ucLineCntr < 20 && !g_ucListOver) {
/* Hi bit is a repeat flag. */
len |= 0x8000;
}
break;
case 'f':
if ( MYBUF(pcgi)->xcnt == 0)
{
g_ucLineCntr = 0;
MYBUF(pcgi)->xcnt++;
if ( g_uiPageNo > 0 )
{
g_uiPageNo--;
if ( (g_uiListCounter % 20) == 0 )
{
if ( g_uiListCounter > 20 )
g_uiListCounter -= (20 + 20);
else
g_uiListCounter = 0;
}
else
{
if ( g_uiListCounter > 20 )
g_uiListCounter -= ((g_uiListCounter % 20) + 20);
else
g_uiListCounter = 0;
}
}
else
{
g_uiListCounter = 0;
}
ProfCntr = g_uiPageAddr[g_uiPageNo];
}
else
ProfCntr = g_uiPageCounter;
/* User List View - file 'usrview.cgi' */
while ((len + 150) < buflen) {
if ( USERCOUNT == 0 )
{
g_ucListOver = 1;
break;
}
if ( UserList[ProfCntr] )
{
ReadConfig ( (PROFILE_START_PAGE + (ProfCntr/10)), ((ProfCntr%10) * sizeof(UserConfig)), (INT8U *)&UserConfig, sizeof(UserConfig) );
g_ucLineCntr++;
g_uiListCounter++;
GetExpiryDate ( (INT8U *)&UserConfig.ucExpiryDate, ucaTempDate );
/* 'sprintf' format string is defined here. */
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td>%d</td><td>%s</td><td>%s</td><td>%s</td>"
"<td>%x</td><td>%d</td><td>%d</td><td>%s</td></tr>\r\n",
g_uiListCounter, (INT8U *)&UserConfig.ucFname, (INT8U *)&UserConfig.ucLname,
(INT8U *)&UserConfig.ucDept, UserConfig.ulCardNo,
UserConfig.ucTimezone1, UserConfig.ucTimezone2,
ucaTempDate);
}
ProfCntr++;
/* Repeat for all User Profiles. */
if (g_ucLineCntr >= 20) {
break;
}
if (g_uiListCounter >= USERCOUNT) {
g_ucListOver = 1;
break;
}
if ( ProfCntr >= USER_LIST_SIZE ) {
g_ucListOver = 1;
break;
}
}
g_uiPageCounter = ProfCntr;
if ( g_ucLineCntr < 20 && !g_ucListOver ) {
/* Hi bit is a repeat flag. */
len |= 0x8000;
}
break;
case 'l':
if ( g_ucModifyProfile == 0 )
memset ( (INT8U *)&UserConfig, 0, sizeof(UserConfig) );
/* User Configuration file -> 'usrcfg.cgi' */
if (env[2] == 'f') {
/* First Name */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucFname );
break;
}
else if (env[2] == 'm') {
/* Middle Name */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucMname );
break;
}
else if (env[2] == 'l') {
/* Last Name */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucLname );
break;
}
else if (env[2] == 'd') {
/* Department */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucDept );
break;
}
else if (env[2] == 'c') {
/* Card Number in ASCII */
GetCardNo( (INT8U *)CardNo );
len = sprintf((S8 *)buf, (const S8 *)&env[4], CardNo );
break;
}
else if (env[2] == '1') {
/* First Timezone */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucTimezone1 );
break;
}
else if (env[2] == '2') {
/* Second Timezone */
len = sprintf((S8 *)buf,(const S8 *)&env[4], UserConfig.ucTimezone2 );
break;
}
else if (env[2] == 't') {
/* Card Expiry Date */
GetExpiryDate ( (INT8U *)&UserConfig.ucExpiryDate, ucaTempDate );
len = sprintf((S8 *)buf,(const S8 *)&env[4], ucaTempDate );
g_ucModifyProfile = 0;
break;
}
break;
case 'u' :
/*g_uiAllEventsCount*/
if(g_uiAllEventsCount)
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),"</td><td><H2>%s</td><td>%d</H2></td></tr>\r\n",
"DOWNLOAD ALL RECORDS BEFORE FILE UPLOAD:",g_uiAllEventsCount);
U0sendchar('a');
}
else
{
//len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),"<H3>%s</H3></br>\r\n",
"SELECT BIN FILE TO UPLOAD");
len += sprintf ((S8 *)(buf+len),"%s","<form\r\n method=\"post\" ENCTYPE=\"multipart/form-data\"name=\"udit\">");
len += sprintf ((S8 *)(buf+len),"%s","<input type=\"file\" name=\"fileField\" size=\"chars\"/><br><br>\r\n");
len += sprintf ((S8 *)(buf+len),"%s","<input type=\"Submit\" name=\"UPLOAD\" value=\"UPLOAD\"onClick=\"a();\"/><br><br>\r\n");
len += sprintf ((S8 *)(buf+len),"%s","</form>\r\n");
if(g_ucWebevent == 1)
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td><H4><font color=\"RoyalBlue\">%s</H4></font></td></tr>\r\n",
"STATUS :");
if(g_ucNoFile)
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td><H2><font color=\"Red\">%s</font></H2></td></tr>\r\n",
"No file selected!");
g_ucNoFile = 0;
}
else if(g_ucSigFail)
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td><H2><font color=\"Red\">%s</font></H2></td></tr>\r\n",
"FIRMWARE SIGNATURE ERROR");
U0sendchar('b');
g_ucSigFail = 0;
}
else if(!g_ucChksumFlag)
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td><H2><font color=\"red\">%s</font></H2></td></tr>\r\n",
"CHECKSUM MISMATCH ERROR");
U0sendchar('c');
}
else
{
len += sprintf((S8 *)(buf+len),"<tr align=\"center\">");
len += sprintf ((S8 *)(buf+len),
"<td><H2>%s</H2></td></tr>\r\n",
"FIRMWARE UPLOAD COMPLETE");
U0sendchar('d');
}
// len += sprintf ((S8 *)(buf+len),"%s","<TR><TD> <INPUT TYPE=BUTTON VALUE=\"Home\" OnClick=\"location='/index.htm'\" size=\"20\"></TD></TR>\r\n");
}
g_ucWebevent = 0;
break;
}}
return ((U16)len);
}
/*----------------------------------------------------------------------------
* end of file
*---------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -