static void getoptlogs() { char str[16] = {0}; int len = 0; cchar *role = getSessionVar("role"); if(role == NULL){ rendersts(str, 9); render(str); return; } if((strcmp(role, "root") !=0) && (strcmp(role, "admin") !=0)){ rendersts(str, 5);//无权限 render(str); return; } //find optlog Edi *db = ediOpen("db/muxnms.mdb", "mdb", EDI_AUTO_SAVE); // //删除7天前的日志 time_t curTime; time(&curTime); //EdiGrid *oldlogs = ediReadWhere(db, "optlog", "logtime", "<", curTime - 7*24*3600); EdiGrid *oldlogs = ediReadTable(db, "optlog"); //printf("========logs========>>>%s\n", ediGridAsJson(oldlogs, MPR_JSON_PRETTY)); for(len=0; len < oldlogs->nrecords; len++){ EdiRec *log = oldlogs->records[len]; if(atoi(mprGetJson(mprParseJson(ediRecAsJson(log, MPR_JSON_PRETTY)), "logtime")) < (curTime - 7*24*3600)){ ediRemoveRec(db, "optlog", log->id); } } EdiGrid *logs = ediReadTable(db, "optlog"); render(ediGridAsJson(logs, MPR_JSON_PRETTY)); }
PUBLIC ssize espSendGrid(HttpConn *conn, EdiGrid *grid, int flags) { httpSetContentType(conn, "application/json"); if (grid) { return espRender(conn, "{\n \"data\": %s, \"schema\": %s}\n", ediGridAsJson(grid, flags), ediGetGridSchemaAsJson(grid)); } return espRender(conn, "{}"); }
PUBLIC ssize espRenderGrid(HttpConn *conn, EdiGrid *grid, int flags) { httpAddHeaderString(conn, "Content-Type", "application/json"); return espRender(conn, "{\n \"schema\": %s,\n \"data\": %s}\n", ediGetGridSchemaAsJson(grid), ediGridAsJson(grid, flags)); }