자료실

Thumbnail

포인트 히스토리 모듈

2015.10.13 03:28
5,442
0
자료 유형 모듈
간단한 소개 포인트 적립·사용 내역을 제공해주는 모듈입니다.
설치 경로 ./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)

  • 최초버전

 

pointhistory.png

 

포인트 사용 기록을 수집하여 포인트 통계를 제공해주는 모듈입니다.

 

쉽게 말해 포인트 행위를 기록하여 포인트가 어떻게 적립되고 사용되었는지 알 수 있게 해줍니다.

 

@ 0.1.4 이하 -> 0.2 업데이트 안내

1.png

기존 modules/pointhistory 폴더에 덮어쓰기하지 말고, 기존 pointhistory 폴더를 한번 삭제한 후 새로 업로드해주세요.

 

2.png

기존 버전에서 업데이트한 사용자분들에게 띄워지는 화면입니다. 

 

기존 DB 테이블은 더 이상 사용하지않기 때문에, 기존 포인트 기록 데이터를 그대로 보존하려면 [업그레이드 시작] 버튼을 눌러 테이블 이전을 해야 합니다.

 

  • 기존 포인트 기록을 모두 삭제해도 좋다면 [새로 사용하기] 버튼으로 바로 사용할 수 있습니다.
  • 고성능 서버가 아니면 되도록 처리 속도를 '저속'이나 '일반'으로 두시기바랍니다.

 

3.png

테이블 이전은 포인트 기록 분량에 따라 많은 시간이 소요될 수 있습니다.

 

@ 사용 환경

  • XE 1.7.4 이상
  • PHP 5.3 이상

* 0.2 버전 부터 ~

 

@ 스크린 샷

4.png

 

5.png

 

6.png

 

7.png

 

@ 포인트 지정 메세지 (서드파티 개발자)

포인트를 사용하는 프로그램에서 '포인트 내역'에 표시될 메세지(내용)을 지정할 수 있습니다.

 

Context::set('__point_message__', '포인트 메세지 내용');

 

* 0.2 버전 부터 ~

* setPoint() 코드 이전에 지정되어있어야 합니다.

* 구버전(0.1.4 이하) 메세지 코드도 호환됩니다.

 

 

conory Lv. 7

댓글 73

  • 2017.12.10 07:50 #822271
    감사합니다
  • 2017.12.24 01:26 #836688
    감사합니다~
  • 2018.03.13 07:58 #922291
    너무 잘 사용하고 있습니다.

    다만 차후에 기존 다른 포인트히스토리 모듈처럼

    관리자가 회원들의 포인트 내역을 쉽게 파악하기 위해

    닉네임을 클릭해서 포인트 기록 확인 버튼을 누르면

    페이지로 회원의 포인트 적립 및 사용내역을 확인할 수 있었으면 좋겠습니다:)
  • 2019.02.18 17:59 #1175617
    감사합니다.
  • 2019.07.08 08:57 #1240619
    PHP7.2Object 대안이 안되어있습니다. 고쳐주세요 ㅠㅠ
  • 2019.10.26 02:29 #1283276
    잘 쓰겠습니다~!
  • 2019.12.24 12:09 #1309009
    감사합니다.
    잘쓰겠습니다.
  • 2020.01.16 22:33 #1322767
    감사합니다^^
  • 2020.01.18 01:07 #1323750
    정말 초보자라서 그런데 혹시
    Context::set('__point_message__', '포인트 메세지 내용'); 이건 어디다가 입력해야되나요.ㅠㅠ
  • 2020.03.17 02:51 #1363041
    감사합니다!
  • 2020.03.17 02:55 #1363045
    안녕하세요. 이거 설치를 하려는데 아예 설치가 안 되고 설치를 하면 홈페이지 전체에 에러코드가 뜹니다ㅠㅠㅠ 원래 이런 건가요...?
  • 2020.04.20 15:56 #1382550
    new Object를 new BaseObject로 변경하시면 잘되실 꺼에요.
    저도 방금 설치 했는데 잘됩니다.
  • 2022.07.16 03:10 #1697531
    덕분에 저도해결했습니다 감사합니다 ^^
  • 2020.04.20 15:56 #1382554
    잘 됩니다 ㅎㅎ 감사합니다.
  • 2020.05.08 09:12 #1395620
    대박 좋아요~~~~~~~~~~~~~~
  • 2020.05.23 06:05 #1406776
    좋습니다~^^
  • 2020.08.23 09:57 #1445729
    감사합니다
  • 2021.06.12 20:34 #1581452
    잘쓰겠습니다!
  • 2022.05.11 06:59 #1684756
    감사합니다~
  • 2023.03.19 13:10 #1752500
    감사합니다!!
  • 2025.05.05 21:48 #1907237

    이거 혹시 라이믹스 최선버전에서 아직 작동되고있을까요?

  • 21시간 전 #1910194

    아녀 잘안되요 그래서 몇개 수정해야 됩니다. 근데 파일업데이트가 안되네요

     

  • 21시간 전 #1910189

    버전 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;
    }

    이걸로 변경하시면 됩니다. 설명이 어렵게 보이네요 ;; 암튼 이렇게 수정했어요