2.2.1.5
리빌더
리빌더 2.2
빌더 소개
n
빌더 다운로드
사용 가이드
리빌더 데모
리빌더(마켓) 데모
공식 앱 다운로드
새소식
새소식
공지사항
n
업데이트 캘린더
업데이트 노트
부가기능
부가기능
시스템
게시판
최신글
위젯
마켓
레이아웃
배너
웹폰트
테마
부가서비스
부가서비스
부가서비스
테마
패키징
이용중인 서비스
멤버십
멤버십
상품안내
라이선스
기술지원
기술지원
질문과 답변
n
버그제보
n
개선 및 제안
기술지원
라이브러리
n
신규제작 문의
제작실적
포럼
사용자 포럼
자유 게시판
n
유저 자료실
멤버십 자료실
팁과 노하우
사용후기
많이 검색된 키워드
#
에디터
#
출석부
#
rb_core
#
게시판
#
모바일
검색조건
제목+내용
제목
내용
회원아이디
이름
and
or
로그인후 이용해주세요.
로그인
회원가입
팁과노하우
검색
포인트정책
팁과노하우 포인트 정책
글쓰기
100P
댓글
10P
전체 104건 / 4 페이지
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 대화하기
인기
203
8
8
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 대화하기
인기
271
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 대화하기
인기
242
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 대화하기
인기
227
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 대화하기
인기
191
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 대화하기
인기
211
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 대화하기
인기
216
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 대화하기
인기
220
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 대화하기
인기
234
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 대화하기
인기
373
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 대화하기
인기
205
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 대화하기
인기
175
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 대화하기
인기
220
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 대화하기
인기
298
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 대화하기
인기
226
1
2
검색
처음
1
페이지
2
페이지
3
페이지
열린
4
페이지
5
페이지
다음
맨끝
검색
게시물 검색
검색대상
제목
내용
제목+내용
글쓴이
글쓴이(코)
검색어
필수
Guest
로그인
회원가입
리빌더
리빌더 2.2
빌더 소개
n
빌더 다운로드
사용 가이드
리빌더 데모
리빌더(마켓) 데모
공식 앱 다운로드
새소식
새소식
공지사항
n
업데이트 캘린더
업데이트 노트
부가기능
부가기능
시스템
게시판
최신글
위젯
마켓
레이아웃
배너
웹폰트
테마
부가서비스
부가서비스
부가서비스
테마
패키징
이용중인 서비스
멤버십
멤버십
상품안내
라이선스
기술지원
기술지원
질문과 답변
n
버그제보
n
개선 및 제안
기술지원
라이브러리
n
신규제작 문의
제작실적
사용자 포럼
사용자 포럼
자유 게시판
n
유저 자료실
멤버십 자료실
팁과 노하우
사용후기