void WSVFlexTable::SetNullTipInfo(string strInfo) { if(pNullTipTable) { pNullTipTable->elementAt(0 , 0)->setContentAlignment(AlignTop | AlignCenter); WText * textInfo = new WText(strInfo, (WContainerWidget *)pNullTipTable->elementAt(0, 0)); textInfo->decorationStyle().setForegroundColor(Wt::red); } }
void IndexView::render() { clear(); WTable *queryTable = new WTable(this); WLabel *label; int row = 0; // Title queryTable->elementAt(row, 0)->setColumnSpan(3); queryTable->elementAt(row, 0)->setContentAlignment(AlignTop | AlignCenter); queryTable->elementAt(row, 0)->setPadding(10); WText *title = new WText(("Leaked Password Query Kit"), queryTable->elementAt(row, 0)); title->decorationStyle().font().setSize(WFont::XLarge); // error messages ++row; queryTable->elementAt(row, 0)->setColumnSpan(3); feedbackMessages_ = queryTable->elementAt(row, 0); feedbackMessages_->setPadding(5); WCssDecorationStyle& errorStyle = feedbackMessages_->decorationStyle(); errorStyle.setForegroundColor(Wt::red); errorStyle.font().setSize(WFont::Smaller); errorStyle.font().setWeight(WFont::Bold); errorStyle.font().setStyle(WFont::Italic); // User ++row; keywordEdit_ = new WLineEdit(queryTable->elementAt(row, 2)); label = new WLabel("Keyword:", queryTable->elementAt(row, 0)); label->setBuddy(keywordEdit_); keywordEdit_->setValidator(new WValidator(true)); keywordEdit_->enterPressed().connect(this, &IndexView::query); // Search Area ++row; areaOption_ = new WSelectionBox(queryTable->elementAt(row, 2)); areaOption_->addItem("Username"); areaOption_->addItem("Password"); areaOption_->setCurrentIndex(0); label = new WLabel("Keyword Type:", queryTable->elementAt(row,0)); label->setBuddy(areaOption_); // DB to Search ++row; dbOption_ = new WSelectionBox(queryTable->elementAt(row, 2)); dbOption_->addItem("CSDN (6M)"); dbOption_->addItem("RenRen (5M)"); dbOption_->addItem("178 (10M)"); dbOption_->addItem("7k7k (20M)"); dbOption_->addItem("duduniu (10M)"); dbOption_->addItem("duowan (10M)"); dbOption_->addItem("MOP (10M)"); dbOption_->addItem("Tianya (40M)"); dbOption_->setCurrentIndex(0); label = new WLabel("Database:", queryTable->elementAt(row,0)); label->setBuddy(dbOption_); // Search Method ++row; methodOption_ = new WSelectionBox(queryTable->elementAt(row, 2)); methodOption_->addItem("Header Match"); methodOption_->addItem("Full-Text (1 Quota Per Minute Per IP)"); methodOption_->setCurrentIndex(0); label = new WLabel("Search Method:", queryTable->elementAt(row,0)); label->setBuddy(methodOption_); // Query ++row; WPushButton *query = new WPushButton("Query", queryTable->elementAt(row, 0)); query->clicked().connect(this, &IndexView::query); query->setMargin(15, Top); queryTable->elementAt(row, 0)->setColumnSpan(3); queryTable->elementAt(row, 0)->setContentAlignment(AlignTop | AlignCenter); // Set column widths for label and validation icon queryTable->elementAt(2, 0)->resize(WLength(30, WLength::FontEx), WLength::Auto); queryTable->elementAt(2, 1)->resize(20, WLength::Auto); // Result result_ = new WTable(this); result_->clear(); }
CShowLog::CShowLog(WContainerWidget *parent): WContainerWidget(parent) { refreshCount=0; string strTemp1,strTemp2; OBJECT objRes=LoadResource("default", "localhost"); if( objRes !=INVALID_VALUE ) { MAPNODE ResNode=GetResourceNode(objRes); if( ResNode != INVALID_VALUE ) { FindNodeValue(ResNode,"IDS_LogShow",strMainTitle); FindNodeValue(ResNode,"IDS_ReadLogError",strTemp1); FindNodeValue(ResNode,"IDS_MonitorLogContext",strTemp2); } CloseResource(objRes); } char buf_tmp[4096]={0}; int nSize =4095; GetEnvironmentVariable( "QUERY_STRING", buf_tmp,nSize); //char * tmpquery; //tmpquery = getenv( "QUERY_STRING"); //if(tmpquery) // strcpy(buf_tmp,tmpquery); if(buf_tmp != NULL) { std::string buf1 = buf_tmp; int pos = buf1.find("=", 0); querystr = buf1.substr(pos+1, buf1.size() - pos - 1); } strPath = ""; strPath += GetSiteViewRootPath(); strPath += "\\data\\Temp\\"; strPath += querystr; strPath += ".txt"; string strTemp; string strOutput; try { ifstream Input(strPath.c_str(), ios::out); //获取日志行数 nTotleLine = 0; nCurLine = 0; nPageLine = 100; if(Input.is_open()) { while(!Input.eof()) { nTotleLine++; getline(Input, strTemp , '\n'); //puts(strTemp.c_str()); } Input.close(); } //获取日志最新100行数数据 nStartLine = nTotleLine - nPageLine; //Input.open(strPath.c_str(), ios::out, 0); ifstream Input1(strPath.c_str(), ios::out); if(Input1.is_open()) { while(!Input1.eof()) { if(nTotleLine <= nPageLine) { getline(Input1, strTemp , '\n'); strOutput += strTemp; strOutput += "\n"; } else { if(nCurLine >= nStartLine) { getline(Input1, strTemp , '\n'); strOutput += strTemp; strOutput += "\n"; } else getline(Input1, strTemp , '\n'); nCurLine++; } } Input1.close(); } } catch(...) { strOutput = strTemp1; } WTable * pContainTable = new WTable(this); //日志标题 string strLogTitle = GetDeviceTitle(querystr); strLogTitle += ":"; strLogTitle += GetMonitorPropValue(querystr, "sv_name"); strLogTitle += strTemp2; pContainTable ->setStyleClass("t5"); //pContainTable->setStyleClass("StatsTable"); WText * pReportTitle = new WText(strLogTitle, (WContainerWidget*)pContainTable->elementAt(0, 0)); pContainTable->elementAt(0, 0)->setContentAlignment(AlignTop | AlignCenter); WFont font1; font1.setSize(WFont::Large, WLength(60, WLength::Pixel)); pReportTitle ->decorationStyle().setFont(font1); //日志内容 WTextArea * pStateTextArea = new WTextArea(strOutput, (WContainerWidget*)pContainTable->elementAt(1, 0)); //pContainTable->elementAt(1, 0)->setStyleClass("t5"); pContainTable->elementAt(1, 0)->resize(WLength(100,WLength::Percentage), WLength(100,WLength::Percentage)); pStateTextArea->setRows(nPageLine); pStateTextArea->setColumns(60); pStateTextArea ->setStyleClass("testingresult2"); //pStateTextArea->resize(WLength(100,WLength::Percentage), WLength(100,WLength::Percentage)); pStateTextArea->resize(WLength(100,WLength::Percentage), WLength(100,WLength::Percentage)); strcpy(pStateTextArea->contextmenu_ , "readonly=\"readonly\""); //strPageTitle = ""; //new WText("日志内容:", pMainTable->elementAt(4, 0)); //new WText(strOutput, pMainTable->elementAt(2,0)); //版权信息 WText * bottomTitle = new WText("Copyright SiteView", pContainTable->elementAt(2, 0)); bottomTitle ->decorationStyle().setFont(font1); pContainTable->elementAt(2, 0)->setContentAlignment(AlignTop | AlignCenter); bottomTitle->decorationStyle().setForegroundColor(Wt::blue); }