1 : #!/bin/wel¶
2 : ¶
3 : /* file: notice.wel¶
4 : ¶
5 : 공지사항 프로그램 (author: 서광현)¶
6 : (이 프로그램은 게시판의 목록을 공지사항으로 사용할 때 필요함)¶
7 : ¶
8 : Copyright (c) 2001/03/25 by Wesoft¶
9 : All Rights Reserved.¶
10 : */¶
11 : ¶
12 : htmlquery("GET");¶
13 : pagerec= val(n);¶
14 : if(pagerec==0 || pagerec>15) pagerec= 15; // 최대 출력 개수¶
15 : common_trunc= val(trunc);¶
16 : common_skin_code= skin;¶
17 : notice_form= fm;¶
18 : notice_view_width= val(w);¶
19 : notice_view_height= val(h);¶
20 : if(nc=="") newcolor= "#f00000"; ¶
21 : else if(nc=="off") newcolor= "off";¶
22 : else newcolor= "#" ~ nc;¶
23 : ¶
24 : prg_title= "공지사항";¶
25 : break_on= -1;¶
26 : if(include("include/board.inc")!=OK) return;¶
27 : ¶
28 : USAGE=¶
29 : {[<br><br>¶
30 : 사용법: notice.wel?n=①&trunc=②&skin=③&fm=④&w=⑤&h=⑥&db1=⑦-1& ... &dbN=⑦-N&tr1=⑧-1& ... &trN=⑧-N&sk1=⑨-1& ... &skN=⑨-N&nc=ⓐ<br><br>¶
31 : ① ----> 출력할 목록 개수: 생략시 10개가 출력됨<br>¶
32 : ② ----> 공통적용 제목 문자 제한수: 생략하면 제목의 문자수의 제한을 하지 않음<br>¶
33 : ③ ----> 공통적용 스킨 코드: 생략하면 게시판에서 설정된 스킨이 적용됨<br>¶
34 : (스킨코드 0번은 공지사항 배경이 투명하게 출력, 그 외는 게시판과 같음)<br>¶
35 : ④ ----> 출력할 공지사항 폼 이름: welboard2/notice 에 저장한 html문서<br>¶
36 : ⑤ ----> 공지사항 보기 창의 가로 크기(100보다 작거나 생략하면 500)<br>¶
37 : ⑥ ----> 공지사항 보기 창의 세로 크기(100보다 작거나 생략하면 400)<br>¶
38 : ⑦-1 --> 출력할 db명#1: 게시판 db명#1<br>¶
39 : ⑦-N --> 출력할 db명#N: 게시판 db명#N<br>¶
40 : ⑧-1 --> 개별적용 제목 문자 제한수#1<br>¶
41 : ⑧-N --> 개별적용 제목 문자 제한수#N<br>¶
42 : ⑨-1 --> 개별적용 스킨 코드#1<br>¶
43 : ⑨-N --> 개별적용 스킨 코드#N<br>¶
44 : ⓐ ----> 최근 7일에 작성된 게시물 제목 색상(초기값: f00000, off이면 기능무효)¶
45 : ]}¶
46 : ¶
47 : if(notice_form=="")¶
48 : {¶
49 : MSG1= "공지사항 출력 폼 명칭 오류";¶
50 : MSG2= "공지사항의 출력 폼의 이름을 쿼리로 전달해야합니다." ~ USAGE;¶
51 : formdump(message_form);¶
52 : return;¶
53 : }¶
54 : if(mysql_connection("")==MYSQL_ERR) return;¶
55 : notice_sub= "include/notice.sub";¶
56 : str_formout= "_notice=strform(\"{&include(notice_sub);}\");return;";¶
57 : str_href= "_href=\"board.wel?db=\"~";¶
58 : str_totcnt= "_cnt=tot_recnt";¶
59 : str_boardname= "_name=board_name";¶
60 : print_header= "1";¶
61 : no_disconnect= 1; // 에러시 MySQL 연결해제 방지¶
62 : dbcnt= void_db= 0;¶
63 : bf_date= date(1,-7); // 오늘 부터 7일전¶
64 : while(1)¶
65 : {¶
66 : dbcnt++;¶
67 : dbname_var= "db"~dbcnt;¶
68 : db= parser(dbname_var);¶
69 : if(db=="")¶
70 : {¶
71 : ++void_db;¶
72 : if(void_db<=10) continue; // 징검다리 db 순번은 +10까지만 검사함¶
73 : break;¶
74 : }¶
75 : void_db= 0;¶
76 : mytable= db;¶
77 : tr_val= parser("tr"~dbcnt);¶
78 : if(tr_val=="") trunc= common_trunc; else trunc= val(tr_val);¶
79 : sk_val= parser("sk"~dbcnt);¶
80 : if(sk_val=="") sk= common_skin_code; else sk= sk_val;¶
81 : tot_recnt= board_name= "";¶
82 : parser(dbname_var~str_formout);¶
83 : parser(dbname_var~str_href~dbname_var);¶
84 : parser(dbname_var~str_totcnt);¶
85 : dots= 0;¶
86 : if(trunc>0)¶
87 : {¶
88 : if(len(board_name)>trunc)¶
89 : {¶
90 : board_name= left(board_name, trunc, 1), dots= 1;¶
91 : }¶
92 : }¶
93 : board_name= strchange(board_name, html_fch, html_rch);¶
94 : if(dots==1) board_name~= "<font color=#f00000>...</font>";¶
95 : parser(dbname_var~str_boardname);¶
96 : print_header= "";¶
97 : }¶
98 : no_disconnect= 0; // 에러시 MySQL 연결해제 가능¶
99 : rt= formdump("notice/"~notice_form);¶
100 : if(rt==FORM_OPENERR)¶
101 : {¶
102 : MSG1= "공지사항 출력 폼 명칭 오류";¶
103 : MSG2= "welboard2/notice/" ~ notice_form¶
104 : ~ " 폼 파일을 읽을 수 없습니다!" ~ USAGE;¶
105 : formdump(message_form);¶
106 : }¶
107 : return disconnect();¶
|