일정관리 스킨 (.me 님꺼 약간 수정) > 그누3 스킨

그누3 스킨

일정관리 스킨 (.me 님꺼 약간 수정) 정보

게시판 일정관리 스킨 (.me 님꺼 약간 수정)

첨부파일

byfun_sc.tgz (23.2K) 244회 다운로드 2004-03-26 21:06:52
sc_latest.tgz (2.7K) 197회 다운로드 2004-03-26 21:06:52

본문

byfun_sc.jpg

[달라진점]
- 일정유형 (카테고리) 기능
- 일정 날짜를 link를 사용하던것을 wr_1, wr_2 필드를 사용
- 일정보기(view)에서 목록보기 클릭했을때... 보던 달이 나옴
- 일정에 아이콘 사용 (아이콘파일 없을 시 '*' 출력)
- 일정 제목에 색 적용
- 달력 상단에 ... ◀ 2004년 6월 ▶ 에서 "2004년 6월" 클릭시... 현재 달로 이동

[최신글 스킨]
- 일정일 (마우스 오버시 언제까지일정인지 보여줌)
- 일정유형에 따른 이미지 (마우스 오버시 내용 보여줌)
- 일정까지 남은 날 (마우스 오버시 to_date 도 얼마나 남았는지 보여줌)
- 오늘일정은 글자색을 붉은색으로... 남은날은 ★ 표시

각 스킨 디렉토리에 "icon" 디렉토리가 있고 디렉토리 안에는 "1.gif", "2.gif" ... 파일이 있습니다.

이 파일은 게시판에서 일정분류에 사용하는 아이콘으로 각 번호는 카테고리 아이디(ca_id)에 대응되도록 되어있습니다.
(카테고리1 : 약속 .... 이면 1.gif 가 약속 일정앞에 붙도록 되어있어요)

추가사용 필드 :
wr_1 : 시작일
wr_2 : 종료일
wr_3 : 제목색

제목색 설정 :
gbview.skin.php 파일 상단에 $tr_ini_titlecolor = array("", ""...) 부분 수정

최신글 적용 :
sc_latest('sc',sc, 9, 30); 와 같이 사용 (처음 'sc' 스킨 디렉토리명)


>>>> lib/developer.lib.php 에 추가할 내용
////////////////////////////////////////////////////////////////////////////////
// 일정 최신글 추출
function sc_latest($skin_dir='', $bo_table, $rows=10, $len=40)
{
global $latest_skin, $cfg;


$tdate = date(Ymd);

$tmp_latest_skin = $latest_skin;

// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./bbs/skin/latest/$skin_dir";
}

$sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
$bo = sql_fetch($sql);
$bo_subject = $bo[bo_subject];

$sql = " select *
from {$cfg[write_table_prefix]}{$bo_table}
where wr_comment = 0 and (wr_1 >= $tdate or wr_2 >= $tdate)
order by wr_1 asc limit 0, $rows ";
$result = sql_query($sql);
for ($i=0; $row = mysql_fetch_array($result); $i++) {
$list[$i] = $row;

$list[$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";

// 코멘트 카운트
$list[$i][commentcnt] = "";
if ($row[wr_commentcnt] > 0) {
$list[$i][commentcnt] = "($row[wr_commentcnt])";
}

$list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
$list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
$list[$i][content] = get_text($row[wr_content]);
$list[$i][date] = substr($row[wr_datetime],2,8);

// 추가
$fyear = substr($row[wr_1],2,2);
$fmonth = substr($row[wr_1],4,2);
$fday = substr($row[wr_1],6,2);
$tyear = substr($row[wr_2],0,4);
$tmonth = substr($row[wr_2],4,2);
$tday = substr($row[wr_2],6,2);

$y = substr($row[wr_1],0,4);
$m = (int)substr($row[wr_1],4,2);
$d = (int)substr($row[wr_1],6,2);

$list[$i][ca_id] = $row[ca_id];
// 인자로 0 : 월,화.. 1 : 月, 火, 2 : Mon, Thu...
$list[$i][fyoil] = get_weekday($y, $m, $d, 1);
$list[$i][tyoil] = get_weekday($y, $m, $d, 1);

$list[$i][fdate] = $fmonth."/".$fday;
$list[$i][tdate] = $tmonth."/".$tday;

$list[$i][fremain] = remain_day($y, $m, $d);
$list[$i][tremain] = remain_day($y, $m, $d);

$list[$i][icon_new] = "";
if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
$list[$i][icon_new] = "< src='$latest_skin/icon_new.gif' align=absmiddle> ";
}

for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}

for ($k=1; $k<=$cfg[link_count]; $k++) {
if ($row["wr_link".$k]) {
$link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
$link[$i]["link_href".$k] = "./?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
}
}
}
mysql_free_result($result);

include "$latest_skin/latest.skin.php";

$latest_skin = $tmp_latest_skin;
}
////////////////////////////////////////////////////////////////////////////////
// 요일 리턴
function get_weekday($year, $month, $day, $s=0) {
$ynum = date("w", mktime(0, 0, 0, $month, $day, $year));
$yoil[0] = array("일", "월", "화", "수", "목", "금", "토");
$yoil[1] = array("日", "月", "火", "水", "木", "金", "土");
$yoil[2] = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
return $yoil[$s][$ynum];
}
////////////////////////////////////////////////////////////////////////////////
// 계획일까지 남은날짜 구하기
function remain_day($year, $month, $day) {
$toyear = date(Y);
$tomonth = date(n);
$today = date(j);
$planYear = (int)$year;
$planMonth = (int)$month;
$toYear = (int)$toyear;
$toMonth = (int)$tomonth;

$toDay = mktime(0, 0, 0, $tomonth, $today, $toyear);
$planDay = mktime(0, 0, 0, $planMonth, $day, $planYear);
$remain = $planDay - $toDay;
$remainDay=$remain / 86400;

return $remainDay;
}
추천
0

댓글 전체

분류 아이콘 대신 텍스트를 표시하려 하는데요..
어디를 수정해야 하나요?...
그리고 날짜 뒤에 시간/분 까지 넣고 싶은데요...부탁드립니다..
byfun님 말씀대로 해결 됐습니다. ^^
근데 또 하나 문제가 .. 최근글 스킨으로 메인에 뽑으려고 하는데.. 본문에 있는 작업말고 추가로 해야 하는 작업이 있나요?
"추가로 사용하는 필드"라는게.. 어떤 다른 작업으로 생성해야 하는건가요?
그냥 developer.lib.php파일만 수정하고 최근글에서 뽑으니까 엉망이 되어버립니다. ㅡㅡ;;;
이번엔 진짜 오류가 하나 있네요. ^^;
src='./bbs/skin/latest/sc_latest/icon_new.gif' align=absmiddle>
라는 문구가 최근일정 뽑은 곳에서 나타납니다.
어디를 손봐야 하는걸까요? ㅡㅡ;;;
앗! 죄송합니다~! ㅡㅡ;;;;
게시판도 안만들고 최근글만 뽑으니 될리가... ㅡㅡㅋ

써보고 궁금한게 있으면 또 올릴께요. 잘쓰겠습니다~ ^^;
시작일과 종료일 값이 gbfrom.skin에서 gbview.skin으로 넘어 오지 않더군요. 여기를 고쳐보았습니다.

gbview.skin.php 15번째 줄에서

---- 수정 전 -----------------------
<?
$from_date = wr_1;
$to_date = wr_2;       
------------------------------------

==== 수정 후 =======================
<?
$from_date = $write[wr_1];
$to_date = $write[wr_2];
====================================
쪽지를 늦게 확인해서 지금 알았습니다.
멋집니다. ^^
저도 바꿔봐야 겠습니다.~
일정 스킨을 가장 요긴하게 쓰고 있는데. 님 덕분에 일정쓰기가 더 즐거워 질것 같네요. ㅋㅋ
윤성진님 >> level_icon() 함수가 두번(이상) 정의되어 있어서 뜨는 에러인데요.. 제가 올린 파일과는 무관한듯 하네요 ^^; developer.lib.php 에서 level_icon() 를 하나 지워보세요
lib/developer.lib.php 의 내용을 아래와 같이 약간 수정해 주어야 할 것 같습니다.
아래 내용은 구누보드를 디폴트디렉토리에 설치하지 않았을 경우에 바꾸어 주어야 합니다.
---------------------------------------------------------------------------------------

// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}


최근글 출력에서 'new'이미지가 나오지 않을 경우는 아래와 같이 바꾸어 주어야 합니다.
--------------------------------------------------------------------------------------

$list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";

 --------------------------------------------------------------------------------------
헛.. 이 파일.. 수정이 안됩니다.
다시 원상복구 시켜도 똑같은 에러가 뜨네요.
계정내에서 이름바꾸기 형식으로 백업을 했었는데.. 이 파일을 다시 이름바꾸기로 쓰면 정상작동이 되고, 다운 받아서 아무것도 안건드리고 다시 올려도 안됩니다. ㅡㅡ;;;
이런 의문의 사태가... ㅡㅡㅋ
설치 방법을 조금만 더 자세히 알려주시면 안될까요? ㅡㅡ;;;;
파일 두개 다운받아서 위엣것은 bbs/skin에, 아랫것은 최근글 스킨폴더에 집어 넣었구요, lib/developer.lib.php파일의 최하단 ?>바로 위에다가 추가하라는 문장을 전부 복사해서 붙였는데 오류가 뜨네요.

참고로 오류내용은 "Fatal error: Cannot redeclare level_icon() (previously declared in /home/hosting_users/yoonfam/www/gnu3/lib/developer.lib.php:7) in /home/hosting_users/yoonfam/www/gnu3/lib/developer.lib.php원본 on line 7
"입니다. ㅡㅡ;;; 잘되던 놈이 느닷없이 7번째 줄에 문제가 있다는건 또 뭔지..
전체 740
그누3 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT