파일다운로드 작업시 작동 조건
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
if($act == 'procFileDownload' && $called_position == 'after_module_proc'){
파일다운로드 직후 코드가 작동되길 기대합니다.
}
그런데 저 조건으로는 다운로드를 해도 코드가 진행되지 않는데요.
조건에 문제가 있는건지 아니면 다운로드 직후는 애드온에서 작동 시점을 잡을 수 없는 건지 궁금합니다.
댓글 5
https://github.com/rhymix/rhymix/blob/be1fbc9d65ec59cabc554706365ba7d7144e7d11/modules/file/file.controller.php#L397
https://github.com/rhymix/rhymix/blob/be1fbc9d65ec59cabc554706365ba7d7144e7d11/modules/file/file.controller.php#L546
XE/라이믹스에서 파일 다운로드는 procFileDownload -> procFileOutput 순으로 진행됩니다.
두 act 모두 after_module_proc 시점 애드온이 실행되기전 함수 내부에서 exit()로 종료해 버리므로 해당 시점의 애드온은 실행되지 않습니다.
이렇게 했을때 유일하게 코드가 작동하는데 이 경우는 실제 다운로드가 잘 되었는지 실패했는지 파악이 안될 것 같은데 애드온은 방법이 하나도 없는 거겠죠?
애드온이든 모듈이든 끼어들 수 있는 가장 마지막 시점인 것 같습니다.
여기까지 왔다면 다운로드 권한 체크, 다운로드 횟수 카운팅도 모두 끝났고
실제로 파일 내용을 전송하는 것만 남았습니다.