커뮤니티

CMS/프레임워크 XE 1.x
개발 언어 PHP 5.x

https://xe1.xpressengine.com/index.php?mid=download&package_id=22753717

휴면계정 정리 모듈 ver. 1.2.7

 

이거  휴먼 계정으로  이메일 미인증 으로 넘기고 싶은   휴먼계정이 많아서    써보고 싶습니다.

일단 라이믹스 자료실에는 없습니다.

==============================================================================

 

modules\member_expire  이거 오래된 버전이야 휴면계정 정리 모듈 인데 php 5.3 정도 되고 XE1 때 만들어진 버전이야  mcp 으로 수정 될까?

먼저 모듈 구조부터 파악하겠습니다.

  Searched for 1 pattern, read 6 files

전체 파일 다 봤습니다. MCP로 PHP 호환성 검사부터 돌려보겠습니다.

  Called rhymix 5 times

결과 요약입니다.

---
MCP PHP 호환성 검사 결과:

┌───────────┬────┬────┐
│         파일        │  오류    │  경고    │
├───────────┼────┼────┤
│ class.php        │ ❌ 1건   │ -    │
├───────────┼────┼────┤
│ controller.php    │ -     │ ⚠️ 7건 │
├───────────┼────┼────┤
│ model.php        │ -   │ ⚠️ 3건  │
├───────────┼───┼─────┤
│ admin.controller.php    │ -   │ ⚠️ 1건 │
├───────────┼────┼────┤
│ admin.view.php     │ -   │ ⚠️ 8건 │
└───────────┴────┴────┘

핵심 문제:

1. PHP 8 오류 (error): new Object() → new BaseObject() 교체 필요 (class.php L180)
2. PHP 8 경고 (19건): count($output->data),
3. 메일 API (MCP 미검출): XE1 구식 API 사용
  - new Mail() + setReceiptor() (오타!) + setSender() + setTitle() + setContent()
  - → Rhymix \Rhymix\Framework\Mail API로 전
4. 클래스명 언더스코어: Member_Expire → 언더스코어 모듈 라우팅 버그 위험 (메모리에 기록된 이슈)
5. zgap() / ztime(): XE1 타임존 함수, Rhymix deprecated

---
결론: MCP로 수정 가능합니다 — 단, 범위에 따라 두 가지 선택지가 있어요:

선택 A — 최소 패치 (빠름, 1~2시간 작업)
- PHP 8 오류/경고 전부 수정
- 메일 API 교체
- zgap() 제거 (Rhymix에서 시간대는 자동 처리됨)
- 결과: Rhymix + PHP 8 에서 정상 동작

선택 B — 전체 리팩터링 (시간 더 걸림)
- A 내용 포함
- 클래스명 member_expire로 소문자 통일 (언더스코어 라우팅 버그 근본 해결)
- 템플릿 "XE Admin" 문구 수정
- $_SESSION['member_srl'] → Rhymix 세션 API 교체

어떤 방향으로 진행할까요? 아니면 지금 당장 쓰는데 큰 문제없으면 최소 패치(A)부터 먼저 하는 게 나을 것 같습니다.

✻ Baked for 1m 29s

❯ B 로 해줘 오래걸려도 괜찮아~ php 7.4~8.5 까지 호환되게 해줘 꼼꼼히 부탁해~

✢ Channeling… (11s · thinking)

 

 

일단 다운받아서 돌려보고 있습니다.

반갑습니다 비에스플러스 라는 사이트를 운영하는 사람입니다.

댓글 8

  • 원개발자입니다.

    휴면계정 관련 법이 2023년에 폐기되어서 모듈도 더이상 업데이트하지 않고 있습니다.

    수정해서 쓰시는 것은 자유입니다만,

    회원DB 일괄 업데이트는 그냥 SQL 쿼리 한 방이 훨씬 빠를 거예요.

  • @기진곰

    음...... 혹시 수정해서 배포를 해도 되는 문제인가요?

  • @불패의초인

    네, 수정 재배포 가능한 라이선스입니다.

  • @기진곰

    mcp 가 수정하는거 보고 있는데요 대단하신거 같아요 그 당시에는 소스를 전부 쓰셨을텐데요 ㅠㅠ  엄청 고생이 많으셨을꺼 같아요 ㅠㅠ  

    네, 수정 재배포 가능한 라이선스입니다.
    ㄴ감사합니다  잘 수정해서 배포 하겠습니다~

  • @기진곰

    핵심: "개인정보 유효기간제" 폐지 (2023.9.15 시행)

    이런 법이 폐지가 된게 있군요...

  • @불패의초인

    댓글창은 님이 AI랑 채팅한 내용을 복붙하라고 있는 곳이 아닙니다.

    궁금한 사람은 각자 선호하는 AI한테 직접 물어보면 되니, 님이 하고 싶은 말만 쓰세요.

  • @기진곰

    네 알겠습니다.

  • 클래스명 대문자 언더스코어 어쩌고 하는 것는 이 녀석의 고질적인 환각인 것 같습니다.

    애초에 클로드가 잘못 학습한 건지, 아니면 이 MCP만의 오류인지 모르겠지만

    그런 문제는 존재하지 않습니다. 대문자 그대로 두셔도 됩니다.

    단, 액션명(함수명)은 대소문자가 중요합니다. (이거랑 헷갈린 듯 ㅋㅋ)

     

    zgap()은 필요없지만, ztime()은 최신 버전에서도 얼마든지 사용하셔도 됩니다.

    물론 휴면회원은 최소 몇 개월 단위로 판단할 테니, 몇 시간 차이는 딱히 문제가 되지 않긴 해요.

     

    질문글 본문에서는 이렇게 AI 채팅을 복붙하셔도 도움이 될 수 있습니다.^^

    윗댓에서 까칠하게 굴어서 죄송합니다.