📄 servhtml.cpp
字号:
html.end(); html.end();}// -----------------------------------void Servent::addStatistics(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); int row; row = 0; html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"4\"","<b>Bandwidth</b>"); html.end(); html.startTableRow(row++); html.startTagEnd("td"," "); html.startTagEnd("td","<b>In</b>"); html.startTagEnd("td","<b>Out</b>"); html.startTagEnd("td","<b>Total</b>"); html.end(); html.startTableRow(row++); html.startTagEnd("td","Total (Kbit/s)"); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESIN))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESOUT))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESIN) + stats.getPerSecond(Stats::BYTESOUT))); html.end(); html.startTableRow(row++); html.startTagEnd("td","Internet (Kbit/s)"); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESIN)-stats.getPerSecond(Stats::LOCALBYTESIN))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESOUT)-stats.getPerSecond(Stats::LOCALBYTESOUT))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::BYTESIN)-stats.getPerSecond(Stats::LOCALBYTESIN) + stats.getPerSecond(Stats::BYTESOUT)-stats.getPerSecond(Stats::LOCALBYTESOUT))); html.end(); html.startTableRow(row++); html.startTagEnd("td","Network (Kbit/s)"); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::PACKETDATAIN))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::PACKETDATAOUT))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(stats.getPerSecond(Stats::PACKETDATAIN)+stats.getPerSecond(Stats::PACKETDATAOUT))); html.end(); html.startTableRow(row++); html.startTagEnd("td","Channels (Kbit/s)"); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(chanMgr->totalInput())); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(servMgr->totalOutput(true))); html.startTagEnd("td","%.1f",BYTES_TO_KBPS(chanMgr->totalInput()+servMgr->totalOutput(true))); html.end(); html.startTableRow(row++); html.startTagEnd("td","Packets/sec"); html.startTagEnd("td","%d",stats.getPerSecond(Stats::NUMPACKETSIN)); html.startTagEnd("td","%d",stats.getPerSecond(Stats::NUMPACKETSOUT)); html.startTagEnd("td","%d",stats.getPerSecond(Stats::NUMPACKETSIN)+stats.getPerSecond(Stats::NUMPACKETSOUT)); html.end(); html.end();}// -----------------------------------void Servent::addServerOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Server</b>"); html.end(); int row=0;#if 0 // is active html.startTableRow(row++); html.startTagEnd("td","Active"); html.startTag("td"); html.startSingleTagEnd("input type=\"radio\" name=\"serveractive\" value=\"1\" %s",servMgr->server?"checked=\"1\"":""); html.startTagEnd("b","On"); html.startSingleTagEnd("input type=\"radio\" name=\"serveractive\" value=\"0\" %s",!servMgr->server?"checked=\"1\"":""); html.startTagEnd("b","Off"); html.end(); html.end(); // port html.startTableRow(row++); html.startTagEnd("td","Port"); html.startTag("td"); html.startSingleTagEnd("input name=\"port\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->serverHost.port); html.end(); html.end(); // fixed ip html.startTableRow(row++); html.startTagEnd("td","Fixed IP"); html.startTag("td"); html.startSingleTagEnd("input name=\"forceip\" type=\"text\" value=\"%s\"",servMgr->forceIP); html.end(); html.end();#endif // password html.startTableRow(row++); html.startTagEnd("td width=\"50%%\" ","Password"); html.startTag("td"); html.startSingleTagEnd("input name=\"passnew\" size=\"10\" type=\"password\" value=\"%s\"",servMgr->password); html.end(); html.end(); // DJ message html.startTableRow(row++); html.startTagEnd("td","DJ Message"); html.startTag("td"); { String djMsg = chanMgr->broadcastMsg; djMsg.convertTo(String::T_HTML); html.startSingleTagEnd("input name=\"djmsg\" type=\"text\" value=\"%s\"",djMsg.cstr()); } html.end(); html.end(); // firewall html.startTableRow(row++); html.startTagEnd("td","Type"); { switch (servMgr->getFirewall()) { case ServMgr::FW_ON: html.startTagEnd("td","Firewalled"); break; case ServMgr::FW_OFF: html.startTagEnd("td","Normal"); break; default: html.startTagEnd("td","Unknown"); break; } //}else{ // html.startTagEnd("td","Inactive"); } html.end(); // icy meta interval html.startTableRow(row++); html.startTagEnd("td","ICY MetaInterval"); html.startTag("td"); html.startSingleTagEnd("input name=\"icymeta\" size=\"5\" type=\"text\" value=\"%d\"",chanMgr->icyMetaInterval); html.end(); html.end(); // mode html.startTableRow(row++); html.startTagEnd("td","Mode"); html.startTag("td"); html.startSingleTagEnd("input type=\"radio\" name=\"root\" value=\"0\" %s",!servMgr->isRoot?"checked=\"1\"":"","Normal"); html.startTagEnd("i","Normal<br>"); html.startSingleTagEnd("input type=\"radio\" name=\"root\" value=\"1\" %s",servMgr->isRoot?"checked=\"1\"":""); html.startTagEnd("i","Root"); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addClientOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Client</b>"); html.end(); int row=0; // is active html.startTableRow(row++); html.startTagEnd("td width=\"50%%\" ","Auto Connect"); html.startTag("td"); html.startSingleTagEnd("input type=\"radio\" name=\"clientactive\" value=\"1\" %s",servMgr->autoConnect?"checked=\"1\"":""); html.startTagEnd("i","On"); html.startSingleTagEnd("input type=\"radio\" name=\"clientactive\" value=\"0\" %s",!servMgr->autoConnect?"checked=\"1\"":""); html.startTagEnd("i","Off"); html.end(); html.end(); // lookup host html.startTableRow(row++); html.startTagEnd("td","Lookup Host"); html.startTag("td"); html.startSingleTagEnd("input name=\"lookup\" type=\"text\" value=\"%s\"",servMgr->connectHost); html.end(); html.end(); // dead hit age html.startTableRow(row++); html.startTagEnd("td","Dead Hit Age (sec)"); html.startTag("td"); html.startSingleTagEnd("input name=\"deadhitage\" size=\"5\" type=\"text\" value=\"%d\"",chanMgr->deadHitAge); html.end(); html.end(); // refresh HTML html.startTableRow(row++); html.startTagEnd("td","Refresh HTML (sec)"); html.startTag("td"); html.startSingleTagEnd("input name=\"refresh\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->refreshHTML); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addConnectOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Network</b>"); html.end(); int row=0; // max outgoing html.startTableRow(row++); html.startTagEnd("td","Max. Outgoing"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxout\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->maxOutgoing); html.end(); html.end(); // max incoming html.startTableRow(row++); html.startTagEnd("td","Max. Incoming"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxin\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->maxIncoming); html.end(); html.end(); // max tryout html.startTableRow(row++); html.startTagEnd("td","Max. Tryout"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxtry\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->maxTryout); html.end(); html.end(); // min connected html.startTableRow(row++); html.startTagEnd("td","Min. Connected"); html.startTag("td"); html.startSingleTagEnd("input name=\"minconn\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->minConnected); html.end(); html.end(); // max servent bandwidth html.startTableRow(row++); html.startTagEnd("td","Max. Bandwidth/Conn. (bits/s)"); html.startTag("td"); html.startSingleTagEnd("input name=\"servbw\" size=\"8\" type=\"text\" value=\"%d\"",servMgr->serventBandwidth); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addRelayOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Relay</b>"); html.end(); int row=0; // max streams html.startTableRow(row++); html.startTagEnd("td width=\"50%%\" ","Max. Total Streams"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxstream\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->maxStreams); html.end(); html.end(); // max streams/channel html.startTableRow(row++); html.startTagEnd("td width=\"50%%\" ","Max. Streams Per Channel"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxlisten\" size=\"5\" type=\"text\" value=\"%d\"",chanMgr->maxStreamsPerChannel); html.end(); html.end(); // max bitrate out html.startTableRow(row++); html.startTagEnd("td","Max. Output (Kbits/s)"); html.startTag("td"); html.startSingleTagEnd("input name=\"maxup\" size=\"5\" type=\"text\" value=\"%d\"",servMgr->maxBitrate); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addFilterOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"4\" ","<b>Filters</b>"); html.end(); int row=0; // ip html.startTableRow(row++); html.startTagEnd("td","<b>IP Mask</b>"); html.startTagEnd("td","<b>Allow</b>"); html.startTagEnd("td","<b>Private</b>"); html.startTagEnd("td","<b>Ban</b>"); html.end(); // filters for(int i=0; i<servMgr->numFilters+1; i++) { ServFilter *f = &servMgr->filters[i]; int fl = f->flags; char ipstr[64]; f->host.IPtoStr(ipstr); if (i == servMgr->numFilters) ipstr[0] = 0; html.startTableRow(row++); html.startTag("td"); html.startSingleTagEnd("input name=\"filt_ip%d\" type=\"text\" value=\"%s\"",i,ipstr); html.end(); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"filt_al%d\" value=\"1\" %s",i,fl & ServFilter::F_ALLOW?"checked=\"1\"":""); html.end(); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"filt_pr%d\" value=\"1\" %s",i,fl & ServFilter::F_PRIVATE?"checked=\"1\"":""); html.end(); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"filt_bn%d\" value=\"1\" %s",i,fl & ServFilter::F_BAN?"checked=\"1\"":""); html.end(); html.end(); } html.end();}// -----------------------------------void Servent::addLogOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Log</b>"); html.end(); int row=0; // Debug html.startTableRow(row++); html.startTagEnd("td width=\"50%%\" ","Debug"); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"logDebug\" value=\"1\" %s",servMgr->showLog&(1<<LogBuffer::T_DEBUG)?"checked=\"1\"":""); html.end(); html.end(); // Errors html.startTableRow(row++); html.startTagEnd("td","Errors"); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"logErrors\" value=\"1\" %s",servMgr->showLog&(1<<LogBuffer::T_ERROR)?"checked=\"1\"":""); html.end(); html.end(); // Network html.startTableRow(row++); html.startTagEnd("td","Network"); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"logNetwork\" value=\"1\" %s",servMgr->showLog&(1<<LogBuffer::T_NETWORK)?"checked=\"1\"":""); html.end(); html.end(); // channels html.startTableRow(row++); html.startTagEnd("td","Channels"); html.startTag("td"); html.startSingleTagEnd("input type=\"checkbox\" name=\"logChannel\" value=\"1\" %s",servMgr->showLog&(1<<LogBuffer::T_CHANNEL)?"checked=\"1\"":""); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addRootOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Root Mode</b>"); html.end(); int row=0; // Message html.startTableRow(row++); html.startTagEnd("td","Message"); html.startTag("td"); String pcMsg = servMgr->rootMsg; pcMsg.convertTo(String::T_HTML); html.startSingleTagEnd("input name=\"pcmsg\" size=\"50\" type=\"text\" value=\"%s\"",pcMsg.cstr()); html.end(); html.end(); html.end();}// -----------------------------------void Servent::addAuthOptions(HTML &html){ html.startTag("table width=\"100%%\" border=\"0\" align=\"center\""); html.startTag("tr bgcolor=\"#cccccc\" align=\"center\""); html.startTagEnd("td colspan=\"2\" ","<b>Authentication</b>"); html.end(); int row=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -