자료 유형 | 모듈 |
---|---|
간단한 소개 | 포인트 적립·사용 내역을 제공해주는 모듈입니다. |
설치 경로 | ./modules/pointhistory |
코어 지원 범위 | XE 1.x, Rhymix 1.9, Rhymix 2.0 |
PHP 지원 범위 | 기타 |
자료 구분 | 공개 자료 |
라이선스 | GPL v2 |
파일명 | 버전 | 날짜 | 용량 | 다운 |
---|---|---|---|---|
pointhistory V0.2.1.zip | 0.2.1 | 2016.08.25 | 32.8KB | 515 |
pointhistory V0.2.zip | 0.2 | 2016.08.22 | 32.8KB | 115 |
업데이트 내역
- V0.2.1 (2016.08.25)
- 기록 자동 삭제 기능이 작동되지않는 문제 수정
- V0.2 (2016.08.22)
- 소셜XE 포인트 메세지 추가
- 기록 자동 삭제 옵션 추가
- 레이아웃을 지정할 수 있도록 옵션 추가
- 탈퇴시 기록 삭제 여부에 대한 옵션 추가
- 관리자가 사용/적립에 대한 이름을 변경할 수 있도록 옵션추가
- 히스토리 목록(포인트 내역)에서 색으로 한눈에 사용,적립을 구분할 수 있도록 추가
- 일별 포인트를 기록할 수 있는 포인트 현황 기능 추가
- V0.1.4 (2014.10.13)
- 특정환경에서 XE실행시 에러가 표시될 수 있는 문제수정
- V0.1.3 (2014.09.02)
- module_srl 기록추가
- V0.1.2 (2014.08.29)
- 자동로그인시 금일포인트가 "알수없음"으로 표시되는 문제수정
- 다운로드 포인트 표시 수정
- 좀 더 자세한 내용이 표시되도록 개선
- V0.1.1 (2014.08.26)
- 회원메뉴 이름을 정할 수 있도록 옵션 추가
- 포인트 단위문자를 정할 수 있도록 옵션 추가
- V0.1 (2014.08.25)
- 최초버전
포인트 사용 기록을 수집하여 포인트 통계를 제공해주는 모듈입니다.
쉽게 말해 포인트 행위를 기록하여 포인트가 어떻게 적립되고 사용되었는지 알 수 있게 해줍니다.
@ 0.1.4 이하 -> 0.2 업데이트 안내
기존 modules/pointhistory 폴더에 덮어쓰기하지 말고, 기존 pointhistory 폴더를 한번 삭제한 후 새로 업로드해주세요.
기존 버전에서 업데이트한 사용자분들에게 띄워지는 화면입니다.
기존 DB 테이블은 더 이상 사용하지않기 때문에, 기존 포인트 기록 데이터를 그대로 보존하려면 [업그레이드 시작] 버튼을 눌러 테이블 이전을 해야 합니다.
- 기존 포인트 기록을 모두 삭제해도 좋다면 [새로 사용하기] 버튼으로 바로 사용할 수 있습니다.
- 고성능 서버가 아니면 되도록 처리 속도를 '저속'이나 '일반'으로 두시기바랍니다.
테이블 이전은 포인트 기록 분량에 따라 많은 시간이 소요될 수 있습니다.
@ 사용 환경
- XE 1.7.4 이상
- PHP 5.3 이상
* 0.2 버전 부터 ~
@ 스크린 샷
@ 포인트 지정 메세지 (서드파티 개발자)
포인트를 사용하는 프로그램에서 '포인트 내역'에 표시될 메세지(내용)을 지정할 수 있습니다.
Context::set('__point_message__', '포인트 메세지 내용');
* 0.2 버전 부터 ~
* setPoint() 코드 이전에 지정되어있어야 합니다.
* 구버전(0.1.4 이하) 메세지 코드도 호환됩니다.

conory
Lv. 7
댓글 73
다만 차후에 기존 다른 포인트히스토리 모듈처럼
관리자가 회원들의 포인트 내역을 쉽게 파악하기 위해
닉네임을 클릭해서 포인트 기록 확인 버튼을 누르면
페이지로 회원의 포인트 적립 및 사용내역을 확인할 수 있었으면 좋겠습니다:)
잘쓰겠습니다.
Context::set('__point_message__', '포인트 메세지 내용'); 이건 어디다가 입력해야되나요.ㅠㅠ
저도 방금 설치 했는데 잘됩니다.
이거 혹시 라이믹스 최선버전에서 아직 작동되고있을까요?
아녀 잘안되요 그래서 몇개 수정해야 됩니다. 근데 파일업데이트가 안되네요
버전 8.3php 쓰고 있는데 이렇게 나오네여..
Error #0 "Attempt to assign property "member_menu_name" on null" in modules/pointhistory/pointhistory.class.php on line 199
객체를 먼저 선언하지 않고 속성을 추가하려 하고 있습니다. 오래된 자료에서 종종 사용하던 코딩 방식이나 최근 PHP에서는 허용되지 않으니, 에러 메시지에 포함된 파일명과 줄 번호를 참고하여 수정하세요.
그래서 수정을 좀 했습니다.
new Object >> new BaseObject 이부분하고
$config = getModel('module')->getModuleConfig('pointhistory');
여기서 $config가 null을 반환하는 경우, 그 아래 줄들에서 속성에 접근하려고 해서 PHP 8 이상에서는 에러가 납니다:
Error #0 "Attempt to assign property "member_menu_name" on null"
193번째 줄부터
function getConfig()
{
$config = getModel('module')->getModuleConfig('pointhistory');
// config가 null이거나 객체가 아니면 stdClass로 초기화
if (!$config || !is_object($config)) {
$config = new stdClass();
}
if (!$config->member_menu_name || $config->member_menu_name == Context::getLang('point_history_list')) {
$config->member_menu_name = Context::getLang('point_history_list');
}
if (!$config->increase_name || $config->increase_name == Context::getLang('accumulate')) {
$config->increase_name = Context::getLang('accumulate');
}
if (!$config->decrease_name || $config->decrease_name == Context::getLang('use')) {
$config->decrease_name = Context::getLang('use');
}
$config->delete_record_leave = $config->delete_record_leave ?? 'Y';
$config->delete_record_auto = $config->delete_record_auto ?? 0;
$config->add_member_menu = $config->add_member_menu ?? 'Y';
$config->point_unit_char = $config->point_unit_char ?? 'P';
$config->skin = $config->skin ?? 'default';
$config->mskin = $config->mskin ?? 'default';
$config->point_status = $config->point_status ?? 'Y';
$config->status_except_admin = $config->status_except_admin ?? 'Y';
$config->delete_status_record_auto = $config->delete_status_record_auto ?? 0;
return $config;
}
이걸로 변경하시면 됩니다. 설명이 어렵게 보이네요 ;; 암튼 이렇게 수정했어요