summaryrefslogtreecommitdiffstats
path: root/mbbsd/admin.c
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-07-06 01:10:28 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-07-06 01:10:28 +0800
commit1603deaec5d0a94c9a8201b0ba286e8e492a3602 (patch)
treee6405cfd39f8ac166ab7d00752ed6cfa3ac0a928 /mbbsd/admin.c
parent10bda3e57cad194ac33ccdcd01aee2d935f1544a (diff)
downloadpttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar.gz
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar.bz2
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar.lz
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar.xz
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.tar.zst
pttbbs-1603deaec5d0a94c9a8201b0ba286e8e492a3602.zip
indent
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@415 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/admin.c')
-rw-r--r--mbbsd/admin.c782
1 files changed, 401 insertions, 381 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c
index f31ee516..ffe594dc 100644
--- a/mbbsd/admin.c
+++ b/mbbsd/admin.c
@@ -1,17 +1,19 @@
-/* $Id: admin.c,v 1.24 2002/06/23 01:56:13 ptt Exp $ */
+/* $Id: admin.c,v 1.25 2002/07/05 17:10:26 in2 Exp $ */
#include "bbs.h"
/* 使用者管理 */
-int m_user() {
- userec_t muser;
- int id;
- char genbuf[200];
-
+int
+m_user()
+{
+ userec_t muser;
+ int id;
+ char genbuf[200];
+
stand_title("使用者設定");
usercomplete(msg_uid, genbuf);
- if(*genbuf) {
+ if (*genbuf) {
move(2, 0);
- if((id = getuser(genbuf))) {
+ if ((id = getuser(genbuf))) {
memcpy(&muser, &xuser, sizeof(muser));
user_display(&muser, 1);
uinfo_query(&muser, 1, id);
@@ -24,49 +26,51 @@ int m_user() {
return 0;
}
-static int search_key_user(char *passwdfile, int mode) {
- userec_t user;
- int ch;
- int coun = 0;
- FILE *fp1 = fopen(passwdfile, "r");
- char buf[128], key[22], genbuf[8];
-
+static int
+search_key_user(char *passwdfile, int mode)
+{
+ userec_t user;
+ int ch;
+ int coun = 0;
+ FILE *fp1 = fopen(passwdfile, "r");
+ char buf[128], key[22], genbuf[8];
+
clear();
getdata(0, 0, mode ? "請輸入使用者關鍵字[電話|地址|姓名|上站地點|"
"email|小雞id] :" : "請輸入id :", key, sizeof(key), DOECHO);
- while((fread(&user, sizeof(user), 1, fp1)) > 0 && coun < MAX_USERS) {
- if(!(++coun & 15)) {
+ while ((fread(&user, sizeof(user), 1, fp1)) > 0 && coun < MAX_USERS) {
+ if (!(++coun & 15)) {
move(1, 0);
sprintf(buf, "第 [%d] 筆資料\n", coun);
outs(buf);
refresh();
}
- if(!strcasecmp(user.userid, key) ||
- (mode && (
- strstr(user.realname, key) || strstr(user.username, key) ||
- strstr(user.lasthost, key) || strstr(user.email, key) ||
- strstr(user.address, key) || strstr(user.justify, key) ||
- strstr(user.mychicken.name, key)))) {
+ if (!strcasecmp(user.userid, key) ||
+ (mode && (
+ strstr(user.realname, key) || strstr(user.username, key) ||
+ strstr(user.lasthost, key) || strstr(user.email, key) ||
+ strstr(user.address, key) || strstr(user.justify, key) ||
+ strstr(user.mychicken.name, key)))) {
move(1, 0);
sprintf(buf, "第 [%d] 筆資料\n", coun);
outs(buf);
refresh();
-
+
user_display(&user, 1);
uinfo_query(&user, 1, coun);
outs("\033[44m 空白鍵\033[37m:搜尋下一個"
" \033[33m Q\033[37m: 離開");
outs(mode ? " \033[m " :
" S: 取用備份資料 \033[m ");
- while(1) {
- while((ch = igetch()) == 0);
- if(ch == ' ')
- break;
- if(ch == 'q' || ch == 'Q')
+ while (1) {
+ while ((ch = igetch()) == 0);
+ if (ch == ' ')
+ break;
+ if (ch == 'q' || ch == 'Q')
return 0;
- if(ch == 's' && !mode) {
- if((ch = searchuser(user.userid))) {
- setumoney(ch,user.money);
+ if (ch == 's' && !mode) {
+ if ((ch = searchuser(user.userid))) {
+ setumoney(ch, user.money);
passwd_update(ch, &user);
return 0;
} else {
@@ -75,23 +79,22 @@ static int search_key_user(char *passwdfile, int mode) {
getdata(0, 0,
"目前的 PASSWD 檔沒有此 ID,新增嗎?[y/N]",
genbuf, 3, LCECHO);
- if(genbuf[0] == 'n') {
+ if (genbuf[0] == 'n') {
outs("目前的PASSWDS檔沒有此id "
"請先new一個這個id的帳號");
} else {
- int allocid = getnewuserid();
-
- if(allocid > MAX_USERS || allocid <= 0) {
+ int allocid = getnewuserid();
+
+ if (allocid > MAX_USERS || allocid <= 0) {
fprintf(stderr, "本站人口已達飽和!\n");
exit(1);
}
-
- if(passwd_update(allocid, &user) == -1) {
+ if (passwd_update(allocid, &user) == -1) {
fprintf(stderr, "客滿了,再見!\n");
exit(1);
}
setuserid(allocid, user.userid);
- if(!searchuser(user.userid)) {
+ if (!searchuser(user.userid)) {
fprintf(stderr, "無法建立帳號\n");
exit(1);
}
@@ -102,26 +105,30 @@ static int search_key_user(char *passwdfile, int mode) {
}
}
}
-
+
fclose(fp1);
return 0;
}
/* 以任意 key 尋找使用者 */
-int search_user_bypwd() {
+int
+search_user_bypwd()
+{
search_key_user(FN_PASSWD, 1);
return 0;
}
/* 尋找備份的使用者資料 */
-int search_user_bybakpwd() {
- char *choice[] = {
+int
+search_user_bybakpwd()
+{
+ char *choice[] = {
"PASSWDS.NEW1", "PASSWDS.NEW2", "PASSWDS.NEW3",
"PASSWDS.NEW4", "PASSWDS.NEW5", "PASSWDS.NEW6",
"PASSWDS.BAK"
};
- int ch;
-
+ int ch;
+
clear();
move(1, 1);
outs("請輸入你要用來尋找備份的檔案 或按 'q' 離開\n");
@@ -134,7 +141,7 @@ int search_user_bybakpwd() {
move(5, 1);
outs("選擇 => ");
ch = igetch();
- if(ch == 'q' || ch == 'Q')
+ if (ch == 'q' || ch == 'Q')
return 0;
} while (ch < '1' || ch > '8');
ch -= '1';
@@ -142,17 +149,21 @@ int search_user_bybakpwd() {
return 0;
}
-static void bperm_msg(boardheader_t *board) {
+static void
+bperm_msg(boardheader_t * board)
+{
prints("\n設定 [%s] 看板之(%s)權限:", board->brdname,
board->brdattr & BRD_POSTMASK ? "發表" : "閱\讀");
}
-unsigned int setperms(unsigned int pbits, char *pstring[]) {
- register int i;
- char choice[4];
-
+unsigned int
+setperms(unsigned int pbits, char *pstring[])
+{
+ register int i;
+ char choice[4];
+
move(4, 0);
- for(i = 0; i < NUMPERMS / 2; i++) {
+ for (i = 0; i < NUMPERMS / 2; i++) {
prints("%c. %-20s %-15s %c. %-20s %s\n",
'A' + i, pstring[i],
((pbits >> i) & 1 ? "ˇ" : "X"),
@@ -161,12 +172,12 @@ unsigned int setperms(unsigned int pbits, char *pstring[]) {
((pbits >> (i + 16)) & 1 ? "ˇ" : "X"));
}
clrtobot();
- while(getdata(b_lines - 1, 0, "請按 [A-5] 切換設定,按 [Return] 結束:",
- choice, sizeof(choice), LCECHO)) {
+ while (getdata(b_lines - 1, 0, "請按 [A-5] 切換設定,按 [Return] 結束:",
+ choice, sizeof(choice), LCECHO)) {
i = choice[0] - 'a';
- if(i < 0)
+ if (i < 0)
i = choice[0] - '0' + 26;
- if(i >= NUMPERMS)
+ if (i >= NUMPERMS)
bell();
else {
pbits ^= (1 << i);
@@ -178,57 +189,60 @@ unsigned int setperms(unsigned int pbits, char *pstring[]) {
}
/* 自動設立精華區 */
-void setup_man(boardheader_t * board) {
- char genbuf[200];
-
+void
+setup_man(boardheader_t * board)
+{
+ char genbuf[200];
+
setapath(genbuf, board->brdname);
mkdir(genbuf, 0755);
}
-int m_mod_board(char *bname) {
- boardheader_t bh, newbh;
- int bid;
- char genbuf[256], ans[4];
-
+int
+m_mod_board(char *bname)
+{
+ boardheader_t bh, newbh;
+ int bid;
+ char genbuf[256], ans[4];
+
bid = getbnum(bname);
- if(!bid || !bname[0] || get_record(fn_board, &bh, sizeof(bh), bid) == -1) {
+ if (!bid || !bname[0] || get_record(fn_board, &bh, sizeof(bh), bid) == -1) {
outs(err_bid);
pressanykey();
return -1;
}
-
prints("看板名稱:%s\n看板說明:%s\n看板bid:%d\n看板GID:%d\n"
"板主名單:%s", bh.brdname, bh.title, bid, bh.gid, bh.BM);
bperm_msg(&bh);
-
+
/* Ptt 這邊斷行會檔到下面 */
move(9, 0);
sprintf(genbuf, "(E)設定 (V)違法/解除 %s (D)刪除 [Q]取消?",
HAS_PERM(PERM_SYSOP) ?
" (B)BVote (S)救回文章 (G)賭盤解卡" : "");
getdata(10, 0, genbuf, ans, sizeof(ans), LCECHO);
-
- switch(*ans) {
+
+ switch (*ans) {
case 'g':
- if(HAS_PERM(PERM_SYSOP) ) {
- char path[256];
- setbfile(genbuf,bname,FN_TICKET_LOCK);
- setbfile(path,bname,FN_TICKET_END);
- rename(genbuf,path);
- }
- break;
+ if (HAS_PERM(PERM_SYSOP)) {
+ char path[256];
+ setbfile(genbuf, bname, FN_TICKET_LOCK);
+ setbfile(path, bname, FN_TICKET_END);
+ rename(genbuf, path);
+ }
+ break;
case 's':
- if(HAS_PERM(PERM_SYSOP) ) {
+ if (HAS_PERM(PERM_SYSOP)) {
sprintf(genbuf, BBSHOME "/bin/buildir boards/%c/%s &",
bh.brdname[0], bh.brdname);
system(genbuf);
}
break;
case 'b':
- if(HAS_PERM(PERM_SYSOP)) {
- char bvotebuf[10];
-
+ if (HAS_PERM(PERM_SYSOP)) {
+ char bvotebuf[10];
+
memcpy(&newbh, &bh, sizeof(bh));
sprintf(bvotebuf, "%d", newbh.bvote);
move(20, 0);
@@ -246,8 +260,8 @@ int m_mod_board(char *bname) {
outs("看板目前為");
outs((bh.brdattr & BRD_BAD) ? "違法" : "正常");
getdata(21, 0, "確定更改?", genbuf, 5, LCECHO);
- if(genbuf[0] == 'y') {
- if(newbh.brdattr & BRD_BAD)
+ if (genbuf[0] == 'y') {
+ if (newbh.brdattr & BRD_BAD)
newbh.brdattr = newbh.brdattr & (!BRD_BAD);
else
newbh.brdattr = newbh.brdattr | BRD_BAD;
@@ -257,87 +271,85 @@ int m_mod_board(char *bname) {
}
break;
case 'd':
- getdata_str(9, 0, msg_sure_ny, genbuf, 3, LCECHO, "N");
- if(genbuf[0] != 'y' || !bname[0])
- outs(MSG_DEL_CANCEL);
- else {
- strcpy(bname, bh.brdname);
- sprintf(genbuf,
- "/bin/tar zcvf tmp/board_%s.tgz boards/%c/%s man/boards/%c/%s >/dev/null 2>&1;"
- "/bin/rm -fr boards/%c/%s man/boards/%c/%s",
- bname, bname[0], bname, bname[0],
- bname, bname[0], bname, bname[0], bname);
- system(genbuf);
- memset(&bh, 0, sizeof(bh));
- sprintf(bh.title, "%s 看板 %s 刪除", bname, cuser.userid);
- post_msg("Security", bh.title,"請注意刪除的合法性","[系統安全局]");
- substitute_record(fn_board, &bh, sizeof(bh), bid);
- reset_board(bid);
- log_usies("DelBoard", bh.title);
- outs("刪板完畢");
- }
+ getdata_str(9, 0, msg_sure_ny, genbuf, 3, LCECHO, "N");
+ if (genbuf[0] != 'y' || !bname[0])
+ outs(MSG_DEL_CANCEL);
+ else {
+ strcpy(bname, bh.brdname);
+ sprintf(genbuf,
+ "/bin/tar zcvf tmp/board_%s.tgz boards/%c/%s man/boards/%c/%s >/dev/null 2>&1;"
+ "/bin/rm -fr boards/%c/%s man/boards/%c/%s",
+ bname, bname[0], bname, bname[0],
+ bname, bname[0], bname, bname[0], bname);
+ system(genbuf);
+ memset(&bh, 0, sizeof(bh));
+ sprintf(bh.title, "%s 看板 %s 刪除", bname, cuser.userid);
+ post_msg("Security", bh.title, "請注意刪除的合法性", "[系統安全局]");
+ substitute_record(fn_board, &bh, sizeof(bh), bid);
+ reset_board(bid);
+ log_usies("DelBoard", bh.title);
+ outs("刪板完畢");
+ }
break;
case 'e':
move(8, 0);
outs("直接按 [Return] 不修改該項設定");
memcpy(&newbh, &bh, sizeof(bh));
- while(getdata(9, 0, "新看板名稱:", genbuf, IDLEN + 1, DOECHO)) {
- if(getbnum(genbuf)) {
+ while (getdata(9, 0, "新看板名稱:", genbuf, IDLEN + 1, DOECHO)) {
+ if (getbnum(genbuf)) {
move(3, 0);
outs("錯誤! 板名雷同");
- } else if(!invalid_brdname(genbuf)) {
+ } else if (!invalid_brdname(genbuf)) {
strcpy(newbh.brdname, genbuf);
break;
}
}
-
+
do {
getdata_str(12, 0, "看板類別:", genbuf, 5, DOECHO, bh.title);
- if(strlen(genbuf) == 4)
+ if (strlen(genbuf) == 4)
break;
} while (1);
- if(strlen(genbuf) >= 4)
+ if (strlen(genbuf) >= 4)
strncpy(newbh.title, genbuf, 4);
-
+
newbh.title[4] = ' ';
- getdata_str(14, 0, "看板主題:", genbuf, BTLEN + 1, DOECHO,
+ getdata_str(14, 0, "看板主題:", genbuf, BTLEN + 1, DOECHO,
bh.title + 7);
- if(genbuf[0])
+ if (genbuf[0])
strcpy(newbh.title + 7, genbuf);
- if(getdata_str(15, 0, "新板主名單:", genbuf, IDLEN * 3 + 3, DOECHO,
- bh.BM)) {
+ if (getdata_str(15, 0, "新板主名單:", genbuf, IDLEN * 3 + 3, DOECHO,
+ bh.BM)) {
trim(genbuf);
strcpy(newbh.BM, genbuf);
}
-
- if(HAS_PERM(PERM_SYSOP)) {
+ if (HAS_PERM(PERM_SYSOP)) {
move(1, 0);
clrtobot();
newbh.brdattr = setperms(newbh.brdattr, str_permboard);
move(1, 0);
clrtobot();
}
-
- if(newbh.brdattr & BRD_GROUPBOARD)
+ if (newbh.brdattr & BRD_GROUPBOARD)
strncpy(newbh.title + 5, "Σ", 2);
- else if(newbh.brdattr & BRD_NOTRAN)
+ else if (newbh.brdattr & BRD_NOTRAN)
strncpy(newbh.title + 5, "◎", 2);
else
strncpy(newbh.title + 5, "●", 2);
-
- if(HAS_PERM(PERM_SYSOP) && !(newbh.brdattr & BRD_HIDE)) {
+
+ if (HAS_PERM(PERM_SYSOP) && !(newbh.brdattr & BRD_HIDE)) {
getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, sizeof(ans), LCECHO, "N");
- if(*ans == 'y') {
+ if (*ans == 'y') {
getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, sizeof(ans), LCECHO,
"R");
- if(*ans == 'p')
+ if (*ans == 'p')
newbh.brdattr |= BRD_POSTMASK;
else
newbh.brdattr &= ~BRD_POSTMASK;
-
+
move(1, 0);
clrtobot();
bperm_msg(&newbh);
@@ -345,17 +357,16 @@ int m_mod_board(char *bname) {
clear();
}
}
-
getdata_str(b_lines - 1, 0, msg_sure_ny, genbuf, 4, LCECHO, "Y");
- if((*genbuf == 'y') && memcmp(&newbh, &bh, sizeof(bh))) {
- if(strcmp(bh.brdname, newbh.brdname)) {
- char src[60], tar[60];
-
+ if ((*genbuf == 'y') && memcmp(&newbh, &bh, sizeof(bh))) {
+ if (strcmp(bh.brdname, newbh.brdname)) {
+ char src[60], tar[60];
+
setbpath(src, bh.brdname);
setbpath(tar, newbh.brdname);
Rename(src, tar);
-
+
setapath(src, bh.brdname);
setapath(tar, newbh.brdname);
Rename(src, tar);
@@ -370,37 +381,41 @@ int m_mod_board(char *bname) {
}
/* 設定看板 */
-int m_board() {
- char bname[32];
-
+int
+m_board()
+{
+ char bname[32];
+
stand_title("看板設定");
generalnamecomplete(msg_bid, bname, sizeof(bname), SHM->Bnumber,
completeboard_compar,
completeboard_permission,
completeboard_getname);
- if(!*bname)
+ if (!*bname)
return 0;
m_mod_board(bname);
return 0;
}
/* 設定系統檔案 */
-int x_file() {
- int aborted;
- char ans[4], *fpath;
-
+int
+x_file()
+{
+ int aborted;
+ char ans[4], *fpath;
+
move(b_lines - 4, 0);
/* Ptt */
outs("設定 (1)身份確認信 (4)post注意事項 (5)錯誤登入訊息 (6)註冊範例 (7)通過確認通知\n");
outs(" (8)email post通知 (9)系統功\能精靈 (A)茶樓 (B)站長名單 (C)email通過確認\n");
outs(" (D)新使用者需知 (E)身份確認方法 (F)歡迎畫面 (G)進站畫面 "
#ifdef MULTI_WELCOME_LOGIN
-"(X)刪除進站畫面"
+ "(X)刪除進站畫面"
#endif
-"\n");
+ "\n");
getdata(b_lines - 1, 0, " (H)看板期限 (I)故鄉 (J)出站畫面 (K)生日卡 (L)節日 [Q]取消?", ans, sizeof(ans), LCECHO);
-
- switch(ans[0]) {
+
+ switch (ans[0]) {
case '1':
fpath = "etc/confirm";
break;
@@ -443,11 +458,17 @@ int x_file() {
case 'g':
#ifdef MULTI_WELCOME_LOGIN
getdata(b_lines - 1, 0, "第幾個進站畫面[0-4]", ans, sizeof(ans), LCECHO);
- if( ans[0] == '1' ) { fpath = "etc/Welcome_login.1"; }
- else if( ans[0] == '2' ){ fpath = "etc/Welcome_login.2"; }
- else if( ans[0] == '3' ){ fpath = "etc/Welcome_login.3"; }
- else if( ans[0] == '4' ){ fpath = "etc/Welcome_login.4"; }
- else { fpath = "etc/Welcome_login.0"; }
+ if (ans[0] == '1') {
+ fpath = "etc/Welcome_login.1";
+ } else if (ans[0] == '2') {
+ fpath = "etc/Welcome_login.2";
+ } else if (ans[0] == '3') {
+ fpath = "etc/Welcome_login.3";
+ } else if (ans[0] == '4') {
+ fpath = "etc/Welcome_login.4";
+ } else {
+ fpath = "etc/Welcome_login.0";
+ }
#else
fpath = "etc/Welcome_login";
#endif
@@ -456,11 +477,21 @@ int x_file() {
#ifdef MULTI_WELCOME_LOGIN
case 'x':
getdata(b_lines - 1, 0, "第幾個進站畫面[1-4]", ans, sizeof(ans), LCECHO);
- if( ans[0] == '1' ) { unlink("etc/Welcome_login.1"); outs("ok"); }
- else if( ans[0] == '2' ){ unlink("etc/Welcome_login.2"); outs("ok"); }
- else if( ans[0] == '3' ){ unlink("etc/Welcome_login.3"); outs("ok"); }
- else if( ans[0] == '4' ){ unlink("etc/Welcome_login.4"); outs("ok"); }
- else {outs("所指定的進站畫面無法刪除"); }
+ if (ans[0] == '1') {
+ unlink("etc/Welcome_login.1");
+ outs("ok");
+ } else if (ans[0] == '2') {
+ unlink("etc/Welcome_login.2");
+ outs("ok");
+ } else if (ans[0] == '3') {
+ unlink("etc/Welcome_login.3");
+ outs("ok");
+ } else if (ans[0] == '4') {
+ unlink("etc/Welcome_login.4");
+ outs("ok");
+ } else {
+ outs("所指定的進站畫面無法刪除");
+ }
pressanykey();
return FULLUPDATE;
@@ -491,15 +522,17 @@ int x_file() {
return FULLUPDATE;
}
-int m_newbrd(int recover) {
- boardheader_t newboard;
- char ans[4];
- int bid;
- char genbuf[200];
+int
+m_newbrd(int recover)
+{
+ boardheader_t newboard;
+ char ans[4];
+ int bid;
+ char genbuf[200];
stand_title("建立新板");
memset(&newboard, 0, sizeof(newboard));
-
+
newboard.gid = class_bid;
if (newboard.gid == 0) {
move(6, 0);
@@ -507,46 +540,44 @@ int m_newbrd(int recover) {
pressanykey();
return -1;
}
-
do {
- if(!getdata(3, 0, msg_bid, newboard.brdname,
- sizeof(newboard.brdname), DOECHO))
+ if (!getdata(3, 0, msg_bid, newboard.brdname,
+ sizeof(newboard.brdname), DOECHO))
return -1;
- } while(invalid_brdname(newboard.brdname));
+ } while (invalid_brdname(newboard.brdname));
do {
getdata(6, 0, "看板類別:", genbuf, 5, DOECHO);
- if(strlen(genbuf) == 4)
+ if (strlen(genbuf) == 4)
break;
} while (1);
-
- if(strlen(genbuf) >= 4)
+
+ if (strlen(genbuf) >= 4)
strncpy(newboard.title, genbuf, 4);
-
+
newboard.title[4] = ' ';
-
+
getdata(8, 0, "看板主題:", genbuf, BTLEN + 1, DOECHO);
- if(genbuf[0])
+ if (genbuf[0])
strcpy(newboard.title + 7, genbuf);
setbpath(genbuf, newboard.brdname);
-
- if(recover) {
- struct stat sb;
-
- if(stat(genbuf, &sb) == -1 || !(sb.st_mode & S_IFDIR)) {
+
+ if (recover) {
+ struct stat sb;
+
+ if (stat(genbuf, &sb) == -1 || !(sb.st_mode & S_IFDIR)) {
outs("此看板已經存在! 請取不同英文板名");
pressanykey();
return -1;
}
- } else if(getbnum(newboard.brdname) > 0 || mkdir(genbuf, 0755) == -1) {
+ } else if (getbnum(newboard.brdname) > 0 || mkdir(genbuf, 0755) == -1) {
outs("此看板已經存在! 請取不同英文板名");
pressanykey();
return -1;
}
-
newboard.brdattr = BRD_NOTRAN;
-
- if(HAS_PERM(PERM_SYSOP)) {
+
+ if (HAS_PERM(PERM_SYSOP)) {
move(1, 0);
clrtobot();
newboard.brdattr = setperms(newboard.brdattr, str_permboard);
@@ -554,28 +585,28 @@ int m_newbrd(int recover) {
clrtobot();
}
getdata(9, 0, "是看板? (N:目錄) (Y/n):", genbuf, 3, LCECHO);
- if(genbuf[0]=='n')
+ if (genbuf[0] == 'n')
newboard.brdattr |= BRD_GROUPBOARD;
- if(newboard.brdattr & BRD_GROUPBOARD)
+ if (newboard.brdattr & BRD_GROUPBOARD)
strncpy(newboard.title + 5, "Σ", 2);
- else if(newboard.brdattr & BRD_NOTRAN)
+ else if (newboard.brdattr & BRD_NOTRAN)
strncpy(newboard.title + 5, "◎", 2);
else
strncpy(newboard.title + 5, "●", 2);
-
+
newboard.level = 0;
getdata(11, 0, "板主名單:", newboard.BM, sizeof(newboard.BM), DOECHO);
- if(HAS_PERM(PERM_SYSOP) && !(newboard.brdattr & BRD_HIDE)) {
+ if (HAS_PERM(PERM_SYSOP) && !(newboard.brdattr & BRD_HIDE)) {
getdata_str(14, 0, "設定讀寫權限(Y/N)?", ans, sizeof(ans), LCECHO, "N");
- if(*ans == 'y') {
+ if (*ans == 'y') {
getdata_str(15, 0, "限制 [R]閱\讀 (P)發表?", ans, sizeof(ans), LCECHO, "R");
- if(*ans == 'p')
+ if (*ans == 'p')
newboard.brdattr |= BRD_POSTMASK;
else
newboard.brdattr &= (~BRD_POSTMASK);
-
+
move(1, 0);
clrtobot();
bperm_msg(&newboard);
@@ -583,20 +614,15 @@ int m_newbrd(int recover) {
clear();
}
}
-
- if((bid = getbnum("")) > 0)
- {
+ if ((bid = getbnum("")) > 0) {
substitute_record(fn_board, &newboard, sizeof(newboard), bid);
- reset_board(bid);
- }
- else if(append_record(fn_board, (fileheader_t *) & newboard,
- sizeof(newboard)) == -1) {
+ reset_board(bid);
+ } else if (append_record(fn_board, (fileheader_t *) & newboard,
+ sizeof(newboard)) == -1) {
pressanykey();
return -1;
- }
- else
- {
- addbrd_touchcache();
+ } else {
+ addbrd_touchcache();
}
setup_man(&newboard);
@@ -607,54 +633,51 @@ int m_newbrd(int recover) {
return 0;
}
-static int auto_scan(char fdata[][STRLEN], char ans[]) {
- int good = 0;
- int count = 0;
- int i;
- char temp[10];
-
- if(!strncmp(fdata[2], "小", 2) || strstr(fdata[2], "丫")
+static int
+auto_scan(char fdata[][STRLEN], char ans[])
+{
+ int good = 0;
+ int count = 0;
+ int i;
+ char temp[10];
+
+ if (!strncmp(fdata[2], "小", 2) || strstr(fdata[2], "丫")
|| strstr(fdata[2], "誰") || strstr(fdata[2], "不")) {
ans[0] = '0';
return 1;
}
-
strncpy(temp, fdata[2], 2);
temp[2] = '\0';
-
+
/* 疊字 */
- if(!strncmp(temp, &(fdata[2][2]), 2)) {
+ if (!strncmp(temp, &(fdata[2][2]), 2)) {
ans[0] = '0';
return 1;
}
-
- if(strlen(fdata[2]) >= 6) {
- if(strstr(fdata[2], "陳水扁")) {
+ if (strlen(fdata[2]) >= 6) {
+ if (strstr(fdata[2], "陳水扁")) {
ans[0] = '0';
return 1;
}
-
- if(strstr("趙錢孫李周吳鄭王", temp))
+ if (strstr("趙錢孫李周吳鄭王", temp))
good++;
- else if(strstr("杜顏黃林陳官余辛劉", temp))
+ else if (strstr("杜顏黃林陳官余辛劉", temp))
good++;
- else if(strstr("蘇方吳呂李邵張廖應蘇", temp))
+ else if (strstr("蘇方吳呂李邵張廖應蘇", temp))
good++;
- else if(strstr("徐謝石盧施戴翁唐", temp))
+ else if (strstr("徐謝石盧施戴翁唐", temp))
good++;
}
-
- if(!good)
+ if (!good)
return 0;
- if(!strcmp(fdata[3], fdata[4]) ||
- !strcmp(fdata[3], fdata[5]) ||
- !strcmp(fdata[4], fdata[5])) {
+ if (!strcmp(fdata[3], fdata[4]) ||
+ !strcmp(fdata[3], fdata[5]) ||
+ !strcmp(fdata[4], fdata[5])) {
ans[0] = '4';
return 5;
}
-
- if(strstr(fdata[3], "大")) {
+ if (strstr(fdata[3], "大")) {
if (strstr(fdata[3], "台") || strstr(fdata[3], "淡") ||
strstr(fdata[3], "交") || strstr(fdata[3], "政") ||
strstr(fdata[3], "清") || strstr(fdata[3], "警") ||
@@ -662,34 +685,32 @@ static int auto_scan(char fdata[][STRLEN], char ans[]) {
strstr(fdata[3], "中央") || strstr(fdata[3], "成") ||
strstr(fdata[3], "輔") || strstr(fdata[3], "東吳"))
good++;
- } else if(strstr(fdata[3], "女中"))
+ } else if (strstr(fdata[3], "女中"))
good++;
-
- if(strstr(fdata[4], "地球") || strstr(fdata[4], "宇宙") ||
- strstr(fdata[4], "信箱")) {
+
+ if (strstr(fdata[4], "地球") || strstr(fdata[4], "宇宙") ||
+ strstr(fdata[4], "信箱")) {
ans[0] = '2';
return 3;
}
-
- if(strstr(fdata[4], "市") || strstr(fdata[4], "縣")) {
- if(strstr(fdata[4], "路") || strstr(fdata[4], "街")) {
- if(strstr(fdata[4], "號"))
+ if (strstr(fdata[4], "市") || strstr(fdata[4], "縣")) {
+ if (strstr(fdata[4], "路") || strstr(fdata[4], "街")) {
+ if (strstr(fdata[4], "號"))
good++;
}
}
-
- for(i = 0; fdata[5][i]; i++) {
- if(isdigit(fdata[5][i]))
+ for (i = 0; fdata[5][i]; i++) {
+ if (isdigit(fdata[5][i]))
count++;
}
-
- if(count <= 4) {
+
+ if (count <= 4) {
ans[0] = '3';
return 4;
- } else if(count >= 7)
+ } else if (count >= 7)
good++;
- if(good >= 3) {
+ if (good >= 3) {
ans[0] = 'y';
return -1;
} else
@@ -697,17 +718,19 @@ static int auto_scan(char fdata[][STRLEN], char ans[]) {
}
/* 處理 Register Form */
-int scan_register_form(char *regfile, int automode, int neednum) {
- char genbuf[200];
- static char *logfile = "register.log";
- static char *field[] = {
+int
+scan_register_form(char *regfile, int automode, int neednum)
+{
+ char genbuf[200];
+ static char *logfile = "register.log";
+ static char *field[] = {
"uid", "ident", "name", "career", "addr", "phone", "email", NULL
};
- static char *finfo[] = {
+ static char *finfo[] = {
"帳號", "身分證號", "真實姓名", "服務單位", "目前住址",
"連絡電話", "電子郵件信箱", NULL
};
- static char *reason[] = {
+ static char *reason[] = {
"輸入真實姓名",
"詳細填寫您的「學校以及『科系』『年級』」或「服務單位(詳細至職稱)」",
"填寫完整的住址資料 (含縣市名稱, 台北市請含行政區域)",
@@ -716,32 +739,32 @@ int scan_register_form(char *regfile, int automode, int neednum) {
"用中文填寫申請單",
NULL
};
- static char *autoid = "AutoScan";
- userec_t muser;
- FILE *fn, *fout, *freg;
- char fdata[7][STRLEN];
- char fname[STRLEN], buf[STRLEN];
- char ans[4], *ptr, *uid;
- int n = 0, unum = 0;
- int nSelf = 0, nAuto = 0;
-
+ static char *autoid = "AutoScan";
+ userec_t muser;
+ FILE *fn, *fout, *freg;
+ char fdata[7][STRLEN];
+ char fname[STRLEN], buf[STRLEN];
+ char ans[4], *ptr, *uid;
+ int n = 0, unum = 0;
+ int nSelf = 0, nAuto = 0;
+
uid = cuser.userid;
sprintf(fname, "%s.tmp", regfile);
move(2, 0);
- if(dashf(fname)) {
- if(neednum == 0) { /* 自己進 Admin 來審的 */
+ if (dashf(fname)) {
+ if (neednum == 0) { /* 自己進 Admin 來審的 */
outs("其他 SYSOP 也在審核註冊申請單");
pressanykey();
}
return -1;
}
Rename(regfile, fname);
- if((fn = fopen(fname, "r")) == NULL) {
+ if ((fn = fopen(fname, "r")) == NULL) {
prints("系統錯誤,無法讀取註冊資料檔: %s", fname);
pressanykey();
return -1;
}
- if(neednum) { /* 被強迫審的 */
+ if (neednum) { /* 被強迫審的 */
move(1, 0);
clrtobot();
prints("各位具有站長權限的人,註冊單累積超過一百份了,麻煩您幫忙審 %d 份\n", neednum);
@@ -749,13 +772,13 @@ int scan_register_form(char *regfile, int automode, int neednum) {
pressanykey();
}
memset(fdata, 0, sizeof(fdata));
- while(fgets(genbuf, STRLEN, fn)) {
- if ((ptr = (char *) strstr(genbuf, ": "))) {
+ while (fgets(genbuf, STRLEN, fn)) {
+ if ((ptr = (char *)strstr(genbuf, ": "))) {
*ptr = '\0';
- for(n = 0; field[n]; n++) {
- if(strcmp(genbuf, field[n]) == 0) {
+ for (n = 0; field[n]; n++) {
+ if (strcmp(genbuf, field[n]) == 0) {
strcpy(fdata[n], ptr + 2);
- if((ptr = (char *) strchr(fdata[n], '\n')))
+ if ((ptr = (char *)strchr(fdata[n], '\n')))
*ptr = '\0';
}
}
@@ -770,61 +793,60 @@ int scan_register_form(char *regfile, int automode, int neednum) {
} else {
neednum--;
memcpy(&muser, &xuser, sizeof(muser));
- if(automode)
+ if (automode)
uid = autoid;
-
- if( (!automode || !auto_scan(fdata, ans)) ) {
+
+ if ((!automode || !auto_scan(fdata, ans))) {
uid = cuser.userid;
-
+
move(1, 0);
prints("帳號位置 :%d\n", unum);
user_display(&muser, 1);
move(14, 0);
prints("\033[1;32m------------- 請站長嚴格審核使用者資料,您還有 %d 份---------------\033[m\n", neednum);
- for(n = 0; field[n]; n++) {
- if(n >= 2 && n <= 5)
+ for (n = 0; field[n]; n++) {
+ if (n >= 2 && n <= 5)
prints("%d.", n - 2);
else
prints(" ");
prints("%-12s:%s\n", finfo[n], fdata[n]);
}
- if(muser.userlevel & PERM_LOGINOK) {
+ if (muser.userlevel & PERM_LOGINOK) {
getdata(b_lines - 1, 0, "\033[1;32m此帳號已經完成註冊, "
- "更新(Y/N/Skip)?\033[m[N] ", ans, sizeof(ans), LCECHO);
- if(ans[0] != 'y' && ans[0] != 's')
+ "更新(Y/N/Skip)?\033[m[N] ", ans, sizeof(ans), LCECHO);
+ if (ans[0] != 'y' && ans[0] != 's')
ans[0] = 'd';
} else {
move(b_lines - 1, 0);
prints("是否接受此資料(Y/N/Q/Del/Skip)?[S] ");
- if( search_ulist(unum) == NULL )
+ if (search_ulist(unum) == NULL)
ans[0] = igetch();
else
ans[0] = 's';
- if( 'A' <= ans[0] && ans[0] <= 'Z' )
+ if ('A' <= ans[0] && ans[0] <= 'Z')
ans[0] += 32;
- if( ans[0] != 'y' && ans[0] != 'n' && ans[0] != 'q' &&
- ans[0] != 'd' && !('0' <= ans[0] && ans[0] <= '4') )
+ if (ans[0] != 'y' && ans[0] != 'n' && ans[0] != 'q' &&
+ ans[0] != 'd' && !('0' <= ans[0] && ans[0] <= '4'))
ans[0] = 's';
ans[1] = 0;
}
nSelf++;
} else
nAuto++;
- if(neednum > 0 && ans[0] == 'q') {
+ if (neednum > 0 && ans[0] == 'q') {
move(2, 0);
clrtobot();
prints("沒審完不能退出");
pressanykey();
ans[0] = 's';
}
-
- switch(ans[0]) {
+ switch (ans[0]) {
case 'q':
- if((freg = fopen(regfile, "a"))) {
- for(n = 0; field[n]; n++)
+ if ((freg = fopen(regfile, "a"))) {
+ for (n = 0; field[n]; n++)
fprintf(freg, "%s: %s\n", field[n], fdata[n]);
fprintf(freg, "----\n");
- while(fgets(genbuf, STRLEN, fn))
+ while (fgets(genbuf, STRLEN, fn))
fputs(genbuf, freg);
fclose(freg);
}
@@ -836,8 +858,8 @@ int scan_register_form(char *regfile, int automode, int neednum) {
case '3':
case '4':
case 'n':
- if(ans[0] == 'n') {
- for(n = 0; field[n]; n++)
+ if (ans[0] == 'n') {
+ for (n = 0; field[n]; n++)
prints("%s: %s\n", finfo[n], fdata[n]);
move(9, 0);
prints("請提出退回申請表原因,按 <enter> 取消\n");
@@ -845,33 +867,33 @@ int scan_register_form(char *regfile, int automode, int neednum) {
prints("%d) 請%s\n", n, reason[n]);
} else
buf[0] = ans[0];
- if(ans[0] != 'n' ||
+ if (ans[0] != 'n' ||
getdata(10 + n, 0, "退回原因:", buf, 60, DOECHO))
- if((buf[0] - '0') >= 0 && (buf[0] - '0') < n) {
- int i;
- fileheader_t mhdr;
- char title[128], buf1[80];
- FILE *fp;
-
+ if ((buf[0] - '0') >= 0 && (buf[0] - '0') < n) {
+ int i;
+ fileheader_t mhdr;
+ char title[128], buf1[80];
+ FILE *fp;
+
i = buf[0] - '0';
strcpy(buf, reason[i]);
sprintf(genbuf, "[退回原因] 請%s", buf);
-
+
sethomepath(buf1, muser.userid);
stampfile(buf1, &mhdr);
strcpy(mhdr.owner, cuser.userid);
strncpy(mhdr.title, "[註冊失敗]", TTLEN);
mhdr.filemode = 0;
sethomedir(title, muser.userid);
- if(append_record(title, &mhdr, sizeof(mhdr)) != -1) {
+ if (append_record(title, &mhdr, sizeof(mhdr)) != -1) {
fp = fopen(buf1, "w");
fprintf(fp, "%s\n", genbuf);
fclose(fp);
}
- if((fout = fopen(logfile, "a"))) {
- for(n = 0; field[n]; n++)
+ if ((fout = fopen(logfile, "a"))) {
+ for (n = 0; field[n]; n++)
fprintf(fout, "%s: %s\n", field[n], fdata[n]);
- fprintf(fout, "Date: %s\n", Cdate(& now));
+ fprintf(fout, "Date: %s\n", Cdate(&now));
fprintf(fout, "Rejected: %s [%s]\n----\n",
uid, buf);
fclose(fout);
@@ -882,8 +904,8 @@ int scan_register_form(char *regfile, int automode, int neednum) {
clrtobot();
prints("取消退回此註冊申請表");
case 's':
- if((freg = fopen(regfile, "a"))) {
- for(n = 0; field[n]; n++)
+ if ((freg = fopen(regfile, "a"))) {
+ for (n = 0; field[n]; n++)
fprintf(freg, "%s: %s\n", field[n], fdata[n]);
fprintf(freg, "----\n");
fclose(freg);
@@ -901,16 +923,15 @@ int scan_register_form(char *regfile, int automode, int neednum) {
sethomefile(buf, muser.userid, "justify");
log_file(buf, genbuf);
passwd_update(unum, &muser);
-
- if((fout = fopen(logfile, "a"))) {
- for(n = 0; field[n]; n++)
+
+ if ((fout = fopen(logfile, "a"))) {
+ for (n = 0; field[n]; n++)
fprintf(fout, "%s: %s\n", field[n], fdata[n]);
fprintf(fout, "Date: %s\n", Cdate(&now));
fprintf(fout, "Approved: %s\n", uid);
fprintf(fout, "----\n");
fclose(fout);
}
-
sethomefile(genbuf, muser.userid, "justify.wait");
unlink(genbuf);
break;
@@ -926,56 +947,49 @@ int scan_register_form(char *regfile, int automode, int neednum) {
move(5, 0);
prints("您審了 %d 份註冊單,AutoScan 審了 %d 份", nSelf, nAuto);
-/** DickG: 將審了幾份的相關資料 post 到 Security 板上 ***********/
-/* DickG: 因應新的站長上站需審核方案,是故沒有必要留下 record 而關掉
- strftime(buf, 200, "%Y/%m/%d/%H:%M", pt);
-
- strcpy(xboard, "Security");
- setbpath(xfpath, xboard);
- stampfile(xfpath, &xfile);
- strcpy(xfile.owner, "系統");
- strcpy(xfile.title, "[報告] 審核記錄");
- xptr = fopen(xfpath, "w");
- fprintf(xptr, "\n時間:%s
- %s 審了 %d 份註冊單\n
- AutoScan 審了 %d 份註冊單\n
- 共計 %d 份。",
- buf, cuser.userid, nSelf, nAuto, nSelf+nAuto);
- fclose(xptr);
- setbdir(fname, xboard);
- append_record(fname, &xfile, sizeof(xfile));
- outgo_post(&xfile, xboard);
- touchbtotal(getbnum(xboard));
- cuser.numposts++;
-*/
-/*********************************************/
+ /** DickG: 將審了幾份的相關資料 post 到 Security 板上 ***********/
+ /*
+ * DickG: 因應新的站長上站需審核方案,是故沒有必要留下 record
+ * ime(buf, 200, "%Y/%m/%d/%H:%M", pt);
+ *
+ * strcpy(xboard, "Security"); setbpath(xfpath, xboard); stampfile(xfpath,
+ * &xfile); strcpy(xfile.owner, "系統"); strcpy(xfile.title, "[報告]
+ * 審核記錄"); xptr = fopen(xfpath, "w"); fprintf(xptr, "\n時間:%s %s
+ * 審了 %d 份註冊單\n AutoScan 審了 %d 份註冊單\n 共計 %d 份。", buf,
+ * cuser.userid, nSelf, nAuto, nSelf+nAuto); fclose(xptr); setbdir(fname,
+ * xboard); append_record(fname, &xfile, sizeof(xfile));
+ * outgo_post(&xfile, xboard); touchbtotal(getbnum(xboard));
+ * cuser.numposts++;
+ */
+ /*********************************************/
pressanykey();
return (0);
}
-int m_register() {
- FILE *fn;
- int x, y, wid, len;
- char ans[4];
- char genbuf[200];
-
- if((fn = fopen(fn_register, "r")) == NULL) {
+int
+m_register()
+{
+ FILE *fn;
+ int x, y, wid, len;
+ char ans[4];
+ char genbuf[200];
+
+ if ((fn = fopen(fn_register, "r")) == NULL) {
outs("目前並無新註冊資料");
return XEASY;
}
-
stand_title("審核使用者註冊資料");
y = 2;
x = wid = 0;
-
- while(fgets(genbuf, STRLEN, fn) && x < 65) {
- if(strncmp(genbuf, "uid: ", 5) == 0) {
+
+ while (fgets(genbuf, STRLEN, fn) && x < 65) {
+ if (strncmp(genbuf, "uid: ", 5) == 0) {
move(y++, x);
outs(genbuf + 5);
len = strlen(genbuf + 5);
- if(len > wid)
+ if (len > wid)
wid = len;
- if(y >= t_lines - 3) {
+ if (y >= t_lines - 3) {
y = 2;
x += wid + 2;
}
@@ -983,17 +997,19 @@ int m_register() {
}
fclose(fn);
getdata(b_lines - 1, 0, "開始審核嗎(Auto/Yes/No)?[N] ", ans, sizeof(ans), LCECHO);
- if(ans[0] == 'a')
+ if (ans[0] == 'a')
scan_register_form(fn_register, 1, 0);
- else if(ans[0] == 'y')
+ else if (ans[0] == 'y')
scan_register_form(fn_register, 0, 0);
-
+
return 0;
}
-int cat_register() {
- if(system("cat register.new.tmp >> register.new") == 0 &&
- system("rm -f register.new.tmp") == 0)
+int
+cat_register()
+{
+ if (system("cat register.new.tmp >> register.new") == 0 &&
+ system("rm -f register.new.tmp") == 0)
mprints(22, 0, "OK 嚕~~ 繼續去奮鬥吧!! ");
else
mprints(22, 0, "沒辦法CAT過去呢 去檢查一下系統吧!! ");
@@ -1001,93 +1017,97 @@ int cat_register() {
return 0;
}
-static void give_id_money(char *user_id, int money, FILE *log_fp, char *mail_title, time_t t) {
- char tt[TTLEN + 1] = {0};
-
- if(deumoney(searchuser(user_id), money) < 0) {
- move(12, 0);
- clrtoeol();
- prints("id:%s money:%d 不對吧!!", user_id, money);
- pressanykey();
+static void
+give_id_money(char *user_id, int money, FILE * log_fp, char *mail_title, time_t t)
+{
+ char tt[TTLEN + 1] = {0};
+
+ if (deumoney(searchuser(user_id), money) < 0) {
+ move(12, 0);
+ clrtoeol();
+ prints("id:%s money:%d 不對吧!!", user_id, money);
+ pressanykey();
} else {
- fprintf(log_fp, "%ld %s %d", t, user_id, money);
- sprintf(tt, "%s : %d ptt 幣", mail_title, money);
- mail_id(user_id, tt, "~bbs/etc/givemoney.why", "[PTT 銀行]");
+ fprintf(log_fp, "%ld %s %d", t, user_id, money);
+ sprintf(tt, "%s : %d ptt 幣", mail_title, money);
+ mail_id(user_id, tt, "~bbs/etc/givemoney.why", "[PTT 銀行]");
}
-}
-
-int give_money() {
- FILE *fp, *fp2;
- char *ptr, *id, *mn;
- char buf[200] = {0}, tt[TTLEN + 1] = {0};
- struct tm *pt = localtime(&now);
- int to_all = 0, money = 0;
-
+}
+
+int
+give_money()
+{
+ FILE *fp, *fp2;
+ char *ptr, *id, *mn;
+ char buf[200] = {0}, tt[TTLEN + 1] = {0};
+ struct tm *pt = localtime(&now);
+ int to_all = 0, money = 0;
+
getdata(0, 0, "指定使用者(S) 全站使用者(A) 取消(Q)?[S]", buf, sizeof(buf), LCECHO);
- if(buf[0] == 'q')
+ if (buf[0] == 'q')
return 1;
- else if( buf[0] == 'a') {
+ else if (buf[0] == 'a') {
to_all = 1;
getdata(1, 0, "發多少錢呢?", buf, 20, DOECHO);
money = atoi(buf);
- if(money <= 0) {
+ if (money <= 0) {
move(2, 0);
prints("輸入錯誤!!");
pressanykey();
return 1;
}
} else {
- if(vedit("etc/givemoney.txt", NA, NULL) < 0)
+ if (vedit("etc/givemoney.txt", NA, NULL) < 0)
return 1;
}
-
+
clear();
getdata(0, 0, "要發錢了嗎(Y/N)[N]", buf, 3, LCECHO);
- if(buf[0] != 'y')
+ if (buf[0] != 'y')
return 1;
- if(!(fp2 = fopen("etc/givemoney.log", "a")))
+ if (!(fp2 = fopen("etc/givemoney.log", "a")))
return 1;
strftime(buf, 200, "%Y/%m/%d/%H:%M", pt);
fprintf(fp2, "%s\n", buf);
-
+
getdata(1, 0, "紅包袋標題 :", tt, TTLEN, DOECHO);
move(2, 0);
-
+
prints("編紅包袋內容");
pressanykey();
- if(vedit("etc/givemoney.why", NA, NULL) < 0)
+ if (vedit("etc/givemoney.why", NA, NULL) < 0)
return 1;
-
+
stand_title("發錢中...");
- if(to_all) {
- int i, unum;
- for(unum = SHM->number, i=0; i<unum; i++) {
- if(bad_user_id(SHM->userid[i]))
+ if (to_all) {
+ int i, unum;
+ for (unum = SHM->number, i = 0; i < unum; i++) {
+ if (bad_user_id(SHM->userid[i]))
continue;
id = SHM->userid[i];
give_id_money(id, money, fp2, tt, now);
}
- // something wrong @_@
- //give_money_post("全站使用者", atoi(money) );
+ //something wrong @ _ @
+ //give_money_post("全站使用者", atoi(money));
} else {
- if(!(fp = fopen("etc/givemoney.txt", "r+"))) {
+ if (!(fp = fopen("etc/givemoney.txt", "r+"))) {
fclose(fp2);
return 1;
}
- while(fgets(buf, 255, fp)) {
- clear();
+ while (fgets(buf, 255, fp)) {
+ clear();
if (!(ptr = strchr(buf, ':')))
continue;
*ptr = '\0';
id = buf;
mn = ptr + 1;
give_id_money(id, atoi(mn), fp2, tt, now);
- give_money_post(id, atoi(mn) );
+ give_money_post(id, atoi(mn));
}
fclose(fp);
}
-
+
fclose(fp2);
pressanykey();
return FULLUPDATE;