示例#1
0
void informBM(char *userid, boardheader_t *bptr, int nEXP)
{
    int     uid, i;
    char    filename[256], buf[64];
    fileheader_t mymail;
    FILE    *fp;
    if( !(uid = searchuser(userid, userid)) )
	return;
    sprintf(filename, BBSHOME "/home/%c/%s", userid[0], userid);
    stampfile(filename, &mymail);
    if( (fp = fopen(filename, "w")) == NULL )
	return;

    printf("brdname: %s, BM: %s\n", bptr->brdname, userid);
    fprintf(fp,
	    "作者: 系統通知.\n"
	    "標題: 警告: 貴板板友即將過期/已經過期\n"
	    "時間: %s\n"
	    " %s 的板主您好: \n"
	    "    下列貴板板友即將過期或已經過期:\n"
	    "------------------------------------------------------------\n",
	    CTIMEx(buf, now), bptr->brdname);
    for( i = 0 ; i < nEXP ; ++i )
	if( explist[i].expire == -1 )
	    fprintf(fp, "%-15s  已經過期\n", explist[i].userid);
	else
	    fprintf(fp, "%-15s  即將在 %s 過期\n",
		    explist[i].userid, CTIMEx(buf, explist[i].expire));
    fprintf(fp,
	    "------------------------------------------------------------\n"
	    "說明:\n"
	    "    為了節省系統資源, 系統將自動清除掉超過四個月未上站\n"
	    "的使用者. 此時若有某位您不認識的使用者恰好註冊了該帳號,\n"
	    "將會視為貴板板友而放行進入.\n"
	    "    建議您暫時將這些使用者自貴板的板友名單中移除.\n"
	    "\n"
	    "    這封信件是由程式自動發出, 請不要直接回覆這封信. 若\n"
	    "您有相關問題請麻煩至看板 SYSOP, 或是直接與看板總管聯繫. :)\n"
	    "\n"
	    BBSNAME "站長群敬上"
	    );
    fclose(fp);

    strcpy(mymail.title, "警告: 貴板板友即將過期/已經過期");
    strcpy(mymail.owner, "系統通知.");
    sprintf(filename, BBSHOME "/home/%c/%s/.DIR", userid[0], userid);
    mailalertuid(uid);
    append_record(filename, &mymail, sizeof(mymail));
}
示例#2
0
文件: shmctl.c 项目: ptt/pttbbs
int utmpstatus(int argc, char **argv)
{
    time_t  now;
    char    upbuf[64], nowbuf[64];
    (void)argc;
    (void)argv;
    now = time(NULL);
    CTIMEx(upbuf,  SHM->UTMPuptime);
    CTIMEx(nowbuf, now);
    printf("now:        %s\n", nowbuf);
    printf("currsorted: %d\n", SHM->currsorted);
    printf("uptime:     %s\n", upbuf);
    printf("number:     %d\n", SHM->UTMPnumber);
    printf("busystate:  %d\n", SHM->UTMPbusystate);
    return 0;
}