이모티콘샵 V2 +무료 기간제 이모티콘 기능 V2 정보
이모티콘샵 V2 +무료 기간제 이모티콘 기능 V2첨부파일
본문
- 변경사항 -
1. 유료 이모티콘, 무료 기간제 이모티콘을 별도의 테이블로 관리하는 방식으로 변경되었습니다.(하단 참조)
2. 사용 기간이 지난 기간제 이모티콘의 경우 메인페이지에서 로그인시 비활성화 처리 되며 토스트 메시지로 비활성화 메시지를 약 4초간 띄운웁니다.
이모티콘 샵 부분은 외형적인 변화는 없고 관리방식 변경으로 인한 코드 수정만 있습니다.
마찬가지로 무료 기간제 이모티콘 지급 기능의 경우에도 외형적 변화는 없고 관리방식 변경으로인한 코드 수정만 있습니다.
- 설치 방법 -
1. 아래 링크의 이모티콘 게시판을 설치합니다.(필수 설치)
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이면 비활성화 상태입니다.
유료 이모티콘 테이블의 경우에도 유료 이모티콘 코드와 지급 날짜 부분만 없고 나머지는 위와 동일 합니다. 추후 유료 이모티콘 부분도 패키지 단위로 변경 에정
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
댓글 전체

감사 합니다.
감사합니다.

감사합니다 ^^
감사합니다.