파일 삭제시 ( deleteFile 함수실행시) 사용자 정의값이 삭제 안 되도록 보완

파일 삭제 시  사용자정의 지워지는 걸 막기 위해
https://github.com/xpressengine/xe-core/issues/722   이슈에서 제시한 삭제법 대신에 이 PR 방법이 더 확실하고 범용적이다.

파일삭제할때, 해당 글번호를 이용해 확장변수 값을 추출해서 전부 updateDocument 로 직접 전달하게 변경했다.
이렇게 하면  사용자정의가 삭제되지 않고 그대로 다시 저장이 된다.


해당 이슈의 상세 원인은...

$oFileController->deleteFile($val->file_srl); 가 실행되서 기존폴더의 파일을 삭제하게 되는데..

file.controller.php 에서 deleteFile 함수 끝부분에 보면 $oDocumentController->updateUploaedCount 함수 실행된다.
(사실 글이동시에는 논리적으로는 이 부분이 실행될 필요가 없다.)

어쨋든 updateUploaedCount 함수 실행되면서, 그 내부의 updateDocument 가 실행된다.

그런데 이 updateDocument 내부에서는
확장변수가 있는 구조라면, 무조건 확장변수 전체를 지우고, $obj->extra_vars1 같은 형태로 확장변수 값을 받아서 다시 저장된다.

글 수정시에는 확장변수 값이 전부 전달이 되기에 $obj->extra_vars1 형태에서는 문제가 없는데..
파일삭제를 통할 경우에는,  updateDocument($oldDocument, $newDocumentObject);    형태로
$newDocumentObject 값이 전달되는데  이 값은 DB 칼럼 값을 기반으로 넘기는데, 
extra_vars1 등은 칼럼의 변수 값들이 아니여서 (예전 1.4 때에서는 변수였지만. 1.7 에서는 별도 DB를 쓰기에)
결국 빈 값이 전달된다.



따라서 이를 해결하기 위해서는
updateUploadedCount 함수에서, 사용자정의값을 미리 구해서 $newDocumentObject 에 값을 넣어 직접 전달을 해야만한다