summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-07-31 14:23:59 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-07-31 14:23:59 +0800
commit19dd0c8429199516b0c230829b268f3634b01050 (patch)
tree85b2ea5dd22b25cbe36f0b12307545f50070f397
parent72f887a335100714f89c8b80b0ababc4e1839067 (diff)
downloadpttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.gz
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.bz2
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.lz
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.xz
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.zst
pttbbs-19dd0c8429199516b0c230829b268f3634b01050.zip
* security update: change cross_post hotkey from (x) to (^X)
Ref: #1CKQyyQ8 (SYSOP), some people put hot key sequence which would cause a cross_post. git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5092 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/bbs.c45
-rw-r--r--pttbbs/mbbsd/read.c10
-rw-r--r--pttbbs/sample/etc/board.help4
3 files changed, 34 insertions, 25 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index 9fd03a34..22857bfd 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -1720,6 +1720,13 @@ cp_IsHiddenBoard(const boardheader_t *bp)
}
static int
+old_cross_post(int ent, fileheader_t * fhdr, const char *direct)
+{
+ vmsg("為了避免您誤按,轉錄按鍵已改為 Ctrl-X");
+ return PARTUPDATE;
+}
+
+static int
cross_post(int ent, fileheader_t * fhdr, const char *direct)
{
char xboard[20], fname[PATHLEN], xfpath[PATHLEN], xtitle[80];
@@ -1746,6 +1753,26 @@ cross_post(int ent, fileheader_t * fhdr, const char *direct)
return FULLUPDATE;
}
+ // XXX TODO 為避免違法使用者大量對申訴板轉文,限定每次發文量。
+ if (HasUserPerm(PERM_VIOLATELAW))
+ {
+ static int violatecp = 0;
+ if (violatecp++ >= MAX_CROSSNUM)
+ return DONOTHING;
+ }
+
+ // prompt user what he's going to do now.
+ move(2, 0);
+ if (is_BM_cache(currbid)) {
+ SOLVE_ANSI_CACHE();
+ clrtoeol();
+ outs("準備進行文章轉錄。板主要置底文章請改按 "
+ ANSI_COLOR(1;31) "_" ANSI_RESET " (壓住 "
+ ANSI_COLOR(1;36) "Shift" ANSI_RESET " 再按 "
+ ANSI_COLOR(1;36) "-" ANSI_RESET
+ " )\n");
+ }
+
#ifdef USE_AUTOCPLOG
// anti-crosspost spammers
//
@@ -1763,22 +1790,12 @@ cross_post(int ent, fileheader_t * fhdr, const char *direct)
}
#endif // USE_AUTOCPLOG
- // XXX TODO 為避免違法使用者大量對申訴板轉文,限定每次發文量。
- if (HasUserPerm(PERM_VIOLATELAW))
- {
- static int violatecp = 0;
- if (violatecp++ >= MAX_CROSSNUM)
- return DONOTHING;
- }
-
- move(2, 0);
- clrtoeol();
- if (postrecord.times > 1)
- {
+ if (postrecord.times > 1) {
outs(ANSI_COLOR(1;31)
"請注意: 若過量重複轉錄將視為洗板,導致被開罰單停權。\n" ANSI_RESET
"若有特別需求請洽各板主,請他們幫你轉文。\n\n");
}
+
move(1, 0);
CompleteBoard("轉錄本文章於看板:", xboard);
@@ -3849,7 +3866,7 @@ const onekey_t read_comms[] = {
{ 0, NULL }, // Ctrl('U')
{ 0, do_post_vote }, // Ctrl('V')
{ 0, whereami }, // Ctrl('W')
- { 1, push_bottom }, // Ctrl('X')
+ { 1, cross_post }, // Ctrl('X')
{ 0, NULL }, // Ctrl('Y')
{ 0, NULL }, // Ctrl('Z') 26 // 現在給 ZA 用。
{ 0, NULL }, { 0, NULL }, { 0, NULL }, { 0, NULL }, { 0, NULL },
@@ -3925,7 +3942,7 @@ const onekey_t read_comms[] = {
#endif
{ 0, NULL }, // 'v'
{ 1, b_call_in }, // 'w'
- { 1, cross_post }, // 'x'
+ { 1, old_cross_post }, // 'x'
{ 1, reply_post }, // 'y'
{ 0, b_man }, // 'z' 122
};
diff --git a/pttbbs/mbbsd/read.c b/pttbbs/mbbsd/read.c
index 1454b9ef..20fef447 100644
--- a/pttbbs/mbbsd/read.c
+++ b/pttbbs/mbbsd/read.c
@@ -795,14 +795,6 @@ i_read_key(const onekey_t * rcmdlist, keeploc_t * locmem,
new_top = 10; // default 10
switch (ch) {
case Ctrl('Z'):
- // notify new usage
- // only BM will need this information.
- if ((currstat != RMAIL) && (currmode & MODE_BOARD))
- {
- move(b_lines-2, 0); clrtobot();
- outs(ANSI_COLOR(1;33) "置底的功\能鍵已改為 _ (shift-) 或 Ctrl-X。\n"
- "原 Ctrl-Z 現在是快速切換鍵,可在下列區域中切換 (按下對應按鍵即可):" ANSI_RESET);
- }
mode = FULLUPDATE;
if (ZA_Select())
mode = DOQUIT;
@@ -1326,7 +1318,7 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (),
" (R)回信 (x)站內轉寄 (y)回群組信 (d/D)刪信 (^P)寄發新信 \t(←/q)離開");
else
vs_footer(" 文章選讀 ",
- " (y)回應(X)推文(x)轉錄 (=[]<>)相關主題(/?a)搜尋標題/作者 (b)進板畫面");
+ " (y)回應(X)推文(^X)轉錄 (=[]<>)相關主題(/?a)找標題/作者 (b)進板畫面");
break;
case TITLE_REDRAW:
diff --git a/pttbbs/sample/etc/board.help b/pttbbs/sample/etc/board.help
index 7b21fc7d..84897f2b 100644
--- a/pttbbs/sample/etc/board.help
+++ b/pttbbs/sample/etc/board.help
@@ -4,7 +4,7 @@
(k/↑)/(j/↓) 上移/下移一篇文章 (^B/PgUp)(^F/PgDn) 下移/下移一頁
(數字鍵) 跳到指定號碼的文章 (Home)/(End/$) 跳到首篇/末篇文章
(r)(→) 閱讀此篇文章 (=[]<>-+S) 主題式閱讀
- (^P)/(y)/(X) 發表/回覆/推薦文章 (F/U)/(x) 轉寄至信箱/轉錄至其它看板
+ (^P)/(y)/(X) 發表/回覆/推薦文章 (F/U)/(^X) 轉寄至信箱/轉錄至其它看板
【 進階命令 】
(/)(?)/(a)/(Z) 搜尋 關鍵字/作者/推文數 (^H)/(!) 只列主要標題/不列關鍵字
@@ -14,7 +14,7 @@
(d)/(E) 刪文/重編文章 (I) 查詢看板設定(隱藏,推文,..)
【 板主命令 】
- (M/o) 舉行投票/編輯投票名單 (m/c/g/^Z) 保留/選錄精華/文摘/置底
+ (M/o) 舉行投票/編輯投票名單 (m/c/g/_) 保留/選錄精華/文摘/置底
(D) 刪除一段範圍的文章 (Y) 取消推薦文章
(T/B) 重編文章標題/重編看板標題 (t/^D) 標記文章/砍除標記的文章
(^G) 舉辦賭盤/停止下注/開獎 (W) 編進板畫面