자동첨부 애드온의 첨부시점과 gif 컨버팅 모듈의 작동시점이 달라 자동으로 첨부되는 외부 이미지의 경우 mp4로 변환이 되지 못하고 고용량  gif로 남는 문제가 있었습니다. 이는 글 수정을 한번 해주면 해결이 되는데 글 수정시에도 컨버팅이 되는 부분이 있기 때문이죠. 그래서 글을 수정한 효과를 내거나 혹은 글 수정시에 작동하는 모듈의 함수를 애드온에서 실행시켜보고 싶었습니다. 글 작성자가 글을 수정을 해줄 리가 만무하니까요.

 

기존에 기진곰님께서

 

제가 드린 정보에 근거해서

 

해당 모듈의 트리거 함수를 이용해 

getController('z_gifconvert')->triggerupdateDocumentAfter($trigger_obj);

 

이렇게 할 수 있을 거라고 알려주셨습니다.

 

 

그런데 저기에 필요한 인자가 무엇인지 알수가 없어서....  판매자분께 질문을 올려서 

실마리를 어느정도 찾을 수 있어 오늘 시도했습니다.(오래 걸려서 답변을... 흑...)

 

기존 자동첨부 애드온에 코드를 추가했습니다.

 

if ($called_position === 'before_module_proc' && Context::get('document_srl') && preg_match('/^disp[A-Z][a-z0-9_]+Content(?:View)?$/', $this->act))
{


$document_srl = Context::get('document_srl');
if (!$document_srl) return;
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl);

 

$trigger_obj = new stdClass();
$trigger_obj->module_srl =$oDocument->get('module_srl');
$trigger_obj->content = $oDocument->get('content');
$trigger_obj->document_srl = Context::get('document_srl');

getController('z_gifconvert')->triggerupdateDocumentAfter($trigger_obj);

}

 

대략 이런 코드를 추가했습니다.

 

 

와우~ 글 작성 직후 게시글이 열람되면서 저 함수가 작동하여 처리하지 못했던 자동 첨부된 gif 이미지가  mp4로 변환이 되었습니다.

 

 

요걸 매번 작동하지 않도록 코드를 조금 추가해서 실제 사용하도록 하던지 해봐야겠네요. 근데 매번 작동해도 큰 문제는 없을 것 같긴 하네요.

 

- 요건 글 작성 또는 수정 후 2분 까지만 코드가 실행되도록 조건을 거는 것으로 했습니다.

if (time() - strtotime($oDocument->get('last_update')) < 120){

}

 

댓글이 달릴때도  last_update 타임이 변경되니 새글 작성 기준으로만 해야겠네요.

if (time() - $oDocument->getRegdateTime() < 120)

 

사족 : 이게 정말 필요한 기능인데 모듈에서 이런 패치가 받아들여지지 않는게 아쉽습니다.

웹지기

profile
10년을 다루다 보니 이제 간단한 것도 만들고 커뮤니티 운영에 관한 다양한 노하우가 있습니다. 어려운 점이나 가지신 생각을 함께 소통해 보아요.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile
    자동첨부애드온에 적용되어 배포되었으면 좋겠군요
  • profile profile
    유료자료를 사용하지도 않는데 자 코드가 포함되어 배포가 되면 사이트가 망가지겠죠?

    제가 사용한 모듈의 문제로 인해 말씀 하신 거라면

    저 코드를 그대로 복사해서 차동첨부 애드온 파일(addon.php)의 하단에 붙여넣기 하시면 됩니다.
  • profile profile
    아...GIF Convert PRO 이게 유료모듈이군요
  • profile
    저도 GIF Convert PRO 쓰면서 자동첨부 애드온 파일을 같이 쓰는데 항상 저도 이부분이 불편이 했습니다. 웹지기님께서 올리신 코드를 넣으니 GIF Convert PRO가 수정 없이 바로 변환은 되지만.. 아쉽게도 썸네일은 생성이 안되서 수정을 다시 눌러줘야 썸네일이 생성되네요 ㅠ_ㅠ 코드는 감사합니다 :)
  • profile profile
    섬네일은 생각도 안해봤는데...
    확인은 한번 해봐야겠네요.
  • profile profile
    섬네일은 잘 나옵니다. 왜냐면 애드온이 자동 첨부 할때 이미 섬네일을 만들었기 때문인데요. 동영상 컨버팅은 글작성 이후 글 읽을때 되거든요.
  • profile profile
    아 그런가요? 저도 다시 확인을 해봐야겠습니다. 감사합니다 :)
  • profile profile

    사이트가 외부이미지의 경우 섬네일 생성에 실패하는 확인해보세요.

  • profile profile
    넵!
  • profile profile
    제 블로그에 코드를 좀더 추가해서 불필요한 시점에는 작동하지 않고 꼭 필요할때만 작동하도록 보완을 해서 올려 놓았으니 보시고 코드에 궁금한 것이 있으면 해당 글에 댓글로 남겨주시면 확인해 드리겠습니다.
  • profile profile
    좋은 팁 감사합니다 :)
  • profile profile
    혹시 이미 적용하셨으면 코드 하나만 수정해주세요.
    gif 확장자 대소문자 구분될 경우를 대비해서 변경된게 있으니....
  • ?
    역시 프로그램 고수는 부럽네요