diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-07-19 10:17:27 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-07-19 10:17:27 +0800 |
commit | 973416ca18dff31c158629d1f224ffc86d9d9511 (patch) | |
tree | 02e76d7453051bca00d612608cdc567882a7a013 | |
parent | 5e6b66e34c5bcdb1c135fb0e1fbd47e17d9c5ee9 (diff) | |
download | pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar.gz pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar.bz2 pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar.lz pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar.xz pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.tar.zst pttbbs-973416ca18dff31c158629d1f224ffc86d9d9511.zip |
improve byebye_bad_post ui to help users who cannot press single keys
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5373 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/user.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/pttbbs/mbbsd/user.c b/pttbbs/mbbsd/user.c index 9c3a37fa..90d725f0 100644 --- a/pttbbs/mbbsd/user.c +++ b/pttbbs/mbbsd/user.c @@ -87,6 +87,8 @@ u_loginview(void) int u_cancelbadpost(void) { int day, prev = cuser.badpost; + char ans[3]; + int pass_verify = 1; // early check. if(cuser.badpost == 0) { @@ -113,11 +115,25 @@ int u_cancelbadpost(void) return 0; } + // 某些 user 會一直失敗,原因不明;由 vmsg 改為 getdata. + clear(); // 無聊的 disclaimer... - if( vmsgf("預計劣文將由 %d 篇變為 %d 篇,確定嗎[y/N]?", prev, prev-1) != 'y' || - vmsg("我願意遵守站方規定,組規,以及板規[y/N]?")!='y' || - vmsg("我願意尊重與不歧視族群,不鬧板,尊重各板主權力[y/N]?")!='y' || - vmsg("我願意謹慎發表有意義言論,不謾罵攻擊,不跨板廣告[y/N]?")!='y' ) + mvprints(1, 0, "預計劣文將由 %d 篇變為 %d 篇,確定嗎[y/N]? ", prev, prev-1); + do { + if (vgets(ans, sizeof(ans), VGET_LOWERCASE | VGET_ASCII_ONLY) < 1 || + ans[0] != 'y') { pass_verify = 0; break; } + mvprints(3, 0, "我願意遵守站方規定,組規,以及板規[y/N]? "); + if (vgets(ans, sizeof(ans), VGET_LOWERCASE | VGET_ASCII_ONLY) < 1 || + ans[0] != 'y') { pass_verify = 0; break; } + mvprints(5, 0, "我願意尊重與不歧視族群,不鬧板,尊重各板主權力[y/N]?"); + if (vgets(ans, sizeof(ans), VGET_LOWERCASE | VGET_ASCII_ONLY) < 1 || + ans[0] != 'y') { pass_verify = 0; break; } + mvprints(7, 0, "我願意謹慎發表有意義言論,不謾罵攻擊,不跨板廣告[y/N]?"); + if (vgets(ans, sizeof(ans), VGET_LOWERCASE | VGET_ASCII_ONLY) < 1 || + ans[0] != 'y') { pass_verify = 0; break; } + } while (0); + + if(!pass_verify) { vmsg("回答有誤,刪除失敗。請仔細看清站規與系統訊息後再來申請刪除."); return 0; |