bbsufind.c

来自「bbs server linux平台下软件源码」· C语言 代码 · 共 87 行

C
87
字号
/* * $Id: bbsufind.c,v 1.8 2002/09/10 01:13:18 kcn Exp $ */#include "bbslib.h"uinfo_t user[USHM_SIZE];int cmpuser(a, b)uinfo_t *a, *b;{    char id1[80], id2[80];    sprintf(id1, "%d%s", !isfriend(a->userid), a->userid);    sprintf(id2, "%d%s", !isfriend(b->userid), b->userid);    return strcasecmp(id1, id2);}int main(){    int i, start, total = 0, total2 = 0, fh, shmkey, shmid;    uinfo_t *x;    char search;    uinfo_t **usr;    init_all();    fill_userlist();    usr = get_ulist_addr();    printf("<center>\n");    printf("%s -- 在线用户查询 [在线总人数: %d人]<hr>\n", BBSNAME, count_online());    for (i = 0; i < USHM_SIZE; i++) {        x = usr[i];        if (x == NULL || x->active == 0)            continue;        if (x->invisible && !HAS_PERM(currentuser, PERM_SEECLOAK))            continue;        memcpy(&user[total], x, sizeof(uinfo_t));        total++;    }    search = toupper(getparm("search")[0]);    if ( /*search!='*' && */ (search < 'A' || search > 'Z'))        http_fatal("错误的参数");    if (search == '*') {        printf("所有在线使用者<br>\n");    } else {        printf("字母'%c'开头的在线使用者.<br>\n", search);    }    printf("<table border=\"1\" width=\"610\">\n");    printf("<tr><td>序号<td>友<td>使用者代号<td>使用者昵称<td>来自<td>动态<td>发呆\n");    qsort(user, total, sizeof(uinfo_t), cmpuser);    for (i = 0; i < total; i++) {        int dt = (time(0) - get_idle_time(&user[i])) / 60;        if (toupper(user[i].userid[0]) != search && search != '*')            continue;        printf("<tr><td>%d</td>", i + 1);        printf("<td>%s", isfriend(user[i].userid) ? "√" : "  ");        printf("%s</td>", user[i].invisible ? "<font color=\"green\">C</font>" : " ");        printf("<td><a href=\"bbsqry?userid=%s\">%s</a></td>", user[i].userid, user[i].userid);        printf("<td><a href=\"bbsqry?userid=%s\">%24.24s </a></td>", user[i].userid, nohtml(user[i].username));        printf("<td>%20.20s </td>", user[i].from);        printf("<td>%s</td>", user[i].invisible ? "隐身中..." : ModeType(user[i].mode));        if (dt == 0)            printf("<td> </td></tr>\n");        else            printf("<td>%d</td></tr>\n", dt);        total2++;    }    printf("</table>\n");    printf("本项在线: %d人", total2);    printf("<hr>");    /*     * if(search!='*')     * printf("[<a href=\"bbsufind?search=*\">全部</a>] ");      */    for (i = 'A'; i <= 'Z'; i++) {        if (i == search)            printf("[%c]", i);        else            printf("[<a href=\"bbsufind?search=%c\">%c</a>]", i, i);    }    printf("<br>\n");    printf("[<a href=\"javascript:history.go(-1)\">返回</a>] [<a href=\"bbsusr\">一般模式</a>] ");    printf("</center>\n");    http_quit();}

⌨️ 快捷键说明

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