Fullcalendar 일정관리 스케쥴 스킨
## 2020-08-01 오전 4시 30분 ===========================
세가지 오류 수정입니다.
관리자가 아닌 회원이 접속중일때 우측 상단 글쓰기 버튼이 보이지 않는 오류
관리자가 아닌 회원이 자신의 일정을 드래그 & 드롭, 리사이즈등으로 변경하지 못하는 오류
수정할 파일은 "스킨폴더/js/fullcalendar.js" 파일입니다.
아래의 내용처럼 수정하시거나 재 다운로드후 "fullcalendar.js" 파일만 교체하시면 됩니다.
1. 관리자가 아닌 회원이 자신의 일정을 변경하지 못하는 오류 수정.
아래의 코드를 찾으세요 ( 두군데 있으니 두곳 모두 수정해 주시면 됩니다. )
위 코드를 아래의 코드로 변경하시면 됩니다.
2. 관리자가 아닌 회원이 접속중일때 글스기 버튼이 보이지 않는 오류
아래의 코드를 찾으세요
아래의 코드로 변경해 주세요.
3. 스킨 최초 실치후 우측 상단 버튼이 보이지 않는 오류
( 기존 다운로드 사용자만 아래의 방법으로 해결하시면 됩니다.)
아래의 세가지 방법중 하나를 선택하시면 됩니다.
첫번째 방법 : 게시판설정 여분필드 "bo_10"에 아래의 값을 입력해 주세요.
dayGridMonth|1|0|ko|dayGridMonth,dayGridWeek,dayGridDay|all
두번째 방법 : setting.php 파일에 한번만 접속하시면 됩니다.
yourdomain.com/skin/board/스킨폴더명/setting.php?bo_table=게시판테이블명
세번째 방법 : list.skin.php 파일에 아래의 코드를 추가해 주세요.
"include_once($board_skin_path.'/config.php');" 이 코드 바로 하단에 추가하시면 됩니다.
본 스킨은 지극히 주관적인 판단으로 제작되었습니다.
사용하실분은 자신의 입맛에 맞게 수정하세요~
PC버전이며 모바일스킨은 없습니다.
데모 : https://gnu54.suu.kr/schedule (bk_test1 / 1234)
위토즈님의 "일정관리 스케쥴 스킨"을 사용했습니다.
https://sir.kr/g5_skin/32164
fullcalendar 5.1.0 standard 버전으로 업그레이드 되었습니다.
https://fullcalendar.io/license
아래의 기능을 추가/수정으로 인하여 주요파일인 main.js파일이 커스텀되었습니다.
(향후 fulcalendar 버전 업그레이드시 주의)
1. 설치방법
압축을 푼후 전체 폴더를 그누보드가 설치된 곳으로 복사하시면 됩니다.
폴더구조는 아래와 같습니다.
- extend 폴더에는 rumi.class.extend.php 파일 한개가 있습니다.
이 파일은 Selectbox, checkbox, radiobutton을 쉽게 만들어주는 Class입니다.
- 음력, 공휴일을 추가되었습니다.
- 스킨에 포함되어 있는 "lunar.sql"을 Import해주세요. (약 4.1Mb)
import하지 않으면 달력이 출력되지 않습니다.
- 생성될 테이블명은 "cm_lunar"입니다.
- 2049년까지 음력, 공휴일 관련 데이터입니다.
- 음력, 공휴일 관리 페이지는 없습니다.
2. 음력 테이블외에 추가로 생성되는 "DB TABLE"이 없습니다.
- 스케쥴 기본설정값은 게시판 여분필드에 저장되도록 변경
- 일정 색상 및 글자색 정보는 글쓰기시 직접 선택하도록 변경
3. 모든 일정은 "종일"에 관계없이 드래그 & 드롭, 리사이즈가 가능하도록 변경
- 달력상에서 일정을 옮기거나 일정기간을 마우스 조작만으로 수정할 수 있습니다.
- 일정이 "종일"이 아닌 "시간"이 포함되어 있는 일정도 달력화면에서 일정리사이즈를 강제적으로 실행되도록 수정되었습니다.
- 일정 막대의 처음부분이나 끝부분을 마우스로 일정을 변경할 수 있습니다.
- 변경 즉시 DB 업데이트 됩니다.
- 드래그 & 드롭, 리사이즈는 자신이 등록한 자료만 변경됩니다.
4. 모든 일정이 바(Bar) 형태로 출력되도록 변경되었습니다.
5. 글쓰기, 글보기를 팝업창으로 변경되었습니다.
6. 일짜별로 즉시 일정을 등록 할 수 있도록 "일정등록" 아이콘이 추가되었습니다.
7. 카테고리 사용시
카테고리 클릭시 페이지 전환없이 데이터를 불러오도록 수정하였습니다.
9. 글쓰기시 "일정" 배경 및 글자색상을 사용자가 원하는 색상으로 지정할 수 있도록 수정되었습니다.
10. 시작시간과 종료시간의 필드 속성이 "datetime"으로 변경되었습니다.
- 모든 일정 시간은 "0000-00-00 00:00:00" 형식으로 저장됩니다.
- 여분필드 wr_1 : 시작시간
- 여분필드 wr_2 : 종료시간
- 가능하면 wr_1 및 wr_2 여분필드의 속성을 datetime으로 변경해주세요.
ALTER TABLE `테이블명`
CHANGE `wr_1` `wr_1` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT '시작일시',
CHANGE `wr_2` `wr_2` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT '종료일시';
11. 1일(종일)의 시작시간과 종료시간의 값을 변경하였습니다.
- 변경전 : 2020-07-20 00:00:00 ~ 2020-07-21 00:00:00 (24시간으로 1일)
- 변경후 : 2020-07-20 00:00:00 ~ 2020-07-20 23:59:00 (24시간에서 1분 뺌)
- 위와 같이 변경한 이유는 모든 일정을 달력상에서 드래그&드롭, 리사이즈 기능을 사용하기 위한 것도 있지만
1일 ~ 다수일을 표시하는데 있어서 종료시간을 원하는 날짜에 +1일이 추가된후 표시되어 사용자의 혼동이 있어서입니다.
> 1일 : 2020-07-20 00:00:00 ~ 2020-07-21 00:00:00
> 2일 : 2020-07-20 00:00:00 ~ 2020-07-22 00:00:00
> 3일 : 2020-07-20 00:00:00 ~ 2020-07-23 00:00:00
위의 날짜가 아래처럼 표시되도록 수정된것이죠~
(일정에서 초단위까지 관리하는 분은 없을거라 생각됩니다.)
> 1일 : 2020-07-20 00:00:00 ~ 2020-07-20 23:59:00
> 2일 : 2020-07-20 00:00:00 ~ 2020-07-21 23:59:00
> 3일 : 2020-07-20 00:00:00 ~ 2020-07-22 23:59:00
12. 오늘(현재날짜) 이전으로 일정을 변경할 수 없도록 설정되어 있습니다.
- "000-00-00" 형식으로만 체크하고 "시분초"는 체크하지 않습니다.
- 일정 전체를 이전 날짜로 변경 불가
- 일정의 시작날짜를 오늘 이전 날짜로 변경 불가
- 일정의 종료날짜를 오늘 이전 날짜로 변경 불가
- 일정의 시작날짜가 오늘 이전이고, 종료날짜가 오늘이거나 오늘 이후면 종료날짜는변경 가능
- 일정의 시작날짜 및 종료날짜가 오늘이거나 오늘 이후면 일정 변경 가능
- 주의 : 자바스크립트에서만 체크하고 PHP에서는 체크하지 않습니다.
PHP에서도 체크가 필요한 경우 직접 구현하세요.