아고라 스타일 댓글 알리미입니다.
현재는 utf-8버전입니다.
아고라 스타일 댓글, 답글, 답댓글 알리미입니다.
1. 게시판 관리에서 새 게시판을 생성합니다. 이름은 zs_alimi로 꼭 하지 않으셔도 됩니다. (회원의 정보를 기록하기 위해 파일 대신 사용하는 게시판(table)입니다.)
2. 접근권한은 모두 10으로 해 주세요. 그누보드 엔진이 접근 할 일은 없지만 기분상 10으로 설정합니다.
3. bo_1은 적용할 게시판 목록입니다. 콤마(,)로 구분하고 갯수는 제한이 없습니다. 좋은 서버와 회선이라면 여러 개 하셔도 되지만 성능에 따라서 갯수를 정하시면 될거 같습니다. 게시판 이름 앞뒤로 공백은 무시하니 띄어쓰기 하셔도 무관 합니다.
4. 첨부된 스킨 파일 압축을 풀어 skin/latest에 업로드 합니다. (설치 편의를 위해 latest를 활용 했습니다.)
5. 원하는 위치에 <?=latest("zs.alimi", "zs_alimi", 0, 1)?>를 넣습니다.
zs.alimi : lastest의 스킨 이름입니다.
zs_alimi : 게시판 이름입니다.
0 : 반드시 0으로 하셔야 불필요한 list 레코드를 읽지 않습니다. 무조건 0으로 해주세요.
1 : 새 반응글을 읽어 올 시간입니다. 예를 들어 1이면 1분 마다 새 반응글을 검사합니다. 숫자가 클수록 DB 부하가 줄어 듭니다. 소규모 사이트에서는 2 ~ 3 정도를 추천 합니다. 동접자가 많으면 5분정도 어떨가 싶네요. bo_1에 설정한 게시판 갯수와 상관이 있으니 적절하게 설정하시기 바랍니다.
동접자가 많을 때는 DB 서버의 부하가 생길 수 있으니 접속자가 많은 포털, 커뮤니티 사이트에서는 다음 아고라에서처럼 서브 페이지에 넣기를 추천 합니다.
저는 outlogin.skin.2.php에 넣었습니다.
비회원이 접근하면 오류가 생길 수 있으니 꼭 회원만 접근 할 수 있도록 해 주세요.
답글 : 내가 쓴 게시글에 달린 답글
댓글 : 내가 쓴 게시글에 달린 최상위 댓글
답댓글 : 내가 쓴 댓글에 달린 다른 회원의 댓글
최신 반응글 갯수는 10개로 제한 했습니다.
* 스킨
lastest.skin.php : 22번 라인에서 "알리미"라고 된 텍스트와 icon 이미지를 바꿀 수 있습니다.
바꾸실 때 id는 수정 시 오류가 생길 수 있습니다.
new.reply.skin.php : 반응글 정보를 볼 수 있는 실제 스킨 페이지 입니다. 디자인 수정은 이 파일에서 하실 수 있습니다.
new.reply.load.php : 반응글을 체크하는 루틴인데 지저분 할 수 있지만 주석은 모두 남겨 두었습니다. 더 나은 의견과 방법은 서로 공유하면 좋겠습니다.
테스트를 했지만 오류가 있을 것으로 생각합니다.
오류 신고 하시면 수정하겠습니다.
- 2012. 02. 07
댓글의 답댓글 체크가 가능한지 연습삼아 만들어 본 프로그램인데 찾으시는 분이 생각보다 많아 책임감을 느끼게 됩니다.
이번에 만드는 빌더에 플러그인으로 추가 할 생각으로 다시 기획하고 있습니다.
기한은 기약할 수 없으나 실무 적용에는 차후 버전이 더 나으리라 여겨집니다.
아고라 스타일 댓글, 답글, 답댓글 알리미입니다.
1. 게시판 관리에서 새 게시판을 생성합니다. 이름은 zs_alimi로 꼭 하지 않으셔도 됩니다. (회원의 정보를 기록하기 위해 파일 대신 사용하는 게시판(table)입니다.)
2. 접근권한은 모두 10으로 해 주세요. 그누보드 엔진이 접근 할 일은 없지만 기분상 10으로 설정합니다.
3. bo_1은 적용할 게시판 목록입니다. 콤마(,)로 구분하고 갯수는 제한이 없습니다. 좋은 서버와 회선이라면 여러 개 하셔도 되지만 성능에 따라서 갯수를 정하시면 될거 같습니다. 게시판 이름 앞뒤로 공백은 무시하니 띄어쓰기 하셔도 무관 합니다.
4. 첨부된 스킨 파일 압축을 풀어 skin/latest에 업로드 합니다. (설치 편의를 위해 latest를 활용 했습니다.)
5. 원하는 위치에 <?=latest("zs.alimi", "zs_alimi", 0, 1)?>를 넣습니다.
zs.alimi : lastest의 스킨 이름입니다.
zs_alimi : 게시판 이름입니다.
0 : 반드시 0으로 하셔야 불필요한 list 레코드를 읽지 않습니다. 무조건 0으로 해주세요.
1 : 새 반응글을 읽어 올 시간입니다. 예를 들어 1이면 1분 마다 새 반응글을 검사합니다. 숫자가 클수록 DB 부하가 줄어 듭니다. 소규모 사이트에서는 2 ~ 3 정도를 추천 합니다. 동접자가 많으면 5분정도 어떨가 싶네요. bo_1에 설정한 게시판 갯수와 상관이 있으니 적절하게 설정하시기 바랍니다.
동접자가 많을 때는 DB 서버의 부하가 생길 수 있으니 접속자가 많은 포털, 커뮤니티 사이트에서는 다음 아고라에서처럼 서브 페이지에 넣기를 추천 합니다.
저는 outlogin.skin.2.php에 넣었습니다.
비회원이 접근하면 오류가 생길 수 있으니 꼭 회원만 접근 할 수 있도록 해 주세요.
답글 : 내가 쓴 게시글에 달린 답글
댓글 : 내가 쓴 게시글에 달린 최상위 댓글
답댓글 : 내가 쓴 댓글에 달린 다른 회원의 댓글
최신 반응글 갯수는 10개로 제한 했습니다.
* 스킨
lastest.skin.php : 22번 라인에서 "알리미"라고 된 텍스트와 icon 이미지를 바꿀 수 있습니다.
바꾸실 때 id는 수정 시 오류가 생길 수 있습니다.
new.reply.skin.php : 반응글 정보를 볼 수 있는 실제 스킨 페이지 입니다. 디자인 수정은 이 파일에서 하실 수 있습니다.
new.reply.load.php : 반응글을 체크하는 루틴인데 지저분 할 수 있지만 주석은 모두 남겨 두었습니다. 더 나은 의견과 방법은 서로 공유하면 좋겠습니다.
테스트를 했지만 오류가 있을 것으로 생각합니다.
오류 신고 하시면 수정하겠습니다.
- 2012. 02. 07
댓글의 답댓글 체크가 가능한지 연습삼아 만들어 본 프로그램인데 찾으시는 분이 생각보다 많아 책임감을 느끼게 됩니다.
이번에 만드는 빌더에 플러그인으로 추가 할 생각으로 다시 기획하고 있습니다.
기한은 기약할 수 없으나 실무 적용에는 차후 버전이 더 나으리라 여겨집니다.
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
그누4 스킨
5,847건스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다. 스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y 그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.
댓글 43개
감사합니다~
왜 반응이 없지 생각한 1인... -_-;;
모든파일의 CHARSET(문자셋) UTF-8 을 ANSI로 변경했는데도 글자가 깨지네요.ㅠㅠ
해보지는 않고 책만 본건데 latest.skin.php에서 25번 라인을 <script language="javascript">에서 <script language="javascript" charset="euc-kr">로 바꿔 보시면 어떨까요?
제가 euc-kr은 고려를 못했네요.
자바스크립트의 콤포넌트는 기본적으로 유니코드인데 캐릭터셋을 지정 할 수 있다고 풍문을 들었습니다.
혹시라도 버전업을 하게 되면 꼭 이부분 해결 하도록 하겠습니다. ^^;
버젼업시 꼭 euc_kr 지원좀 해주세요...
latest.skin.php에서 data를 euc로 컨버팅하면 될것도 같습니다.
자바스크립트에 디코딩 함수가 있는지 모르겠네요.
저도 찾아 보겠습니다. ^^
원작자님께서 허락하신다면 배포 좀 부탁드려도 될런지...
<? 다음에 @header('Content-Type: text/html; charset=euc-kr'); 이렇게 넣어주시면 안 깨지고 잘~ 나옵니다.
iconv 써봤더니 변수만 변환되서 깨져요. 실력이 없는 관계로 ㅎㅎ
초기 댓글 불러올때 글자가 깨지면서 로딩되는 문제가 여전합니다.
euc-kr 협찬을 받을 수 있음 좋겠네요. ^^;
js에서 디코딩 함수가 있는 걸로 아는데 euck-kr 서버가 생기는데로 보완 작업을 해보겠습니다.
ㅋ
부자되세요^^
또 메인화면의 최신게시글을 눌러도 화면이 안떠버립니다.
링크는 이동되는데 게시판자체가 뜨지 않습니다.
캡쳐 화면이나 오류 메시지라도 볼 수 있을까요.
없는 게시판이라도 뜨나요?
제목이나 댓글 내용에 /가 있는 경우 /가 구분자로 사용되어 아래와 같이 표기됩니다.
ex) 그누보드/만세 라고 입력시
그누보드
XXX님이 만세
/와 같이 종종 쓰일만한 문자열로 구분자를 사용하신게 원인 같습니다.
저의 경우 이런식으로 구분자를 바꾸어보았습니다만, 이런식으로 하면 위와 같은 버그가 발생할 확률이 희박하죠.
new.reply.load.php파일에서 41~59 라인
//-- 같은 레벨 중 답글이면서 바로 윗 단계의 글이 내 글이면 $repData[wr_id]는 내 글에 대한 반응 글
$recRes = sql_fetch("select wr_id, mb_id, wr_name, wr_subject, wr_datetime from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_is_comment='0' and wr_reply='$upRecA' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "|nazuna|" . str_replace("g4_write_", "", $aboardname[$i]) . "|nazuna|".$repData[wr_id] . "|nazuna|".$repData[wr_name] . "|nazuna|" . cut_str($recRes[wr_subject], 60) . "|nazuna|답글@";
}
//-- 댓글일 때 상위 댓글과 게시글 번호 체크
if(($repData[wr_is_comment] == "1") && ($repData[wr_comment_reply])) {
//-- 댓글이면서 바로 윗 단계의 레코드를 구한다.
$upRecA = substr($repData[wr_comment_reply], 0, strlen($repData[wr_comment_reply])-1);
//-- 같은 단계의 댓글 중 상위 글이 있으면 내 댓글의 댓글
$recRes = sql_fetch("select wr_id, mb_id, wr_content from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_comment='$repData[wr_comment]' and wr_comment_reply='$upRecA' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "|nazuna|" . str_replace("g4_write_", "", $aboardname[$i]) . "|nazuna|".$recRes[wr_id] . "#c_".$repData[wr_id] . "|nazuna|".$repData[wr_name] . "|nazuna|" . cut_str($recRes[wr_content], 60) . "|nazuna|답댓글@";
}
//-- 최상위 댓글인 경우 어떤 등록 글에 대한 반응글인지
if(($repData[wr_is_comment] == "1") && (!$repData[wr_comment_reply])) {
$recRes = sql_fetch("select wr_id, mb_id, wr_subject from $aboardname[$i] where wr_num='$repData[wr_num]' and wr_id='$repData[wr_parent]' and mb_id='$member[mb_id]'");
if($recRes[wr_id]) $my_new_reply_list .= $repData[wr_datetime] . "|nazuna|" . str_replace("g4_write_", "", $aboardname[$i]) . "|nazuna|" . $recRes[wr_id] . "#c_" . $repData[wr_id] . "|nazuna|" . $repData[wr_name] . "|nazuna|" . cut_str($recRes[wr_subject], 60) . "|nazuna|댓글@";
}
93 라인에
$temp_reply = explode("|nazuna|", $a_new_reply_list[$i]);
|nazuna|를 구분자로 변경해보았습니다.
그런데 설치를 해보니
Fatal error: Call to undefined function latest() in /web/home/adam8014/html/skin/mw.builder/mw.basic.2/index.main.skin.php on line 19
이렇게 에러가 나옵니다 제가 설명대로 이해를 못한건지 요렇게 나오네요;;
그럼 좋은 하루되시길 바랍니다
lib/latest.lib.php 이 파일이 참조 되어야 하고 참조 되었더라도 latest() 함수가 있어야 합니다.
latest()는 그누보드에서 최신글을 갖어오는 기본 함수입니다.
배추빌더는 캐시를 위해 자체 함수를 쓰고 있기 때문에 latest.lib.php를 head.php에 참조 되었는지 확인을 먼저 해 주세요. ^^
해당 파일 상단에 latest.lib.php을 인클루드 해줬더니 잘 돌아갑니다
좋은 스킨 잘쓰겠습니다^^
개발자님 계속 기다리겠습니다~ ^^ 부탁드려요~