총 상금 500만원, 2026 리빌더 테마 공모전 !
2.2.6.1
리빌더
리빌더
빌더 다운로드
2.2.6.1
공지사항
이벤트
업데이트 노트
업데이트 캘린더
개발실적
이용가이드
부가 기능
부가 기능
전체
게시판
시스템
확장기능
API
최신글
위젯
레이아웃
웹폰트
테마
리빌더 전용테마
전체
기업/서비스
커뮤니티
서비스
부가 서비스
멤버십/라이선스
제작 의뢰
웹뷰 패키징
Rb 에디터
u
2.0.7
Rb 프리미엄(G7)
Rb 어드민
허브
콘텐츠 허브
허브 메인
콘텐츠 전체보기
지원
지원
질문과 답변
n
버그제보
n
개선 및 제안
n
기술지원 요청
포럼
포럼
리빌더 라운지
출석체크
자유 게시판
n
팁과 노하우
AI
사용후기
실험실
Test
AI
.
Studio
AI
.
Studio
배너 생성
이미지 생성
제품 착용컷
제품 배경컷
패키지/목업
이미지 합성
AI
.
Studio
위젯 메이커
(2.2.6 이후)
많이 검색된 키워드
#
2.2.3
#
2.2.2
#
쇼핑몰
#
입점몰
#
PWA
검색조건
제목+내용
제목
내용
회원아이디
이름
and
or
로그인후 이용해주세요.
로그인
회원가입
팁과노하우
검색
포인트정책
팁과노하우 포인트 정책
글쓰기
50P
댓글
10P
전체 144건 / 5 페이지
64
오래 전
2025.02.24
오래 전
댓글 개수가 많을 때 더보기 버튼을 통해 댓글 펼치기
안녕하세요...미니님a입니다.
개선 및 제안 게시판 내 해당 요청이 있어 간단하게 팁으로 만들었습니다.https://rebuilder.co.kr/propose/771
댓글이 5개가 넘지 않는다면, 더보기 버튼이 보이지 않으며,5개가 넘을 시 총 개수가 함께 노출 됩니다.
만약 스킨으로 적용하고자 한다면 아래 링크를 통해 다운로드 할 수 있습니다.https://rebuilder.co.kr/userdata/393
기본 / 통합 모두 적용 가능합니다.
1. 기본의 경우 사용하시는 게시판 스킨 폴더의 view_comment.skin.php 파일을 열어주세요만약 통합이라면 사용하시는 게시판 스킨 폴더 내 cmt/basic/skin.php 파일을 열어주세요
그 이후 똑같이 쓰시면 됩니다.
상단에 css 를 추가 해주세요단. style.css 에 작성하셔도 무방합니다.
<style> .hidden-comment { display: none; } .load-more-btn { display: block; width: 100%; padding: 15px; margin: 20px 0; background: #f9f9f9; border: 1px solid #ddd; text-align: center; cursor: pointer; transition: all 0.3s ease; } .load-more-btn:hover { background: #f0f0f0; } </style>
위치를 잘 모르겠다 하시면 아래 스샷 참고 하세요
자 다음에는 아래 코드를 찾아주세요
<article id="c_<?php echo $comment_id ?>">
그리고 아래 처럼 변경 합니다.
<article id="c_<?php echo $comment_id ?>" class="<?php if($i >= 5) echo 'hidden-comment'; ?>">
변경 이니 별도로 스샷은 업로드 하지 않습니다.
자 다음에는 아래 코드를 찾아주세요
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
그리고 그 아래에 아래 코드를 추가 합니다.
<?php if($cmt_amt > 5) { ?> <button type="button" id="load-more-comments" class="load-more-btn" data-current="5" data-total="<?php echo $cmt_amt; ?>"> 더보기 (5/<?php echo $cmt_amt; ?>) </button> <?php } ?>
어디인지 모르겠다? 하시면 스샷 참고 하시길 바랍니다.
마지막으로 맨 하단에 보면 스크립트 댓글 열기를 찾아주세요단. 통합의 경우는 해당 파일이 아닌 통합 스킨폴더 내 view_comment.skin.php 에 아래 내용이 있습니다.
<script> jQuery(function($) { //댓글열기 $(".cmt_btn").click(function(e){ e.preventDefault(); $(this).toggleClass("cmt_btn_op"); $("#bo_vc").toggle(); }); }); </script>
여기에 아래 코드만 추가만 해주시면 됩니다.
var $comments = $('#bo_vc article'); var $loadMoreBtn = $('#load-more-comments'); $loadMoreBtn.click(function() { var current = parseInt($(this).data('current')); var total = parseInt($(this).data('total')); var next = current + 5; var $btn = $(this); // 다음 5개의 댓글을 보여줌 $comments.slice(current, next).removeClass('hidden-comment').fadeIn(400, function() { // fadeIn 완료 후 실행 if (next >= total) { $btn.fadeOut(200); // 버튼을 부드럽게 사라지게 함 } }); // 더보기 버튼 상태 업데이트 $btn.data('current', next); $btn.text('더보기 (' + Math.min(next, total) + '/' + total + ')'); });어떻게 넣어야 할지 모르겠다면 아래 스샷을 참고 하세요
실제 구동 영상은 아래와 같습니다.고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
363
4
3
63
오래 전
2025.02.18
오래 전
테스트 서버에는 정해진 아이피만 접근하기
안녕하세요...미니님a입니다.
필요에 의해 테스트 서버 하나쯤은 가지고 계시죠?근데 다른 사람들은 접근할 수 없게 만들어야 할 때가 종종 있습니다.
실제로 제가 업로드 할 때 테스트 하는 리빌더 테스트 서버는 저만(?) 접속이 가능하거든요http://rbtest.dothome.co.kr
위 접속하시면 아래 처럼 뜨는데요!!
이런 식으로 타인에게는 접속을 허용하지 않고, 나만의 서버로 자유롭게 테스트 할 때 유용하게 사용할 수 있는 팁입니다!
소스에 대해 알고 계신다면 먼저 extend 폴더에 server.extend.php 파일을 생성해주세요 (이건 없기에 만들어야 합니다.)그리고 아래 코드를 통으로 복사해서 붙혀 넣으시면 됩니다.
만약 소스에 대해서 잘 모르신다면 첨부된 파일을 다운로드 받아 압축해제 이후 extend 폴더에 넣어주시고, 본인의 아이피 대역만 설정해주시면 됩니다.(어찌 되었던 코드는 ㅠㅠ 조금 수정하셔야 합니다.)
<?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 $ip = '^(5.7.|5.50.|20.18.)'; if (!preg_match("/$ip/", $_SERVER['REMOTE_ADDR'])) { echo 'rebuilder 테스트 서버입니다.'; exit; }
상단에 아이피 대역은 본인의 아이피를 입력 하시거나 / 아이피 대역을 입력하시면 해당 사용자들만 접속이 가능합니다.
광역으로 설정 되어있으며, 정확하게 하려면 아이피를 정확하게 입력해주시면 됩니다.본인 아이피는 아래 링크 (네이버) 누르면 확인 가능합니다.
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%B3%B8%EC%9D%B8+%EC%95%84%EC%9D%B4%ED%94%BC+%ED%99%95%EC%9D%B8
소스 코드는 2자리 광역이며, 만약 3자리 광역으로 하고자 한다면
5\.7\.13\. 으로 하시면 됩니다.구분은 | 파이프로 처리 하시면 됩니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
326
2
1
62
오래 전
2025.02.18
오래 전
[멤버십] 구독 시 포인트 지급 및 구독 취소 시 알림 설정
안녕하세요...미니님a입니다.
해당 내용은 멤버십 내 "구독 + 알림" https://rebuilder.co.kr/item/126 을 사용하고 있다는 가정하에 공유 드리는 팁입니다.
나는 소스 수정에 대해서 잘 알지 못한다? 하시면 아래 링크를 통해 다운로드 하시면 됩니다.https://rebuilder.co.kr/memberdata/119
해당 팁에서 공유 되는 내용은 다음과 같습니다.
1. 구독 추가 시 알림이 오지만, 구독 취소 시 알림이 오지 않아요 그래서 알림 추가
2. 구독 추가 시 보너스 포인트 지급 및 구독 해제 시 보너스 포인트 회수를 통한 구독 시스템 활성화
보너스 포인트 지급을 통해 구독을 유도 하고, 활성화 할 수 있는 방법이 아닐까? 조심스러운 생각이 듭니다.
수정 되는 파일은 2곳입니다.rb/rb.mod/subscaribe/ajax.subscribe.phprb/rb.mod/subscaribe/ajax.subscribe_update.php
먼저. rb/rb.mod/subscaribe/ajax.subscribe.php 파일을 열어주세요
다음 소스를 찾아주세요
$data = array('status' => 'del');
그리고 바로 위에 소스를 넣어주세요
// 구독 취소한 회원 정보 가져오기 $sb_fw_info = get_member($sb_fw_id); // 구독 취소시 포인트 차감 (-100 포인트) insert_point($member['mb_id'], 100 * - 1, $sb_fw_info['mb_nick'].'님 구독 취소', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS); // 구독 취소 알림 메시지 발송 memo_auto_send($member['mb_nick'].'님 께서 회원님을 구독 취소 하셨습니다.', G5_URL.'/rb/home.php?mb_id='.$sb_mb_id.'&ca=fn', $sb_fw_id, "system-msg");
주석 처리 해뒀으니 참고하시면 되며, 100포인트는 임의로 설정한 것입니다. 더 많이 주실 수록 시스템이 활성화 되리라 믿습니다?잘 모르겠다? 하시는 분들을 위해 스샷 부분 참고하세요
그리고 하단에 구독 추가 시 알림은 기본적으로 되어있어 포인트 지급 부분만 수정 하면 됩니다.
$data = array('status' => 'ok');
코드 바로 위에 아래 코드를 넣어주세요
// 구독 대상 회원 정보 가져오기 $sb_fw_info = get_member($sb_fw_id); // 구독 추가시 포인트 지급 (100 포인트) insert_point($member['mb_id'], 100, $sb_fw_info['mb_nick'].'님 구독 추가', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS);
마찬가지로 잘 모르겠다? 하시면 아래 스샷 보고 참고 하세요
자! 여기까지 오셨다면 기본적으로는 끝났습니다.다만 My 페이지 내 구독자에서 삭제 시 포인트 회수 및 알림 설정이 남았습니다.
rb/rb.mod/subscaribe/ajax.subscribe_update.php 파일을 열어주세요
그리고 삭제 되는 부분을 찾습니다.
if($sb_type == "del") { if (isset($_POST['sb_id']) && !empty($_POST['sb_id'])) { $mb_id = $member['mb_id']; $sb_id = $_POST['sb_id'];
그리고 $sb_id 하단에 아래 코드를 넣어주세요
// 구독 취소한 회원 정보 및 데이터 가져오기 $sb_data = sql_fetch("SELECT * FROM rb_subscribe WHERE sb_id = '{$sb_id}' and sb_mb_id = '{$mb_id}'"); $sb_info = get_member($sb_data['sb_fw_id']); // 구독 취소시 포인트 차감 (-100 포인트) insert_point($mb_id, 100 * - 1, $sb_info['mb_nick'].'님 구독 취소', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS); // 구독 취소 알림 메시지 발송 memo_auto_send($member['mb_nick'].'님 께서 회원님을 구독 취소 하셨습니다.', G5_URL.'/rb/home.php?mb_id='.$mb_id.'&ca=fn', $sb_data['sb_fw_id'], "system-msg");
스샷은 아래를 참고 하세요
여기까지!입니다.
여기까지 잘 따라 오셨다면 구독 시 100포인트가 지급되며, 구독 취소 시 100포인트가 회수 됩니다.또한 구독 취소 시 알림까지 오게 됩니다.
구동 영상은 아래를 참조 하시길 바랍니다.고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
318
0
61
오래 전
2025.02.16
오래 전
홈페이지 접속시 연결된 여러도메인을 일괄적으로 메인도메인으로 이동시켜주기
www.aaa.com 접속시www.ccc.com 으로 접속하고 싶을경우
이외 모든 연결된 도메인을 www.ccc.com 으로 접속하고자 할 경우
<script type="text/javascript">
var url = "www.ccc.com";
if(location.host.toLowerCase().indexOf(url) == -1){
location.href = "https://" + url + location.pathname + location.search;
}
</script>
그누보드5에 적용하고 싶으신 분들은위 스크립트를그누보드5 관리자 페이지 > 환경설정 > 레이아웃 추가설정(추가 script, css) 에다가 넣으시면 됩니다.
bank365
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
363
2
3
60
오래 전
2025.02.14
오래 전
게시글 목록 인기순/추천순/날짜순 정렬 기능 추가 하기
안녕하세요...미니님a입니다.
해당 기능은 댓글로 팡야님께서 요청 하셔서 작업 했습니다.해당 기능은 커스터마이징을 한 사용자에게 유효하며, 스킨으로 적용하실 분들은 아래 링크에서 적용하시면 됩니다.
스킨 https://rebuilder.co.kr/userdata/366
단. 공지는 최우선 정렬이라서, 포함되지 않습니다.
기본 : theme/rb.basic/skin/board/rb_basic/list.skin.php 파일을 열어주세요통합 : theme/rb.basic/skin/board/rb.bbs/list.skin.php 파일을 열어주세요
그리고 상단에 스타일을 우선 적용 해주세요단. style.css 에 적용하셔도 무방합니다.
<style> .order_list{ display: flex; justify-content: flex-end; margin-bottom: 24px; } .sort_select_wrap{ flex-basis: 15%; } @media (max-width: 1024px) { .sort_select_wrap{ flex-basis: 20%; } } @media (max-width: 768px) { .sort_select_wrap{ flex-basis: 30%; } } @media (max-width: 480px) { .sort_select_wrap{ flex-basis: 40%; } } </style>
어딘지 잘 모르겠다? 하시면 아래 스샷 참고 하세요
그리고 다음 코드를 찾아 주세요통합 게시판의 경우는 theme/rb.basic/skin/board/rb.bbs/top/basic/skin.php 파일 맨 하단에 있습니다. (똑같은 코드가 있음)
<div class="cb"></div> </ul>
이 코드 바로 밑에 아래 코드를 넣어주세요
<div class="order_list"> <div class="sort_select_wrap"> <select name="sort_option" id="sort_option" onchange="changeSortOption(this.value)" class="select" style="width: 100%;"> <option value="wr_datetime desc" <?php echo ($sst == 'wr_datetime' && $sod == 'desc') ? 'selected' : ''; ?>>최신순</option> <option value="wr_good desc" <?php echo ($sst == 'wr_good' && $sod == 'desc') ? 'selected' : ''; ?>>추천순</option> <option value="wr_hit desc" <?php echo ($sst == 'wr_hit' && $sod == 'desc') ? 'selected' : ''; ?>>조회순</option> </select> </div> </div> 마찬가지로 잘 모르겠다? 하시면 아래 스샷 참고 하세요
자 다왔습니다. 이제 맨 하단에 스크립트만 추가 해주시면 됩니다.이부분은 코드 찾는게 아니라 진짜 맨 끝으로 이동 해주세요
그리고 다음 코드를 넣어주세요통합 게시판의 경우 theme/rb.basic/skin/board/rb.bbs/list.skin.php 파일 맨 하단에 넣어 주시면 됩니다.
<script> function changeSortOption(value) { var [sst, sod] = value.split(' '); var currentUrl = window.location.href; // URL에서 현재 정렬 파라미터 제거 currentUrl = currentUrl.replace(/[?&]sst=[^&]+/, '').replace(/[?&]sod=[^&]+/, ''); // 새로운 정렬 파라미터 추가 var connector = currentUrl.includes('?') ? '&' : '?'; var newUrl = currentUrl + connector + 'sst=' + sst + '&sod=' + sod; // 페이지 새로고침 window.location.href = newUrl; } </script> 마찬가지로 잘 모르겠다? 하시면 스샷 참고 하시길 바랍니다.
자 끝났습니다. 이제 테스트 해보시겠어요?실제 구동 영상은 아래와 같습니다.
고맙습니다.
[수정 반영]2025.02.17- 모바일에서 셀렉트 박스가 비정상적으로 보이던 오류 수정 *상단 스타일 부분만 수정 되었습니다.*
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
459
5
3
59
오래 전
2025.02.14
오래 전
게시판 내 추천해요/별로에요 숫자를 실시간으로 변경해봅시다.
안녕하세요...미니님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.'&'.$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.'&'.$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]
변경하시면 실시간으로 변경 됩니다.구동 영상은 아래를 참조 하세요
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
384
8
9
58
오래 전
2025.02.12
오래 전
그누보드5(리빌더) 영카트(쇼핑몰) 끄기/사용안하기
그누보드에선 영카트와 그누보드가 하나로 배포 되고, 설치되어 있습니다.근데, 리빌더 혹은 커뮤니티만 운영하고 싶을 경우 SHOP/마켓/영카트 메뉴가 노출 되어 불편을 겪고 계신 분들이 계실텐데요그럴경우 아래의 간단한 조치만으로 해결 할 수 있습니다.
data/dbconfig.php를 찾습니다
해당 파일을 열어코드 찾기define('G5_USE_SHOP', true);를 찾아 true 를, false 로 변경
예시 :define('G5_USE_SHOP', false);
false로 바꾸면, 그누보드5 관리자 페이지서 쇼핑몰 관련 메뉴들이 전부 하이드 (숨김)처리 됩니다.
bank365
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
636
1
2
57
오래 전
2025.02.09
오래 전
관리자 추가
그누보드는 기본적으로 최고관리자 1명, 게시판 관리자는 각 게시판별로 1명만 지정할 수 있습니다.관리자가 여러명 필요할 때 참고하세요.
/extend/default.config.php 파일에 추가
// 최고관리자 (회원id 지정)
if ($member['mb_id'] == '회원아이디1') $is_admin = 'super';
if ($member['mb_id'] == '회원아이디2') $is_admin = 'super';
// 최고관리자 (특정 레벨 지정)
if ($member['mb_level'] == 회원레벨) $is_admin = 'super';
타임프렌즈
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
567
2
2
56
오래 전
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]
마찬가지로 스샷 참고 하시면 됩니다.
끝입니다. 이렇게 하시면 공지 접기가 동작하며,
로컬스토리지를 이용하기 때문에 새로고침을 하더라도 공지 접기가 유효합니다.
실 동작은 아래 영상은 참고 하세요
고맙습니다.
※ 힘내서 많은 팁을 공유할 수 있도록 추천 한번 부탁드립니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
404
4
6
55
오래 전
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>
일반 게시판과 통합 게시판 스샷 라인은 다르지만, 코드가 같아 코드 스크린샷은 하나로 통일 합니다.
위 코드 작성 시 아래 처럼 결과를 볼 수 있습니다.
당연히 로그인 하시면 즉시 볼 수 있습니다.
고맙습니다.
※ 추천은 구걸이라 배웠습니다. 추천 좀!!! ㅎㅎ
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
330
2
4
54
오래 전
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% 할인 등)랜덤으로 할인 쿠폰 제공 등등
사용성에 따라 무궁 무진하게 사용할 수 있을 것입니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
348
5
2
53
오래 전
2025.02.03
오래 전
색상 선정에 고민이 있다면 이 글을 클릭 하세요
안녕하세요...미니님a 입니다.
한번 쯤은 색상이 어울리나? 어떤색을 써야 하나 ? 고민 해보신 적 많으실 것이라 생각됩니다.그래서 개발해봤습니다.
색상 생성기 + 색상 팔레트(추천기) 입니다.
https://colorgenerator.kr/
nextjs15 버전으로 개발 하였으며, 스샷은 다음과 같습니다.
- 색상 생성기
컬러를 입력 시 100 ~ 1000까지의 색상을 추천 해줍니다. 실시간 변경 됩니다.
클릭 시 복사 가능합니다.
내보내기 시 보여지는 컬러를 저장할 수 있습니다 (이미지로 저장됨)
색상 잠금 기능도 추가 하였습니다.
- 색상 추천기
색상 선택 시 유사/보색/분할보색1,2 / 삼각 구도 색을 추천 해줍니다.
내보내기 시 해당 색상을 저장할 수 있습니다.
[테일윈드 색상]
4.0 버전의 색상 950까지 모두 출력 합니다
클릭 시 복사가 가능합니다.
=추가 25.02.04=[이미지 색상 추출]
이미지 업로드 시 사용된 이미지의 색상을 추출합니다.
[사이트 기능]
1. 한국어 / 영어 버전을 지원합니다.
2. 다크 모드를 지원합니다.
3. 모바일 반응형을 지원합니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
406
2
3
52
오래 전
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]
끝 입니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
473
2
5
51
오래 전
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); } }
마찬가지로 스샷은 다음과 같습니다.
이렇게 하시면, 목록에서 조회수 / 추천수 / 비추천수를 관리자가 임의로 수정할 수 있습니다.
만약 추천/비추천 미사용 시 미사용이라고 안내가 됩니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
401
3
2
50
오래 전
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]이부분은 생략하고 바로 하단에 있는 코드만 넣어주심 되세요
이렇게 하시면 해당 개수 이상일 시 포인트를 지급하지 않습니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
631
4
2
49
오래 전
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 } ?>
어디에 정확하게 넣는지 모르겠다구요 ? 그럼 아래 스샷을 참조 하세요
이렇게 넣어주시면 됩니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
350
1
2
48
오래 전
2025.01.17
오래 전
게시글이 길어서 짤릴 때 글자수 늘려주는 방법
본문 내용 텍스트가 많이 길어지면텍스트가 짤리게 되는데요.
안 짤리게 수정하는 방법 입니다.
1. phpadmin 접속 후해당 게시판을 찾습니다.
거기서 구조를 선택하면wr_content 필드 타입이 TEXT로 되어 있습니다.
수정하기 눌러서필드 종류를 TEXT 에서 MEDIUMTEXT 또는 LONGTEXT 로 변경 합니다.
2. bbs/write_update.php 파일 수정 if (isset($_POST['wr_content'])) { $wr_content = substr(trim($_POST['wr_content']),0,65536); $wr_content = preg_replace("#[\\\]+$#", "", $wr_content);} 여기서 이 부분 숫자를 아래 참고사항에 있는 최대 저장 크기 값 참고해서 적당히 늘려주세요.$wr_content = substr(trim($_POST['wr_content']),0,16777216);
3. lib/editor.lib.php 파일 수정
아래 함수를 찾은 후 maxlength=\"65536\" 이 부분 최대 저장 크기를 2번 내용처럼 적당히 변경해 주세요.
function editor_html($id, $content){ return "<textarea id=\"$id\" name=\"$id\" style=\"width:100%;\" maxlength=\"65536\">$content</textarea>";
}
삼다수
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
344
1
47
오래 전
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 } ?> 이렇게 변경 해주시면 위 스샷대로 동작할 것입니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
338
3
3
46
오래 전
2025.01.17
오래 전
SQL Injection, XSS 보안 강화하기
update 페이지를 직접 작성하시는 경우 그누보드 내장함수 조합으로SQL Injection, XSS 공격을 방어할 수 있습니다.
보통 update.php 에서
$aaa = isset($_POST['aaa']) ? $_POST['aaa'] : '';$sql = " UPDATE table_name SET aaa = '{$aaa}' WHERE bbb = '{$bbb}' ";sql_query($sql);
이렇게 하기 마련인데, 이렇게되면 공격에 취약해질 수 있습니다.
사용자가 입력 > 저장이 가능한 input 에 스크립트 파일을 추가하는 내용을 입력해서 저장되게하고,스크립트가 실행되면 쿠키 값이나 로컬 스토리지 및 세션 스토리지 등의 정보를 수집해서 서버로 전송할 수도있고, 스크린샷이 캡쳐되어 보내질 수도 있는 위험한 상황이 올 수 있습니다.
일반 문자의 경우$aaa = isset($_POST['aaa']) ? strip_tags(clean_xss_attributes($_POST['aaa'])) : '';
숫자의 경우$aaa = isset($_POST['aaa']) ? intval($_POST['aaa']) : '0';
이렇게 그누보드의 내장 함수와 혼용해서 사용하시면 안전해집니다.
DB로 저장되는 insert 나 update 에서는$sql = " UPDATE table_name SET aaa = '".sql_escape_string($aaa)."' WHERE bbb = '{$bbb}' ";이렇게 사용해서 SQL Injection 을 방어할 수 있습니다.
저희 리빌더도 보안에 신경을 써야 될 것같습니다.감사합니다.
펄스나인
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
571
1
5
45
오래 전
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- 통합 게시판용 소스에 대한 설명 추가
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
425
1
3
검색
처음
1
페이지
2
페이지
3
페이지
4
페이지
열린
5
페이지
다음
맨끝
검색
게시물 검색
검색대상
제목
내용
제목+내용
글쓴이
글쓴이(코)
검색어
필수
Guest
로그인
회원가입
리빌더
리빌더
빌더 다운로드
2.2.6.1
이용가이드
공지사항
이벤트
업데이트 노트
업데이트 캘린더
개발실적
부가 기능
부가 기능
전체
게시판
시스템
확장기능
API
최신글
위젯
레이아웃
웹폰트
테마
리빌더 전용테마
전체
기업/서비스
커뮤니티
서비스
부가 서비스
멤버십/라이선스
제작 의뢰
웹뷰 패키징
Rb 에디터
u
2.0.7
Rb 프리미엄(G7)
Rb 어드민
허브
콘텐츠 허브
허브 메인
콘텐츠 전체보기
지원
지원
질문과 답변
n
버그제보
n
개선 및 제안
n
기술지원 요청
포럼
포럼
리빌더 라운지
출석체크
자유 게시판
n
팁과 노하우
AI
사용후기
실험실
Test
AI
.
Studio
AI
.
Studio
배너 생성
이미지 생성
제품 착용컷
제품 배경컷
패키지/목업
이미지 합성
close_line
오늘 출석 안하셨어요!
출석체크 하러가기