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

📄 clidb.cpp

📁 fastdb-2.92的源码
💻 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 + -