⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clidb.cpp

📁 一个功能强大的内存数据库源代码,c++编写,有详细的注释
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    return true;}bool editClientForm(WWWconnection& con){    if (con.get("new")) { 	return addClientForm(con);    }    ThreadContext& the = ThreadContext::of(con);    char* client = con.get("client");    if (client == NULL) { 	return error(con, "No client was selected");    }    the.clientId = atoi(client);    if (the.clients.select(the.qClient) == 0) { 	return error(con, "No such client");    }    the.name = con.get("manager");    if (the.managers.select(the.qManager) == 0) { 	return error(con, "No such manager");    }    con << TAG << 	HTML_HEAD "<TITLE>Edit client form</TITLE></HEAD>"	BODY	"<H2>Update client</H2>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editClient\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	"<INPUT TYPE=hidden NAME=\"client\" VALUE=" << client << "\">"	"<TABLE>"	"<TR><TH ALIGN=LEFT>Organization</TH>"	"<TD><INPUT TYPE=text NAME=\"organization\" SIZE=40 VALUE=\""	<< the.clients->organization << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Phone</TH>"	"<TD><INPUT TYPE=text NAME=\"phone\" SIZE=20 VALUE=\""	<< the.clients->phone << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Phone2</TH>"	"<TD><INPUT TYPE=text NAME=\"phone2\" SIZE=20 VALUE=\""	<< the.clients->phone2 << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Fax</TH>"	"<TD><INPUT TYPE=text NAME=\"fax\" SIZE=20 VALUE=\""	<< the.clients->fax << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>E-Mail</TH>"	"<TD><INPUT TYPE=text NAME=\"email\" SIZE=30 VALUE=\""	<< the.clients->email << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>WWW address</TH>"	"<TD><INPUT TYPE=text NAME=\"www\" SIZE=30 VALUE=\""	<< the.clients->www << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Person</TH>"	"<TD><INPUT TYPE=text NAME=\"person\" SIZE=40 VALUE=\""	<< the.clients->person << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Person2</TH>"	"<TD><INPUT TYPE=text NAME=\"person2\" SIZE=40 VALUE=\""	<< the.clients->person2 << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>CEO</TH>"	"<TD><INPUT TYPE=text NAME=\"lpr\" SIZE=40 VALUE=\""	<< the.clients->lpr << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Address</TH>"	"<TD><INPUT TYPE=text NAME=\"addr\" SIZE=40 VALUE=\""	<< the.clients->addr << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Information</TH>"	"<TD><INPUT TYPE=text NAME=\"info\" SIZE=40 VALUE=\""	<< the.clients->info << "\"></TD></TR>"	"<TR><TH ALIGN=LEFT>Status</TH>"	"<TD><INPUT TYPE=text NAME=\"status\" SIZE=40 VALUE=\""	<< the.clients->status << "\"></TD></TR></TABLE><P>";    if (the.managers->flags & (Manager::isAdministrator|Manager::isMinAdmin)) {	con << TAG 	    << "<INPUT TYPE=submit NAME=\"action\" VALUE=\"Update\">&nbsp;";    }    if (the.managers->flags & Manager::isAdministrator) {	con << TAG << "<INPUT TYPE=submit NAME=\"action\" VALUE=\"Remove\">";    }    con << TAG << "</FORM><P>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editHistoryForm\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	"<INPUT TYPE=hidden NAME=\"client\" VALUE=" << client << "\">"	"<SELECT SIZE=10 NAME=\"messageId\">";    the.managerForm = false;    the.messagesArray = &the.clients->history;    if (the.messages.select(the.qMessages) != 0) { 	print(con, the.messages);	con << TAG << 	    "</SELECT><BR><INPUT TYPE=submit VALUE=\"Select\">&nbsp;";    } else { 	con << TAG << EMPTY_LIST;    }    con << TAG << 	"<INPUT TYPE=submit NAME=\"new\" VALUE=\"New message\"></FORM>";    mainMenuReference(con);    return true;}bool editSegmentForm(WWWconnection& con){    if (con.get("new")) { 	return addSegmentForm(con);    }    ThreadContext& the = ThreadContext::of(con);    the.name = con.get("name");    if (the.name == NULL) { 	return error(con, "No segment was selected");    }    if (the.segments.select(the.qSegment) == 0) { 	return error(con, "No such segment");    }    char* manager = con.get("manager");    con << TAG << 	HTML_HEAD "<TITLE>Edit segment</TITLE></HEAD>"	BODY	"<H2>Update segment</H2>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editSegment\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << manager << "\">"	"<INPUT TYPE=hidden NAME=\"oldName\" VALUE=\"" << the.name << "\">"	"<TABLE><TR><TH ALIGN=LEFT>Segment name </TH>"	"<TD><INPUT TYPE=text NAME=\"name\" SIZE=30 VALUE=\""	<< the.segments->name << "\"></TD></TR>"	"</TD></TR></TABLE><P>"	"<INPUT TYPE=submit NAME=\"action\" VALUE=\"Update\">&nbsp;"	"<INPUT TYPE=submit NAME=\"action\" VALUE=\"Remove\"></FORM><P>"	"<H2>Select manager</H2>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editManagerForm\">"	"<INPUT TYPE=hidden NAME=\"segment\" VALUE=\"" << the.name << "\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << manager << "\">"	"<SELECT NAME=\"name\" SIZE=10>";    the.managersArray = &the.segments->managers;    if (the.managers.select(the.qManagers) != 0) { 	print(con, the.managers);	con << TAG << 	    "</SELECT><BR><INPUT TYPE=submit VALUE=\"Select\">&nbsp;";    } else { 	con << TAG << EMPTY_LIST;    }    con << TAG << "<INPUT TYPE=submit NAME=\"new\" VALUE=\"New\"></FORM><P>"	"<H2>Select client</H2>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editClientForm\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << manager << "\">"	"<INPUT TYPE=hidden NAME=\"segment\" VALUE=\"" << the.name << "\">"	"<SELECT NAME=\"client\" SIZE=10>";    the.clientsArray = &the.segments->clients;    if (the.clients.select(the.qClients) != 0) { 	print(con, the.clients);	con << TAG << 	    "</SELECT><BR><INPUT TYPE=submit VALUE=\"Select\">&nbsp;";    } else { 	con << TAG << EMPTY_LIST;    }    con << TAG << "<INPUT TYPE=submit NAME=\"new\" VALUE=\"New\"></FORM>";    mainMenuReference(con);    return true;}bool editHistoryForm(WWWconnection& con){    if (con.get("new")) { 	return addHistoryForm(con);    }    ThreadContext& the = ThreadContext::of(con);    char buf[64];    char* messageId = con.get("messageId");    if (messageId == NULL) { 	return error(con, "No message was selected");    }    the.messageId = atoi(messageId);    if (the.messages.select(the.qMessage) == 0) { 	return error(con, "No such message");    }    the.name = con.get("manager");    the.clients.at(the.messages->client);     if (the.messages->manager != null) { 	the.managers.at(the.messages->manager);    }    con << TAG << 	HTML_HEAD "<TITLE>Edit message</TITLE></HEAD>"	BODY	"<H2>Edit message</H2>"	"<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	"<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\"" << con.getAddress() << 	"\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editHistory\">"	"<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	"<INPUT TYPE=hidden NAME=\"messageId\" VALUE=" << messageId << "\">"	"<TABLE><TR><TH ALIGN=LEFT>Client</TH>"	"<TD><A HREF=\"" << con.getStub() << "?socket=" << con.getAddress()	<< "&page=editClientForm&manager=" << URL << the.name	<< "&client=" << the.clients->clientId << "\">" 	<< the.clients->organization << "</A></TD></TR>";    if (the.messages->manager != null) { 	con << TAG << 	    "<TR><TH ALIGN=LEFT>Manager</TH><TD><A HREF=\""	    << con.getStub() << "?socket=" << con.getAddress()	    << "&page=editManagerForm&manager=" << URL << the.name	    << "&name=" << URL << the.managers->name << "\">" 	    << the.managers->name << "</A></TD></TR>";    }    con << TAG << 	"<TR><TH ALIGN=LEFT>Date</TH>"	"<TD><INPUT TYPE=text SIZE=30 VALUE=\"" 	<< the.messages->date.asString(buf, sizeof buf) << "\"></TD></TR>"	"</TABLE><P>"	"<TEXTAREA NAME=\"message\" ROWS=10 COLS=60>" 	<< the.messages->message << "</TEXTAREA><P>";    if (the.managers.select(the.qManager) == 0) { 	return error(con, "No such manager");    }    if ((the.managers->flags & (Manager::isAdministrator|Manager::isMinAdmin)) 	|| the.managers.currentId() == the.messages->manager)     {	con << TAG 	    << "<INPUT TYPE=submit NAME=\"action\" VALUE=\"Update\">&nbsp;"	       "<INPUT TYPE=submit NAME=\"action\" VALUE=\"Remove\">";    }    con << TAG << "</FORM>";    mainMenuReference(con);    return true;}bool managerForm(WWWconnection& con){    ThreadContext& the = ThreadContext::of(con);    the.name = con.get("manager");    if (the.managers.select(the.qManager) == 0) { 	return error(con, "No such manager");    }    if (the.managers->flags & Manager::isAdministrator) { 	con << TAG << 	    HTML_HEAD "<TITLE>Administrator menu</TITLE></HEAD>"	    BODY	    "<H2>Administrator menu</H2>"	    "<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	    "<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\""<< con.getAddress() <<	    "\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editManager\">"	    "<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	    "<INPUT TYPE=hidden NAME=\"oldName\" VALUE=\"" << the.name << "\">"	    "<TABLE><TR><TH ALIGN=LEFT>Manager name</TH>"	    "<TD><INPUT TYPE=text NAME=\"name\" SIZE=30 VALUE=\"" 	    << the.managers->name << "\"></TD></TR>"	    "<TR><TH ALIGN=LEFT>Manager host IP address</TH>"	    "<TD><INPUT TYPE=text NAME=\"ipaddr\" SIZE=16 VALUE=\""	    << the.managers->IPaddr << "\"</TD></TR></TABLE>"	    "<INPUT TYPE=submit NAME=\"action\" VALUE=\"Change\"></FORM><P>"	    "<H2>Select segment</H2>"	    "<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	    "<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\""<< con.getAddress() <<	    "\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editSegmentForm\">"	    "<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	    "<SELECT SIZE=15 NAME=\"name\">";	if (the.segments.select() != 0) { 	    print(con, the.segments);	    con << TAG << 		"</SELECT><BR><INPUT TYPE=submit VALUE=\"Select\">&nbsp;";	} else { 	    con << TAG << EMPTY_LIST;	}	con << TAG << 	    "<INPUT TYPE=submit NAME=\"new\" VALUE=\"New segment\"></FORM>"	    "<P><HR>"	    "<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	    "<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\""<< con.getAddress() <<	    "\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"shutdown\">"	    "<CENTER><INPUT TYPE=submit VALUE=\"Shutdown server\"></CENTER>"	    "</FORM>";    } else { 	con << TAG << 	    HTML_HEAD "<TITLE>Manager menu</TITLE></HEAD>"	    BODY	    "<H2>Manager menu</H2>"	    "<FORM METHOD=POST ACTION=\"" << con.getStub() << "\">"	    "<INPUT TYPE=HIDDEN NAME=\"socket\" VALUE=\""<< con.getAddress() <<	    "\"><INPUT TYPE=hidden NAME=\"page\" VALUE=\"editManager\">"	    "<INPUT TYPE=hidden NAME=\"manager\" VALUE=\"" << the.name << "\">"	    "<INPUT TYPE=hidden NAME=\"oldName\" VALUE=\"" << the.name << "\">";	if (the.managers->flags & Manager::isMinAdmin) { 		    con << TAG <<"<INPUT TYPE=hidden NAME=\"miniadmin\" VALUE=\"on\">";	}	the.segments.at(the.managers->segment);	con << TAG << 	    "<TABLE><TR><TH ALIGN=LEFT>Manager name</TH>"	    "<TD><INPUT TYPE=text NAME=\"name\" SIZE=30 VALUE=\"" 	    << the.managers->name << "\"></TD></TR>"	    "<TR><TH ALIGN=LEFT>Manager host IP address</TH>"	    "<TD><INPUT TYPE=text NAME=\"ipaddr\" SIZE=16 VALUE=\""	    << the.managers->IPaddr << "\"</TD></TR></TABLE>"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -