일정관리게시판과 달력 > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

일정관리게시판과 달력 정보

최신글 일정관리게시판과 달력

첨부파일

calendar.zip (148.0K) 1438회 다운로드 2005-06-25 12:42:25

본문

제작하는 홈피에 쓸일이 생겨서.....작업의뢰해서 완성된겁니당...지가 실력이 없는 관계로 제작하신 분의
동의를 얻어서...공개합니당.......

설치법

* 부분 다른분의 소스를 사용하였습니다.
* 이미지는 기존 3.x 버전용을 활용하였습니다.


1. ./lib/latest.lib.php 파일을 열어서 맨아래에 다음을 추가한다.
//=============================================================
function latest_schedule($skin_dir='', $bo_table)
{
    global $config;
    global $g4;
global $year, $month;

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

    $write_table = $g4[write_prefix] . $bo_table;
 
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
//==============================================================

2. schedulex 폴더와 내용을 skin/board/ 에 복사한다.

3. calendar 폴더와 내용을 skin/latest/ 에 복사한다.

4. 일정관리 게시판을 추가하고 스킨을 schedulex 로 선택한다.

5.pop_schedule.php 파일을 root directory에 복사한다.

6. index.php 달력을 보이고 싶은 위치에
    <? echo latest_schedule("calendar","게시판이름"); ?>
    를 추가한다.
추천
2

댓글 전체

학교 홈페이지 가보니 달력의 다음 달 이전달 이동시 마다 전체 페이지를 다시 불러 오네요
iframe으로 달력만 조작하는게 좋지 않을까 싶습니다만....
깔끔한 스킨입니다
아고... 다 했습니다만...
일정 추가할때 입력 폼에 다 입력하고도
확인을 누르면 아무 반응이 없습니다.
익스플로러 아래쪽에 보니 오류 't.w'는 null이거나 개체가 아닙니다 라는 오류가 뜨는데요?
멋집니다.

다만,
1번 내용대로 하면 원본 파일을 수정해야 하는 번거로운 일이 생깁니다.
1번 내용을 임의의 파일로 만든 다음 extend 디렉토리에 집어 넣으면 원본파일을 수정하지 않아도 되는걸로 알고 있습니다.
위에서 연결..
사용된 이미지는 junkiyah님의 제로보드 일정스킨에 사용된것이며 저작권은 junkiyah님께 있으며
문제가 될시 자삭 조치 하겠습니다 ^^;;
아주 좋습니다.
저는 약간 수정해서 쓰는데요...
http://onphoto.net/v2/data/file/yearNmonth.zip
위 링크에서 파일 다운받으셔서 스킨 디렉토리의 images 폴더 안에 풀어놓고
list.skin.php의 28~43 라인의 table 태그를
<table width="<?=$width?>" align=center border=0 cellpadding="0" cellspacing="0">
  <tr>
      <td colspan=3 align=center><img src="<?=$board_skin_path?>/images/year/<?=$year?>.gif"><img src="<?=$board_skin_path?>/images/month/<?=$month?>.gif">
</td>
</tr>
    <tr>
      <td width="20%">&nbsp;</td>
      <td width="60%" height="30" align="center">
<a href="<?="./board.php?bo_table=$bo_table&"?><?if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} echo ("year=$year_pre&month=$month_pre");?>" target="_self">◀ <?=$year_pre?>.<?=$month_pre?></a> | <a href="<?="./board.php?bo_table=$bo_table&"?><?if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} echo ("&year=$year_pre&month=$month_pre");?>" target="_self"><?=$year_pre?>.<?=$month_pre?> ▶</a>
</td>
<td width="20%" align="right" valign="bottom">
<?
  if ($write_href) { echo " <a href='$write_href' title='일정추가'><img src='$board_skin_path/images/btn_write.gif' border=0></a>\n"; }
  if ($admin_href) { echo " &nbsp;<a href='$admin_href' title='관리자'><img src='$board_skin_path/images/btn_setup.gif' border=0 align=absmiddle></a>\n"; }
?>
</td>
  </tr>
</table>
요렇게 바꾸시면...
제가 쓰고 있는것처럼 사용하실수 있습니다.
궁금하시면 해보세요 ^^
아, 해결되었습니다.

head.php에
include_once("$g4[path]/lib/latest.lib.php");  로 latest.libl.php를 불러와야 되는군요. ㅎㅎ;

그리고 이렇게 하면 게시판페이지 위치에서 일정보기 새창의 경로가 잘못되는데 이것은,

latest.skin.php 의 167라인에
echo "<p><a href=\"javascript:win_open('./pop_schedule.php?bo_table...... 을
echo "<p><a href=\"javascript:win_open('$g4[path]/pop_schedule.php?bo_table......  로 고치면 되는군요.

좋은 자료 다시 한번 감사드립니다.
오... G4용으로 꼭 필요했었는데 정말 감사드립니다.

그런데 한가지 아쉬운 점이 있는데요,
위의 최근게시물의 작은 달력을 head에 넣었을 경우 작은 달력과 게시판이 둘다 출력되질 않는군요.
제 이름클릭해서 홈페이지 들어가시면 증상을 보실수 있습니다.
뭔가 충돌이 나는것같은데...  해결되면 다시 글 남겨 놓겠습니다.
SELECT * FROM WHERE left(wr_link1,6) <= '200506' and left(wr_link2,6) >= '200506' ORDER BY wr_id ASC
1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('WHERE left(wr_link1,6) <= '200506' and left(wr_link2,6) >= '200506' ORDER BY w' 명령어 라인 1)

위와 같이 에러라고 나오는데 무슨 에러인지 통 초보가 되어서....
어떻게 하면 되는지 알려주시면 감사 하겠습니다.
좋은 스켄을 올려 주셔서 감사합니다.
일정관리는 잘되는데, 달력에서 아래와 같은 에러가 생겨 index.php에 다음과 같은 에러 메세지가 모든 페이지 처음 상단에 나타납니다.
Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 44

Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 46

Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 47

Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 48

Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 49

Warning: Cannot add header information - headers already sent by (output started at /home/es0/bokangms/public_html/g4/extend/last_schedule.php:4) in /home/es0/bokangms/public_html/g4/head.sub.php on line 50

extend/last_schedule.php:4) 의 내용은 다음과 같고

<!--//  [최신글(lastest)] 일정관리게시판과 달력을 사용하려면 -->
<!--// 1. ./lib/latest.lib.php 파일을 열어서 맨아래에 다음을 추가한다.  -->
<!--//============================================================= -->
<? function latest_schedule($skin_dir="", $bo_table)  <--4번줄
{
    global $config;
    global $g4;
global $year, $month;

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

    $write_table = $g4[write_prefix] . $bo_table;
 
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}  ?>
<!--//==============================================================  -->

public_html/g4/head.sub.php 의 42라인부터 50라인은 원본과 같습니다.

// 자바스크립트에서 go(-1) 함수를 쓰면 폼값이 사라질때 해당 폼의 상단에 사용하면
// 캐쉬의 내용을 가져옴. 완전한지는 검증되지 않음
header("Content-Type: text/html; charset=$g4[charset]");  <--44번줄
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21    <--46번줄
header("Last-Modified: " . $gmnow);  <--47번줄
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1  <--48번줄
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1  <--49번줄
header("Pragma: no-cache"); // HTTP/1.0  <--50번줄

아직 php등 기초가 없이 덤비다 보니 도움을 요청합니다.

다시한번 좋은 게시판과 스킨을 만들어 주시는 분께 감사드립니다.


ps. 2005.11.08일 head.sub.php 파일을 주석처리하여 잘사용하고 있습니다....감사합니다.
    2005.11.28일 public_html/g4/head.sub.php 의 42라인부터 50라인중에서 <--??번줄 표시된것을 주석처리하여 계속 사용중입니다. 제 에러문과 코멘트 문을 보신분이 있어서 추가로 적어둡니다. 바른 방법인줄은 잘모르겠으나 아래에 제 에러문을 보고 걱정하는 분이 있더군요.------읽어주셔서 감사합니다.
좋은 스킨 감사합니다.
설치후 발견된 부분입니다.
schedulex 에서 지정한 회원 레벨에 따른 권한 설정과 비밀글 등이 최신글 형태의 calendar 에서 적용되지 않습니다.
체크 부탁 드립니다.
Warning: main(./_common.php): failed to open stream: No such file or directory in /usr/home/noelpeople/public_html/pop_schedule.php on line 2

Warning: main(): Failed opening './_common.php' for inclusion (include_path='.:') in /usr/home/noelpeople/public_html/pop_schedule.php on line 2

Fatal error: Call to undefined function: sql_fetch() in /usr/home/noelpeople/public_html/pop_schedule.php on line 19

일정표에서 일정잡힌 날짜를 누르면 이런 오류가 뜹니다 왜그런거죠?
정말 감사하게 사용하고 있는 사용자입니다.
그런데, 비회원도 볼 수 있다는 점이 약간 아쉽죠.
이건 pop.skin.php 를 손대주면 됩니다.  latest.skin.php 에서는 제수준에서는 조금 제어가 어렵더라구요.

<? if ($is_admin) { ?>
  <TABLE width="100%" border=0 cellpadding="5" cellspacing="0">
        <TR><TD>
      <span class=content><?=$list[$i][content]?></span>
            <!-- 테러 태그 방지용 -->
      </xml></xmp><a href=""></a><a href=''></a>
  </TD></TR></table>
<? } ?>
제 경우에는 위와 같이 <?=$list[$i][content]?> 즉 본문내용이 나오는 곳을 관리자이면 표시하게 처리했습니다.
if ($member[mb_level] >= 5) 이렇게 레벨로 접근해도 될거구요.  비회원도 클릭하면 팝업은 뜨지만 제목만
볼 수 있게 됩니다.  30분 정도 연구한 건데, 다른 분들의 30분을 절약할 수 있기를 바랍니다.
감사합니다. 오늘 처음 설치해 보네요. *^^*

서브페이지에서 이용시 이전/다음달 클릭이 잘 안되어서 수정해 보았습니다.
'skin/latest/calendar/latest.skin.php'를 아래처럼 바꿔서 사용해 보세요~

latest.skin.php
-------------------------------------------------------------------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$cellh  = 21;
$cellw  = 21;

/*-----------------------------------------------------------------
휴온 웹디자이너 imgstory - 2006.3.4
-----------------------------------------------------------------*/
$server_self=$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];

if(strstr($server_self, "board.php")) {
$my_qstr=$_SERVER['QUERY_STRING'];
if($my_qpos=strpos($my_qstr, "&year")) {
$my_qstr=substr($my_qstr, 0, $my_qpos);
}
$current_url="http://".$server_self."?".$my_qstr."&";
} else {
$current_url="http://".$server_self."?";
}

?>

...... 중간 생략 .........

        <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="74"><img src="<?=$latest_skin_path?>/img/year_<?=$year?>.gif" width="74" height="23"></td>
          <td width="8"><a href="<?=$current_url?><?if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} echo ("year=$year_pre&month=$month_pre");?>" target="_self"><img src="<?=$latest_skin_path?>/img/btn_prev.gif" width="8" height="23" border="0"></a></td>
          <td width="37"><img src="<?=$latest_skin_path?>/img/month1_<?=$month?>.gif" width="37" height="23"></td>
          <td width="8"><a href="<?=$current_url?><?if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} echo ("year=$year_pre&month=$month_pre");?>" target="_self"><img src="<?=$latest_skin_path?>/img/btn_next.gif" width="8" height="23" border="0"></a></td>
          <td width="64"><img src="<?=$latest_skin_path?>/img/month2_<?=$month?>.gif" width="64" height="23"></td>
        </tr>
      </table>

...... 중간 생략 ......

echo "<p><a href=\"javascript:win_open('$g4[path]/pop_schedule.php?bo_table=$bo_table&year=$year&month=$month&day=$cday', 'schedule', 'left=50, top=50, width=340, height=400, scrollbars=1');\" class=writeday><b>$daytext</b></a></p>\n";

...... 이하 생략 ......


-------------------------------------------------------------------------------------------------------------
윽.. 첫화면에 뿌리려다가 에러가..

SELECT * FROM WHERE left(wr_link1,6) <= '200607' and left(wr_link2,6) >= '200607' ORDER BY wr_id ASC
1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE left(wr_link1,6) <= '200607' and left(wr_link2,6) >= '200607' ORDER BY w' at line 1

error file : /bbs/index.php
전체 5,850 |RSS
그누4 스킨 내용 검색

회원로그인

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