코멘트를 남겨야만 다운로드 가능하게!!
코멘트를 남겨야만 다운로드 가능하게 하는 기능입니다.
간단히 download.skin.php 파일에 아래코드만 추가하시면 됩니다.
회원, 비회원 모두 작동합니다.
-보완-
첨부파일 다운로드시 코멘트받기이며 이전에 올린 팁에서 보고된
문제점을 일부 보완한 것입니다.
아래의 설명은 제가 직접 적용해본 그대로 설명 하므로 참고하세요.
1,
g4/관리자/게시판관리/게시판별로 이기능을 사용하고자 하는 게시판 설정으로
들어간후 여유필드1 을 사용하였으며 여유필드1에 숫자 1을 넣은후 저장하기
만약 여유필드1 을 이미 사용중이라면 적당한 곳을 사용한후 나중에 설명하는
코드에서 수정해 줍니다.
참고사항:
여유필드는 bo_1 과 wr_1 을 사용하므로 수정하실분은 아래의 설명에서
관련필드명을 수정하세요.
****************************
2,
사용하고자 하는 게시판 스킨을 수정합니다.
저는 기본스킨(basic) 을 사용했습니다.
write.skin.php , view.skin.php , view_comment.skin.php 3개 입니다.
****************************
2-1
회원이 자료등록시 다운로드를 하는 회원들에게 코멘트를 받을것인지를 지정하게 합니다.
write.skin.php 의 내용중 아래부분을 찾은후
위의 링크입력부분 바로위에
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr> ☜ 이 라인바로위에
아래의 코드를 추가한후 저장
------------------------------------------------------------------------------------------------
2-2
내용보기에서 파일 다운로드 링크클릭시 코멘트가 없을 경우 멘트적용하기
view.skin.php 의 내용중 아래부분을 찾은후
아래의 코드로 바꾸어 줍니다.
-------------------------------------------------------------------------------------------
2-3
첨부파일 다운로드시 코멘트 받기가 작동중일 경우 코멘트 삭제방지하기
이과정은 생략 하셔도 되며 필요하신분만 적용하세요.^^
view_comment.skin.php 의 내용중 아래 부분을 찾은후
위의 소스라인을 아래처럼 바꾸어 줍니다.
---------------------------------------------------------------------------------------------
3,
스킨의/download.skin.php 또는
bbs/download.php 의 상단 검사과정 부분에 아래의 코드를 추가합니다.
(두가지 방법중에서 선택하여 한군데만 적용할것)
직접적인 다운로드용 파일을 호출시 검사과정 입니다.
----------------------------------------------------------------------------------------------
4,
bbs/delete_comment.php 의 상단 검사과정 부분 또는
bbs/delete_comment.php의 하단에있는 내용중 아래코드를
// 사용자 코드 실행
@include_once("$board_skin_path/delete_comment.skin.php");
상단 검사과정있는 위치로 이동한후
스킨/delete_comment.skin.php 에 아래의 코드를 추가합니다.
(두가지 방법중에서 선택하여 한군데만 적용할것)
이방법은 비정상적인 방법으로 코멘트 삭제 명령을 시도시 검사과정입니다.
다운로드시 코멘트받기 -끝-
※ 로그인 하시면 원본파일을 볼 수 있습니다. ※
코멘트를 남겨야만 다운로드 가능하게 하는 기능입니다.
간단히 download.skin.php 파일에 아래코드만 추가하시면 됩니다.
회원, 비회원 모두 작동합니다.
if (!$is_admin) { // 코멘트 남겨야 다운로드 가능
$sql = "select wr_id from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 and (mb_id = '$member[mb_id]' or wr_ip = '$_SERVER[REMOTE_ADDR]')";
$row = sql_fetch($sql);
if (!$row) {
alert("코멘트를 남겨야 다운로드가 가능합니다.");
}
}
[출처] 포털 마이위트 - http://g4.miwit.com/bbs/board.php?bo_table=g4_tiptech&wr_id=47
-보완-
첨부파일 다운로드시 코멘트받기이며 이전에 올린 팁에서 보고된
문제점을 일부 보완한 것입니다.
아래의 설명은 제가 직접 적용해본 그대로 설명 하므로 참고하세요.
1,
g4/관리자/게시판관리/게시판별로 이기능을 사용하고자 하는 게시판 설정으로
들어간후 여유필드1 을 사용하였으며 여유필드1에 숫자 1을 넣은후 저장하기
만약 여유필드1 을 이미 사용중이라면 적당한 곳을 사용한후 나중에 설명하는
코드에서 수정해 줍니다.
참고사항:
여유필드는 bo_1 과 wr_1 을 사용하므로 수정하실분은 아래의 설명에서
관련필드명을 수정하세요.
****************************
2,
사용하고자 하는 게시판 스킨을 수정합니다.
저는 기본스킨(basic) 을 사용했습니다.
write.skin.php , view.skin.php , view_comment.skin.php 3개 입니다.
****************************
2-1
회원이 자료등록시 다운로드를 하는 회원들에게 코멘트를 받을것인지를 지정하게 합니다.
write.skin.php 의 내용중 아래부분을 찾은후
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
<td style='padding-left:20px; height:30px;'>· 링크 #<?=$i?></td>
<td><input type='text' class=ed size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? } ?>
위의 링크입력부분 바로위에
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr> ☜ 이 라인바로위에
아래의 코드를 추가한후 저장
<?
if ($member[mb_id] and $board[bo_1] =="1"){
if ($w == "u"){
if($write[wr_1] ==""){$ranskcheck22 ="(현재: <b>코멘트받지않음</b>)";}
if($write[wr_1] =="1"){$ranskcheck22 ="(현재: <b>코멘트받음</b>)";}
if($write[wr_1] ==""){$ranskcheck1="";}
if($write[wr_1] =="1"){$ranskcheck1="checked";}
}else {
$ranskcheck1="checked";
}
?>
<tr>
<td style='padding-left:20px; height:30px;'>· 코멘트 다운로드</td>
<td><input type=checkbox name=wr_1 value='1' <?=$ranskcheck1?>> 코멘트를 남겨야 다운로드가 가능하게 합니다. <?=$ranskcheck22?></td>
</tr>
<? } ?>
------------------------------------------------------------------------------------------------
2-2
내용보기에서 파일 다운로드 링크클릭시 코멘트가 없을 경우 멘트적용하기
view.skin.php 의 내용중 아래부분을 찾은후
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++)
{
if ($view[file][$i][source] && !$view[file][$i][view])
{
$cnt++;
echo "<tr><td height=22> <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
}
}
아래의 코드로 바꾸어 줍니다.
<?
// 가변 파일
if ($member[mb_id]){
$total_commnt = mysql_num_rows(mysql_query(" select * from $write_table where wr_parent = '$wr_id' and mb_id ='$member[mb_id]'"));
}
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++)
{
if ($view[file][$i][source] && !$view[file][$i][view])
{
$cnt++;
if ($board[bo_1] =="1" && $view[wr_1] =="1"){
if ($is_admin || $total_commnt > 0){
echo "<tr><td height=22> <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
}else {
echo "<tr><td height=22> <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href=\"javascript:alert('코멘트를 남기셔야 다운로드가 가능합니다.\n\n잘쓰겠다는 감사의 말씀 부탁드려요. ^^');\" title=''><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
}
}else {
echo "<tr><td height=22> <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
}
}
}
-------------------------------------------------------------------------------------------
2-3
첨부파일 다운로드시 코멘트 받기가 작동중일 경우 코멘트 삭제방지하기
이과정은 생략 하셔도 되며 필요하신분만 적용하세요.^^
view_comment.skin.php 의 내용중 아래 부분을 찾은후
<? if ($list[$i][is_del]) { echo "<a href=\"javascript:comment_delete('{$list[$i][del_link]}');\"><img src='$board_skin_path/img/btn_comment_delete.gif' border=0 align=absmiddle></a> "; } ?>
위의 소스라인을 아래처럼 바꾸어 줍니다.
<?
if ($board[bo_1] =="1"){
if (!$is_admin && $view[wr_1] =="1"){
$comment_dels ="<a href=\"javascript:alert('파일 다운로드시 코멘트 작성 기능이 작동 중이므로 작성하신 코멘트를 지울수가 없습니다. ^^');\" title=''>";
}else {
$comment_dels ="<a href=\"javascript:comment_delete('{$list[$i][del_link]}');\">";
}
}else {
$comment_dels ="<a href=\"javascript:comment_delete('{$list[$i][del_link]}');\">";
}
?>
<? if ($list[$i][is_del]) { echo "".$comment_dels."<img src='$board_skin_path/img/btn_comment_delete.gif' border=0 align=absmiddle></a> "; } ?>
---------------------------------------------------------------------------------------------
3,
스킨의/download.skin.php 또는
bbs/download.php 의 상단 검사과정 부분에 아래의 코드를 추가합니다.
(두가지 방법중에서 선택하여 한군데만 적용할것)
직접적인 다운로드용 파일을 호출시 검사과정 입니다.
if ($board[bo_1] =="1"){
$total_commnt = " select wr_parent, mb_id from $write_table
where wr_parent = '$wr_id'
and mb_id ='$member[mb_id]' ";
$file_commnt = sql_fetch($total_commnt);
if ($write[wr_1]){
if ($is_admin || $file_commnt > 0){
}else {
alert ('코멘트를 남기셔야 다운로드가 가능합니다.\n\n잘쓰겠다는 감사의 말씀 부탁드려요. ^^');
}
}
}
----------------------------------------------------------------------------------------------
4,
bbs/delete_comment.php 의 상단 검사과정 부분 또는
bbs/delete_comment.php의 하단에있는 내용중 아래코드를
// 사용자 코드 실행
@include_once("$board_skin_path/delete_comment.skin.php");
상단 검사과정있는 위치로 이동한후
스킨/delete_comment.skin.php 에 아래의 코드를 추가합니다.
(두가지 방법중에서 선택하여 한군데만 적용할것)
이방법은 비정상적인 방법으로 코멘트 삭제 명령을 시도시 검사과정입니다.
if ($board[bo_1] =="1"){
$total_commnt = " select wr_1 from $write_table
where wr_id = '$write[wr_parent]' ";
$file_commnt = sql_fetch($total_commnt);
if (!$is_admin && $file_commnt[wr_1]){
alert ('다운로드시 코멘트 받기가 작동중이므로\n\n작성하신 코멘트를 삭제할수 없습니다.');
}
}
다운로드시 코멘트받기 -끝-
※ 로그인 하시면 원본파일을 볼 수 있습니다. ※
코멘트 0