안녕하세요 XE 고수님들! 질문 드립니다.

 

제 사이트에서 신년을 맞아 회원들에게 쪽지를 보내려고 합니다.

쪽지 내용은 운영자가 준비한 이미지인데요,

이미지를 총 5개 만들었어요.

 

회원수가 거의 2천명이 되다보니 제가 일일이 쪽지를 발송할 수가 없어서 

'시소'라는 분이 만든 전체쪽지 발송 모듈을 사용하려고 합니다. 

 

아래 이미지가 바로 그 모듈이에요.

이 모듈을 사용하여 전체 쪽지를 발송 할 수 있습니다.

 

그런데 제가 준비한 이미지가 총 5개라 이미지를 랜덤으로 보내고 싶습니다.

인터넷에 서치를 해보니 랜덤이미지 출력을 이런 script 로 하더라구요.

 

<script language="JavaScript">
<!-- 
 function random_image()
 {
  var myimages = new Array();
  // 이곳에 출력할 이미지 주소를 계속해서 아래의 방법처럼 기입해 주세요
  myimages[0] = "http://www.fineyes.com/image/banner_fineyes.gif";
  myimages[1] = "http://www.apmsetup.com/notice/banner_spacetag.gif";
  myimages[2] = "http://www.apmsetup.com/banner/braman.gif";
  var ry = Math.floor( Math.random() * (myimages.length-1) );
  document.write('<img src="' + myimages[ry] + '" border=0>');
 }
 random_image();
//-->
</script>

 

근데 아래 보시다시피 전체쪽지 발송 할 때 내용을 XE 게시판에서 쓰이는 위지윅에디터에 씁니다.  

그래서 소스에 위 같은 script 를 적용해도 먹히질 않네요... 

 

script 말고 또 다른 방법없을까요?

5개의 이미지를 랜덤으로 2천명에게 쪽지 발송하기만 하면 되는데, 다른 방법 아시는 분 답변 부탁 드립니다^^

 

감사합니다. 

전체쪽지발송.PNG

 

 

  • profile
    에디터 상단에 [소스] 누르시면 html작성 가능 합니다.
    다만 보안상의 이유로 스크립트가 적용되는지는 모르겠네요
    테스트 계정으로 우선 한개만 발송해보셔요

    그리구 위의 스크립트로 작성해서 보낼시
    보낼때 회원별로 특정이미지가 지정되는것이 아닌
    쪽지 읽기시에 랜덤으로 이미지가 표시되게 됩니다.
    (새로고침시 마다 바뀜)
  • profile ?
    네... 보안상의 이유로 스크립이 적용이 안되더라구요. ㅜㅜ 아마 되도 못 하지 않을까요? script 태그만 쓰는게 아니라 웹사이트 페이지처럼 <head> </head>사이에도 뭘 넣는거 같더라구요. 저 html 기능은 웹사이트 페이지에 쓰는 기능은 아니라서 못 쓰지 않으라 싶네요...
  • ? profile
    위에 작성된 스크립트 만으로도 단독 구현 가능합니다.
    헤드 사이에 별도의 css나 js의 로드를 필요로 하지 않는 간단한 소스입니다.

    메모장 이나 에딧프로그램에 위 소스 그대로 넣어서 이미지 경로만 지정하고 html저장해서 보시면 html, head, title, body 등의 구문없이 실행되는걸 확인 가능할거에요

    다만 XE는 스크립트 나 아이프레임 등을 보안상 사용히지 못하므로 (코어 수정등을 하지 않는 이상...)

    심플코드님 의견 처럼 위젯 형태로 만들어서 발송하면 되겠네요

    XE공홈을 보니 https://xe1.xpressengine.com/index.php?mid=download&package_id=20464644

    이런 자료가 있네요

    관리자 페이지 좌측 하단의 설치된 위젯 에서 코드 생성하고 그 코드 복사 붙여넣기하여 발송하면 되겠네요
  • profile ?
    답변 감사합니다 고수님 ㅜ.ㅜ 제가 한 번 해볼게요... 꼭 됐으면 좋겠습니다
  • profile ?
    말씀하신대로 위젯코드로 해봤는데, 이게 게시판에서는 출력이 되는데 쪽지 창에서는 출력이 안되네요 ㅜ.ㅜ 아쉽습니다 ㅜ.ㅜ
  • ?
    <script>나 <link> 같은 태그를 넣는다면 HTML이 필터링 되어서 제대로 삽입이 안 될거에요.

    한 가지 트릭이 있는데요. 랜덤 이미지를 출력하는 부분은 위젯으로 만들어서, 위젯 코드를 생성해 넣으면 가능할거에요. (위젯 코드는 XE 전역에서 치환되어서 보여집니다.)
  • ? ?
    심플코드 님이 말씀하신대로 위젯코드로 해봤는데, 이게 게시판에서는 출력이 되는데 쪽지 창에서는 출력이 안되네요 ㅜ.ㅜ 아쉽습니다 ㅜ.ㅜ
  • ? ?

    살펴보니까 쪽지보낼 때 HTML Purifier를 통해서 위젯 코드를 제거하는 모양이네요.
    커뮤니케이션 모듈을 수정하면 가능할 듯 한데, 보안취약점이 발생할 수 있기 때문에 유의하셔야 할 거에요.

    /modules/communication/communication.controller.php에서

    function sendMessage($sender_srl, $receiver_srl, $title, $content, $sender_log = TRUE)
    {
    $content = removeHackTag($content);

    에서


    $logged_info = Context::get('logged_info');
    if($logged_info->is_admin != 'Y') {
      $content = removeHackTag($content);
    }

     

    초록색 부분을 추가해보세요.