이모티콘샵 V2 +무료 기간제 이모티콘 기능 V2 > 그누보드5 플러그인

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.

이모티콘샵 V2 +무료 기간제 이모티콘 기능 V2 정보

이모티콘샵 V2 +무료 기간제 이모티콘 기능 V2

첨부파일

emoticonshop.zip (10.9K) 4회 다운로드 2025-04-11 00:25:48 포인트 차감100
테스트한 버전5.6.6
호환 가능 버전5.6이상 그 이하 테스트가 필요합니다.

본문

- 변경사항 -

1. 유료 이모티콘, 무료 기간제 이모티콘을 별도의 테이블로 관리하는 방식으로 변경되었습니다.(하단 참조)

2. 사용 기간이 지난 기간제 이모티콘의 경우 메인페이지에서 로그인시 비활성화 처리 되며 토스트 메시지로 비활성화 메시지를 약 4초간 띄운웁니다.

2943618031_1744299728.0905.png

 

이모티콘 샵 부분은 외형적인 변화는 없고 관리방식 변경으로 인한 코드 수정만 있습니다.

 

마찬가지로 무료 기간제 이모티콘 지급 기능의 경우에도 외형적 변화는 없고 관리방식 변경으로인한 코드 수정만 있습니다.

 

- 설치 방법 -

1. 아래 링크의 이모티콘 게시판을 설치합니다.(필수 설치)

https://sir.kr/g5_skin/62141

 

2. emoticonshop 파일을 압축을 풀어 그누보드 메인 폴더에 업로드 합니다.


3. dbecreate.php파일을 업로드 합니다. 그 다음 테이블 생성을 위해 dbcreate.php를 실행 (브라우저에서) 후 해당 파일을 제거합니다.

 

4. 테마 폴더에 head.sub.php 파일 32~34번째줄 html 코드 시작전에 아래와 같은 기간제 이모티콘 만료

알림을 위한 코드를 복붙하고 업로드 합니다.(순정 그누보드 기준)

 


<!-- 기간제 무료 이모티콘 만료 체크 -->
<?php
// 로그인 회원일 때만 실행
if ($is_member && !isset($_SESSION['emoticon_expired_alert_shown'])) {
    $today = date("Y-m-d");
    // 30일 이상 지난 무료 이모티콘 존재 여부 확인
    $expired = sql_fetch("
        SELECT COUNT(*) as cnt
        FROM g5_emoticon_user_package_promo
        WHERE mb_id = '{$member['mb_id']}'
          AND is_active = 1
          AND DATE_ADD(acquired_date, INTERVAL 30 DAY) < '{$today}'
    ");
    if ($expired['cnt'] > 0) {
        // 비활성화 처리
        sql_query("
            UPDATE g5_emoticon_user_package_promo
            SET is_active = 0
            WHERE mb_id = '{$member['mb_id']}'
              AND is_active = 1
              AND DATE_ADD(acquired_date, INTERVAL 30 DAY) < '{$today}'
        ");
        // 한 번만 알림 표시하도록 세션 플래그 설정
        $_SESSION['emoticon_expired_alert_shown'] = true;
        // 중앙 토스트 알림 HTML 출력
        echo <<<HTML
<style>
    #toast-container {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 99999;
    }
    .toast-message {
        background-color: #323232;
        color: #fff;
        padding: 18px 25px;
        border-radius: 10px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.25);
        font-size: 15px;
        animation: fadeIn 0.4s ease, fadeOut 0.5s ease 3.5s forwards;
        text-align: center;
        max-width: 80vw;
        word-break: keep-all;
    }
    .toast-close-btn {
        position: absolute;
        top: 8px;
        right: 10px;
        background: none;
        border: none;
        color: #fff;
        font-size: 16px;
        cursor: pointer;
    }
    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    @keyframes fadeOut {
        to { opacity: 0; transform: scale(0.95); }
    }
</style>
<div id="toast-container">
    <div class="toast-message"><i class="fa fa-bullhorn" aria-hidden="true"></i> 무료 기간제 이모티콘이 만료되어 비활성화되었습니다.</div>
    <button class="toast-close-btn" onclick="this.closest('#toast-container').remove();">×</button>
</div>
HTML;
    }
}
?>
<!--  기간제 무료 이모티콘 만료 체크 -->

 

- 테이블 구성 -

유료 이모티콘, 무료 기간제 이모티콘을 별도의 테이블로 관리하는 방식으로 변경되었습니다.

 

무료 기간제 이모티콘 테이블은 아래와 같이 구성 되어있습니다.

회원 a가 a라는 패키지를 보유 하고 있는지 여부와 지급 날짜를 저장합니다.

1이면 활성화 0이면 비활성화 상태입니다.

2943618031_1744297605.8423.png

 

유료 이모티콘 테이블의 경우에도 유료 이모티콘 코드와 지급 날짜 부분만 없고 나머지는 위와 동일 합니다. 추후 유료 이모티콘 부분도 패키지 단위로 변경 에정

2943618031_1744297793.4974.png

 

https://test.neonserver.space/

 

1. 프로모션 이모티콘 지급 파일 수정 방법

예시로 promo1.php 파일을 수정해보자면

코드에 여러분 사이트 주소로 되어있는 것들을 전부 여러분 사이트 주소로 변경합니다.

 

1. 104~106번째줄의 코드의 내용을 여러분의 원하는 내용으로 변경합니다.

2. 110번째줄의 이모티콘 갯수와 111번째줄의 이모티콘 경로 및 파일 이름을 변경합니다.

3. 130번째줄에 이모티콘 지급 기한의 날짜를 변경합니다.

4. 150번째줄의 이모티콘 패키지명을 변경합니다.

 

2. 이모티콘 샵 파일 수정 방법.

1. 17번째줄의 이모티콘 갯수 (기본갯수 30개)를 변경합니다.

2. 19번째줄의 유료 이모티콘 코드를 변경합니다.

3. 20번째줄의 경로와 파일 명을 변경합니다.

4. 21번째줄의 가격을 수정합니다.(기본 50포인트)

 

테스트

https://test.neonserver.space/emoticonshop/shop.php

아이디 test1 비번 test1

 

 

 

   

 

추천
2

댓글 전체

전체 639
그누보드5 플러그인 내용 검색

회원로그인

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