-----------(2021/03/07)---------------

안녕하세요,

 

PHP8 에서 작동되는 스티커모듈을 추가로 첨부 합니다. (sticker(Rhymix 2.x - PHP8).zip)

기존 사용하던 스티커 모듈이나 스케치북 스킨은 안전하게 복사 해놓고 첨부 파일을 테스트 해보시기 바랍니다.

 

감사합니다.

ksc

 

-----------(2021/02/17)---------------

안녕하세요,

 

'웹지기'님 댓글( https://xetown.com/questions/1513425#comment_1516829 )을 통해 알게된 
'스티커 모듈'을 Rhymix V2.0.7에 설치를 해봤으나 잘 작동이 안되더군요.
이리저리 삽질을 해가며 테스트를 해본 결과 짧은주소 사용 여부에 따라
경로가 조금씩 변경 되면서 Rhymix V2에서 문제를 만들기에 코드를 조금 조정해 봤습니다.

 

하다보니 스티커 모듈 관련 정보가 흩어져 있어서 정보 얻기가 너무 힘들기에...
그동안 수정한 내역을 정리해 봤으니 Rhymix V2에서 잘 안되는 분들은 한번 시험 해보세요.

 

참고: - 첨부파일은 아래 내용이 반영되어 있습니다.
       - 현재 사용에 별 문제가 없으면 그냥 참고만 하시기 바랍니다.
       - 테스트 환경: PHP 7.3, Rhymix V2.0.7, 라이믹스는 /rhymix 폴더에 설치.

 

아래는 깃헙주소( https://xetown.com/tips/448113 )에서 받은 스티커모듈/스케치북스킨에 
현재 알려진 스티커모듈 관련 문제들을 추가 반영한 항목이고 주소는 참고한 문서입니다.


-----2021/02/17 기준----
1) PHP 7.2 Object문제: 모듈내 Object를 BaseObject로 수정 https://xetown.com/questions/1087159
2) PHP 8 문제: sticker.model.php 수정 (if 삼항연산자) https://xetown.com/questions/1493667
3) 스티커 리스트에 엑박 뜨는문제: sticker.js수정 (if(){...} 적용) https://xetown.com/questions/1493840
4) 대댓글 작동 안되는 문제: board.js 수정 (reComment()) https://xetown.com/tips/448113
5) 비 로그인시 잘못된 요청 문제:  sticker.js 수정 (anon) https://xetown.com/tips/460899
6) 모듈설정 저장문제: config.html 수정 (action) https://xetown.com/tips/1495382
7) 스킨설정 저장문제: design.html 수정 (action) https://xetown.com/tips/1513587

8) 짧은주소 문제: 짧은주소 사용여부에 따라 경로 조정 (sticker.js, _comment_write.html)
   (라이믹스가 /rhymix 폴더에 설치된 상태에서 테스트, 루트밑에 바로 설치된 경우는 확인 못함)

9) 경로문제: 짧은주소 검사 대신 default_url 변수를 이용하여 처리  (sticker.js, _comment_write.html) 

    https://xetown.com/tips/1530568#comment_1530667
-----이상---------------

 

감사합니다.
ksc
 

  • profile

    stop_bot 애드온에서 스티커 모듈 댓글 사용시 문제되는거 고치셨나요?? 댓글 입력 단계 말고도 매크로사용을 중지하라고 경고가 떠서(언제 뜨는 건지 예측 불가능한)  애드온은 사용을 중지할 수 밖에 없었네요.

  • profile profile

    웹지기님 안녕하세요,

    그때 수정해서 배포 했었지요. ( https://xetown.com/point_contents/1524592 )
    매크로 가정하는 조건도 좀 조정 했던것 같은데... 기억이 아사무사 합니다.
    혹시 모르니 한번 시험해 보시기 바랍니다.

    감사합니다.
    ksc

  • profile profile
    V2.9.2: (2021/02/01)
    1) 내용없는 링크태그 검색방법 조정

    위 내용 밖에 없어서 질문 드렸습니다. 스티커 인서트 되는 부분 제외될 수 있도록 보완이 되었다는 거죠? 만약 맞다면 테스트를 해보겠습니다.
  • profile profile
    웹지기님 안녕하세요,

    네, 조정해 놓는다고 했습니다.
    실제로 시험하시기 전에 아래주소에서 테스트 먼저 해보세요.
    그리고, 스티커 댓글이 아래주소 처럼 적용되는게 맞는건가요? (본적이 없어서...)
    ( http://planner123dot.dothome.co.kr/rhymix/index.php?mid=board )(스팸봇 적용되어있음)

    감사합니다.
    ksc
  • profile profile

    테스트가 무의미한게 위에 댓글에도 적어드렸듯이 매번 발생하는 것도 아니고 아주 자주 발생하는게 아니고 느닷 없이 한번 발생하고 그래서 테스트는 의미가 없습니다.

    조정하셨다고 하신게 저하고 테스트할때 제안했던거(그건 제가 이미 테스트를 했었던...)가 아닌 새로운 조정이 있었다면 업데이트 해서 스티커를 댓글을 조금 자주 사용해 보도록 하겠습니다.

    - 스티커 계속 사용해보고 혹시 문제가 발생하면 제보 드리겠습니다.

  • profile profile
    웹지기님 안녕하세요,

    네, 댓글과 관심 감사합니다.
    ksc
  • profile

    rewrite 설정을 직접 참조하여 ../ 상위폴더로 올라가기보다는, 모든 URL을 RX_BASEURL 또는 default_url로 시작하는 절대경로로 만들어 쓰는 것이 안전합니다.

    짧은주소 형태에 대한 제한이 사실상 없어졌고, 코어에서도 3~4단계로 이루어진 짧은주소를 종종 사용하므로 ../ 한 단계만 올라간다고 문제가 해결된다는 보장이 없습니다. 반면, 코어에서 제공하는 변수나 상수는 하위폴더에 설치된 경우에도 항상 정확한 경로를 가리킵니다.

     

    P.S. 가능하면 깃허브에 올려주세요! zip 파일은 업데이트될 때마다 뭐가 달라졌는지 파악하기 힘들어요. ㅠ

  • profile profile

    기진곰님 안녕하세요,

    Rhymix가 저한테는 아직 어렵고 생소해서... 뭐가뭔지 잘 모르겠습니다.ㅎ

    루트에 라이믹스를 설치 했을 경우 어쩌면 문제가 발생할 수도 있겠다 하는
    느낌이 들어 현재 잘되고 있으면 참고만 하라고 했었는데, 역시 문제 발생 소지가 있겠군요.

    모든 URL을 RX_BASEURL 또는 default_url로 쓰는 방법을 배워야 겠습니다.

    기존 스티커 깃허브는 중지가 된것같아 이슈 올리기가 좀 거시기 해서 팁에 올렸습니다.
    (애석하게도 저는 깃허브에 이슈 올릴줄만 알지 관리하는건 몰라요.ㅜㅜ)

    조언 감사합니다.
    ksc

  • profile profile

    예를 들어 자바스크립트에서
        var url = "./index.php";
    또는
        var url = "../index.php";
    라는 코드를 사용하고 있다면, 라이믹스를 루트에 설치했는지 안 했는지, 현재 짧은주소 사용중인지에 따라 결과가 달라질 수 있겠지요? 현재 경로를 기준으로 바뀔 수 있는 상대경로이니까요. 그러나
        var url = default_url + "index.php";
    라고 한다면 설치 폴더나 짧은주소 설정과 무관하게 항상 라이믹스가 설치된 경로의 index.php를 찾아가게 됩니다. default_url은 도메인과 포트 등을 모두 포함하는 절대경로이고, 무조건 "/"로 끝나니까요.

  • profile profile
    기진곰님 안녕하세요,

    네, 이해 했습니다.
    사실 처음에는 $tpl_path 나 _XE_PATH_ 를 이용해서 처리 해보려고 했으나 구분이 잘 안 되기에
    짧은 주소를 이용해서 어떻게 해본 것인데... 찜찜하기는 했어요.

    알려주신 RX_BASEURL 은 "/rhymix/" 형식으로 루트부터 라이믹스가 설치된 주소를 보여주니 좋군요.
    앞으로 이 변수를 활용하면 될것 같습니다. (default_url 값은 어떻게 구하는지 아직 숙제입니다.^^)

    감사합니다.
    ksc
  • profile profile
    아하!
    default_url 을 어떻게 쓰는지 알았습니다.
    예제처럼 JS 에서 그냥 쓸 수 있는 변수군요.

    알려주셔서 고맙습니다.
    ksc
  • ?
    본문과 상관없는 질문이라 죄송하지만 ksc가 무슨 뜻인가요?
  • ? profile
    본인 본명이니셜이거나 뭐 본인을 나타내는 영어같은 것 같아요. 마지막에 누구누구 올림 이라는 형식적으로 적어주시는 것 같은데 이런건 그냥 대충 넘어가셔요..ㅋㅋ
  • profile ?
    괜히 전 이런게 궁금하네요ㅋㅋ
  • ? profile
    되도록이면 사적인 부분에 신경쓰지 않으시면 좋겟습니다. 타운에서 닉네임을 사용하는 비익명커뮤니티이나 그들의 신상과 관련된 사적인 부분을 침해 해도 된다는 조항은 없습니다. 그냥 그런사람이구나 하시고 문제가 있다면 저희 타운운영진이 처리하겠습니다.
  • profile ?
    규칙 위반이 될수도 있겠군요.
    유의하겠습니다.
  • ? profile

    유니짱님 안녕하세요,

    람보님이 말씀하셨듯 ksc는 제 영문 이니셜입니다.
    좀 오래된 습관인데... 글을 제가 직접 썻다고 밝히는 의미로 이니셜을 첨부합니다.
    같은 ID로 글이 작성 되었더라도 실제 글은 다른사람이 대신 쳐주는 경우도 있으니까요.
    물론 지금 그런사람이 있어서 그런것은 아니고, 그냥 오래된 습관이니 넓은 아량을...^^


    감사합니다.
    ksc

  • ?
    https://github.com/bjrambo/xe-sticker
    이걸 수정해서 사용하고 있었는데, 관리자 페이지에서 스티커 게시물을 수정할 경우, 제멋대로 판매 기간이 설정되는 일이 있더라고요.. 혹시 이 문제는 없으셨나요?
  • ? profile

    내강아지님 안녕하세요,

    사실 스티커 모듈이 어떻게 쓰이는지 못 봤기에 세부적인 것을 잘 모릅니다.
    윗글은 그냥 설치 해보고 안되는 원인을 찾아 수정한 내용을 정리해서 올린 것입니다.

    이글을 보고(내용이 다를 수 있겠으나),

    스티커 모듈에서 판매시작일과 판매 종료일을 수정해 봤는데 수정 내용은 등록됩니다.

    아마도 영향 받는 부분은 위 6), 7)번 인듯하니 config.html 파일과 design.html 파일만 변경 해놓고

    잘 되는지 한번 시험 해보세요.

    감사합니다.
    ksc

  • profile ?
    감사합니다. 적용해 보고 특이점이 있으면 다시 댓글 달도록 하겠습니다 :-)
  • profile
    PHP 7.0
    라이믹스 2.0.7 에서 설치
    등록시 file_is_not_enough 에러가 뜹니다.
  • profile profile

    adlib 님 안녕하세요,

    file_is_not_enough 관련하여 옜날글이 있군요.
    상황이 다를 수 있겠지만... 혹시 모르니 한번 검토 해보셨으면 합니다.

    1) https://xetown.com/questions/1265395
    2) https://xetown.com/tips/448113#comment_448280

    감사합니다.
    ksc

  • profile profile
    감사합니다.
    관리자 페이지에서 설정해서 잘 사용하고 있습니다.
    먼저 관리자 페이지를 잘 체크도 안해보고 말씀드려서 죄송합니다.
  • profile profile
    adlib 님 안녕하세요,

    해결하셨다니 기쁘군요.

    확인글 감사합니다.
    ksc
  • profile

    첫번째 영역에 엑박이 뜨는데 스킨 쪽 문제인지, 모듈 문제인지 알 수 있을까요?

  • profile ?
    https://xetown.com/questions/1493840#comment_1494224

    스킨 쪽 sticker.js에서 해결할 수 있습니다.
    이 글에서 첨부된 스케치북 스킨의 sticker.js에는 이 방법이 적용되어 있네요.
  • profile profile
    안녕하세요.
    if (sticker[i].sticker_srl)를
    if (sticker[i].main_image)로 수정해 보시겠어요?
    제가 사용 중인 studio02님 스킨의 경우, 이렇게 하니 해결이 되는 것 같습니다.