util_iboard.php 소스 | 설 명 |
include_once './lib.php'; | 메인 설정 및 library 파일을 인클루드 한다. |
[1] i보드출력형태 기본값 설정 $Table_Default_set=array( TABLE_open_function => "TABLE_open", .................... .................... ); |
[1] i보드출력형태 기본값 설정 i보드의 기본적인 출력값(출력형태,속성)을 설정한다. 여러개의 설정옵션 값이 배열변수로 저장된다. 설정 항목이 더 필요한 경우에는 배열요소를 추가해서 지정하면 된다. 각 설정옵션에 대한 설명은 아래 단원에서 설명함. |
[2] i보드출력형태 설정셋트 생성 |
[2] i보드출력형태 설정셋트 생성 실제 i보드 출력에 적용될 설정옵션을 '설정셋트' 화 한다. 설정셋트는 여러 i보드에서 공동으로 사용할 수 있게 된다. 여럿의 여행객(i보드)을 위해 다양한 형태의 교통수단(설정셋트)을 미리 준비해 놓는 것과 같다. 위 [1] 항목의 설정과 다르게 설정하고자 하는 옵션만 지정하면 된다. 지정하지 않은 옵션은 [1] 에서 지정한 값이 자동 적용된다. 설정셋트는 원하는 만큼 추가로 작성해 넣을 수 있다. |
[3] html 출력 시작 <HTML> .............. * [보드출력 지정예: 단순형태] <? iBoard_Print_Here('freeboard',$Notice_style_set); ?> * [출력 지정예: 로그인/아웃 폼] <?LoginForm_Print_Here('mymember');?> * 통합검색폼 작성예 <form>.......</form> * [보드 출력 지정예: 일반 , 앨범 등 ....] <? iBoard_Print_Here('freeboard',$Public_style_set); ?> * [카운타 정보 출력 지정예] <? board_count_print('freeboard'); ?> .............. </HTML> |
[3] html 출력 시작 실제 웹부라우저 화면에 출력될 내용을 작성한다. i보드, 회원로그인폼,카운타정보 등을 삽입하고자 하는 위치에는 해당 함수를 삽입해 주면 된다. * 보드출력 지정예: 단순형태 <? iBoard_Print_Here('freeboard',$Notice_style_set); ?> $Notice_style_set 설정셋트를 적용해서 'freeboard' 를 출력한다. $Notice_style_set 는 "[2] i보드출력형태 설정셋트생성" 에서 미리 만들어 놓은 설정값이다. 보드명을 'freeboard/databoard' 와 같이 여러개 지정하면 여러 보드가 1개 목록으로 합쳐져 출력된다.(필드구성이 동일한 보드끼리만 가능) * 출력지정 예 로그인/아웃 폼: <?LoginForm_Print_Here('mymember');?> mymember 라는 회원등록관리 보드에 연동되는 회원등록폼이 출력된다. 로그인폼 태그는 "[9] 로그인/ 로그아웃 폼 태그" 블록에 들어 있다. * 통합검색폼 출력: <form>.......</form>통함검색폼을 삽입한다. 이 검색도구는 본 소스 내에 출력 지정된 i보드들을 통합 검색 출력한다. * 보드 출력 지정예: 일반 , 앨범 등: <? iBoard_Print_Here('freeboard',$Public_style_set); ?> $Public_style_set 설정셋트를 적용해서 'freeboard' 를 출력한다. * 카운타 정보 출력예: <? board_count_print('freeboard'); ?> 'freeboard' 의 카운타 정보를 출력한다. 출력될 태그는 "[8] 보드 카운타 정보 출력" 블록에 들어 있다. |
[4] 글목록 테이블 상단 출력 function TABLE_head(){ ......... |
[4] 글목록 테이블 상단 출력 i보드출력 테이블 상단에 보드명,글등록수,방문자수 등을 출력하는 태그부분이다. 이것 대신 다른 출력형태의 function 을 추가 작성해 넣어 주고 "[2] i보드출력형태 설정셋트 생성" 에서 해당 function 을 지정해 줄 수 있다. |
[5] 글목록 테이블 시작 function TABLE_open(){........... |
[5] 글목록 테이블 시작 i보드출력 테이블의 <table ..> 태그부분이다. 이것 대신 다른 출력형태의 function 을 추가 작성해 넣어 주고 "[2] i보드출력형태 설정셋트 생성" 에서 해당 function 을 지정해 줄 수 있다. |
[6] 글목록 테이블 종료 function TABLE_close(){.......... |
[6] 글목록 테이블 종료 i보드출력 테이블의 </table> 태그부분이다. 다른 출력형태의 function 을 추가 작성해 넣어 주고 "[2] i보드출력형태 설정셋트 생성" 에서 해당 function 을 지정해 줄 수 있다. |
[7] <tr> 글목록 각 라인에 적용 function TABLE_tr(){...... |
[7] <tr> 글목록 각 라인에 적용 i보드출력 테이블의 각 행에 해당되는 <tr> 태그 부분이다. 이것 대신 다른 출력형태의 function 을 추가 작성해 넣어 주고 "[2] i보드출력형태 설정셋트 생성" 에서 해당 function 을 지정해 줄 수 있다. |
[8] 보드 카운타 정보 출력 function board_count_print($board_name){...... |
[8] 보드 카운타 정보 출력 보드카운타 정보를 출력하는 태그이다. |
[9] 로그인/ 로그아웃 폼 태그 function LoginForm_Print_Here($mboard_name){.... |
[9] 로그인/ 로그아웃 폼 태그 회원 로그인/로그아웃 폼 출력태그 이다. |
[10] 글목록 <td>셀 출력 function() 글번호 function TD_no(){......... 글제목 function TD_subject(){........ 작성자 이름 function TD_name(){............ ........... 기타 function .... |
[10] 글목록 <TD>셀 출력 i보드출력 테이블의 각 셀을 구성하는 <td>..</td><td>..</td> 부분이다. "[2] i보드출력형태 설정셋트 생성 " 항목의 TD_function_set => "" 옵션의 설정에 의해 이 <td>..</td> 들이 여럿 붙여져서 하나의 행이 구성된다. 기본적으로 들어 있는것 외에 새로 function 을 작성해 넣어 주고 해당 function 이름을 출력 설정에서 지정할 수 있다. |
|
[11] 실행function 실행 부분이다. 이 부분은 수정하지 않는 것이 좋다. |
요약 분석
위 소스구성 표에서 알 수 있듯이 util_iboard.php 가 실제 화면에 출력하는 것은 소스내의 [3] html 출력..
부분이고 그곳에 삽입할
아이템 요소(i보드,로그인폼등..)들을 만들어 내기 위해 그 외의
코드블록들이 존재한다 라고 쉽게 이해하면 된다.
[1] i보드출력형태 기본값 설정 : i보드 출력을 위한 기본값을 설정하는 블록이다.
[2] i보드출력형태 설정셋트 생성 : 실제 i보드출력시 사용할 설정셋트를 작성하는 블록이다. 기본값과 다른 설정옵션을 지정한다.
[3] html 출력 : 화면에 출력될 html 태그이다.
* i보드 삽입: <? iBoard_Print_Here('freeboard',$Notice_style_set); ?> 식으로
출력될 '보드명'과 [2]에서 작성한 '설정셋트'를 출력함수에 넣는다.
만약 2개 이상의 보드를 1개의 목록으로 믹싱한 형태로 출력시키려면
<? iBoard_Print_Here('freeboard/qaboard/databoard',$Album_style_set); ?>
식으로 / 로 구분해서 보드명을 여러개 넣으면 된다.
* 회원로그인폼 삽입 :<?LoginForm_Print_Here('mymember');?> 식으로 회원등록관리 보드명을 출력함수에 넣는다.
* 통합검색폼 삽입 : 직접 <form >...</form> 태그를 넣는다.
* 보드 카운타정보 삽입 : <? board_count_print('freeboard'); ?> 식으로 보드명을 출력함수에 넣는다.
[4] 글목록 테이블 상단 출력 : i보드 상단에 방문자수,글등록수 등의 정보를 출력하는 function
[5] 글목록 테이블 시작 : i보드 의 <table .... > 출력 function
[6] 글목록 테이블 종료 : i보드 의 </table> 출력 function
[7] <tr> 글목록 각 라인에 적용 : i보드 의 행에 적용되는 <tr..> 출력 function
[8] 보드 카운타 정보 출력 : 보드의 카운타정보를 출력 function
[9] 로그인/ 로그아웃 폼 태그 : 회원로그인/아웃 폼을 출력 function
[10] 글목록 <td>셀 출력 function() : i보드의 각 행을 구성하는 <td>..</td><td>..</td> 출력 function
[11] 실행코드 function
소스수정, 편집 작업순서
1, 전체화면 구성 : 소스내의 html 부분을 편집하여 전체적인 레이아웃을 잡는다. util_iboard.php 소스에서 직접 작업하거나
별도의 .html 파일로 작업후 태그를 복사-붙여 넣기 해도 된다. 자바스크립트 함수 부분은 원래의 것을 그대로 유지해야 한다.
2, 기본값 설정 : '[1] i보드출력형태 기본값 설정' 에서 i보드의 기본값을 설정한다.
3, 설정셋트 작성 :
'[2] i보드출력형태 설정셋트 생성' 에서 원하는 출력형태의 설정셋트를 작성한다.
4, i보드 함수 삽입 : html 부분에 i보드 출력 함수를 삽입한다. 회원등록폼, 검색폼, 등의 필요한 함수도 삽입한다.
5, 출력확인 : 부라우저에로 출력 상태를 확인하며 추가적인 작업을 완료한다.
i보드 설정 옵션
소스내의 [1] i보드출력형태 기본값 설정 , [2] i보드출력형태 설정셋트 생성 에서 사용되는 각 설정옵션에 대한 설명이다.
■ : 새로운 function 을 작성해 넣고 해당 function 이름으로 대체해 지정할 수 있다는 표시임.
● : 'none' 또는 공백(스페이스 없이)을 지정해서 해당 출력을 없앨 수 있다는 표시임.
TABLE_open_function ■
i보드 테이블 태그의 시작인 <table ....> 태그를 출력할 function 의 이름을 지정한다.
기본적으로는 'TABLE_open' 으로 되어 있는데 다른 function 을 추가로 작성해 넣고 그것을 지정해도 된다.
TABLE_head_function ■ ●
i보드 테이블 상단에 '보드명','글등록 개수','방문자수' 등의 정보를 출력할 function 이름을 지정한다.
기본적으로는 'TABLE_head' 으로 되어 있는데 다른 function 을 추가로 작성해 넣고 그것을 지정해도 된다.
TR_function ■
각 행의 <tr> 태그를 출력할 function 이름을 지정한다.
TD_function_set ■
각 행의 <td>..</td> 구성요소 function 이름들을 지정한다.
소스내의 [10] 글목록 <td>셀 출력 function() 블록을 보면 20개 이상의 여러 가지의 출력셀이 준비되어 있는데
그중에서 출력하고자 하는 function 의 이름을 슬래쉬(/) 로 구분해서 죽 붙여 넣으면 된다.
또 새로운 funnction 을 추가작성해 넣어 주고 그 function 이름을 지정해도 된다.
TABLE_close_function ■
테이블 태그 끝인 </table> 태그를 출력할 function 이름을 지정한다.
table_width ●
테이블 너비를 지정한다. 숫자로만 지정하면 픽셀단위 지정이 되고 숫자에 % 기호를 붙이면 비율로 지정된다.
subject_width ●
글제목 출력칸 (<td>제목</td>) 의 너비를 지정한다.
subject_length ●
글제목 문자열의 출력길이를 지정한다.
subject_icon ●
글제목 앞에 출력될 아이콘의 URL 을 지정한다. "http://myhome.net/img/xxicon.gif" 식으로 직접 url 주소 대입하면 된다.
index_many
목록 출력 개수를 지정한다.
cols_repeat
행의 반복출력 횟수를 지정한다.
만약, 행 설정을 [제목/이름/날짜] 로 출력되도록 설정한 상태에서
이 'cols_repeat' 를 3 으로 지정했다면 출력결과는 [제목/이름/날짜/제목/이름/날짜/제목/이름/날짜] 가 된다.
그림앨범 형태의 i보드 구성시 그림을 적절히 배치할 때에도 유용하다.
new_icon_time ●
글등록후 얼마 동안 new 아이콘이 붙게 할 것인가를 시간단위로 지정한다.
line_color
행의 가로선 색상을 지정한다.
notice_print
관리자에 의해 '공지글'로 지정된 글이 있다면 해당글을 출력 목록에 포함 시킬것인가를 지정한다.
포함 시키려면 1을 대입한다.
album_click_after
그림앨범 형식과 이미지가 출력되도록 지정한 경우 이미지를 클릭했을때의 출력동작을 지정한다.
1 : 팝업창으로 원본그림을 출력한다.
2 : 팝업창으로 본문글을 출력한다.(글목록 제외)
3 : 현재창으로 본문글을 출력한다.(글목록 포함)
4 : 아무런 동작이 없게 한다.
notice_print
관리자에 의해 '공지글'로 지정된 글이 있다면 해당글을 출력 목록에 포함 시킬것인가를 지정한다.
포함 시키려면 1을 대입한다.
index_reverse
목록 출력순서를 거꾸로 하려면 1을 대입한다.
category
특정 카테고리로 지정된 글만 출력되게 하려면 해당 카테고리 번호를 지정한다.
카테고리 번호는 보드설정페이지의 [4-14] 에서 지정한 카테고리 옵션을 지정순서에 의해 1부터 계산하면 된다.
즉 보드설정 [4-14] 에 '일반/질문/잡담/건의' 라고 카테고리를 지정해 놓았다면
'잡담' 에 해당되는 카테고리 번호는 3 이다.
config
글제목을 클릭했을때 본문출력이 되는데 이때의 본문 링크URL 에 멀티설정번호를 포함시키려면 멀티설정 번호를 지정한다.
멀티설정의 개념에 대해서는 보드설정페이지 상단의 [멀티설정] 을 참조.
mysql_where
DB 에서 보드 글목록을 select 할 때 where 절에 어떤 조건을 주고자 한다면 그 조건을 여기에 대입하면 된다.
예를 들어
* 글 조횟수가 100 이상인 글만 출력되도록 조건을 주려면 " hit>99" 을 대입한다.
* 비공개 지정된 글은 출력에서 제외 시키려면 " secret != 1 " 을 대입한다.
* 회원사진이 등록된 글만 출력시키려면 " mphoto != '' " 를 대입한다.
여러 조건을 복합적으로 지정할 때는 'and' 로 연결 시키면 된다.
'hit', 'secret' ,'name' ... 등과 같은 key 는 매뉴얼->"14 . 활용 변수/함수" 의 글목록 출력변수의 key 을 참조.
또는 종합관리->DB관리 에서 보드 글목록 테이블의 컬럼명 참조.
mysql_orderby
DB 에서 보드 글목록을 select 할 때 정렬조건 order by 절에 조건을 주고자 한다면 정렬기준 컬럼명을 여기에 대입하면 된다.
예를 들어 조회수 순으로 정렬시키려면 " hit " 를 대입하면 되고, 댓글수 순으로 정렬시키려면 " comment " 를 대입하면 된다.
무작위로 랜덤 정렬 하려면 " rand() " 를 지정하면 된다.
'hit', 'comment' ... 등과 같은 key 는 매뉴얼->"14 . 활용 변수/함수" 의 글목록 출력변수의 key 을 참조.
또는 종합관리->DB관리 에서 보드 글목록 테이블의 컬럼명 참조.
cache_sec
출력 속도를 향상시킬 수 있는 옵션이다. 0보다 큰 수를 지정하면 지정한 초단위로 캐쉬가 생성-적용된다.
글 목록수, 접속자가 수에 비례하여 출력속도는 느려 지는데 캐쉬적용은 이 문제를 해결하기 위한 방법이다.
캐쉬를 지정하면 출력때마다 매번 글목록을 새로 추출하는것이 아니라
캐쉬적용 시간(초) 경과 이전에 동일한 출력요청이 들어오면 이전에
이미 추출-조합해 놓은 글목록 출력 html 을 다시 가져와서 재 출력시킨다.
보드에서 글등록/수정/삭제 동작이 있으면 캐쉬는 바로 초기화 된다.
글 목록 수가 많고 접속자수도 많아서 속도가 느린 보드에 필요한 기능이다.
옵션을 사용자가 새로 추가 하려면 ?
새로은 옵션을 사용자가 직접 추가 하려면 소스내의 [1] i보드출력형태 기본값 설정 에 기본적으로 들어 있는
옵션지정 형태를 참조해서 그와 동일한 형태로 배열을 추가하면 된다. 즉,
abcde_option => "value", 형태로 새 옵션을 추가 추가하면 된다. 이 경우 이 옵션지정 값을 가지는 변수는
$Print_option[abcde_option] 이다. 이 변수를 소스내의 각 function 에서 global 변수로서 사용할 수 있다.