온라인예약게시판.
PHP에 전문적 지식없이 만들어 졌기 때문에 코드가 난잡 할 수 있다는 느낌이 있을 수 있습니다.
PHP 7.2에서 테스트를 하였습니다.
다수의 사용자가 테스트를 하지 않아 아직 수정되지 않은 오류가 충분히 있을 수 있습니다.
아래의 기능을 구현하는데 목적을 두고 스킨제작을 했습니다.
이 스킨이 단 한사람이라 해도.. 도움이 되었으면 하는 바램으로 공유합니다.
감사합니다.
데모페이지 : http://www.suu.kr/bbs/board.php?bo_table=booking
- 주요특징 -
1. 예약시작일과 예약종료일 설정
- 예약시작일과 예약종료일을 설정 할 수 있습니다.
- 당일예약 또는 내일이나 며칠 후부터 예약을 할 수 있도록 설정 할 수 있습니다.
- 예) 오늘로부터 최소 2일후부터 최대 30일후까지 예약 가능
2. 예약시간 설정.
- 예약시작시간과 예약종료시간을 설정 할 수 있습니다.
- 예약가능시간을 1시간 또는 30분단위로 설정
- 예약시간 구간동안 특정시간을 제외 할 수 있습니다.
- 오전 10시부터 오후 5시까지 예약이 가능한 시간중 12시, 1시30분등 특정 시간을 예약시간에서 제외 할 수 있는 기능이 있습니다.
- 1시간 간격 : 10:00, 11:00, 12:00, 13:00, 14:00......
- 30분 간격 : 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 13:30, 14:00 14:30 ......
3. 예약인원 설정.
- 예약시간별로 최대인원을 설정 할 수 있습니다.
- 이 기능으로 인하여 특정시간에 예약이 몰리는 현상을 방지 할 수 있습니다.
- ex) 3명으로 설정시 시간대별로 3명까지만 예약접수 가능
- 10:00(0), 10:30(0), 11:00(0)...(괄호안 숫자가 해당시간의 예약숫자)
4. 정기휴무일 설정 (반복 휴무 설정).
- 매주 특정 요일 휴무 설정(ex. 매주 일요일 휴무)
- 격주 특정 요일 휴무 설정 (ex. 토요일 격주 휴무, 특정 일자를 기준으로 휴무 시작)
- 3주마다 특정 요일 휴무 설정 (ex. 3주마다 화요일 휴무, 특정 일자를 기준으로 휴무 시작)
- 매월 특정일 휴무 (ex. 매월 10일 휴무, 특정 일자를 기준으로 휴무 시작(요일과 상관 없음))
- 매년 특정일 휴무 (ex. 매년 5월 1일 휴무, 특정 일자를 기준으로 휴무 시작(요일과 상관없음))
5. 임시휴무일 설정.
- 특정일을 임시휴무로 설정하여 예약접수가 되지 않도록 합니다.
- 언제든지 설정과 해제가 가능합니다.
- 달력 날짜를 클릭하여 설정 가능.
6. 예약 시간 제외 설정.
- 예약 시간 구간중 특정 시간을 예약접수가 되지 않도록 합니다.
- 제외된 예약시간대는 예약 등록 시 예약 시간이 표시 되지 않습니다.
- 언제든지 설정과 해제가 가능합니다.
- 달력 날짜를 클릭하여 설정 가능.
7. 예약현황 자동갱신 온오프 기능.
- 온라인 예약화면에 접속되어 있는 상태에서 페이지를 새로고침없이 예약현황을 자동으로 갱신합니다.
- 기본 30초마다 갱신되며, script.js 파일에서 갱신 시간을 변경 할 수 있습니다. (setInterval)
- 다른 페이지를 이동하더라도 온오프상태가 유지됩니다. (자바스크립트 세션 사용)
- 자동갱신 기본 값은 OFF 입니다.
8. 예약알림 SMS (그누보드에 포함된 ICODE)
- SMS 발송여부를 설정 할 수 있습니다.
- 예약정보를 관리자 또는 예약자에게 SMS 발송 할 수 있습니다.
- 예약정보를 관리자 및 예약자에게 SMS를 동시 발송 할 수 있습니다.
9. 위의 모든 설정은 관리자만 가능합니다.
- 설치 방법 -
1. 테마폴더에 등록시 스킨파일중 '_common.php'파일의 경로를 수정하면 됩니다.
2. sql.php 파일을 열어 63라인의 mb_id를 관리자 아이디로 변경해주세요.
사업자정보는 "회사정보변경"페이지로 접속후 수정할 수 있습니다.
3. 다운받은 파일을 게시판 스킨 폴더에 업로드 하세요. (./skin/board/)
4. 관리자페이지에서 예약게시판을 생성합니다.
5. 생성된 예약게시판에 접속하면 sql.php 파일도 함께 실행이 되어 cm_office, cm_holiday, {게시판테이블명}_sub등 총3개의 테이블이 추가로 생성됩니다.
cm_office : 회사정보 및 예약시간 설정 값들이 들어 있습니다.
cm_holiday : 정기휴무일 설정 값들이 들어 있습니다. ( 회사정보변경 페이지에서 추가 또는 삭제 가능)
{게시판테이블}_sub : 임시휴무일 및 예약 시간 제외 값이 들어 있습니다. (달력 날짜를 클릭하여 설정 가능)
6. Jquery Dialog 위젯을 사용하기 때문에 jquery 1.21.1버전으로 사용 중입니다.
이미 사용 중이라면 _jquery.php 파일을 열어 7 ~ 10라인까지 주석처리 또는 삭제하면 됩니다.
7. 궁금한 사항은 댓글로 남겨주시면 답변 드리도록 하겠습니다.
'PHP > 그누보드' 카테고리의 다른 글
[PHP] 그누보드 Poedit 다국어 기능 (0) | 2021.09.30 |
---|---|
[PHP] 구글API 이용한 다국어 기능 (0) | 2021.09.14 |
댓글