일반스킨 자료실의 첨부 다운로드시 코멘트받기 패러디 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

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

일반스킨 자료실의 첨부 다운로드시 코멘트받기 패러디 정보

일반스킨 자료실의 첨부 다운로드시 코멘트받기 패러디

본문

그동안 보고된 문제점을 패치하여 새로 등록이 되어있으므로 참고 바랍니다.

http://sir.co.kr/bbs/tb.php/g4_tiptech/3373

이게시물은 스크랩 및 여러게시글 등에서 링크가 걸려있는 문제로 당분간 보존 합니다.


++++++++++++++++++++++++++++++++++++++++++++++



첨부파일 다운로드시 코멘트받기(그누보드/일반스킨 자료실의 패러디임)

제목이 이해가 잘안가시는 분들을 위해서 설명부터 들어 갑니다.^^

그누보드/일반스킨 자료실에서 첨부파일을 몰래 살짝꿍 퍼담아 갈려고
첨부링크를 누르면 헉!!!~~~이게모야??
코멘트 부터 작성한후 가져가라? 고 아주 정중하게 멘트가 나옵니다.^^

질문게시판에서 위의 방법이 궁금해 하시는분이 계시길래 나름대로 짜집기를
해봤습니다. 허접하지만 적용해 보실분은 사용후 피드백 부탁 드립니다.


아래의 설명은 제가 직접 적용해본 그대로 설명 하므로 참고하세요.

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>
<? } ?>


수정안내:
이항목은 수정모드 에서의 값을 참조 하지않은 문제로 인하여
11월 26일 18시 00분에 수정이 되었습니다.


***********************************

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>&nbsp;&nbsp;<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"){
  if ($is_admin || $total_commnt > 0){
      echo "<tr><td height=22>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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> "; } ?>


다운드시 코멘트받기 패러디 -끝-
추천
1

댓글 10개

추신:
위의 방법에서 관리자와 게시물 작성자는 코멘트가 없더라도 다운로드가 가능하며
코멘트 삭제일 경우엔 관리자는 모두 삭제가 가능 합니다.
제가 이 질문을 질문/답변 게시판에 올린 사람인데요, 질문/답변 게시판에서도, 팁텍 게시판에서도 제 검색능력이 떨어져서 그런지 도저히 찾을 수 없었습니다. 찾지 못하는 제가 바보죠.

암튼 헐랭이님 진심으로 감사의 말씀 드립니다. ^-^

헐랭이님 덕분에 마음이 아주 가벼워 졌습니다 ^-^
수정안내: 수정항목은  설명중 2-1 이며
글작성시 수정모드 에서의 코멘트 설정값을 참조 하지않은 문제로 인하여
11월 26일 18시 00분에 수정이 되었습니다.
헐랭이님 감사합니다.
저는 bo_1의 값을 bo_10으로 쓰고 나머지는 그대로 적용하였는데 bo_10의 값에 1을 주고, wr_1에 1의 값이 있는데도 그냥 다운로드가 됩니다.
헐랭이님 팁감사드리구연,근데여 이팁을 적용해두여

주소창에 직접 자바명령써서 코멘트 삭제시도하면 삭제되는데영.

그런것까지 막을순 없을까연?^^_^(00)
그동안 보고된 문제점을 패치하여 새로 등록이 되어있으므로 참고 바랍니다.

http://sir.co.kr/bbs/tb.php/g4_tiptech/3373

이게시물은 스크랩 및 여러게시글 등에서 링크가 걸려있는 문제로 당분간 보존 합니다.
전체 10 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT