팁과노하우

  • 팁과노하우 포인트 정책
      글쓰기
      100P
      댓글
      10P
  • 전체 26건 / 2 페이지
    • 11
    • 26일 전
      2025.02.14
  • 26일 전
  • 게시판 내 추천해요/별로에요 숫자를 실시간으로 변경해봅시다.
  • 안녕하세요...미니님a입니다.
    리빌더에 추천/비추천 > 추천해요/별로에요 라는 문구로 변경 되어 사용 중이신 것을 알고 계실겁니다.그런데 원래 추천/비추천을 하게 되면 실시간으로 숫자가 올라갑니다.
    그렇지만, 리빌더에는 그 기능이 누락 되어있습니다.기능상 오류는 아니고 리빌더 개발과정에서 해당 태그를 뺀 것으로 보이는데요
    무슨 말인지는 아래 영상 확인해보세요
     그리고 새로고침 하면 정상적으로 숫자가 보여지게 됩니다.
    이걸 수정할 것인데요별거 아닙니다.
    파일 경로는 다음과 같습니다.
    기본: theme/rb.basic/skin/board/rb_basic/view.skin.php통합: theme/rb.basic/skin/board/rb.bbs/skin/view/basic/skin.php 
    아래 코드를 찾아주세요[code]<div id="bo_v_act">        <?php if ($good_href) { ?>        <span class="bo_v_act_gng">            <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?><?php echo $good_href.'&amp;'.$qstr ?><?php } ?>" id="good_button" class="bo_v_good">추천해요 <?php echo number_format($view['wr_good']) ?></a>            <b id="bo_v_act_good" class="font-R"></b>        </span>        <?php } ?>        <?php if ($nogood_href) { ?>        <span class="bo_v_act_gng">            <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?><?php echo $nogood_href.'&amp;'.$qstr ?><?php } ?>" id="nogood_button" class="bo_v_nogood">별로에요 <?php echo number_format($view['wr_nogood']) ?></a>            <b id="bo_v_act_nogood" class="font-R"></b>        </span>        <?php } ?>    </div>[/code]
    여기에서 
    [code]<?php echo number_format($view['wr_good']) ?> [/code]
    해당 부분을
    [code]<strong><?php echo number_format($view['wr_good']) ?></strong>[/code]
    요렇게 변경 해주세요
    그리고 바로 밑에 별로에요 부분을 찾아주시구요
    [code]<?php echo number_format($view['wr_nogood']) ?>[/code]
    해당 부분을
    [code]<strong><?php echo number_format($view['wr_nogood']) ?></strong>[/code]
    변경하시면 실시간으로 변경 됩니다.구동 영상은 아래를 참조 하세요
    고맙습니다.

     

    • 10
    • 오래 전
      2025.02.07
  • 오래 전
  • 공지사항 접기 기능을 만들어 봅시다.
  • 안녕하세요...미니님a입니다.
    공지사항이 너무 많거나 / 사용자 입장을 고려해 공지 사항 닫기(접기) 기능을 간단하게 구현할 수 있습니다.별도로 스킨으로 올리지 않는 이유는 몇가지 코드만 추가 하면 되기 때문입니다.
    기본의 경우 rb.basic_bbs/list.skin.php 파일을 열어 아래 코드를 찾아주세요통합의 경우 rb.bbs/top/basic/skin.php 파일을 열어 동일하게 아래 코드를 찾아주시면 됩니다.
    [code]<ul class="rb_bbs_top">[/code]
    그리고 그 바로 밑에 다음 코드를 추가 해주세요
    [code]<li><button type="button" class="btn_b01 btn notice_icon" title="공지 닫기"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지 닫기</span></button></li>[/code]
    잘 모르겠다? 하시면 아래 스샷 참고 하시면 됩니다.

     
    그리고 조금만 내려 보시면 스크립트가 있는데 아래 코드를 찾아주세요기본/통합 둘다 있는 코드입니다.
    [code] $('#point_info_opens_btn').click(function(event) {                        event.stopPropagation();                         $('.point_info_opens').toggle();                        $(this).toggleClass('act');                    });[/code]
    그리고 여기 밑에 아래 코드를 넣어주시면 됩니다.
    [code]     $("tr:has(.lb_ico_noti)").hide();        let notice_shown = localStorage.getItem('notice_shown');        if (!notice_shown) {            $("tr:has(.lb_ico_noti)").show();        }         $(document).on("click", ".notice_icon", function() {            let noticeKey = 'notice_shown';            if (localStorage.getItem(noticeKey) !== 'true') {                localStorage.setItem(noticeKey, 'true');            } else {                localStorage.removeItem(noticeKey);            }            $("tr:has(.lb_ico_noti)").toggle();        });[/code]
    마찬가지로 스샷 참고 하시면 됩니다.

     끝입니다. 이렇게 하시면 공지 접기가 동작하며,
    로컬스토리지를 이용하기 때문에 새로고침을 하더라도 공지 접기가 유효합니다.
    실 동작은 아래 영상은 참고 하세요
    고맙습니다.
    ※ 힘내서 많은 팁을 공유할 수 있도록 추천 한번 부탁드립니다.

     
    • 9
    • 오래 전
      2025.02.05
  • 오래 전
  • 비회원은 ? 시간 동안 댓글을 볼 수 없는 기능을 추가 해봅시다!!
  • 안녕하세요...미니님a입니다.
    더X라는 사이트에는 재미난 시스템이 하나 있습니다.게시판의 내용을 볼 수 있지만, 비회원은 특정 시간 동안 댓글을 볼 수 없습니다. 아래처럼요
     이 기능!! 만들어봅시다.기본 게시판과 통합 게시판 모두 작성되어있습니다.
    [기본 게시판 설정]
    theme/rb.basic/skin/board/rb.basic_bbs/view_comment.skin.php 파일을 열어주세요
    그리고 52번 라인을 찾아주세요 만약 커스터 마이징을 했다면 아래 코드를 찾아주시면 됩니다.
    <!-- 댓글 출력 --> <div class="cmt_contents">   <p>      <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>      <?php echo $comment ?>   </p>
    위 코드를 아래 코드로 통으로 변경해주세요
     <!-- 댓글 출력 -->             <!-- 시간 체크 추가 -->             <?php $diff_time = (time() - (new DateTime($list[$i]['datetime']))->getTimestamp()) / 3600;?>             <!-- 시간 체크 추가 -->             <div class="cmt_contents">                 <p>                     <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/icon_secret.gif" alt="비밀글"><?php } ?>             <!-- 시간 체크 추가 -->                 <?php                     if($diff_time >= 1 || ($is_member && $member['mb_id'])) {                                   echo "<span class='test'>".$comment."</span>"; // 글제목 출력                             }else{                                 echo "<span class=' font-bold block text-center'>비회원은 댓글 작성 기준 1시간 이내의 내용은 확인할 수 없습니다.<br>로그인 이후 즉시 확인할 수 있습니다.</span>";                             }                     ?>             <!-- 시간 체크 추가 위에 diff_time 1 이 한시간입니다. 2라면 2시간입니다. -->                 </p>

    [통합 게시판 설정]
    theme/rb.basic/skin/board/rb.bbs/skin/cmt/basic/skin.php 파일을 열어주세요
    마찬가지로 위와 동일하게 45번 라인에 주석으로 된 댓글 출력을 찾아주세요만약 커스터 마이징을 했다면 아래 코드를 찾아주시면 됩니다.
            <!-- 댓글 출력 -->         <div class="cmt_contents">             <p>                 <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>                 <?php echo $comment ?>             </p>
    동일하게 위 코드를 아래 코드로 변경 해주시면 됩니다.
    <!-- 댓글 출력 -->             <!-- 시간 체크 추가 -->             <?php $diff_time = (time() - (new DateTime($list[$i]['datetime']))->getTimestamp()) / 3600;?>             <!-- 시간 체크 추가 -->             <div class="cmt_contents">                 <p>                     <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/icon_secret.gif" alt="비밀글"><?php } ?>             <!-- 시간 체크 추가 -->                 <?php                     if($diff_time >= 1 || ($is_member && $member['mb_id'])) {                                   echo "<span class='test'>".$comment."</span>"; // 글제목 출력                             }else{                                 echo "<span class=' font-bold block text-center'>비회원은 댓글 작성 기준 1시간 이내의 내용은 확인할 수 없습니다.<br>로그인 이후 즉시 확인할 수 있습니다.</span>";                             }                     ?>             <!-- 시간 체크 추가 위에 diff_time 1 이 한시간입니다. 2라면 2시간입니다. -->                 </p>
    일반 게시판과 통합 게시판 스샷 라인은 다르지만, 코드가 같아 코드 스크린샷은 하나로 통일 합니다.

     위 코드 작성 시 아래 처럼 결과를 볼 수 있습니다.

    당연히 로그인 하시면 즉시 볼 수 있습니다.
    고맙습니다.
    ※ 추천은 구걸이라 배웠습니다. 추천 좀!!! ㅎㅎ
    • 1fb981ab72f4a9a369be618d6c4a4b17_1738738249_3428.png
    • 8
    • 오래 전
      2025.02.04
  • 오래 전
  • 특정 기간에만 동작하는 코드 만들기
  • 안녕하세요...미니님a입니다.
    웹 페이지 내 이벤트 혹은 특정 기간에만 어떠한 액션을 주고 싶을 때 유용하게 사용할 수 있습니다.
    $current_time = time(); $start_time = strtotime('2025-02-04 00:00:00'); $end_time = strtotime('2025-02-06 23:59:59'); if ($current_time >= $start_time && $current_time <= $end_time) {    하고싶은 동작 }
    이렇게 작성하시면,2025년도 02월 04일 00:00:00 ~ 02월 06일 23시59분59초까지만 동작하는 코드를 만들 수 있습니다.
    해당 기간이 지나면, 자동으로 동작하지 않기 때문에 따로 지울 필요 없이,나중에 생각나면, 코드를 지우면 되니깐 유용하게 사용할 수 있을 것입니다.
    사용예제)크리스마스 기념 포인트 지급, 아이템 지급 / 새해 기념 아이템 지급, 포인트 지급특정 기념 할인 배너 출력 / 특정 기념 할인 팝업창 출력 (50% 할인 등)랜덤으로 할인 쿠폰 제공 등등
    사용성에 따라 무궁 무진하게 사용할 수 있을 것입니다.
    고맙습니다.
    • 7
    • 오래 전
      2025.02.03
  • 오래 전
  • 색상 선정에 고민이 있다면 이 글을 클릭 하세요
  • 안녕하세요...미니님a 입니다.
    한번 쯤은 색상이 어울리나? 어떤색을 써야 하나 ? 고민 해보신 적 많으실 것이라 생각됩니다.그래서 개발해봤습니다.
    색상 생성기 + 색상 팔레트(추천기) 입니다.
    https://colorgenerator.kr/
    nextjs15 버전으로 개발 하였으며, 스샷은 다음과 같습니다.
    - 색상 생성기 
    컬러를 입력 시 100 ~ 1000까지의 색상을 추천 해줍니다. 실시간 변경 됩니다.
    클릭 시 복사 가능합니다.
    내보내기 시 보여지는 컬러를 저장할 수 있습니다 (이미지로 저장됨)
    색상 잠금 기능도 추가 하였습니다.


     - 색상 추천기
    색상 선택 시 유사/보색/분할보색1,2 / 삼각 구도 색을 추천 해줍니다.
    내보내기 시 해당 색상을 저장할 수 있습니다.

     

    [테일윈드 색상]
    4.0 버전의 색상 950까지 모두 출력 합니다
    클릭 시 복사가 가능합니다.
    =추가 25.02.04=[이미지 색상 추출]
    이미지 업로드 시 사용된 이미지의 색상을 추출합니다.

     
    [사이트 기능]
    1. 한국어 / 영어 버전을 지원합니다.
    2. 다크 모드를 지원합니다.
    3. 모바일 반응형을 지원합니다.
    고맙습니다.
    • ff4da65fbcbb11b8414ed407a9695655_1738569859_2118.png
    • 6
    • 오래 전
      2025.01.31
  • 오래 전
  • 회원 가입 및 회원 정보 수정 시 관리자에게 알림 보내기
  • 안녕하세요...미니님a입니다.
    회원 가입 및 회원 정보 수정 시 관리자에게 메시지를 보내는 기능을 추가 해보려고 합니다.초보라도 비교적 간단하게 기능을 추가 할 수 있습니다.
    실제 동작은 아래와 같습니다.


     
    다음 경로에서 파일을 열어주세요
    theme\rb.basic\skin\member\rb.member\register_form_update.tail.skin.php
    해당 파일을 열어
    주석이 끝나는 (SMS 문자) 다음에 5줄만 넣어주세요
    [code]if ($w == '' || $w == 'u') {    $memo_content = $mb_nick.'님이 '.G5_TIME_YMDHIS.'에 ';    $memo_content .= ($w == '') ? '회원 가입했습니다.' : '회원 정보를 수정했습니다.';    memo_auto_send($memo_content, '', $config['cf_admin'], "system-msg");}[/code]
    끝입니다.
    만약 어딘지 잘 모르겠다 하시면 아래 스샷 보시면 이해 되실 겁니다.


    만약 나는 어? 그냥 회원 가입만 쓰고 싶은데요? 굳이 정보 수정까진 필요 없어요? 하신다면 코드를 아래 처럼 변경 해주세요
    [code]if ($w == '') {    $memo_content = $mb_nick.'님이 '.G5_TIME_YMDHIS.'에 ';    $memo_content .= '회원 가입했습니다.';    memo_auto_send($memo_content, '', $config['cf_admin'], "system-msg");}[/code]
    끝 입니다.
    고맙습니다.

    • 5
    • 오래 전
      2025.01.23
  • 오래 전
  • 게시물 관리 기능 내 리스트 목록에서 기능을 업데이트 해봅시다!
  • 안녕하세요...미니님a 입니다.
    예전에 SIR 에 업로드 된 팁이긴 하지만, 리빌더에는 기본적으로 적용된 게시물 관리 기능 업데이트를 다른 분들께 공유하고자 작성합니다.
    기존 게시글을 그대로 복붙이 아닌, 리빌더에 맞게 수정된 게시글입니다. (결과만 예전에 올린 것과 동일)게시물 관리는 빌더설정 > 게시물 관리 메뉴에서 활용할 수 있습니다.
    나는 소스에 대해 잘 몰라서, 적용이 어려울 것 같다? 하시는 분들은 아래 링크에서 자료 다운로드 하실 수 있습니다.https://rebuilder.co.kr/userdata/305


    실제 구동 되는 영상은 아래와 같습니다.

     
    주의 : 제 코드 라인과는 동일하지 않을 수 있습니다. 본인의 작성된 코드 라인 근처 혹은 검색을 이용해주세요
    다음 파일을 열어주세요
    adm/rb/bbs_list.php  151번 라인 근처 혹은 다음 코드를 찾아주세요
    <th scope="col"><?php echo subject_sort_link('wr_hit'); ?>조회</a></th>
    그리고 이 코드를 다음에 2줄을 추가 해줍니다.
    <th scope="col"><?php echo subject_sort_link('wr_good'); ?>추천</a></th> <th scope="col"><?php echo subject_sort_link('wr_nogood'); ?>비추천</a></th>
    스샷으로 보면 다음과 같습니다. 

     

    그 다음 163번 라인 근처 혹은 다음 코드를 찾아 주세요
    $bg = 'bg'.($i%2);
    그리고 다음 코드를 추가 해주세요
    $bo_use_good = $board['bo_use_good']; $bo_use_nogood = $board['bo_use_nogood'];
    마찬가지로 스샷으로 보면 다음과 같습니다.

     
    그리고 같은 파일 179번 라인 혹은 다음 코드를 찾아 주세요
    <td class="td_mng td_mng_s"><?php echo $row['wr_hit']; ?></td>
    그리고 기존 코드 위 찾은 코드도 함께 변경 되어야 합니다.
    <td class="td_mng td_mng_s"><input style="text-align:center;" type="number" value="<?php echo $row['wr_hit']; ?>" name="wr_hit[<?php echo $i;?>]"></td> <td class="td_mng td_mng_s"><?php if($bo_use_good) { ?><input style="text-align:center;" type="number" value="<?php echo $row['wr_good']; ?>" name="wr_good[<?php echo $i;?>]"><?php } else { echo '미사용'; } ?></td>         <td class="td_mng td_mng_s"><?php if($bo_use_nogood) { ?><input style="text-align:center;" type="number" value="<?php echo $row['wr_nogood']; ?>" name="wr_nogood[<?php echo $i;?>]"><?php } else { echo '미사용'; } ?></td>
    아예 기존 wr_hit 도 수정할 수 있게 코드가 변경 된다는 뜻이니 참고하세요
    스샷은 다음과 같습니다.

     
    자 그리고 199번 라인 근처 혹은 다음 코드를 찾아 주세요
      <input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="btn btn_02">
    그리고 그 다음 줄에 추가 해주세요
      <input type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value" class="btn btn_02">
    스샷으로 보면 다음과 같습니다.

    자 여기까지 하시면 일단 프론트 자체는 끝이 났습니다.
    마지막으로 수정 되는 것 까지 하실려면 
    adm/rb/bbs_list_update.php파일을 열어 주세요
    17번 라인 근처 혹은 다음 코드를 찾아 주세요
    if ($_POST['act_button'] == "선택삭제") {
    그리고 이 코드 바로 위에 다음 코드를 넣습니다.
    if($_POST['act_button'] == "선택수정"){     auth_check_menu($auth, $sub_menu, 'd');         for($i=0; $i<$count_post_chk; $i++){         // 실제 번호를 넘김         $k = isset($_POST['chk'][$i]) ? (int) $_POST['chk'][$i] : 0;         $iwr_id = isset($_POST['wr_id'][$i]) ? (int) $_POST['wr_id'][$k] : 0;         $wr_hit = isset($_POST['wr_hit'][$i]) ? (int) $_POST['wr_hit'][$k] : 0;         $wr_good = isset($_POST['wr_good'][$i]) ? (int) $_POST['wr_good'][$k] : 0;         $wr_nogood = isset($_POST['wr_nogood'][$i]) ? (int) $_POST['wr_nogood'][$k] : 0;                 $sql = "update g5_write_{$bo_table} set wr_hit = ${wr_hit}, wr_good = ${wr_good}, wr_nogood = ${wr_nogood} where wr_id = '{$iwr_id}'";         sql_query($sql);     } }
    마찬가지로 스샷은 다음과 같습니다.


    이렇게 하시면, 목록에서 조회수 / 추천수 / 비추천수를 관리자가 임의로 수정할 수 있습니다. 
    만약 추천/비추천 미사용 시 미사용이라고 안내가 됩니다.

    고맙습니다.

     
    • da0c4c9be8b6d04d7b206de454053c04_1737606268_1063.png
    • 4
    • 오래 전
      2025.01.21
  • 오래 전
  • 하루 게시글 / 댓글 작성 포인트 지급 제한
  • 안녕하세요...미니님a 입니다.
    커뮤니티 사이트 특성상 무제한으로 댓글 혹은 게시글 포인트 지급이 되어 제한 하고자 하시는 분들께서 유용하게 사용할 수 있을 것입니다.
    사용하시는 게시판 스킨 디렉토리 내 write_update.head.skin.php / write_comment_update.head.skin.php 파일을 생성 합니다.이는 통합 게시판 / 일반 기본 게시판과 구분 없습니다.
    파일명을 보시면 아시겠지만, 댓글 / 게시글을 따로 적용하여야 합니다.
    몇번까지 제어하실지는 아래 코드에서 수정 하시면 됩니다. 기본 4로 설정 되어있습니다.
    [write_comment_update.head.skin.php] <?php if (!defined('_GNUBOARD_')) exit;         $comment_cnt = sql_fetch(" select count(*) as cnt from $write_table where wr_is_comment = '1' and mb_id = '{$member['mb_id']}' and substring(`wr_datetime`,1,10) = '". G5_TIME_YMD ."'");         $comment_max = 4; //하루에 포인트를 부여할 댓글쓰기 회수         // 하루에 댓글쓰기 횟수가 최대회수를 넘었다면     if ($comment_cnt['cnt'] >= $comment_max) {     $board['bo_comment_point'] = 0; // 댓글쓰기 포인트 지급 0     } 만약 해당 파일이 있다면 상단에 [code]<?phpif (!defined('_GNUBOARD_')) exit; [/code]
    이부분은 생략 하시고 본 코드만 넣어주세요

    [write_update.head.skin.php] <?php if (!defined('_GNUBOARD_')) exit;              // 게시글 수 확인     $write_cnt = sql_fetch(" select count(*) as cnt from $write_table where wr_is_comment = '0' and mb_id = '{$member['mb_id']}' and substring(`wr_datetime`,1,10) = '". G5_TIME_YMD ."'");         $write_max = 4; //하루에 포인트를 부여할 게시글쓰기 횟수         // 하루에 게시글쓰기 횟수가 최대 횟수를 넘었다면     if ($write_cnt['cnt'] >= $write_max) {         $board['bo_write_point'] = 0; // 게시글쓰기 포인트 지급 0     } 마찬가지로 해당 파일이 있다면[code] <?phpif (!defined('_GNUBOARD_')) exit; [/code]이부분은 생략하고 바로 하단에 있는 코드만 넣어주심 되세요
    이렇게 하시면 해당 개수 이상일 시 포인트를 지급하지 않습니다.
    고맙습니다.
    • 3
    • 오래 전
      2025.01.21
  • 오래 전
  • [수정] 댓글에서 원 작성자 표기 하기
  • 안녕하세요...미니님a 회원입니다.

    게시글 작성자가 댓글을 남겼을 때 원 작성자와 동일할 경우 (작성자) 라고 표기하는 팁을 공유하고자 합니다.실 동작화면은 영상이 아닌 스샷으로도 충분하기에 스샷으로 대처합니다.아래 스샷 확인해주세요
     

    사용하시는 게시판 스킨 내 view.comment.php 파일을 열어주세요[09:20 추가] - 만약 통합 게시판을 사용한다면 rb.bbs/skin/cmt/basic/skin.php 파일을 열어서 아래와 똑같이 하시면 됩니다.컨트롤 + F 검색 기능을 활용하여 아래 코드를 찾아주세요
    <?php echo $list[$i]['name'] ?>
    그리고 바로 아래에 다음 코드를 넣어주시면 끝입니다.
    <?php if ($list[$i]['mb_id'] === $write['mb_id']) { ?>   <span style="color:#0000ff">(작성자)</span> <?php } ?>
    어디에 정확하게 넣는지 모르겠다구요 ? 그럼 아래 스샷을 참조 하세요

     이렇게 넣어주시면 됩니다.
    고맙습니다.
    • f2b95d45acc6e6039b0f81c3923de12f_1737417638_7815.png
    • 2
    • 오래 전
      2025.01.17
  • 오래 전
  • 내가 스크랩 한 게시물은 체크 및 스크랩 총 개수 나타내기
  • 안녕하세요...미니님a 회원입니다.
    게시판 목록을 클릭해서 내용을 보면, 스크랩이라는 기능이 있습니다.이 기능을 통해 본인의 판단하에 자주 혹은 유용한 게시글 등을 스크랩하실 텐데요
    화면상에 총 개수와 내가 스크랩한 게시글을 표기하는 방법입니다.현재는 아시다시피 내가 스크랩했나? 확인할 수 없습니다. 직접 스크랩 버튼을 눌러야만 확인이 가능한 시스템입니다.

    이렇게 번거롭게 확인하는 것 보다 아래 처럼 보여진다면 번거로움이 조금은 줄어들지 않을까요 ?

    사용하시는 게시판 스킨의 view.skin.php 파일을 열어 주세요
    그리고 다음 코드를 찾아주세요 <?php if ($scrap_href) { ?>    <a href="<?php echo $scrap_href;  ?>" class="fl_btns font-B" target="_blank" onclick="win_scrap(this.href); return false;">스크랩</a> <?php } ?> 그리고 이 코드를 통으로 아래 코드로 변경만 하시면 됩니다.         <?php if ($scrap_href) {  $scrap_sql = " select count(*) as cnt from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' and bo_table = '$bo_table' and wr_id = '{$view['wr_id']}' "; $scrap_row = sql_fetch($scrap_sql);?> <a href="<?php echo $scrap_href;?>"  target="_blank" class="fl_btns font-B" onclick="win_scrap(this.href); return false;"><i class="fa fa-<?php echo ($scrap_row['cnt']) ? "check-circle" : ""; ?>" aria-hidden="true"></i> <?php echo ($scrap_row['cnt']) ? "스크랩완료" : "스크랩"; ?> (<?php echo ($scrap_row['cnt']);?>)</a> <?php } ?> 이렇게 변경 해주시면 위 스샷대로 동작할 것입니다.
    고맙습니다.
    • 92cb0a4431cc296878f89f679526fd1a_1737072037_9082.png
    • 1
    • 오래 전
      2025.01.15
  • 오래 전
  • [수정] 게시판 내 일정 확률로 보너스 포인트 지급 하기
  • 안녕하세요...미니님a 회원입니다.
    먼저 해당 팁은 그누보드 배포사이트인 SIR에도 작성하지 않고 오직 리빌더에만 작성하는 팁이며,기존에 SIR에 업로드 된 스킨 버그 수정된 버전입니다.
    ※ 본 팁은 손수 작성한 팁이며, 창작으로 제작된 기능이므로, 다른 곳에 퍼가실 땐 반드시 제 닉네임을 작성해주시길 바랍니다. 이는 최소한의 매너입니다. 그럴 일은 없겠지만, 진짜 진짜 만약에 발견되면, 팁 공유에 대한 고민이 ...생기............
    자!!!  RB 기본 스킨을 이용하면서,아 사용자에게 보너스 포인트 지급을 하고 싶은데 방법이 없을까? 하셨을 운영자님은 안계신가요 ?^^;
    해당 내용은 스킨과 연계됩니다. 잘 몰라서 스킨을 변경하실꺼면 아래 링크에서 스킨을 그대로 적용하시면 되며,이미 스킨이 상당히 커스터마이징이 많이 된 상태인 경우 해당 팁만 적용이 가능합니다.https://rebuilder.co.kr/userdata/280
    이런 느낌으로 동작합니다.

     
    글 그리고 댓글 모두 적용할 수 있습니다.
    1. 사용하시는 게시판 설정으로 들어가주세요그리고 맨 하단에 다음과 같이 추가 해주세요
     참고로 여분 필드 9번과 10번을 사용하고 있습니다.혹시라도, 다른 번호를 사용해야 한다면 아래 코드에서 변경 해주십시요.

    여분필드 9: 글확률/댓글 확률입니다.여분필드10: 글최소~글최대 / 댓글최소~댓글최대입니다.
    따라서 여분필드 9번의 경우 2개의 데이터 10번의 경우 4개의 데이터가 있어야 정상 동작합니다.만약 고정된 포인트를 지급하실려면 4개의 값을 고정해주세요 혹은 2개 2개씩예) 글 100포인트 / 댓글 50포인트
    100,100,50,50 으로 저장하시면 됩니다.

    자! 이제 수정하러 가봅시다.
    사용하시는 게시판 스킨 write_update.skin.php 파일을 열어 아래 코드를 넣어주세요
    [추가] 통합 게시판의 경우 update/basic/write_update.skin.php 파일을 열어 아래 코드를 추가 해주세요 (스크린샷과 동일하게 해주시면 됩니다.)     $bo_9_values = explode(',', $board['bo_9']);     $bo_10_values = explode(',', $board['bo_10']);     $probability = $bo_9_values[0];      $randomNumber = mt_rand() / mt_getrandmax();     $point_rand = rand($bo_10_values[0], $bo_10_values[1]);     if ($w == "" && $randomNumber <= $probability){         insert_point($member['mb_id'], $point_rand, "{$board['bo_subject']} {$wr_id} 글쓰기 보너스 포인트", $bo_table, $wr_id, '글쓰기보너스');     }  잘 모르겠다 하시면 아래 스샷 참조 하시길 바랍니다.


     
    자 그다음 댓글 보너스 포인트 지급을 위해 write_comment_update.skin.php 파일을 열어 아래 코드를 추가 해주세요[추가]통합 게시판의 경우 update/basic/cmt_update.skin.php 파일을 열어 아래 코드를 추가 해주세요 (스크린샷과 동일하게 해주시면 됩니다.)
    $bo_9_values = explode(',', $board['bo_9']); $bo_10_values = explode(',', $board['bo_10']); $probability = $bo_9_values[1];  $randomNumber = mt_rand() / mt_getrandmax(); $point_rand = rand($bo_10_values[2], $bo_10_values[3]); if ($w == "c" && $randomNumber <= $probability){     insert_point($member['mb_id'], $point_rand, "{$board['bo_subject']} {$wr_id}#{$comment_id} 댓글쓰기 보너스 포인트", $bo_table, $comment_id, '코멘트보너스'); } 
    마찬가지로 난 잘 모르곘다? 하시면 위치는 아래 스샷 참조 하시길 바랍니다.


     


    자! 이제 1/3 왔네요, 이제 화면에 보여줄 차례입니다.view.skin.php 파일을 열어서 다음 코드를 찾아주세요
    [추가]통합 게시판의 경우 view/basic/skin.php 파일을 열어   <div id="bo_v_share"> (241번 라인) 을 찾아주세요해당 라인 바로 위에 아래 코드를 넣어주시면 됩니다.
    <?php echo get_view_thumbnail($view['content']); ?>     </div> 그리고 그 아래에 해당 코드를 넣어주세요
    <?php                   $point_sql = "SELECT * FROM `{$g5['point_table']}` WHERE po_rel_table = '{$bo_table}' and po_rel_id = '{$wr_id}' and po_rel_action = '글쓰기보너스' ";         $result_point = sql_fetch($point_sql);         if($result_point) { ?>             <p class="text-xs" style="font-weight: 500;  font-size: 0.75rem; line-height: 1.25rem; padding: 0.625rem 1.25rem; padding-left:0;  border-radius: 0.5rem; margin-bottom: 0.5rem; margin-top: 1rem;"> 축하합니다. 보너스 <span style="font-weight:bold;"><?php echo $result_point['po_point']; ?></span>포인트를 획득 하였습니다.</p>         <?php } ?>
    마찬가지로 난 잘 모르겠는데? 하시면 아래 스샷 참조 하시면 됩니다.

     

    이제 댓글에도 남겨야죠 ?? 댓글은 view_comment.skin.php 파일을 열어서 다음 코드를 찾아주세요
    [추가]cmt/basic/skin.php 파일을 열어 아래 소스를 찾아주세요 똑같은 코드가 있습니다.
     <?php if($is_comment_reply_edit) {                 if($w == 'cu') {                     $sql = " select wr_id, wr_content, mb_id from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";                     $cmt = sql_fetch($sql);                         if (isset($cmt)) {                             if (!($is_admin || ($member['mb_id'] == $cmt['mb_id'] && $cmt['mb_id']))) {                                 $cmt['wr_content'] = '';                             }                             $c_wr_content = $cmt['wr_content'];                         }                 } ?>                         <?php } ?>
    이 코드 아래에 해당 코드를 넣어주세요  <?php                   $point_sql = "SELECT * FROM `{$g5['point_table']}` WHERE po_rel_table = '{$bo_table}' and po_rel_id = '{$comment_id}' and po_rel_action = '코멘트보너스' ";                  $result_point = sql_fetch($point_sql);                 if($result_point) { ?> <p class="text-xs" style="font-weight: 500;  font-size: 0.75rem; line-height: 1.25rem; padding: 0.625rem 1.25rem; padding-left:0;  border-radius: 0.5rem; margin-bottom: 0.5rem; margin-top: 1rem;"> 축하합니다. 보너스 <span style="font-weight:bold;"><?php echo $result_point['po_point']; ?></span>포인트를 획득 하였습니다.</p> <?php } ?>
    이것도 아래 스샷 참고 하시면 위치는 확인 되실 것입니다.


     

    여기까지 오셨다면 아래 기능은 추가가 완료 되었지만, 문제점이 하나 발생합니다.바로 글이나 댓글 삭제 시 보너스 포인트가 회수가 안된다는 버그인데요
    이제 그 부분도 해결해보겠습니다.리빌더 기본 스킨에는 해당 파일이 기본적으로 없습니다.따라서 파일명 잘 보시고 직접 생성하셔야 합니다.
    만약 해당 파일이 있다면 코드만 넣어주세요
    먼저 글삭제 파일 delete.skin.php 파일을 생성 해주세요
    그리고 아래 코드를 넣어주세요
    [추가]통합 게시판도 하단의 코드는 동일하게 작성하시면 됩니다. <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가  // 글쓰기 보너스 포인트 회수 $sql_point = "SELECT * FROM `{$g5['point_table']}` WHERE po_rel_table = '{$bo_table}' and po_rel_id = '{$wr_id}' and po_rel_action = '글쓰기보너스' "; $result_point = sql_fetch($sql_point); if($result_point) {     insert_point($write['mb_id'], $result_point['po_point'] * (-1), "{$board['bo_subject']} {$write['wr_parent']} 글삭제", $bo_table, $wr_id, '글쓰기삭제'); } // 해당 글의 댓글 보너스 포인트 회수 $sql = " select wr_id, mb_id from {$write_table} where wr_parent = '{$wr_id}' and wr_is_comment = 1 "; $result = sql_query($sql); while ($row = sql_fetch_array($result)) {     $sql_comment_point = "SELECT * FROM `{$g5['point_table']}` WHERE po_rel_table = '{$bo_table}' and po_rel_id = '{$row['wr_id']}' and po_rel_action = '코멘트보너스' ";     $result_comment_point = sql_fetch($sql_comment_point);          if($result_comment_point) {         insert_point($row['mb_id'], $result_comment_point['po_point'] * (-1), "{$board['bo_subject']} {$wr_id} 댓글삭제", $bo_table, $row['wr_id'], '댓글삭제');     } }
    햐당 파일은 그냥 처음 만든 파일이라 걍 싹 다 복사해서 복붙하시면 됩니다.
    이제 댓글 삭제 포인트 회수하러 갑시다.delete_comment.skin.php 파일을 생성 해주세요그리고 아래 코드를 전체 넣어주시면 끝입니다.
    [추가]통합 게시판도 하단의 코드는 동일하게 작성하시면 됩니다. <?php if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가  $sql_point = "SELECT * FROM `{$g5['point_table']}` WHERE po_rel_table = '{$bo_table}' and po_rel_id = '{$comment_id}' and po_rel_action = '코멘트보너스' "; $result_point = sql_fetch($sql_point); if($result_point) {     insert_point($write['mb_id'], $result_point['po_point'] * (-1), "{$board['bo_subject']} {$write['wr_parent']}-{$comment_id} 댓글삭제", $bo_table, $wr_id, '댓글삭제'); }
    그러면 아래 처럼가 잘 처리 될 것입니다.



    아래는 전체적으로 구동되는 움짤 영상입니다. 클릭 하시면 큰 화면에서 확인이 가능합니다.고맙습니다.

     
     





    [수정]
    25. 02. 23- 통합 게시판용 소스에 대한 설명 추가

    • 92cb0a4431cc296878f89f679526fd1a_1736923772_5857.png

검색

게시물 검색
구매 신청
  • 신용카드 결제는 별도상담을 통해 가능합니다.
    구매문의 : cs@false9.co.kr / 010-6466-3355
    신청 이후 담당자가 개별연락 드리고 있습니다.
    입금자명과 실제 입금자가 동일한 경우 자동처리 됩니다.
  • 결제예정 금액 : 0 (VAT별도)
    하나은행(KOEXKRSE) : 258-910104-00407 / 김은정(인덱스)

  •  
  • 신청 및 FCM 가이드
      안드로이드 웹앱 및 푸시알림을 사용하기위한 A-Z!
      잘 따라오시면 어렵지 않습니다.

      1. FCM (Firebase Cloud Messaging) 세팅하기

      1-1. 시작하기
      https://console.firebase.google.com?hl=ko 으로 접속하여 [시작하기] 를 클릭합니다. FCM은 구글계정이 있으면 무료로 사용 가능 합니다.




      1-2. 프로젝트 생성하기
      [프로젝트 시작하기] 를 클릭합니다.




      프로젝트의 이름을 설정합니다.
      앱이름(사이트명, 상호명)을 영문으로 입력하는것이 가장 좋습니다.
      입력하셨다면 [계속] 을 클릭해주세요.




      애널리틱스 사용설정을 활성화 해주시고(선택사항)
      [계속] 을 클릭해주세요.




      애널리틱스 위치를 [대한민국] 또는 거주국가를 선택하시고 약관 동의 후 [프로젝트 만들기] 를 클릭해주세요.




      프로젝트 생성이 완료 되었습니다. [계속] 을 클릭하시면 FCM메인페이지로 이동 합니다.




      1-3. 앱 생성하기
      이전 단계에서 프로젝트를 생성했습니다.
      이제 프로젝트안에 안드로이드 앱을 생성해보겠습니다.

      FCM 메인 중앙에 주황색 동그란 버튼이 3개 있습니다.
      가운데에 있는 (안드로이드 로고) 버튼을 클릭해주세요.




      버튼을 클릭하셨다면 앱등록 창이 오픈 됩니다.
      안드로이드 패키지 이름 및 앱 닉네임을 입력하세요.

      패키지 이름은 반드시 com.webview.앱영문명 으로 입력하셔야 합니다.
      com.webview. 를 반드시 넣어주셔야 합니다.
      입력 예) com.webview.rebuilder

      앱 닉네임은 사이트명이나 상호명, 앱이름 등을 입력해주시면 됩니다.
      디버그 서명은 입력하지 않아도 됩니다.

      입력을 마치셨다면 [앱등록] 을 클릭해주세요.
      다음페이지로 넘어간다면, 입력하신 패키지명 (com.webview.앱영문명) 을 메모장에 메모해주세요.





      [google-services.json 다운로드] 버튼을 클릭하셔서 파일을 다운받아 주세요.
      다운을 받으셨다면 [다음] 을 클릭해주세요.




      Groovy(build.gradle) 선택하신 후 [다음] 을 클릭해주세요.




      앱 생성이 완료 되었습니다.
      [콘솔로 이동] 을 클릭하시면 메인으로 이동 됩니다.




      1-4. 비공개 키파일 생성하기
      거의 다왔습니다. 조금만 더 힘내세요.
      저도 이거 작성하느라 무쟈게 힘들었습니다. 리빌더화이팅.

      화면 상단에 아까 입력하신 이름으로 앱이 생성된게 보이신다면,
      좌측 상단에 [프로젝트 개요] 메뉴 옆에 톱니바퀴 아이콘을 클릭하여
      [프로젝트 설정] 으로 이동해주세요.




      프로젝트 설정으로 오셨다면 상단 탭메뉴에서 [서비스 계정] 을 클릭하세요.





      화면 아래쪽에 있는 [새 비공개 키 생성] 을 클릭하세요.

      키파일은 버튼 클릭시 자동으로 다운로드 됩니다.
      중요한 파일이므로 파일을 타인에게 공개하거나 해서는 안됩니다.





      친절하게 중요한 파일임을 알려줍니다.
      [키 생성] 을 클릭하면 json 파일이 다운로드 됩니다.




      다운로드된 파일은 rebuilder-demo-a4cc0-firebase-adminsdk-au83h-41e4b5df03.json 과 같은식으로 저장됩니다.
      이름이 너무 긴 관계로 임의파일명으로 변경해주세요.
      가이드에서는 key.json 으로 설명하겠습니다.

      이제 준비는 모두 끝났습니다!
      바탕화면에 1-3에서 다운로드 했던 google-services.json 파일과,
      방금 이름을 변경했던 key.json 파일이 있다면 잘 하셨습니다. (파일아이콘은 무시해주세요. 다를 수 있습니다.)




      2. 리빌더 앱관리 설정하기

      2-1. 파일 업로드하기
      위 단계에서 이름을 변경했던 key.json 파일을 사용하시는 웹서버(웹호스팅)에 FTP 프로그램으로 접속하여 업로드 해주세요.
      업로드 위치는 /data/push/key.json 입니다.

      2-2. 앱관리 설정하기
      관리자모드 > 빌더설정 > 앱관리 메뉴로 이동해주세요.
      [앱관리] 메뉴가 없다면 리빌더 공식홈페이지 > 부가기능 다운로드 에서 [안드로이드 하이브리드 웹앱 + Push 알림] 기능을 다운로드 후 설치해주세요.
      바로가기 > https://rebuilder.co.kr/membership/30

      설치가 되셨다면 관리자모드 > 빌더설정 > 앱관리 메뉴로 이동해주세요.

      스크롤을 내리시면 [FCM 설정] 섹션이 있습니다.
      FCM 패키지명, FCM 프로젝트 ID, FCM 비공개키파일 항목을 모두 입력 하시고
      [확인] 을 클릭해주시면 설정은 마무리 됩니다.




      [FCM 패키지명]
      1-3 에서 설정했던 com.webview.앱영문명 을 입력하시면 됩니다.

      [FCM 프로젝트 ID]
      1-4 에서 이동했던 [프로젝트 설정] 페이지로 이동하시면 내 프로젝트 섹션에서 확인하실 수 있습니다. (스샷참조)

      [FCM 비공개키파일]
      위에서 임의파일명으로 변경했던 파일명 key.json 을 입력하시면 됩니다.




      고생하셨습니다. 모든 설정이 완료 되었습니다.
      1-3 에서 다운로드 했던 google-services.json 파일은
      신청서에 첨부해주셔야 합니다.


      창을 닫아주시고, 신청을 계속해주세요!