enum
{
NOBODY, MANAGER, SYSOP
};
int
order_song()
{
int i=1,j,k,t ;
FILE *fp2,*fp1;
fileheader fhdr;
char src_name[24],des_name[24],say[60],uident[40];
time_t now = time(0);
char genbuf[200],fbuf[50],ans[4];
char tmpbuf[300];
clear();
check_money(200);
setutmpmode(OSONG);
move(8,34);
outs("<圖片徵求中>");
getdata(12,0,"你的名字是? ",src_name,24,DOECHO,cuser.userid);
getdata(13,0,"請輸入對方名字",des_name,24,DOECHO,0);
getdata(14,0,"你想對他說什麼?",say,60,DOECHO,0);
sprintf(fbuf,"home/%s/songtmp",cuser.userid);
fp1=fopen(fbuf,"w");
a_menu("點歌歌本","etc/SONGBOOK/",NOBODY);
if(fp2=fopen(trans_buffer,"r"))
{
i =1;
while( (fgets(genbuf,199,fp2)) !='\0' && i <= 11 )
{
{
for(j=0,k=0;j<200;j++)
{
if(!strncmp(genbuf+j,"<~Src~>",7))
{
int t ;
for(t=0;t<strlen(src_name);t++)
{
tmpbuf[k+t]=src_name[t];
}
j+=6;
k+=strlen(src_name);
}
else if(!strncmp(genbuf+j,"<~Des~>",7))
{
int t ;
for(t=0;t<strlen(des_name);t++)
{
tmpbuf[k+t]=des_name[t];
}
j+=6;
k+=strlen(des_name);
}
else if(!strncmp(genbuf+j,"<~Say~>",7))
{
int t ;
for(t=0;t<strlen(say);t++)
{
tmpbuf[k+t]=say[t];
}
j+=6;
k+=strlen(say);
}
else
{
tmpbuf[k]=genbuf[j];
k++;
}
}
fputs (tmpbuf,fp1);
}
i++;
}
}
else return;
fclose (fp2);
fclose (fp1);
clear();
if(fp1=fopen(fbuf,"r"));
{
i =1;
while( (fgets(genbuf,199,fp1)) !='\0' && i <= 11 )
{
prints(genbuf);
}
}
fclose(fp1);
move(12,0);
outs("
;31m○───────────────────○m
;33m(1)寄到使用者信箱m ;33m(2)動態看板 (q)uitm");
getdata(15,0,"你的選擇:",ans,3,DOECHO,"1");
switch(ans[0])
{
case 'N':
case 'n':
case 'Q':
case 'q':
return ;
break;
case('1'):
stand_title("心情點播機");
usercomplete(msg_uid, uident);
if (!(uident[0])) break;
sprintf(genbuf, "home/%s", uident);
stampfile(genbuf, &fhdr);
rename (fbuf,genbuf);
sprintf(fhdr.title, " %s 點給 %s ",cuser.userid,des_name);
strcpy(fhdr.owner,cuser.userid);
sprintf(genbuf, "home/%s/.DIR",uident);
append_record(genbuf, &fhdr, sizeof(fhdr));
demoney(200);
outs("點歌完成");
pressanykey();
break;
case('2'):
if(belong(FN_USSONG,cuser.userid))
{
clear();
move(12,3);
outs("你今天已經點過歌了唷!");
pressanykey();
return;
}
demoney(200);
sprintf(genbuf, "man/boards/%s", "Note");
stampfile(genbuf, &fhdr);
log_file(FN_USSONG,cuser.userid);
rename (fbuf,genbuf);
sprintf(fhdr.title, "◇ <SONG> %s 點給 %s",cuser.userid,des_name);
strcpy(fhdr.owner, "[點歌機]");
sprintf(genbuf, "man/boards/%s/.DIR", "Note");
append_record(genbuf, &fhdr, sizeof(fhdr));
outs("點歌完成");
pressanykey();
break;
default:
break;
}
}
修改 cache.c:
void
reload_pttcache()
{
if (ptt->busystate)
{
sleep(1);
}
else
{
int fd;
fileheader item;
char pbuf[256], buf[256];
FILE *fp;
int num, id, j ,maxid;
sem_init(PTTSEM_KEY,&ptt_semid);
sem_lock(SEM_ENTER,ptt_semid);
ptt->busystate = 1;
ptt->max_film = 0;
bzero(ptt->notes, sizeof ptt->notes);
setapath(pbuf, "Note");
setadir(buf, pbuf);
num = get_num_records(buf, sizeof item);
maxid=0;
for (j = 0; j <= num; j++)
if (get_record(buf, &item, sizeof item, j) != -1)
if (item.title[3] == '<' && item.title[7] == '>' )
{
id = (item.title[4] - '0') * 100 +
(item.title[5] - '0') * 10 + item.title[6] - '0';
if ( id > maxid ) maxid =id;
if (id < MAX_MOVIE)
{
if (ptt->max_film < id) ptt->max_film = id;
strcpy(ptt->notes[id], item.filename);
}
}
for (j = 0; j <= num; j++)
if (get_record(buf, &item, sizeof item, j) != -1)
if (!strncmp(item.title+3,"<SONG>",6))
{
id = maxid+1;
if ( id > maxid ) maxid =id;
if (id < MAX_MOVIE)
{
if (ptt->max_film < id) ptt->max_film = id;
strcpy(ptt->notes[id], item.filename);
}
}
ptt->max_history = ptt->max_film - 2;
if (ptt->max_history > MAX_HISTORY - 1)
ptt->max_history = MAX_HISTORY - 1;
if(ptt->max_history<0)ptt->max_history = 0;
{ FILE *fp=fopen("etc/today_is","r");
char *chr;
if(fp)
{
fgets(ptt->today_is,15,fp);
if(chr=strchr(ptt->today_is,'\n')) *chr=0;
ptt->today_is[15]=0;
fclose(fp);
}
}
/* 等所有資料更新後再設定 uptime */
ptt->uptime = ptt->touchtime;
#if !defined(_BBS_UTIL_C_)
log_usies("CACHE", "reload pttcache");
#endif
sem_lock(SEM_LEAVE,ptt_semid);
ptt->busystate = 0;
}
}
--
心靈捕手bbs
140.112.241.115
will.m1.ntu.edu.tw
看板申請最簡便,只要申請,即可試板,無須連署
歡迎各界人仕來此,設班板、小團體板,或有特色的看板
--
※ Post by yaudeh from 140.112.251.75 ...
--
╭ ║ ╭╔╮ 風與塵埃的對話電子布告欄系統 [wdbbs.ml.org] ╮
╠═║║║║║BBS ════════════════════════╣
╰ ╰╯╯╚╯ Wind & Dust Bulletin Board System [192.192.152.92] ╯