From 7f405178ce24272d22bad59fa4582324e59215f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8=E9=83=A8=E8=90=BD?= Date: Sun, 23 Feb 2020 13:31:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E8=A7=A6=E5=B1=8F?= =?UTF-8?q?=E7=89=88=E6=94=AF=E6=8C=81=E8=A7=86=E9=A2=91=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E3=80=81=E6=96=B0=E5=A2=9E=20AcFun=E5=92=8C?= =?UTF-8?q?=E5=93=94=E5=93=A9=E5=93=94=E5=93=A9=E7=AD=89=E7=BD=91=E7=AB=99?= =?UTF-8?q?=E7=9A=84=E8=A7=86=E9=A2=91=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- upload/config/config_global_default.php | 2 +- .../source/function/function_discuzcode.php | 13 +- upload/source/function/media/media_acfun.php | 17 ++ .../source/function/media/media_bilibili.php | 17 ++ upload/source/function/media/media_mgtv.php | 17 ++ upload/source/function/media/media_qq.php | 14 +- upload/source/function/media/media_wasu.php | 17 ++ upload/source/language/lang_admincp.php | 2 +- .../static/image/mobile/images/img_loader.gif | Bin 0 -> 10829 bytes upload/static/image/mobile/style.css | 9 + upload/static/js/mobile/common.js | 223 ++++++++++++++++++ 11 files changed, 320 insertions(+), 11 deletions(-) create mode 100644 upload/source/function/media/media_acfun.php create mode 100644 upload/source/function/media/media_bilibili.php create mode 100644 upload/source/function/media/media_mgtv.php create mode 100644 upload/source/function/media/media_wasu.php create mode 100644 upload/static/image/mobile/images/img_loader.gif diff --git a/upload/config/config_global_default.php b/upload/config/config_global_default.php index b2c2d4d9a..f38cb6056 100644 --- a/upload/config/config_global_default.php +++ b/upload/config/config_global_default.php @@ -123,7 +123,7 @@ $_config['server']['id'] = 1; // 服务器编号,多webserver的时候, // 附件下载相关 // -// 本地文件读取模式; 模式2为最节省内存方式,但不支持多线程下载 +// 本地文件读取模式; 模式2为最节省内存方式,但不支持多线程下载 如需附件URL地址、媒体附件播放,需选择支持Range参数的读取模式1或4 // 1=fread 2=readfile 3=fpassthru 4=fpassthru+multiple $_config['download']['readmod'] = 2; diff --git a/upload/source/function/function_discuzcode.php b/upload/source/function/function_discuzcode.php index 49985979f..e0e54f6b1 100644 --- a/upload/source/function/function_discuzcode.php +++ b/upload/source/function/function_discuzcode.php @@ -185,7 +185,7 @@ function discuzcode($message, $smileyoff = false, $bbcodeoff = false, $htmlon = $message = preg_replace("/\s*\[free\][\n\r]*(.+?)[\n\r]*\[\/free\]\s*/is", tpl_free(), $message); } } - if(!defined('IN_MOBILE')) { + if(!defined('IN_MOBILE') || !in_array(constant('IN_MOBILE'), array('1', '3', '4'))) { if(strpos($msglower, '[/media]') !== FALSE) { $message = preg_replace_callback("/\[media=([\w,]+)\]\s*([^\[\<\r\n]+?)\s*\[\/media\]/is", $allowmediacode ? 'discuzcode_callback_parsemedia_12' : 'discuzcode_callback_bbcodeurl_2', $message); } @@ -536,17 +536,20 @@ function parseflv($url, $width = 0, $height = 0) { break; } } - if($flv) { + if($flv || $iframe) { if(!$width && !$height) { - return array('flv' => $flv, 'imgurl' => $imgurl); + return array('flv' => $flv, 'iframe' => $iframe, 'imgurl' => $imgurl); } else { $width = addslashes($width); $height = addslashes($height); $flv = addslashes($flv); $iframe = addslashes($iframe); $randomid = 'flv_'.random(3); - $enablemobile = $iframe ? 'detectHtml5Support() ? "" : ' : ''; - return ''; + // 允许media扩展只返回其中一种播放方式,如两种都返回,则根据浏览器是否支持HTML5进行自动选择 + $player_iframe = $iframe ? "\"\"" : ''; + $player_flv = $flv ? "AC_FL_RunContent('width', '$width', 'height', '$height', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', '$flv', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true')" : ''; + $player = (!empty($player_iframe) && !empty($player_flv)) ? "detectHtml5Support() ? $player_iframe : $player_flv" : (empty($player_iframe) ? $player_flv : $player_iframe); + return ''; } } else { return FALSE; diff --git a/upload/source/function/media/media_acfun.php b/upload/source/function/media/media_acfun.php new file mode 100644 index 000000000..b43d147f4 --- /dev/null +++ b/upload/source/function/media/media_acfun.php @@ -0,0 +1,17 @@ + '批量上传', 'setting_attach_basic_simple' => '普通上传', 'setting_attach_basic_allowattachurl' => '附件 URL 地址、媒体附件播放', - 'setting_attach_basic_allowattachurl_comment' => '开启附件 URL 地址后,上传附件的地址可通过 "attach://aid" 方式在任何帖内引用,并支持媒体类附件的直接播放,此项设置需要在 用户组 - 帖子相关 中允许用户组使用多媒体代码方可生效', + 'setting_attach_basic_allowattachurl_comment' => '开启附件 URL 地址后,上传附件的地址可通过 "attach://aid" 方式在任何帖内引用,并支持媒体类附件的直接播放,此项设置需要在 用户组 - 帖子相关 中允许用户组使用多媒体代码方可生效,此项设置需选择的附件读取模式支持 Range 头和正确的 MIME 类型头才可正常运行', 'setting_attach_basic_swfupload_comment' => '批量上传采用 Flash 机制上传,可一次上传多个附件,上传时还会有进度显示', 'setting_attach_forumattach' => '论坛附件', diff --git a/upload/static/image/mobile/images/img_loader.gif b/upload/static/image/mobile/images/img_loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..e630040ee196ac0d183c468bc2014ecfa0a1a8b2 GIT binary patch literal 10829 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 literal 0 HcmV?d00001 diff --git a/upload/static/image/mobile/style.css b/upload/static/image/mobile/style.css index 6f8ec6053..0b905ba2b 100644 --- a/upload/static/image/mobile/style.css +++ b/upload/static/image/mobile/style.css @@ -278,3 +278,12 @@ .scrolltop.bottom { bottom:8px; } .scrolltop.bottom:after { top:23px; } .scrolltop.bottom:before { border-top:9px solid white; border-bottom:0; top:12px; } + +/*----- media --------*/ + .media { display: block; margin-bottom: 30px; max-width: 100%; } + .media_container { display: block; width: 100%; height: 100%; min-height: 20px; background: url("./images/img_loader.gif") no-repeat center; } + .media_container a { text-decoration: none !important; } + .media_tips { display: block; margin: 10px 0; text-align: center; } + .media_tips a { font-size: 12px !important; color: #999 !important; text-decoration: none !important; } + .media_tips a:hover { text-decoration: underline !important; } + diff --git a/upload/static/js/mobile/common.js b/upload/static/js/mobile/common.js index fb34348ae..7a0e6e9ce 100644 --- a/upload/static/js/mobile/common.js +++ b/upload/static/js/mobile/common.js @@ -6,6 +6,15 @@ var ua = navigator.userAgent; var ios = /iPhone|iPad|iPod/.test(platform) && ua.indexOf( "AppleWebKit" ) > -1; var andriod = ua.indexOf( "Android" ) > -1; +var JSLOADED = []; + +var BROWSER = {}; +var USERAGENT = navigator.userAgent.toLowerCase(); +browserVersion({'ie':'msie','firefox':'','chrome':'','opera':'','safari':'','mozilla':'','webkit':'','maxthon':'','qq':'qqbrowser','rv':'rv'}); +if(BROWSER.safari || BROWSER.rv) { + BROWSER.firefox = true; +} +BROWSER.opera = BROWSER.opera ? opera.version() : 0; (function($, window, document, undefined) { var dataPropertyName = "virtualMouseBindings", @@ -950,6 +959,220 @@ function getcookie(name, nounescape) { } } +function browserVersion(types) { + var other = 1; + for(i in types) { + var v = types[i] ? types[i] : i; + if(USERAGENT.indexOf(v) != -1) { + var re = new RegExp(v + '(\\/|\\s|:)([\\d\\.]+)', 'ig'); + var matches = re.exec(USERAGENT); + var ver = matches != null ? matches[2] : 0; + other = ver !== 0 && v != 'mozilla' ? 0 : other; + } else { + var ver = 0; + } + eval('BROWSER.' + i + '= ver'); + } + BROWSER.other = other; +} + +function AC_FL_RunContent() { + var str = ''; + var ret = AC_GetArgs(arguments, "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash"); + if(BROWSER.ie && !BROWSER.opera) { + str += ' '; + } + str += ''; + } else { + str += ''; + break; + case 'ra': + case 'ram': + height = 32; + html = ''; + break; + case 'rm': + case 'rmvb': + html = '
'; + break; + case 'swf': + html = AC_FL_RunContent('width', width, 'height', height, 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', encodeURI(src), 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true'); + break; + case 'asf': + case 'asx': + case 'wmv': + case 'avi': + case 'mpg': + case 'mpeg': + html = ''; + break; + case 'mov': + html = ''; + break; + default: + break; + } + document.getElementById(randomid).style.width = width + 'px'; + document.getElementById(randomid).style.height = height + 'px'; + document.getElementById(randomid + '_container').innerHTML = html; +} + +function html5Player(randomid, ext, src, width, height) { + switch (ext) { + case 'aac': + case 'flac': + case 'mp3': + case 'm4a': + case 'wav': + case 'ogg': + height = 66; + appendstyle(STATICURL + 'js/player/aplayer.min.css'); + appendscript(STATICURL + 'js/player/aplayer.min.js'); + html5APlayer(randomid, ext, src, width, height); + break; + case 'flv': + appendscript(STATICURL + 'js/player/flv.min.js'); + case 'mp4': + case 'm4v': + case '3gp': + case 'ogv': + case 'webm': + appendstyle(STATICURL + 'js/player/dplayer.min.css'); + appendscript(STATICURL + 'js/player/dplayer.min.js'); + html5DPlayer(randomid, ext, src, width, height); + break; + default: + break; + } + document.getElementById(randomid).style.width = width + 'px'; + document.getElementById(randomid).style.height = height + 'px'; +} + +function html5APlayer(randomid, ext, src, width, height) { + if (JSLOADED[STATICURL + 'js/player/aplayer.min.js']) { + window[randomid] = new APlayer({ + container: document.getElementById(randomid + '_container'), + mini: false, + autoplay: false, + loop: 'all', + preload: 'none', + volume: 1, + mutex: true, + listFolded: true, + audio: [{ + name: ' ', + artist: ' ', + url: src, + }] + }); + } else { + setTimeout(function () { + html5APlayer(randomid, ext, src, width, height); + }, 50); + } +} + +function html5DPlayer(randomid, ext, src, width, height) { + if (JSLOADED[STATICURL + 'js/player/dplayer.min.js'] && (ext != 'flv' || JSLOADED[STATICURL + 'js/player/flv.min.js'])) { + window[randomid] = new DPlayer({ + container: document.getElementById(randomid + '_container'), + autoplay: false, + loop: true, + screenshot: false, + hotkey: true, + preload: 'none', + volume: 1, + mutex: true, + listFolded: true, + video: { + url: src, + } + }); + } else { + setTimeout(function () { + html5DPlayer(randomid, ext, src, width, height); + }, 50); + } +} + $(document).ready(function() { if($('div.pg').length > 0) { -- Gitee