2016년 6월 1일 수요일

망보드 게시물 열람시 첨부파일(이미지, 비디오) 내용 첫부분에 나타나게 하기

갤러리가 아니더라도 보통 첨부에 이미지가 있으면 본문내에 넣지 않아도 본문 상단에 표시되기를 원하는 경우가 있습니다.
동영상이 들어있는 경우도 그럴 수 있구요.

아래의 코드는 크롬이 아닌 IE의 경우 OBJECT로 동영상을 보여주는 부분도 추가되어 있습니다.
IE에서는 웬만한 MP4가 재생이 안되는 문제가 발생하여 ffmpeg를 설치하기도 하였으나
실시간 인코딩을 해서 저장하기도 무리가 있고 하여.. IE에서는 OBJECT태그를 사용하도록 하였습니다.

플러그인을 간단하게 만들든지 functions.php 파일 등에 해당 코드를 추가시켜 주시면 됩니다.


/* 망보드 게시물 첨부(이미지/동영상) 표시 */
add_filter('mf_board_item', 'wt_mbw_filter_board_item',1,2);
function wt_mbw_filter_board_item($item,$data=null){
global $mstore,$mb_fields;

if($_REQUEST["mode"]==="view") {
define("MBW_UPLOAD_URL", MBW_CONTENT_URL."/uploads/mangboard/");

if($item["field"]==="fn_content" && $item["type"]==="board")
{
$attach = $mstore->get_board_files(mbw_get_board_item("fn_pid"));
$play = "<center>";
for($v=0;$v<count($attach);$v++)
{
$a = $attach[$v];
if(strpos($a["file_type"], "video")!==false)
{
if(strpos($_SERVER['HTTP_USER_AGENT'], "Trident")!==false) {
$play .= "<p><OBJECT ID='WMPlay".$v."' class='wmp' classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' ".
"standby='Loading Microsoft Windows Media Player components...' ".
"type='application/x-oleobject' width='846' height='510'>".
"<param name='Wmode' value='Opaque'>".
"<param name='Filename' value='".MBW_UPLOAD_URL.$a["file_path"]."'>".
"<param name='AutoStart' value='0'>".
"<embed src='".MBW_UPLOAD_URL.$a["file_path"]."' width='846' height='510' allowscriptaccess='always' allowfullscreen='true' wmode='opaque'></embed>".
"</OBJECT></p><p>&nbsp;</p>";
} else {
$play .= "<p><video src='".MBW_UPLOAD_URL.$a["file_path"]."' style='width: 100%; height: 100%;' controls></video></p><p>&nbsp;</p>";
}
}
else if(strpos($a["file_type"], "image")!==false)
{
$play .= "<img src='".MBW_UPLOAD_URL.$a["file_path"]."' width='100%'>";
}
}
$play .= "</center>";

$item["value"]=$play.$item["value"];
}
}
return $item;
}

댓글 1개:

  1. 안녕하세요.이거 어떤 function에다 붙여넣으면 되나요?

    답글삭제