일정관리에서 '팝업창'에 비밀글인 경우, 안보이게 하려면... 정보
일정관리에서 '팝업창'에 비밀글인 경우, 안보이게 하려면...본문
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=10567
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td align='center' height=22><strong>:: 일 정 보 기 ::</strong></td></tr>
</table>
<table><tr><td height="5"></td></tr></table>
<!-- 일정 및 내용 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style='border:1px solid #798332'>
<tr>
<TABLE width="100%" border=0 cellpadding="1" cellspacing="0" style='border:1px solid #798332'>
<TR><TD height=155 valign='top' style='word-break:break-all; padding:5 5 5 5; background-color:#F4F7E8'>
<span class=content><?=$list[$i][content]?></span>
<!-- 테러 태그 방지용 -->
</xml></xmp><a href=""></a><a href=''></a>
</TD></TR>
</TABLE>
</td></tr>
</table>
</TD></TR>
</TABLE>
<!-- 레이아웃 테이블 끝 -->
include_once("$latest_skin_path/pop.skin.php");
위 일정관리 스킨을 사용하는데 있어서 개인적으로 약간의 문제가 있어서
모두 수정해서 지금 새로 작업을 하고있습니다.
글쓰기에서 비밀글 작성기능을 기존 게시판에서 사용하듯이 체크되게 하여
db처리까지는 마쳤습니다.
그런데, 최신글화면에서 '달력숫자'를 클릭하면 '새창'으로 일정이 보여지는데
이때...............
비밀글로 작성된 경우라면 '기존의 게시판처럼' 처리가 되게끔 해주고 싶습니다.
(본인이나 관리자외에는 볼수없도록....)
비밀글로 작성된 일정(게시물)의 경우는 메인의 달력에서 클릭을 하더라도
뜨지 않도록 하고싶습니다. 게시판자체에서는 작동을 합니다.
새창에서만 작동을 하지 않네요..
아무리 해도 안되서 글을 올립니다.
어느곳에 '비밀글'과 관련해서 코드를 처리해줘야 할지 좀 도와주셨으면 하고 부탁드립니다.
코드는 위의 스킨것과 거의 동일한데 그래도 한번 올려봅니다.
-------------------------------------------------
/latest/calendar/폴더내의 pop.skin.php 내용
-------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
include_once("$g4[path]/lib/latest.lib.php");
$g4[title] = "일정보기";
include_once("./head.sub.php");
include_once("./head.sub.php");
if ($member[mb_level] < $board[bo_read_level]) {
alert('비정상적인 접근이군요.\\n\\n정상적인 경로로 접근해주세요.','javascript:window.close()');
exit;
}
alert('비정상적인 접근이군요.\\n\\n정상적인 경로로 접근해주세요.','javascript:window.close()');
exit;
}
?>
<link rel="stylesheet" href="./style.css" type="text/css">
<body topmargin="0" leftmargin="0">
<link rel="stylesheet" href="./style.css" type="text/css">
<body topmargin="0" leftmargin="0">
<!-- 레이아웃 테이블 시작-->
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<TR bgcolor='#E6EAC8'><TD STYLE='PADDING:5 5 5 5'>
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<TR bgcolor='#E6EAC8'><TD STYLE='PADDING:5 5 5 5'>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td align='center' height=22><strong>:: 일 정 보 기 ::</strong></td></tr>
</table>
<table><tr><td height="5"></td></tr></table>
<? for ($i=0; $i<count($list); $i++) { ?>
<!-- 제목글 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style='border:1px solid #798332'>
<tr><td height=30 bgcolor='#999999'>
<IMG src="<?=$board_skin_path?>/img/icon_ani02.gif" align=absmiddle border=0>
<? if($list[$i][ca_name]) {
echo "<b><font color='#FFFF00'>[{$list[$i][ca_name]}]</font></b>";
}
?>
<B><FONT color='#FFFFFF'><?=$list[$i][wr_subject]?></FONT></B>
</td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style='border:1px solid #798332'>
<tr><td height=30 bgcolor='#999999'>
<IMG src="<?=$board_skin_path?>/img/icon_ani02.gif" align=absmiddle border=0>
<? if($list[$i][ca_name]) {
echo "<b><font color='#FFFF00'>[{$list[$i][ca_name]}]</font></b>";
}
?>
<B><FONT color='#FFFFFF'><?=$list[$i][wr_subject]?></FONT></B>
</td></tr>
</table>
<!-- 일정 및 내용 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style='border:1px solid #798332'>
<tr>
<?
$from_date = str_replace("http://","",$list[$i][wr_3]);
$to_date = str_replace("http://","",$list[$i][wr_4]);
$from_date = substr($from_date,0,4)."년 ".sprintf("%2d",substr($from_date,4,2))."월 ".sprintf("%2d",substr($from_date,6,2))."일";
$to_date = substr($to_date,0,4)."년 ".sprintf("%2d",substr($to_date,4,2))."월 ".sprintf("%2d",substr($to_date,6,2))."일";
?>
<td valign="top" style='padding:3 0 3 5'>
<IMG src="<?=$board_skin_path?>/img/btn_date.gif" align=absmiddle border=0> <?=$from_date?> <? if($from_date != $to_date) echo"~ $to_date";?>
</td>
<td align='right'><font color='#888888'><?=$list[$i][name]?></font> </td>
</tr>
<tr><td colspan=2 height=1 bgcolor='#798332'></td></tr>
<tr><td colspan=2 style='padding:5 5 5 5' valign='top'>
$from_date = str_replace("http://","",$list[$i][wr_3]);
$to_date = str_replace("http://","",$list[$i][wr_4]);
$from_date = substr($from_date,0,4)."년 ".sprintf("%2d",substr($from_date,4,2))."월 ".sprintf("%2d",substr($from_date,6,2))."일";
$to_date = substr($to_date,0,4)."년 ".sprintf("%2d",substr($to_date,4,2))."월 ".sprintf("%2d",substr($to_date,6,2))."일";
?>
<td valign="top" style='padding:3 0 3 5'>
<IMG src="<?=$board_skin_path?>/img/btn_date.gif" align=absmiddle border=0> <?=$from_date?> <? if($from_date != $to_date) echo"~ $to_date";?>
</td>
<td align='right'><font color='#888888'><?=$list[$i][name]?></font> </td>
</tr>
<tr><td colspan=2 height=1 bgcolor='#798332'></td></tr>
<tr><td colspan=2 style='padding:5 5 5 5' valign='top'>
<TABLE width="100%" border=0 cellpadding="1" cellspacing="0" style='border:1px solid #798332'>
<TR><TD height=155 valign='top' style='word-break:break-all; padding:5 5 5 5; background-color:#F4F7E8'>
<span class=content><?=$list[$i][content]?></span>
<!-- 테러 태그 방지용 -->
</xml></xmp><a href=""></a><a href=''></a>
</TD></TR>
</TABLE>
</td></tr>
</table>
<? } ?>
<!-- 버튼 -->
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr><td align='center'><input type='button' value=' 닫 기 ' onClick='window.close()'align='absmiddle'></td></tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr><td align='center'><input type='button' value=' 닫 기 ' onClick='window.close()'align='absmiddle'></td></tr>
</table>
</TD></TR>
</TABLE>
<!-- 레이아웃 테이블 끝 -->
</body>
<?
include_once("./tail.sub.php");
?>
include_once("./tail.sub.php");
?>
-------------------------------------------
./그누보드/pop_sechedule.php 파일내용
-------------------------------------------
<?
include_once("./_common.php");
include_once("./_common.php");
if ($member[mb_level] < $board[bo_read_level]) {
alert('글을 읽을 권한이 없습니다.','javascript:window.close()');
exit;
}
alert('글을 읽을 권한이 없습니다.','javascript:window.close()');
exit;
}
$g4[title] = "일정보기";
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 전체이름
// 0~9 월까지를 01 ~ 09 로 만들어 준다.
if((int)$day <= 9){
$day = "0".$day;
}
if((int)$month <= 9){
$month = "0".$month;
}
$thedate = $year.$month.$day;
$latest_skin_path = "$g4[path]/skin/latest/la_calendar";
// 0~9 월까지를 01 ~ 09 로 만들어 준다.
if((int)$day <= 9){
$day = "0".$day;
}
if((int)$month <= 9){
$month = "0".$month;
}
$thedate = $year.$month.$day;
$latest_skin_path = "$g4[path]/skin/latest/la_calendar";
$list = array();
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$sql = " select * from $tmp_write_table where wr_comment > -1 AND (wr_3 <= $thedate AND wr_4 >= $thedate) order by wr_id desc limit 0, 10";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_path, 70);
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_path, 70);
$html = 0;
if (strstr($list[$i][wr_option], "html1"))
$html = 1;
else if (strstr($list[$i][wr_option], "html2"))
$html = 2;
if (strstr($list[$i][wr_option], "html1"))
$html = 1;
else if (strstr($list[$i][wr_option], "html2"))
$html = 2;
$list[$i][content] = conv_content($list[$i][wr_content], $html);
}
}
include_once("$latest_skin_path/pop.skin.php");
?>
위 두개의 파일이 새창을 처리해준는 파일로 보입니다.
비밀글인 경우 안보이게 할수있는 코드를 넣는 방법을 .... 다시한번 부탁드립니다. 꾸벅
댓글 전체
비밀글이라면
bbs/board.php에 있는 비밀글 관련 부분을 추가해 보시기 바랍니다.
if (strstr($write[wr_option], \"secret\")) {
$ss_name = \"ss_secret_{$bo_table}_$write[wr_num]\";
if (!get_session($ss_name))
alert(\'비정상적인 접근…
bbs/board.php에 있는 비밀글 관련 부분을 추가해 보시기 바랍니다.
if (strstr($write[wr_option], \"secret\")) {
$ss_name = \"ss_secret_{$bo_table}_$write[wr_num]\";
if (!get_session($ss_name))
alert(\'비정상적인 접근…
리플 감사합니다...... 근데, 아마 말씀하시는 부분이....
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else
{
// 비밀글이라면
if (strstr($write[wr_option], "secret")) {
$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
if (!get_session($ss_name))
goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
set_session($ss_name, TRUE);
}
}
위 부분을 말씀하시는듯 한데.... 위 두 페이지에 각각 적용해봤으나 안되서 글을 적은겁니다.
뭐가 잘못된건지 알수가 없네요... 일정관리 게시판에서는 비밀글이 먹히는데
최신글 형태의 메인달력에서 '날짜'를 클릭하면 '비밀글'도 열려서 보여집니다.....
다른 분들께도 쪽지를 보냈긴 했는데.... 흠.... 힘들군요... 제설명도 좀 난해해 보이고...
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else
{
// 비밀글이라면
if (strstr($write[wr_option], "secret")) {
$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
if (!get_session($ss_name))
goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
set_session($ss_name, TRUE);
}
}
위 부분을 말씀하시는듯 한데.... 위 두 페이지에 각각 적용해봤으나 안되서 글을 적은겁니다.
뭐가 잘못된건지 알수가 없네요... 일정관리 게시판에서는 비밀글이 먹히는데
최신글 형태의 메인달력에서 '날짜'를 클릭하면 '비밀글'도 열려서 보여집니다.....
다른 분들께도 쪽지를 보냈긴 했는데.... 흠.... 힘들군요... 제설명도 좀 난해해 보이고...
최신글 스킨에서 제어 하세요(팝업창 말고요)
달력최신글에서 해당 날짜의
날짜
} ?>
달력최신글에서 해당 날짜의
날짜
} ?>
for ($i = $start_day ; $i <= $end_day; $i++) {
if( $row[wr_option] == 'secret') $html_day[$i]= $row[wr_subject]."
else {
// $html_day[$i].= 은 문자를 덧붙이는 작업이다. 바로 . (쩜) 의 위력이다.
$html_day[$i].= " <br><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$row[wr_id]'><img src='$board_skin_path/img/icon.gif' border=0> ".$row[wr_subject]."</a>"."\n";
//$html_day[$i].= "<br><a href='?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]'>".substr($row[wr_subject],0,18)."</a>"."\n";
// substr로 끊으면 경우에 따라 지져분해 지므로..
}
}
if( $row[wr_option] == 'secret') $html_day[$i]= $row[wr_subject]."
else {
// $html_day[$i].= 은 문자를 덧붙이는 작업이다. 바로 . (쩜) 의 위력이다.
$html_day[$i].= " <br><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$row[wr_id]'><img src='$board_skin_path/img/icon.gif' border=0> ".$row[wr_subject]."</a>"."\n";
//$html_day[$i].= "<br><a href='?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]'>".substr($row[wr_subject],0,18)."</a>"."\n";
// substr로 끊으면 경우에 따라 지져분해 지므로..
}
}
다음 부분이 추가 된 것입니다.
if( $row[wr_option] == 'secret') $html_day[$i]= $row[wr_subject]."
else {
if( $row[wr_option] == 'secret') $html_day[$i]= $row[wr_subject]."
else {
리플 감사합니다...rolo 님이 적어두신거 그대로 붙여보니 에러가 납니다. 아래 첫줄...
$html_day[$i].= "<br><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$row[wr_id]'><img src='$board_skin_path/img/icon.gif' border=0> ".$row[wr_subject]."</a>"."\n";
$html_day[$i].= "<br><a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$row[wr_id]'><img src='$board_skin_path/img/icon.gif' border=0> ".$row[wr_subject]."</a>"."\n";