읽지않은 쪽지가 있을 경우 읽을 때까지 알려주기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

읽지않은 쪽지가 있을 경우 읽을 때까지 알려주기 정보

읽지않은 쪽지가 있을 경우 읽을 때까지 알려주기

본문

헐랭이님의 글 참조
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=1969&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%B8%DE%B8%F0&sop=and

헐랭이님의 MSN형 쪽지 알림창을 적용하다가 제 홈피에는 프레임으로 넣은 것이 있어 두번에 걸쳐 메시지가 뜨는 일이 생겼습니다.
그래서 고쳐볼까 하고 이리저리 애쓰다보니 메시지가 첨 올 경우 한번만 알려주고는 읽지 않은 상태에서도 다시는 알려 주지 않더군요.

해서 읽지 않은 메시지가 있을 경우, 읽을 때까지 알려주면 좋겠다 싶어 해 보았습니다.
헐랭이님의 올린 글에서 파일을 그대로 다운 받아 bbs/img 에 올리시기 바랍니다.
헐랭이님의 글에서 보듯 MSN형으로 고쳤습니다.

이미 어딘가에 비슷한 팁이 있을지도 모르지만...
어쨋든 첨으로 올리는 글이니 너그러이 용서하시기 바랍니다.

먼저,

1. head.sub.php 파일은 수정을 하지 않습니다. 즉,

// 쪽지를 받았나?
if ($member[mb_memo_call]) {
    $mb = get_member($member[mb_memo_call], "mb_nick");
    sql_query(" update {$g4[member_table]} set mb_memo_call = '' where mb_id = '$member[mb_id]' ");
    alert($mb[mb_nick]."님으로부터 새로운 쪽지가 도착하였습니다.", $_SERVER[REQUEST_URI]);
}

은 그대로 살려둡니다. 이미 고치신 분들은 사실 모두 혹은 일부 명령어줄을 막아놔도 상관없습니다.

2. outlogin스킨의 outlogin.skin2.php 파일을 엽니다.
맨 밑에 아래 소스를 갔다가 붙입니다. 헐랭이님의 팁을 사용하시는 분들을 위해 레리어명을 바꾸어 놓았습니다.


<!--  레이어로 쪽지창 표시 시작 -->
<script language="JavaScript1.2">

var msn_closed    = true;
var msn_top = 0;
var msn_left = 0;
var msn_divheight = 165;
var msn_divwidth  = 204;

function do_check() {
msn_closed    = false;
}

function msn_position() {
if(!msn_closed) {
msn_top = document.body.scrollTop + document.body.clientHeight - msn_divheight;
msn_left = document.body.clientWidth - msn_divwidth;
document.all.memochk.style.top = msn_top;
document.all.memochk.style.left = msn_left;
document.all.memochk.style.display = "";
    }
}

var old_ResizeHandler = window.onresize;
window.onresize = new Function("{if (old_ResizeHandler != null) old_ResizeHandler(); msn_position();}");
var old_ScrollHandler = window.onscroll;
window.onscroll = new Function("{if (old_ScrollHandler != null) old_ScrollHandler(); msn_position();}");

function hideLayer(layer) {
if(document.layers) {
layer = eval('document.layers.' + layer);
if(layer.display != 'none') layer.display = 'none';
else layer.display = '';
return;
}
layer = document.all[layer];

if(layer.style.display != 'none') {
layer.style.display='none';
}
else {
layer.style.display='';
}
msn_closed = true;
}

</script>


<?   
// 레이어로 쪽지창 표시 시작
if($memo_not_read != '0') {
echo " <embed src='$g4[bbs_path]/img/memo_on.swf' loop='false' width='1' height='1'></embed>";
$run = "<script language=\"JavaScript\">do_check(); msn_position();</script>";
}
else {
$run = "";
}
?>


<div id="memochk" name="memochk" style="position:absolute; overflow:hidden; top:10; left:10; z-index:1; display:none; width:203; height:165; layer-background-color:rgb(255,204,255);">

<table width="200" height="160" align="center" border="0" cellspacing="0" cellpadding="0" background="<?=$g4[bbs_path]?>/img/msg_back.png">
<tr>
<td align=left height=20>
  <font color="black"><?=$img_icon?> &nbsp; ::: 쪽지알림 :::</font>
</td>
<td align=right>
<a href="javascript:hideLayer('memochk')"><b>&nbsp;&nbsp;</b></a>&nbsp;   
</td>
</tr>
<tr>
<td colspan=2 align=center>
<br>읽지 않은 쪽지가<br><b><?=$memo_not_read?></b>개 있습니다.<br>확인 하시겠습니까?<br><br>
<button style="border: 1px solid #93ACCF" onclick="window.open('<?=$g4[bbs_path]?>/memo.php','member_memo','width=610,height=460,status=no,toolbar=no,resizable=yes,scrollbars=yes');hideLayer('memochk');">쪽지열기</button> &nbsp;&nbsp; <button style="border: 1px solid #93ACCF" onclick='hideLayer("memochk")'> 창닫기 </button><br>
<br>
</td>
</tr>
</table>
</div>

<?=$run?>
추천
3
  • 복사

댓글 5개

© SIRSOFT
현재 페이지 제일 처음으로