포럼
버그 신고
2011.04.30 20:51
여기가 이런거 올려도 되는지 잘 모르겠네요^^^
core 1.4.5.5 를 인스톨하고 동영상을 올리면 크기 조정이 안 되는 겁니다.
그래서 잘 모르는 정규식을 공부하며 3일 가까이 소스를 봤습니다.
editor.controller.php 의 transEditorComponent 함수에서
$script = preg_replace_callback('/([^=^"^ ]*)=([^ ^>]*)/i', fixQuotation, $script);
부분이 이해가 안되어 공부를 하면서 이 부분을 임시로
$script = preg_replace_callback('/([^=" ]*)=(\'?\"?[^>\'\"]*\'?\"?)/i', fixQuotation, $script);
로 바꾸니까 동영상 크기 조정이 되네요.
요점은 서버에 동영상을 올리면 소스에 style='+
'...' 부분이 생기는데 이 style 부분에는 공백도
여러개 포함되어 있습니다. 위의 소스로 이 공백 부분을 잘 못 처리하여 문제가 생긴다고 봅니다.
제가 코드를 잘 몰라서 정확히는 모르겠고 어쩌면 제 서버쪽 문제인지도 모르겠습니다.
다음에 editor.controller.php 소스는 그대로 두고 multimedia_link.class.php 부분의
transHTML 함수에서
preg_match_all('/(width|height)([^[:digit:]]+)([0-9]+)/i',$style,$matches);
$width = trim($matches[3][0]);
$height = trim($matches[3][1]);
if(!$width) $width = 400;
if(!$height) $height = 400;
부분을 image_link.class.php 에서처럼
$width = $xml_obj->attrs->width;
$height = $xml_obj->attrs->height;
이렇게 놓으면 동영상 크기 조정이 잘 됩니다.
이렇게 쉽게 가면 좋은데 multimedia_link.class.php 에서는 굳이 복잡하게 하여 에러를 만들까 의문입니다.
더우기 동영상 폭과 높이의 디폴트 값을 똑같이 400으로 하여 폼 없게 하는지도 의문입니다.
검토해 주시고 버그라면 고쳐 주시면 정말 고맙겠습니다.
저는 XPress 엔진 없으면 큰일 납니다 ^^^