엠

유료게시판에 게스트와 일반유저가 접근할수 있도록 하시위해서는?

· 2008-04-16 (수) 18:39:59 · 860 · 2
아래는 적용 보드의 list.skin.php파일입니다.
유료게시판인데 컨덴츠에서 유료로 적용을 하면 일반 유저나 게스트유저는 접근이 전혀 불가능 합니다.
접근가능하도록 소스를 수정하고 싶은데 아시는분 어디쪽을 수정하면 맞는지 소스좀 봐주세요...

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

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 14;
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;

// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
?>

<style type="text/css">
<!--
.w_fixed { table-layout:fixed; }
.w_font { font-family:돋움; font-size:9pt; color:#5E5E5E; }
.w_title { font-family:돋움; font-size:9pt; color:#5E5E5E; }
.w_num { font-family:돋움; font-size:9pt; color:#7BB2D6; }
.w_list { font-family:돋움; font-size:9pt; color:#6A6A6A; }
.w_notice { font-family:돋움; font-size:9pt; color:#6A6A6A; }
.w_comment_cnt { font-family:돋움; font-size:8pt; color:#9A9A9A; }
.w_padding { PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; }
.w_padding2 { PADDING-LEFT: 15px; PADDING-TOP: 5px; }
.w_text { BORDER: #D3D3D3 1px solid; HEIGHT: 18px; BACKGROUND-COLOR: #ffffff; }
.w_textarea { BORDER: #D3D3D3 1px solid; BACKGROUND-COLOR: #ffffff; WIDTH: 100%; WORD-BREAK: break-all; }
.w_message { font-family:돋움; font-size:9pt; color:#4B4B4B; }
.w_norobot { font-family:돋움; font-size:9pt; color:#BB4681; }
-->
</style>

<table align=center width=<?=$width?> border="0" cellspacing="0" cellpadding="0">

<tr><td width="100%" height="1" bgcolor=F0F0F0></td></tr>
</table>

<table align=center cellspacing="0" cellpadding="0" width=<?=$width?> border="0" height=38 bgcolor=FAFAFA cellspacing="0" cellpadding="0">
<tr>
<form name=fsearch style=margin:0 method=get>
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca value="<?=$sca?>">
<td width=2% ></td>

<td width="48%" align="left">
<select name=sfl>
<!-- DB에 상당한 부하가 걸리므로 사용을 추천하지 않음 <option value='wr_subject+wr_content+wc_content'>제목+내용+코멘트</option> -->
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='mb_id'>아이디</option>
<option value='wr_name'>이름</option>
<!-- 코멘트도 같이 검색할 경우에 사용합니다. (속도가 느려짐)
<option value='b.wc_content'>코멘트</option>
<option value='a.mb_id+b.mb_id'>회원아이디2</option>
<option value='a.wr_name+b.wc_name'>이름2</option> -->
</select><INPUT maxLength=15 size=30 name=stx itemname="검색어" required value="<?=$stx?>"><INPUT type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align="top"></td>
<!-- <SELECT name=sop>
<OPTION value=and>And</OPTION>
<OPTION value=or>Or</OPTION>
</SELECT> -->

</form>








<td align=right width="48%" >
<? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($is_checkbox) { ?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0" align="absmiddle"></a>
<? } ?>
</td><td width=2% ></td>
</tr>


<tr bgcolor=F0F0F0 height=1 width=100%>
<td></td><td></td><td></td><td></td><td></td>
</tr>


</table>


<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 시작 -->

<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 끝 -->
<!-- 게시판 제목 시작 -->




<!-- 게시판 제목 끝 -->

<!-- 게시물 리스트 시작 -->
<table width=<?=$width?> align=center border="0" cellspacing="0" cellpadding="0" class="w_fixed">


<form name="fboardlist" method="post" action="">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="sfl" value="<?=$sfl?>">
<input type="hidden" name="stx" value="<?=$stx?>">
<input type="hidden" name="spt" value="<?=$spt?>">
<input type="hidden" name="page" value="<?=$page?>">
<input type="hidden" name="sw" value="">


<? for ($i=0; $i<count($list); $i++) { ?>
<tr <? if ($list[$i][is_notice]) { ?>bgcolor="#FFFFFF"<? } ?>>
<td width="4" height="33"><img src="<?=$board_skin_path?>/img/trans4.gif" width="4" height="33"></td>
<td width="40" align="center" valign="middle">
<?
if ($list[$i][is_notice]) // 공지사항
echo "<img src=\"$board_skin_path/img/notice_icon.gif\" >";
else if ($wr_id == $list[$i][wr_id]) // 현재위치
echo "<font class=w_num>{$list[$i][num]}</font>";
else
echo "<font class=w_list>{$list[$i][num]}</font>";
?></td>
<td width="5" align="center" valign="middle"><img src="<?=$board_skin_path?>/img/trans5.gif" width="5" height="33"></td>
<td width="5" align="center" valign="middle"><img src="<?=$board_skin_path?>/img/trans5.gif" width="5" height="33"></td>
<td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td>


<? if ($is_checkbox) { ?><td width="40" align="center" valign="middle"><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td>
<td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td>
<? } ?>

<td align="left" width=80% valign="middle">
<img border=0 src="<?=$board_skin_path?>/img/list_icon.gif" >
<?
echo $nobr_begin;
echo $list[$i][reply];
echo $list[$i][icon_reply];
echo "<a href='{$list[$i][href]}'>";
if ($list[$i][is_notice])
echo "<font class=w_notice><b>{$list[$i][subject]}</b></font>";
else
echo "<font class=w_list>{$list[$i][subject]}</font>";
echo "</a>";

if ($list[$i][comment_cnt])
echo " <a href=\"javascript:{$list[$i][comment_href]}\"><span class=w_comment_cnt>{$list[$i][comment_cnt]}</a>";

// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }

echo " " . $list[$i][icon_new];
echo " " . $list[$i][icon_file];
echo " " . $list[$i][icon_link];
echo " " . $list[$i][icon_hot];
echo " " . $list[$i][icon_secret];
echo $nobr_end;
?></td>



<? if ($is_category) { ?><td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td><td width="70" align="center" valign="middle"><font class=w_font><a href="<?=$list[$i][ca_name_href]?>"><?=$list[$i][ca_name]?></a></font></td><? } ?>



<td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td>

<td width="110" align="center" valign="middle"><?=$list[$i][name]?></td>

<td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td>
<td width="50" align="center" valign="middle"><font class=w_font><?=$list[$i][datetime2]?></font></td>
<td width=1 background="<?=$board_skin_path?>/img/board_line.gif"> </td>

<td width="40" align="center" valign="middle"><font class=w_font><?=$list[$i][wr_hit]?></font></td>
<? if ($is_good) { ?><td width="40" align="center" valign="middle"><font class=w_font><?=$list[$i][wr_good]?></font></td><? } ?>
<? if ($is_nogood) { ?><td width="40" align="center" valign="middle"><font class=w_font><?=$list[$i][wr_nogood]?></font></td><? } ?>


</tr>
<tr>
<td colspan="<?=$colspan?>" bgcolor=F5F5F5 height="1" ></td>

<!-- background="<?=$board_skin_path?>/img/dot_bg.gif" -->
</tr>
<? } ?>
<? if (count($list) == 0) { echo "<tr><td height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</form>
</table>
<!-- 게시물 리스트 끝 -->

<!-- 페이지 표시 시작 -->
<table width=<?=$width?> align=center border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="37" align="center" valign="middle" >
<!-- -->

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="left">
<? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' width=50 height=20 border=0 align=absmiddle title='이전검색'></a>"; } ?>
<?
// 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
//echo $write_pages;
$write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
$write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
$write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font>", $write_pages);
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font>", $write_pages);
?>
<?=$write_pages?>
<? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' width=50 height=20 border=0 align=absmiddle title='다음검색'></a>"; } ?>
</td>

<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr align="right" valign="top">


<td width="100%" align="right" valign="middle"><font class=w_font>게시물 <?=number_format($total_count)?>건 </font>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" border="0" align="absmiddle"></a><? } ?></td>
<td width="80" align="right" valign="bottom"><? if ($is_category) { ?><form style="margin:0" name="fcategory" method="get"><select name=sca onchange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select></form><? } ?></td>
</tr>
</table>
</td>
</tr>
</table>

<!-- 페이지 표시 끝 -->
</td></tr></table>


<script language="JavaScript">
if ("<?=$sca?>") document.fcategory.sca.value = "<?=$sca?>";
if ("<?=$stx?>") {
document.fsearch.sfl.value = "<?=$sfl?>";
document.fsearch.sop.value = "<?=$sop?>";
}
</script>

<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw)
{
var f = document.fboardlist;

for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]")
f.elements[i].checked = sw;
}
}

function check_confirm(str)
{
var f = document.fboardlist;
var chk_count = 0;

for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}

if (!chk_count) {
alert(str + "할 게시물을 하나 이상 선택하세요.");
return false;
}
return true;
}

// 선택한 게시물 삭제
function select_delete()
{
var f = document.fboardlist;

str = "삭제";
if (!check_confirm(str))
return;

if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
return;

f.action = "./delete_all.php";
f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw)
{
var f = document.fboardlist;

if (sw == "copy")
str = "복사";
else
str = "이동";

if (!check_confirm(str))
return;

var sub_win = window.open("", "move", "left=50, top=50, width=396, height=550, scrollbars=1");

f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
</script>
<? } ?>
|

댓글 2개

2008-04-16 (수) 19:22:44
유료게시판인데 컨덴츠에서 유료로 적용을 하면 일반 유저나 게스트유저는 접근이 전혀 불가능...."

어떤 방법을 쓰셨나요?
2008-04-16 (수) 20:56:20
저번에 답변에서는 리스트까지 모두접근 가능하도록 할수있다던데..아닌가요?
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
08-04-17 조회 920
08-04-17 조회 869
08-04-17 조회 1,764
08-04-17 조회 1,623
08-04-17 조회 849
08-04-17 조회 854
08-04-17 조회 852
08-04-17 조회 975
08-04-17 조회 1,067
08-04-17 조회 1,038
08-04-16 조회 1,352
08-04-16 조회 1,101
08-04-16 조회 1,322
08-04-16 조회 998
08-04-16 조회 1,019
08-04-16 조회 817
08-04-16 조회 861
08-04-16 조회 1,094
08-04-16 조회 1,651
08-04-16 조회 1,017