diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-02-24 00:30:53 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-02-24 00:30:53 +0800 |
commit | 826e928876e6f5e5b27335a2907a09847bbfad23 (patch) | |
tree | 064141564d65d6d8fe206842f5e15e378fcf29e9 /mbbsd | |
parent | c53646e3f2fc8678827ccc4d49e1568e3c85d20c (diff) | |
download | pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar.gz pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar.bz2 pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar.lz pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar.xz pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.tar.zst pttbbs-826e928876e6f5e5b27335a2907a09847bbfad23.zip |
- admin: improve regform UI by various feedbacks
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3943 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/admin.c | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c index 548bd40c..e1851202 100644 --- a/mbbsd/admin.c +++ b/mbbsd/admin.c @@ -1516,7 +1516,13 @@ resolve_reason(char *s, int y) } if (strlen(s) < 4) - vmsg("原因太短。"); + { + if (vmsg("原因太短。 要取消退回嗎? (y/N): ") == 'y') + { + *s = 0; + return; + } + } } while (strlen(s) < 4); } @@ -1700,6 +1706,7 @@ append_regform(const RegformEntry *pre, const char *logfn, return 1; } +// #define REGFORM_DISABLE_ONLINE_USER int handle_register_form(const char *regfile, int dryrun) @@ -1777,8 +1784,10 @@ handle_register_form(const char *regfile, int dryrun) else { if (muser.userlevel & PERM_LOGINOK) ans[i] = 'd'; +#ifdef REGFORM_DISABLE_ONLINE_USER else if (forms[i].online) ans[i] = 's'; +#endif // REGFORM_DISABLE_ONLINE_USER } // print @@ -1787,7 +1796,11 @@ handle_register_form(const char *regfile, int dryrun) i+1, (unum == 0) ? ANSI_COLOR(1;31) "D" : ( (muser.userlevel & PERM_LOGINOK) ? - ANSI_COLOR(1;33) "Y" : forms[i].online ? "s" : "."), + ANSI_COLOR(1;33) "Y" : +#ifdef REGFORM_DISABLE_ONLINE_USER + forms[i].online ? "s" : +#endif + "."), forms[i].online ? ANSI_COLOR(1;35) : ANSI_COLOR(1), forms[i].userid); @@ -1796,7 +1809,10 @@ handle_register_form(const char *regfile, int dryrun) forms[i].name, forms[i].career); move(i*2+1, 0); - prints(" %-50s%20s\n", forms[i].addr, forms[i].phone); + prints(" %s %-50s%20s\n", + (muser.userlevel & PERM_NOREGCODE) ? + ANSI_COLOR(1;31) "T" ANSI_RESET : " ", + forms[i].addr, forms[i].phone); } // display page info @@ -1883,6 +1899,8 @@ handle_register_form(const char *regfile, int dryrun) } else if (ch == 'n') { // query reject reason resolve_reason(rsn, yMsg); + if (*rsn == 0) + ch = 's'; } else ch = 's'; // filling answers @@ -1901,11 +1919,13 @@ handle_register_form(const char *regfile, int dryrun) // function keys case 'y': // accept +#ifdef REGFORM_DISABLE_ONLINE_USER if (forms[ci].online) { vmsg("暫不開放審核在線上使用者。"); break; } +#endif case 's': // skip case 'd': // delete case KEY_DEL: //delete @@ -1918,11 +1938,13 @@ handle_register_form(const char *regfile, int dryrun) break; case 'u': // undo +#ifdef REGFORM_DISABLE_ONLINE_USER if (forms[ci].online) { vmsg("暫不開放審核在線上使用者。"); break; } +#endif grayout(ci*2, ci*2+1, GRAYOUT_NORM); move_ansi(ci*2, 4); outc('.'); ans[ci] = 0; @@ -1930,15 +1952,22 @@ handle_register_form(const char *regfile, int dryrun) break; case 'n': // reject +#ifdef REGFORM_DISABLE_ONLINE_USER if (forms[ci].online) { vmsg("暫不開放審核在線上使用者。"); break; } +#endif // query for reason resolve_reason(rejects[ci], yMsg); + prompt_regform_ui(); + + if (!rejects[ci][0]) + break; + move(yMsg, 0); - prints(" %s 退回原因:\n %s\n", forms[ci].userid, rejects[ci]); + prints("退回 %s 註冊單原因:\n %s\n", forms[ci].userid, rejects[ci]); // do reject grayout(ci*2, ci*2+1, GRAYOUT_DARK); @@ -1946,7 +1975,6 @@ handle_register_form(const char *regfile, int dryrun) ans[ci] = ch; ch = 'j'; // go next - prompt_regform_ui(); break; } // switch(ch) |