From c6ce13457f0f714877bf0d3c0b6fcb59260c5092 Mon Sep 17 00:00:00 2001 From: victor Date: Sat, 13 Aug 2005 05:06:49 +0000 Subject: remove interface to ``train schedule information service'' git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3031 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/Makefile | 2 +- mbbsd/menu.c | 2 - mbbsd/page.c | 156 ------------------------------------------------ util/railway_wrapper.pl | 119 ------------------------------------ 4 files changed, 1 insertion(+), 278 deletions(-) delete mode 100644 mbbsd/page.c delete mode 100755 util/railway_wrapper.pl diff --git a/mbbsd/Makefile b/mbbsd/Makefile index d06ad63d..2e5637ab 100644 --- a/mbbsd/Makefile +++ b/mbbsd/Makefile @@ -12,7 +12,7 @@ PROG= mbbsd OBJS= admin.o announce.o args.o assess.o bbs.o board.o cache.o cal.o card.o\ chat.o chc.o chc_tab.o chicken.o convert.o crypt.o dark.o edit.o fav.o friend.o gamble.o\ gomo.o guess.o indict.o io.o kaede.o lovepaper.o mail.o mbbsd.o menu.o\ - more.o name.o osdep.o othello.o page.o read.o record.o register.o\ + more.o name.o osdep.o othello.o read.o record.o register.o\ screen.o stuff.o talk.o term.o topsong.o user.o brc.o vice.o vote.o\ xyz.o voteboard.o syspost.o var.o passwd.o calendar.o go.o file.o \ pmore.o chess.o diff --git a/mbbsd/menu.c b/mbbsd/menu.c index 2a8b176d..770cf71a 100644 --- a/mbbsd/menu.c +++ b/mbbsd/menu.c @@ -621,8 +621,6 @@ static const commands_t slist[] = { "【" ANSI_COLOR(1;33) " 趣味大字典 " ANSI_RESET "】"}, {x_mrtmap, 0, "22MRTmap " "【" ANSI_COLOR(1;34) " 捷運地圖 " ANSI_RESET "】"}, - {main_railway, PERM_LOGINOK, "33Railway " - "【" ANSI_COLOR(1;32) " 火車表查詢 " ANSI_RESET "】"}, {NULL, 0, NULL} }; diff --git a/mbbsd/page.c b/mbbsd/page.c deleted file mode 100644 index 16b707d4..00000000 --- a/mbbsd/page.c +++ /dev/null @@ -1,156 +0,0 @@ -/* $Id$ */ -#include "bbs.h" - -#define hpressanykey(a) {move(22, 0); outs(a); pressanykey();} -#define TITLE ANSI_COLOR(1;37;45) " 火車查詢系統 " ANSI_COLOR(1;44;33) "原作者:Heat" ANSI_RESET - -static void -print_station(const char * const addr[6][100], int path, int *line, int *num) -{ - int i; - - *num = 0; - move(*line,0); - do{ - for(i=0; i<7 && addr[path - 1][*num]!=NULL; i++){ - prints(" %2d.%-6s", (*num)+1, addr[path - 1][*num]); - (*num)++; - } - outc('\n'); - (*line)++; - }while(i==7); -} - -int -main_railway(void) -{ - fileheader_t mhdr; - char genbuf[200]; - int from, to, time_go, time_reach, date, path; - int line, station_num; - char tt[2], type[2]; - char command[256], buf[8]; - static const char * const addr[6][100] = { - { - "基隆", "八堵", "七堵", "五堵", "汐止", "南港", "松山", "台北", "萬華", - "板橋", "樹林", "山佳", "鶯歌", "桃園", "內壢", "中壢", "埔心", "楊梅", - "湖口", "新豐", "竹北", "新竹", "香山", "崎頂", "竹南", "造橋", "豐富", - "談文", "大山", "後龍", "龍港", "白沙屯", "新埔", "通霄", "苑裡", - "日南", "大甲", "臺中港", "清水", "沙鹿", "龍井", "大肚", "追分", - "苗栗", "南勢", "銅鑼", "三義", "勝興", "泰安", "后里", "豐原", "潭子", - "台中", "烏日", "成功\", "彰化", "花壇", "員林", "永靖", "社頭", - "田中", "二水", "林內", "石榴", "斗六", "斗南", "石龜", "大林", - "民雄", "嘉義", "水上", "南靖", "後壁", "新營", "柳營", "林鳳營", - "隆田", "拔林", "善化", "新市", "永康", "台南", "保安", "中洲", - "大湖", "路竹", "岡山", "橋頭", "楠梓", "左營", "高雄", "鳳山", - "九曲堂", "屏東", NULL - }, - { - "樹林", "板橋", "萬華", "台北", "松山", "南港", "汐止", "基隆", "八堵", - "暖暖", "四腳亭", "瑞芳", "侯硐", "三貂嶺", "牡丹", "雙溪", "貢寮", - "福隆", "石城", "大里", "大溪", "龜山", "外澳", "頭城", "頂埔", "礁溪", - "四城", "宜蘭", "二結", "中里", "羅東", "冬山", "新馬", "蘇澳新站", - "蘇澳", "永樂", "東澳", "南澳", "武塔", "漢本", "和平", "和仁", "崇德", - "新城", "景美", "北埔", "花蓮", "吉安", "志學", "平和", "壽豐", "豐田", - "溪口", "南平", "鳳林", "萬榮", "光復", "大富", "富源", "瑞北", "瑞穗", - "三民", "玉里", "安通", "東里", "東竹", "富里", "池上", "海瑞", "關山", - "月美", "瑞和", "瑞源", "鹿野", "山里", "台東", NULL - }, - { - "高雄", "鳳山", "後庄", "九曲堂", "六塊厝", "屏東", "歸來", "麟洛", - "西勢", "竹田", "潮州", "崁頂", "南州", "鎮安", "林邊", "佳冬", "東海", - "枋寮", "加祿", "內獅", "枋山", "古莊", "大武", "瀧溪", "多良", "金崙", - "太麻里", "知本", "康樂", "台東", NULL - }, - { - "八堵", "暖暖", "四腳亭", "瑞芳", "侯硐", "三貂嶺", "大華", "十分", - "望古", "嶺腳", "平溪", "菁桐", NULL - }, - { - "新竹", "竹中", "上員", "榮華", "竹東", "橫山", "九讚頭", "合興", "南河", - "內灣", NULL - }, - { - "台中", "烏日", "成功\", "彰化", "花壇", "員林", "永靖", "社頭", "田中", - "二水", "源泉", "濁水", "龍泉", "集集", "水里", "車埕", NULL - } - }; - - setutmpmode(RAIL_WAY); - clear(); - move(0, 25); - outs(TITLE); - move(1, 0); - - getdata(3, 0, ANSI_COLOR(1;35) "你確定要搜尋嗎?[y/n]:" ANSI_RESET, buf, 2, LCECHO); - if (buf[0] != 'y' && buf[0] != 'Y') - return 0; - outs(ANSI_COLOR(1;33) "1.西部幹線(含台中線) 2.東部幹線(含北迴線)\n"); - outs(ANSI_COLOR(1;33) "3.南迴線 4.平溪線 5.內灣線 6.集集線\n"); - while (1) - if (getdata(7, 0, ANSI_COLOR(1;35) "請選擇路線(1-6):" ANSI_RESET, buf, 2, LCECHO) && - (path = atoi(buf)) >= 1 && path <= 6) - break; - - clear(); - move(0, 25); - outs(TITLE); - line = 3; - print_station(addr, path, &line, &station_num); - sprintf(genbuf, ANSI_COLOR(1;35) "請輸入起站(1-%d):" ANSI_RESET, station_num); - while (1) - if (getdata(line, 0, genbuf, buf, 3, LCECHO) && (from = atoi(buf)) >= 1 && from <= station_num) - break; - sprintf(genbuf, ANSI_COLOR(1;35) "請輸入終站(1-%d):" ANSI_RESET, station_num); - while (1) - if (getdata(line, 40, genbuf, buf, 3, LCECHO) && (to = atoi(buf)) >= 1 && to <= station_num) - break; - line++; - - while (1) - if (getdata(line, 0, ANSI_COLOR(1;35) "請輸入時間區段(0-23) 由:" ANSI_RESET, - buf, 3, LCECHO) && - (time_go = atoi(buf)) >= 0 && time_go <= 23) - break; - while (1) - if (getdata(line, 40, ANSI_COLOR(1;35) "到:" ANSI_RESET, buf, 3, LCECHO) && - (time_reach = atoi(buf)) >= 0 && time_reach <= 23) - break; - line++; - if (path<=3){ - while (1) - if (getdata(line, 0, ANSI_COLOR(1;35) "想查詢 1:對號快車 2:普通平快" ANSI_RESET, - type, 2, LCECHO) && (type[0] == '1' || type[0] == '2')) - break; - line++; - } - while (1) - if (getdata(line, 0, ANSI_COLOR(1;35) "欲查詢 1:出發時間 2:到達時間" ANSI_RESET, - tt, sizeof(tt), LCECHO) && - (tt[0] == '1' || tt[0] == '2')) - break; - line++; - while (1) - if (getdata(line, 0, ANSI_COLOR(1;35) "請輸入欲查詢日期(0-29)天後" ANSI_RESET, - buf, 3, LCECHO) && (date = atoi(buf))>=0 && date<=29) - break; - line++; - - sethomepath(genbuf, cuser.userid); - stampfile(genbuf, &mhdr); - strlcpy(mhdr.owner, "Ptt搜尋器", sizeof(mhdr.owner)); - strncpy(mhdr.title, "火車時刻搜尋結果", TTLEN); - - snprintf(command, sizeof(command), "echo \"path=%d from-station=%s to-station=%s" - " from-time=%02d to-time=%02d tt=%s type=%s date=%d\" | "BBSHOME"/bin/railway_wrapper.pl > %s", - path, addr[path - 1][from - 1], addr[path - 1][to - 1], time_go, time_reach, - (tt[0] == '1') ? "start" : "arriv", - (type[0] == '1') ? "fast" : "slow", date, genbuf); - - system(command); - sethomedir(genbuf, cuser.userid); - if (append_record(genbuf, &mhdr, sizeof(mhdr)) == -1) - return -1; - hpressanykey(ANSI_COLOR(1;31) "我們會把搜尋結果很快地寄給你唷 ^_^" ANSI_RESET); - return 0; -} diff --git a/util/railway_wrapper.pl b/util/railway_wrapper.pl deleted file mode 100755 index b6885173..00000000 --- a/util/railway_wrapper.pl +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/perl -# -# 您可以使用這個檔案應付鐵路局網址的異動 -# 或是以擅於字串處理的 perl 修正以下程式碼 :) -# -#VictorHsieh 2003.02.11 - -use lib '/home/bbs/bin'; -use LocalVars; -use vars qw/ %opt %station_num @arg $command $addr/; -use strict; - -$addr = "http://passenger.tra.gov.tw/ap/index.asp"; - -@arg = split ' ', ; -map { /(.+)=(.+)/ and $opt{$1} = $2 } grep /.+=.+/, @arg; - -station_init(); -translate(); - -$command = "MIval=Train_Time&encode=Big5&action=on"; -map { $command .= "&$_=$opt{$_}"} keys %opt; -exec "$LYNX -dump -assume_charset=big5 -nolist \"$addr?$command\""; - -# 將 page.c 中的格式轉為鐵路局所使用的格式 -sub translate{ - change_opt('from-station', 'Station1'); - change_opt('to-station', 'Station2'); - change_opt('from-time', 'From_Time'); - change_opt('to-time', 'To_Time'); - change_opt('type', 'Type'); - change_opt('tt', 'Time'); - change_opt('date','Departure_Date'); - change_opt('path', 'line'); -} - -# 轉換參數的表示法 -sub change_opt{ - my ($old, $new) = @_; - if(defined $opt{$old}){ - if( $old =~ /station/ ){ - $opt{$old} = $station_num{$opt{$old}}; - } - elsif( $old =~ /type/ ){ - $opt{$old} = ($opt{$old} eq 'fast')? 'F' : 'S'; - } - elsif( $old =~ /tt/ ){ - $opt{$old} = ($opt{$old} eq 'start')? 'D' : 'A'; - } - elsif( $old =~ /date/ ){ - my ($sec, $min, $hour, $mday, $mon, $year) = gmtime; - $mday = $mday + $opt{$old}; - $mon++; - $opt{$old} = join '/', - ($year+1900, - ($mon>9)? $mon : "0$mon", - ($mday>9)? $mday : "0$mday"); - } - elsif( $old =~ /path/ ){ - my @line = qw/ mainwest maineast mainsouth pin innerbay gg/; - $opt{$old} = $line[$opt{$old}-1]; - } - - $opt{$new} = $opt{$old} and delete $opt{$old}; - } -} - -# 各站代碼對應 -sub station_init{ - %station_num = ( - "基隆" => 1001, "八堵" => 1002, "七堵" => 1003, "五堵" => 1004, - "汐止" => 1005, "南港" => 1006, "松山" => 1007, "台北" => 1008, - "萬華" => 1009, "板橋" => 1011, "樹林" => 1012, "山佳" => 1013, - "鶯歌" => 1014, "桃園" => 1015, "內壢" => 1016, "中壢" => 1017, - "埔心" => 1018, "楊梅" => 1019, "富岡" => 1020, "湖口" => 1021, - "新豐" => 1022, "竹北" => 1023, "新竹" => 1025, "香山" => 1026, - "崎頂" => 1027, "竹南" => 1028, "談文" => 1102, "大山" => 1104, - "後龍" => 1105, "龍港" => 1106, "白沙屯" => 1107, "新埔" => 1108, - "通霄" => 1109, "苑裡" => 1110, "日南" => 1111, "大甲" => 1112, - "臺中港" => 1113, "清水" => 1114, "沙鹿" => 1115, "龍井" => 1116, - "大肚" => 1117, "追分" => 1118, "彰化" => 1120, "花壇" => 1202, - "員林" => 1203, "永靖" => 1204, "社頭" => 1205, "田中" => 1206, - "二水" => 1207, "林內" => 1208, "石榴" => 1209, "斗六" => 1210, - "斗南" => 1211, "石龜" => 1212, "大林" => 1213, "民雄" => 1214, - "嘉義" => 1215, "水上" => 1217, "南靖" => 1218, "後壁" => 1219, - "新營" => 1220, "柳營" => 1221, "林鳳營" => 1222, "隆田" => 1223, - "拔林" => 1224, "善化" => 1225, "新市" => 1226, "永康" => 1227, - "台南" => 1228, "保安" => 1229, "中洲" => 1230, "大湖" => 1231, - "路竹" => 1232, "岡山" => 1233, "橋頭" => 1234, "楠梓" => 1235, - "左營" => 1236, "高雄" => 1238, "大橋" => 1239, "造橋" => 1302, - "豐富" => 1304, "苗栗" => 1305, "南勢" => 1307, "銅鑼" => 1308, - "三義" => 1310, "泰安" => 1314, "后里" => 1315, "豐原" => 1317, - "潭子" => 1318, "台中" => 1319, "烏日" => 1320, "成功\" => 1321, - "大慶" => 1322, "太原" => 1323, "鳳山" => 1402, "後庄" => 1403, - "九曲堂" => 1404, "六塊厝" => 1405, "屏東" => 1406, "吉安" => 1602, - "志學" => 1604, "平和" => 1605, "壽豐" => 1606, "豐田" => 1607, - "溪口" => 1608, "南平" => 1609, "鳳林" => 1610, "萬榮" => 1611, - "光復" => 1612, "大富" => 1613, "富源" => 1614, "瑞北" => 1615, - "瑞穗" => 1616, "三民" => 1617, "玉里" => 1619, "安通" => 1620, - "東里" => 1621, "東竹" => 1622, "富里" => 1623, "池上" => 1624, - "海瑞" => 1625, "關山" => 1626, "月美" => 1627, "瑞和" => 1628, - "瑞源" => 1629, "鹿野" => 1630, "山里" => 1631, "台東" => 1632, - "永樂" => 1703, "東澳" => 1704, "南澳" => 1705, "武塔" => 1706, - "漢本" => 1708, "和平" => 1709, "和仁" => 1710, "崇德" => 1711, - "新城" => 1712, "景美" => 1713, "北埔" => 1714, "花蓮" => 1715, - "暖暖" => 1802, "四腳亭" => 1803, "瑞芳" => 1804, "侯硐" => 1805, - "三貂嶺" => 1806, "牡丹" => 1807, "雙溪" => 1808, "貢寮" => 1809, - "福隆" => 1810, "石城" => 1811, "大里" => 1812, "大溪" => 1813, - "龜山" => 1814, "外澳" => 1815, "頭城" => 1816, "頂埔" => 1817, - "礁溪" => 1818, "四城" => 1819, "宜蘭" => 1820, "二結" => 1821, - "中里" => 1822, "羅東" => 1823, "冬山" => 1824, "新馬" => 1825, - "蘇澳新站" => 1826, "蘇澳" => 1827, "大華" => 1903, "十分" => 1904, - "望古" => 1905, "嶺腳" => 1906, "平溪" => 1907, "菁桐 " => 1908, - "竹中" => 2203, "上員" => 2204, "竹東" => 2205, "橫山" => 2206, - "九讚頭" => 2207, "合興" => 2208, "南河" => 2209, "內灣" => 2210, - "榮華" => 2211, "源泉" => 2702, "濁水" => 2703, "龍泉" => 2704, - "集集" => 2705, "水里" => 2706, "車埕" => 2707, - ); -} -- cgit v1.2.3