作者chwaian.bbs@processor.tfcis.org (無言) 看板: Maple_itoc
標題[功能]新聞標題放到動態看板
時間動力核心 (04/26/04 16:54:39 Mon) Updated: 2004/04/26
要先做精華區這篇
[功能] enews-open.c 奇摩新聞轉至看板
idea從WD的cna而來
不過後來我發現這個功能 要在itoc的版本上實現
還蠻容易的 因為itoc的版本本來就有抓新聞的功能
只要從舊有程式 拿出來用即可
: crontab -e 加入這一行
20 * * * * bin/cna > /dev/null 2>&1
: src/util/Makefile
EXE = ..... cna
: src/util/cna.c 新增這程式
/*-------------------------------------------------------*/
/* cna.c ( NTHU CS MapleBBS Ver 3.10 ) */
/*-------------------------------------------------------*/
/* target : 新聞標題放到動態看板 */
/* create : 02/01/27 */
/* update : / / */
/* author : chwaian.bbs@processor.tfcis.org */
/*-------------------------------------------------------*/
#include "bbs.h"
#define MAX_ENEWS 16
static char title[MAX_ENEWS][TTLEN + 1]; /* 本分類新聞的所有標題 */
static void
enews_fpath(fpath, kind, fname)
char *fpath;
char kind;
char *fname;
{
sprintf(fpath, "run/kimo/%c/%s", kind, fname);
}
int
main()
{
char kind;
char fpath[64];
char class[12][5] =
{
"政治", "社會", "國際", "兩岸", "財經", "影視",
"體育", "生活", "休閒", "健康", "科技", "新奇"
};
// 先在 note 精華區的動態看板新增十二篇文章,並按 S 得知檔案名稱,抄來這裡
char filename[12][11] =
{
"5/A108NLL5", "L/A108NLLL", "A/A108NLMA", "M/A108NLMM",
"3/A108NLN3", "G/A108NLNG", "S/A108NLNS", "6/A108NLO6",
"H/A108NLOH", "S/A108NLOS", "7/A108NLP7", "J/A108NLPJ"
};
FILE *fp, *fp2;
ENEWS enews;
struct tm *ptime;
time_t now;
int color, i, j;
chdir(BBSHOME);
for (kind = 'A'; kind <= 'L'; kind++)
{
color = 1;
j = 0;
enews_fpath(fpath, kind, ".ENEWS");
if (!(fp = fopen(fpath, "r")))
return;
while (fread(&enews, sizeof(ENEWS), 1, fp) == 1 && j < MAX_ENEWS)
{
strcpy(title[j], enews.title);
j++;
}
sprintf(fpath, "gem/brd/%s/%s", BN_CAMERA, filename[kind - 'A']);
if ((fp2 = fopen(fpath, "w+")) != NULL)
{
time(&now);
i = now % 8 ;
ptime = localtime(&now);
fprintf(fp2, "\033[1;37m◇\033[36m──\033[33;41m奇摩新聞快報"
"\033[36;40m──今日\033[37m%s\033[36m類新聞─────\033[31m"
"最後更新時間:\033[37m%02d/%02d %02d:%02d\033[36m─\033[37m◇\033[m\n",
class[kind - 'A'], ptime->tm_mon + 1,ptime->tm_mday,
ptime->tm_hour, ptime->tm_min);
for(j = 0 ; j < 9 ; j++)
{
fprintf(fp2, "\033[1;3%dm %d %s\033[m\n", color, j + 1, title[i]);
color = ((color+1)%7) + 1 ;
i++ ;
}
fprintf(fp2,"\033[1;37m◇\033[36m─────────────────"
"\033[33;42m欲知詳細新聞內容,請見 \033[36m%s \033[33m板\033[36;40m─"
"\033[37m◇\033[m\n",
"Kimo_News");
fclose(fp2);
}
fclose(fp);
}
return 0;
}
就會在動態看板上show出新聞標題
◇──奇摩新聞快報──今日體育類新聞─────最後更新時間:04/26 16:45─◇
1 BALCO承認提供禁藥給邦斯
2 英超-阿森納射手亨利連續第二年當選PFA年度最佳球員
3 意甲-一球迷在國米賽後從聖西羅球場三層看台跌落身亡
4 NBA-帕克發威率馬刺4-0淘汰灰熊,率先躋身西部聯盟四強
5 NBA》馬龍快遞30分 湖人聽牌
6 NBA》籃網、溜馬、馬剌 直落四晉二輪
7 NBA》年度第一隊 鄧肯連七上榜
8 旅美球星》七局10K無失分 王建民首勝
9 NBA-馬丁、基德勢不可當,籃網4-0橫掃尼克晉級東部準決賽
◇─────────────────欲知詳細新聞內容,請見 Kimo_News 板─◇
--
╭┼ Origin: Maple-itoc˙動力核心 processor.tfcis.org
┼╯ Author: chwaian 從 61-216-218-91.dynamic.hinet.net 發表精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻