Exemplo n.º 1
0
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));
}
Exemplo n.º 2
0
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, "{}");
}
Exemplo n.º 3
0
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));
}